Actually support $XDG_CONFIG_HOME on macOS. Apparently in our docs we also say we do, but we, uh, don't, because dirs doesn't.
Note this is backwards-compatible, in that if a config file exists in the old default locations, we will check those first.
* update changelog
* add another lib test to make sure valid integration configs are actually valid
* only test these on default config
* clippy
* add extra CI fail check
* fix windows
Basically, I did:
```
long = "blah blah blah"
```
but it should have been:
```
long,
long_help = "blah blah blah"
```
The former makes the _long help flag_ the description which... well,
isn't right.
Updates some outdated docs on filtering, and adds some tests as well. In particular, this also adds a cfg_attr on tests to try and catch unknown fields; we'll be more lenient in prod builds though and allow them.
A loooooong time ago (wow, it's been 4 years apparently...), I made the brilliant (/s) decision to use both lib.rs and main.rs because I was trying to add tests in the tests folder that needed private access to some functions in the src - and at the time, the only way I could think of doing so was exposing bottom as a library and a binary.
This isn't necessarily bad, but for my use case, it's pretty unnecessary nowadays (since I've moved all my tests back into the source files) and adds complexity in looking for certain things, so it's high time we move things around and remove lib.rs. I also took the time to clean up some weird code I spotted along the way.
* other: organize some utility function files
* deps: remove kstring
* refactor: some naming changes
* refactor: some more small refactoring/naming changes
* simplify to_cell to return a Cow
* enable lints
* refactor: flatten process config field
* other: clean up some doc formatting using indoc and breaklines
* fix broken test
* remove default as that breaks things for now
* add test
* more tests
* refactor: simplify some config -> constraints code
* iteratively progress...
* update bcr; this might need testing since I removed some old proc code
* widget side
* fix battery
* fix widget tests with bandaid for now
The issue was that the calculations assume a certain ratio for CPU
legends.
* add some tests
* bump up
* fix proc drawing issues
So with the proc widget in certain places, there would be a panic during
constraint determination.
Looks like back when I wrote this I made some gross assumptions about
certain things. In particular, the problem here was that the search
added an additional "one" height, so that needs to be accounted for
after we removed the "doubling" code.
* tests
* fix tests
* reorganize tests
* clippy
* fix cross tests not working
* fix builds for android
* fix sort function
* Try macros
* Revert "Try macros"
This reverts commit 93c7306f8a.
* use next_help_heading instead
* test
* Revert "test"
This reverts commit 017a1702b3.
* Reapply "test"
This reverts commit 23c09d3828.
* use foldl instead :)
* a word
* different conditionals
* update docs, change ordering
* more formatting stuff
* clean up Cargo.toml
* some small cleanup
* refactor: group together similar args in the help generation and code
This groups together related arguments in both the help text and the
code itself.
* update changelog
* clippy
* builder pattern instead
* refactor: group together some canvas files
* rename file
* more shuffling around
* fmt
* more shuffling
Going to flatten widgets in another PR.
* some docs
* naming
* fmt
* feature: show running time of processes
* fix clippy
* add time searching
* update changelog
* use safer duration for linux in case of 0
* some cleanup
* quick hack to deal with some Windows processes returning unix epoch time as start time
---------
Co-authored-by: Clement Tsang <34804052+ClementTsang@users.noreply.github.com>
* feature: add customizable process columns
* Add some tests and actual logic
* more tests
* update changelog
* update config field
* even more tests
* update documentation
* more testing
Initial refactorings and additions to support in-app config.
- Refactor our current options logic to support in-app configs. That is, we can write to a config file with our changes now.
- The default action when creating a new config file is to leave it blank. (TBD and for now, not sure on this one)
- Previously, we would set everything in a config file on startup; now we need to read from the config TOML struct whenever.
- `C` keybind is now occupied for configs.
- `no_write` option to never write to a config file.
This feature allows any column to be sortable.
This also adds:
- Inverting sort for current column with `I`
- Invoking a sort widget with `s` or `F6`. Close with same key or esc.
And:
- A bugfix in regards the basic menu and battery widget
- A lot of refactoring
* Uptick some crates, update README dependencies
* Cleanup before modularity feature.
* Fix missing reset zoom on reset
* Fixed reset... not resetting search or data displayed
* Cleaned up options a tiny bit to make more sense.
* Cleaned up some TODOs and the like.
* specify only build master branch.