Commit Graph
484 Commits
Author SHA1 Message Date
Clement Tsang 750d8f3cb7 refactor: tui-rs 0.11.0 refactor (#253)
Refactors tui-rs usage to the new 0.11.0 release. This release also fixes the highlighting bug from #249, and now, expanding a widget no longer overrides the widget title colour.

This commit also introduces #255, but that seems to be easy to bandaid so hopefully it will get fixed soon?
2020-09-26 20:21:59 -04:00
Clement Tsang 6db76029e2 feature: Beginnings of in-app config (#231)
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.
2020-09-22 18:12:36 -04:00
Clement Tsang b0b174eb98 bug: Fix for index oob caused by terminal size mismatch (#238)
Fix for an index out-of-bounds by resizing to a smaller terminal just after the program got the terminal size, but right before the terminal started drawing.
2020-09-18 12:35:32 -04:00
Clement Tsang 86c8b474ae feature: mouse support for tabs and dd dialog (#230) 2020-09-11 04:20:14 -04:00
Clement Tsang 0c21cba189 refactor: rename data harvesting fns to what archs/oses they support (#229)
Just a simple rename.
2020-09-09 23:30:09 -04:00
Clement Tsang c58b2c2bb9 refactor: rewrite column algorithm (#227)
Update how we position and generate column widths to look less terrible.  This also adds truncation w/ ellipsis to the columns, and for processes, the state will automatically shrink to a short form (just a character) if there isn't enough space.
2020-09-09 21:51:52 -04:00
Clement Tsang eb8295c430 feature: Adds tree view (#223)
Adds a tree process view to bottom.

Currently uses a pretty jank method of column width setting, should get fixed in #225.
2020-09-06 23:03:03 -04:00
Clement Tsang 0d8572c692 fix: Fixes count being sortable, but nothing occuring (#224)
Fixes sorting by count being available, but doing nothing. This fix makes it sortable.
2020-09-06 02:16:50 -04:00
ClementTsang cc87fa8e4a fix: Fix mouse detection not working on proc after closing search 2020-09-05 16:25:35 -04:00
ClementTsang 3843d63dbb bug: change heim io fn to not bail on any error 2020-09-03 03:18:18 -04:00
Clement Tsang cef3166cf8 feature: Add ability to filter out disks and temp (#220)
You can now filter out disks and temp sensors by name via config.
2020-09-02 22:02:49 -04:00
Clement Tsang a949073728 bug: fix being able to click widgets when dd-dialog was open (#219)
Fixes a bug where you could click on a widget when dd's dialog was open.
2020-09-02 05:00:01 -04:00
Clement Tsang 22278d7d75 other: aarch64 support (#217)
Adds theoretical aarch64 support.
2020-09-02 02:59:51 -04:00
ClementTsang 663ae6c5c2 bug: fix broken check from last commit, add tests 2020-09-01 03:08:46 -04:00
ClementTsang d24a797ce9 other: Add config error if default_widget_count is not used with default_widget_type 2020-09-01 00:29:46 -04:00
Clement Tsang a4ddd649e1 refactor: Update error messages w/ anyhow and thiserror (#216)
Refactoring and updating of error messages + tests to be more useful.
2020-08-31 23:59:33 -04:00
Clement Tsang 5ed573157c bug: Use correct labels for sensors in Linux (#215)
Update temperature sensors in Linux to use labels + names rather than just names.
2020-08-31 20:02:48 -04:00
Clement Tsang 5aa7b4df08 docs: Update some arguments, and documentation (#214)
Some more updates to arguments and documentation.
2020-08-31 18:57:01 -04:00
Clement Tsang 3431411215 other: Add autocomplete file generation (#213)
Adds shell completion generation as part of the build, as well as tweaking install scripts/templates/CI to use them.
2020-08-31 17:50:21 -04:00
Clement Tsang 6632714f26 feature: Allow Ctrl-F and / to work in sort (#212)
Fixes a bug, and also allows `Ctrl-F` and `/` to work in the sort widget.
2020-08-29 19:23:20 -04:00
Clement Tsang 3d2fc76aa2 feature: Add mouse click support for moving between widgets (#208)
Adds mouse support to the application, to move between widgets and click on elements.

List of things to added:

- Click to move between widgets
- Click to move between widgets in basic mode
- Click on widget entries
- Ability to disable mouse if you don't like it, I guess
2020-08-29 18:54:18 -04:00
Clement Tsang b6363096b4 bug: fix bug where you could move down in basic proc when search was off (#211)
Fixes a bug where you could move down in a process widget even if search was disabled while in basic mode.
2020-08-29 04:06:21 -04:00
Clement Tsang 9a11e77aa0 feature: Adaptive network widget (#206)
Allows the network widget graph to grow/shrink with current data, rather than using a static size.
2020-08-28 16:30:24 -04:00
Clement Tsang 2425779e7f bug: fix searching by command being broken (#204)
Fixes searching by command name being broken.
2020-08-26 20:29:55 -04:00
Clement Tsang 9158c5f6d5 bug: fix grouping being broken after refactor (#201)
Fixes grouping not working properly after some refactoring done in 0.4.6.
2020-08-25 03:36:29 -04:00
ClementTsang 93cf53e5d7 docs: Clarify description 2020-08-25 01:12:57 -04:00
Clement Tsang 7e8bf95179 uptick: 0.4.6 (#200) 2020-08-25 01:01:14 -04:00
Clement Tsang 3252796f17 change: Allow e to also close expanded widgets
Allow `e` to toggle expansion, rather than only allowing it to open.
2020-08-22 17:31:19 -04:00
Clement Tsang 1a25fbb987 bug: fix freezing not affecting processes during search and sort
Fixes a bug where searching refreshed process data even when frozen.
2020-08-22 17:23:27 -04:00
Clement Tsang 3394b9ee66 feature: allow searching by state, add more keyword variants
Allows searching by state (`state = sleep`), and adds more keyword variants for searching: `cpu%`, `mem%`, `r/s`, `w/s`, matching the columns.
2020-08-22 15:38:13 -04:00
Clement Tsang c82f4d40b4 feature: Support memb (mem bytes) searching in processes
Supports searching by the new mem value.
2020-08-21 22:59:49 -04:00
Clement Tsang ff15649be7 refactor: remove kill command, use libc
Removes the kill command call and instead uses libc to manage killing processes.
2020-08-21 18:16:37 -04:00
Clement Tsang 7475f24a4e feature: Add hook to properly clean up in the case of a kill call
Adds a hook to properly clean up the program in case the program gets SIGTERM'd.
2020-08-21 16:00:14 -04:00
Clement Tsang 1dc9346d3b refactor: Remove ps calls
Removes and refactor ps calls that... should have not been there in the first place.
2020-08-21 01:33:12 -04:00
Clement Tsang 4b03b4b0b0 refactor: Refactor code, add new tests
Refactor code so we use a lib, allowing for easier testing. Adds additional tests for layouts.
2020-08-19 16:32:33 -04:00
ClementTsang eb5ac54ad0 bug: fix not switching sort type when toggling % in mem 2020-08-17 15:52:09 -04:00
Clement Tsang 3c373d7129 feature: Add appox. total mem as an option for processes and basic mem
Adds a way to display the memory value as a column in the processes widget and the basic memory widget, rather than just the percentage.
2020-08-17 15:41:37 -04:00
Clement Tsang 59ce90f577 bug: Fix bug w/ parsing /proc/{pid}/stats
Fixes a bug caused by incorrectly reading the `/proc/{pid}/stats` file.  Due to splitting by whitespace, the string parsing was read incorrectly if the process also contained spaces.
2020-08-16 20:53:34 -04:00
Clement Tsang 08e49b63c1 refactor: Revert tui upgrade to 0.10
Reverts tui upgrade, there are some bugs and issues - namely, issues with rendering text.
We can revert this commit when those bugs are dealt with (should be fine after 0.10.1, tested building from the repo).
2020-08-16 04:25:59 -04:00
ClementTsang 9068108d0f bug: fix missing default battery layout during refactor 2020-08-16 03:08:09 -04:00
Clement Tsang d211c6474c bug: Fix bug caused by hitting enter w/ a failed dd
This would cause the dd fields to get stuck due to never resetting.
2020-08-16 02:56:54 -04:00
Clement Tsang f3897f0538 feature: Allow sorting by any column
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
2020-08-15 20:35:49 -04:00
ClementTsang 84f63f2f83 refactor: remove redundant newlines 2020-08-13 02:04:53 -04:00
Clement Tsang e1a7378386 change: Update macOS config dir
Update documentation and program to use the correct config directory as per the dirs package.
2020-08-12 02:15:57 -04:00
ClementTsang 6e38d73116 change: Refactor dd drawing code
This also slightly improves how we generate the widths/heights to be
less... terrible.

Note this is not done, unfortunately.  This requires tui-rs' wrapped
paragraph height PR to land and release so I can properly calculate the
height offsets.

See https://github.com/fdehau/tui-rs/pull/349 for details.
2020-08-12 00:27:02 -04:00
ClementTsang 60f4759494 change: Add WASD keys for widget selection movement 2020-08-11 21:19:55 -04:00
Clement Tsang d0cc6078df deps: Update dependencies, drop MSRV
Update dependencies to most recent versions if applicable. Refactor to deal with breaking changes. Drop MSRV due to dependency issues, just support stable and later.
2020-08-11 20:22:39 -04:00
Clement Tsang 30bdaa6073 feature: add full command to process widget
This PR adds the ability to toggle between the process name and process path. Currently, this uses `P` as the modifier key.

Currently, the longer command names are dealt with by forcefully changing the width of the columns, but this can be handled in a more graceful manner IMO.
2020-08-07 04:29:20 -04:00
ClementTsang be6f824a43 clippy: clippy error due to redundant conversion
Fixes a redundant usize to usize conversion.
2020-07-06 02:36:24 -04:00
ClementTsang cef81d1b8d refactor: use fold to avoid clones in search for implied AND 2020-05-21 22:06:51 -04:00