Commit graph

263 commits

Author SHA1 Message Date
Clement Tsang
fe74328647
bug: Fix bugs with disk widget and disk encryption (#423)
Two issues were highlighted as a result of using either Void Linux with disk encryption, or just disk encryption on Linux in general:

Two fixes:
1. Fixes a failed `usage()` call in the `get_disk_usage` function from failing the entire result.  Now it only returns an entry with N/A results.  This occurred in some distros and disk encryption setups, for example, the one for Void Linux here: https://docs.voidlinux.org/installation/guides/fde.html.

2. Fixes a potential mapping issue with disk encryption on Linux in general.  Since the disk might map to `/dev/mapper/whatever`, but the I/O harvester was using another name, the mappings would not match.  As such, we now also check if a symlink exists; if it does, then we take it and work out the correct path.  This also fixes the disk name being wrong.
2021-02-24 20:23:35 -05:00
Clement Tsang
cb1191ff35
deps: Update various deps as per 2021-02-19 (#420)
Major update is tui-rs from 0.13 to 0.14.  This change allows us to update our tables to make them look nicer!
2021-02-19 17:57:39 -05:00
Clement Tsang
f2975c3a7c
change: Don't jump to top when using sort shortcuts (#418)
For consistency, we now don't automatically jump to the top of the list when using a sort shortcut. This behaviour already occurred with the sort menu and sorting by mouse clicks, so this is just now more consistent (and IMO less annoying, you can also always jump to the top via gg).
2021-02-19 01:22:19 -05:00
Clement Tsang
e6c9187928
bug: Fix sorting menu and sort shortcuts not syncing in gui (#417)
Fixes sorting menus and shortcuts not syncing correctly if the sorting window is open.
2021-02-19 01:02:21 -05:00
Clement Tsang
e6230ef156
bug: fix inconsistent spacing with grouped vs non-grouped in the process widget (#416)
Fixes grouped mode having different spacing than non-grouped mode.
2021-02-18 19:15:07 -05:00
Clement Tsang
4db39da75e
feature: Add mouse support to sorting columns (#413)
Adds mouse support for sorting columns within the process widget. You can now click on the column header to sort (or invert the sort).
2021-02-18 17:10:51 -05:00
Clement Tsang
cf14abe37d
feature: Add ctrl-w and ctrl-h support in the search (#409)
Ctrl-w deletes one word backwards from the current cursor location. Ctrl-h is just an alias for backspace.
2021-02-16 18:07:41 -05:00
Clement Tsang
fb7b1226fd
feature: add nord and nord-light colours (#406)
Adds colour schemes for Nord, along with a light variant.
2021-02-15 14:12:43 -05:00
ClementTsang
c94e1e821b docs: Reorder some of the changelog items 2021-01-31 14:19:26 -05:00
ClementTsang
425f4877de docs: Update changelog, revert formatting typo in README 2021-01-30 20:26:38 -05:00
Clement Tsang
d48e6cd7e0
bug: Workaround for strange rendering when there are <4 CPU entries reported (#398)
So it seems that tui-rs doesn't like rendering my CPU bars if the height is exactly 1. It needs at least 2. I have no idea why, this is probably something weird with how I render.

This, of course, breaks when there is only one row to report (i.e. with a dual core setup in #397).

The workaround switches the gap between the CPU and mem/net parts to 0, and increases the CPU's draw height by 1, only when the height is otherwise 1 (so the draw height is now at least 2). This does have the side effect of including an extra line to the side borders, but I think it's fine.
2021-01-25 02:21:33 -05:00
Clement Tsang
e30518bf62
bug: Fix missing sorting arrow when for non-% mem (#389)
Fixes a bug where you could make the sorting arrow disappear in the mem column if you did:

1. Go to proc widget
2. Switch to memory values from %
3. Press `m`
2021-01-12 21:41:59 -05:00
ClementTsang
f7244d2927 docs: Update changelog with #386 2021-01-05 22:21:27 -05:00
Clement Tsang
90be9730a6
feature: Add network interface filtering (#381)
Adds a new option in the config file to filter out network interfaces.  Also add the option to filter by whole words.

Interface follows that of the existing ones:

```toml
[net_filter]
is_list_ignored = false
list = ["virbr0.*"]
regex = true
case_sensitive = false
whole_word = false
```
2021-01-01 18:09:28 -05:00
Clement Tsang
60d0117c85
feature: Add process_command to default to the process command (#379)
Adds a `process_command` flag and config option to default to showing the full command in the process widget on startup.
2020-12-28 14:34:32 -05:00
ClementTsang
2f0cecf817 docs: Update changelog 2020-12-22 02:21:14 -05:00
Clement Tsang
bfdaa09e3a
uptick: 0.5.6 (#362) 2020-12-17 18:42:08 -05:00
Clement Tsang
682f6493d1
refactor: re-use heim for ARM targets if possible (#360)
Use heim on ARM targets again where appropriate.
2020-12-17 17:57:38 -05:00
Clement Tsang
7272786e86
uptick: 0.5.5 (#356) 2020-12-15 00:05:18 -05:00
Clement Tsang
86135e466c
bug: Fix incorrect cpu colour matching again in all position (#349)
Turns out there was yet another bug with the CPU colour allocation. I had forgotten to use the same index calculation for the "all" position.
2020-12-11 16:14:17 -05:00
Clement Tsang
74f4b386d7
uptick: 0.5.4 (#348) 2020-12-10 22:57:54 -05:00
Clement Tsang
fd003f84da
bug: Fix some performance regressions (#344)
Fixes some performance regressions and forgotten cleanup.

Changes to attempt to improve performance to match 0.4.x:

- Remove `trace!` and `--debug` for now.  These were a significant hog.  Removing this dropped initial memory usage by about half.
- Add additional cleaning step for `pid_mapping`  during process harvesting.  This should hopefully improve memory usage as time goes on.
- Slightly change how we do sorting to hopefully be a bit more optimal?  This was just an easy change to make that I spotted.
- Fix broken cleaning child thread task.
2020-12-10 22:29:25 -05:00
Clement Tsang
ce020a7429
bug: Fix missing states in processes (#345)
Fixes another change breaking states from showing in processes.
2020-12-10 00:03:55 -05:00
Clement Tsang
3260ff4663
feature: Add scroll indicator to keep track of table position in widgets. (#333)
Adds the option to enable an "out of" indicator for scrollable table widgets (using --show_table_scroll_position).
2020-11-28 15:37:06 -05:00
Clement Tsang
41b8dd61d0
bug: Fix inverted battery colours (#331)
Fixes colour theming for batteries being flipped.
2020-11-26 19:14:27 -05:00
ClementTsang
781691d3c9 uptick: 0.5.2 2020-11-25 20:39:37 -05:00
ClementTsang
2d127f198e ci: uptick to 0.5.1, fix ci 2020-11-22 02:33:48 -05:00
ClementTsang
1cb580b91f docs: Update README and changelog for 0.5.0 2020-11-20 14:47:55 -05:00
ClementTsang
79acbf9462 docs: Update changelog 2020-11-20 00:15:54 -05:00
Clement Tsang
2ff8b418b2
feature: add tree flag (#312)
Adds a --tree flag that defaults to tree mode for the process widget.
2020-11-20 00:13:46 -05:00
Clement Tsang
5fedf8a5db
other: update gruvbox and some documentation (#310) 2020-11-19 23:32:57 -05:00
Clement Tsang
92636f3bf9
feature: Add mem_as_value flag (#309)
Adds a new flag, --mem_as_value (and its corresponding config option, mem_as_value = true), which defaults to showing process memory values by their amount rather than percentage.
2020-11-19 00:28:04 -05:00
Clement Tsang
c0a8c347e1
bug: remove buggy auto-generated CPU colour implementation (#308)
Removes the random automatically generated colours for the CPU metrics. This was not supported in all terminal emulators, and would cause some of them to break (namely macOS Terminal).

Instead we'll default to colours we can be more certain will work and loop through them as required. Users can still override these colours with their own.
2020-11-18 20:00:31 -05:00
Clement Tsang
669b245367
feature: Add collapsible tree entries (#304)
Adds collapsible trees to the tree mode for processes. These can be toggled via the + or - keys and the mouse by clicking on a selected entry.
2020-11-18 01:28:53 -05:00
Clement Tsang
e43456207b
feature: default colour schemes (#296)
Adds some default colour choices to choose from.
2020-11-15 05:16:47 -05:00
Clement Tsang
e8358f8f47
bug: fix incorrect basic cpu spacing (#291)
Fixes a bug with CPU spacing on basic mode.
2020-11-02 22:39:02 -05:00
Clement Tsang
3d9c6b757f
bug: fix incorrect offset for cpu list in cpu basic widget (#289)
Fixes the CPU basic widget showing incorrect data due to an incorrect offset when displaying the data.
2020-11-02 20:59:54 -05:00
Clement Tsang
05b39d29ae
feature: Add simple indicator for when data updating is frozen (#269) 2020-10-17 23:26:03 -04:00
Clement Tsang
914079868f
bug: Fix widget highlighting styling for dialogs (#266)
Fixes styling for dialog titles.  Cherry picked from commit 06573becfa3c089ac4b2a17c9443f84b6a5af3e8.
2020-10-13 02:45:01 -04:00
Clement Tsang
5675d8192c
other: more traces to debug, update some deps (#264)
Minor update to update some dependencies and remove some traces.
2020-10-02 22:12:07 -04:00
Clement Tsang
a5b95ae8b2
bug: use cmdline for Linux proc name if >=15 chars (#261)
This was the cause of some process names getting cut off and looking weird for Linux (and Linux only, I'm not directly responsible for the other OSes).

This also adds spaces in between command line flags. Before, they were usually separated by either spaces (which looked fine) or null terminators (which meant it looked like something was broken).
2020-10-01 01:46:09 -04:00
Clement Tsang
7eff79395d
bug: fix chart and data point overlap (#256)
Update to tui-rs, which fixes #255, as well as some miscellaneous things like updating changelogs and travis.
2020-09-27 14:23:18 -04:00
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
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
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
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
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
ClementTsang
0ea07c288e docs: Update changelog 2020-08-26 20:32:18 -04:00
ClementTsang
e08eda8edc docs: Update changelog 2020-08-25 01:24:04 -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
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
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
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
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
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
ClementTsang
17552c50cf docs: Update changelog w/ full process feature [skip travis] 2020-08-07 04:31:42 -04:00
ClementTsang
4cc403b594 uptick: 0.4.5
This patch is just to deal with crates.io not using the correct
Cargo.lock I had intended.
2020-07-08 15:15:16 -04:00
ClementTsang
3564f00f39 docs: update for 0.4.4 2020-07-06 01:09:01 -04:00
Clement Tsang
9600785cf2
docs: update CHANGELOG 2020-05-21 22:25:44 -04:00
ClementTsang
b33ea11af2 bug: fix query not working for or, refactor a bit 2020-05-21 21:40:40 -04:00
ClementTsang
dcaef7ebc4 bug: fix incorrect parsing for process i/o calc
Cause was checking the wrong indices for values.  I thought I
had taken in a vector of strings that were just byte values,
but they actually contained the labels... oops.
2020-05-21 14:03:00 -04:00
ClementTsang
f3ca98fe30 docs: some minor README and CHANGELOG changes 2020-05-20 21:21:49 -04:00
Clement Tsang
cf1d41c83a
feature: add back states to unmerged processes 2020-05-19 17:58:17 -04:00
ClementTsang
e2e1ac3006 change: always highlight selected cpu 2020-05-18 23:36:58 -04:00
Clement Tsang
12e4777d97
change: remove slash, change scroll behaviour on cpu
- Removal of the old slash-space-to-hide behaviour of CPU widget
- Scrolling onto a specific entry will only show that entry
- Showing average is now default
2020-05-16 22:38:19 -04:00
ClementTsang
2d9d10d8f9 uptick: 0.4.3 2020-05-15 00:00:02 -04:00
ClementTsang
a03e9d6f31 uptick: 0.4.2 2020-05-11 22:53:56 -04:00
ClementTsang
ce563542ee force SWAP and RAM labels to show even if at 0 2020-05-11 22:48:37 -04:00
Clement Tsang
7b5685bf44
refactor: remove redundant empty checks in graphs
Now that the fix for empty data is patched in tui, these checks are
redundant.
2020-05-11 01:32:39 -04:00
Clement Tsang
90272777f7
change: hide table gap if widget height is small 2020-05-09 16:23:15 -04:00
ClementTsang
e6181d4aa4 change: hide time legend if window gets too small 2020-05-09 14:54:23 -04:00
ClementTsang
453c10e7c5 docs: update README and CHANGELOG for 0.4.1 2020-05-05 17:56:01 -04:00
ClementTsang
38f4967a8a bug/change: removed space as and for now 2020-05-04 23:44:33 -04:00
ClementTsang
9932ad34c1 docs: mention querying update for 0.4.0 2020-05-04 21:50:53 -04:00
ClementTsang
a04bc25e59 docs: update CHANGELOG 0.4.0 release date 2020-05-04 21:48:33 -04:00
ClementTsang
c8afe0d4f8 chore: support MSRV of 1.40.0 2020-05-04 17:45:11 -04:00
ClementTsang
6e81fbeebf change: more advanced searching and filtering 2020-05-02 16:01:07 -04:00
ClementTsang
bb45763b39 feature: Add alt-h and alt-l to move left/right within widget 2020-04-30 15:29:36 -04:00
ClementTsang
ecd5a003cf change: Use e key instead to maximize; rename to expand 2020-04-29 23:52:25 -04:00
ClementTsang
70779c078d docs: update help and README for bindings 2020-04-28 22:46:48 -04:00
Clement Tsang
554505b221
changelog: Add #134 to changelog 2020-04-28 17:51:05 -04:00
Clement Tsang
2faf3c6592
refactor: revert linear interpolation until tui fix comes 2020-04-28 16:44:10 -04:00
ClementTsang
15dba2e6cf bug: fix empty widget in layout 2020-04-27 16:20:36 -04:00
Clement Tsang
863e780f2f
change: add scrolling to help menu 2020-04-24 19:17:58 -04:00
ClementTsang
e19368e5c9 chore: update changelog 2020-04-23 15:43:09 -04:00
ClementTsang
7004649a6d Move to tui-rs' built in linear interpolation 2020-04-20 00:29:59 -04:00
ClementTsang
f334a72fb1 Made table gap optional rather than enforced 2020-04-19 17:45:32 -04:00
ClementTsang
b42583e04c Remove header gap in most tables 2020-04-18 22:54:35 -04:00
ClementTsang
90e1e9f4cb Fix bug with network legend 2020-04-18 21:11:20 -04:00
ClementTsang
207444fbbf Update network legend again 2020-04-18 20:42:52 -04:00
ClementTsang
2365a58eff Update changelog 2020-04-18 19:54:35 -04:00
ClementTsang
7248298995 Update highlight to light blue; new network legend 2020-04-18 19:53:11 -04:00
ClementTsang
92315ea1d7 Fix incorrect changelog 2020-04-18 18:08:05 -04:00
ClementTsang
bc571588e4 refactor: Update tui to 0.9; refactor with new features 2020-04-18 18:05:41 -04:00
Clement Tsang
163f6823a2
feature: Add battery widget (#120) 2020-04-16 20:06:50 -04:00
Clement Tsang
4a4a9cf221
bug: Fix dd failing on non-first entries (#116) 2020-04-12 19:26:32 -04:00
Clement Tsang
bcfd09da88
change: highlight borders & table headers to cyan (#115) 2020-04-12 18:27:58 -04:00
Clement Tsang
a351f05d4a
feature: Show process state (#114)
This is not 100% finished and will be refined in the future, as I plan to
do a bit of an overhaul on how the process widget is going to look and
functionality.  In particular, tabbed is currently kinda just slapped
together (I just combine all the states together as one big string).

However, it is enough to work and show state normally...
2020-04-11 21:02:27 -04:00
Clement Tsang
f210681ae7
feature: add io and io/s for processes (#113) 2020-04-10 20:18:26 -04:00
Clement Tsang
84571583c1
Update 0.3.0 release date 2020-04-07 23:32:16 -04:00
Clement Tsang
b32c984843
bug: Fix sorting processes by name being case-sensitive 2020-04-07 21:42:57 -04:00
ClementTsang
c2eaaed8b7 docs: Add changelog 2020-04-05 23:41:05 -04:00