Commit graph

685 commits

Author SHA1 Message Date
Clement Tsang
8101e6fa56
deps: Update tui to 0.19.0 and crossterm to 0.25.0 (#878)
* deps: update tui to 0.19 and crossterm to 0.25

* fix error

* handle breaking changes
2022-11-08 00:56:39 -05:00
Clement Tsang
7ae8e66a3a
ci: add cache clearing to PR merges (#874)
* ci: add cache clearing to PR merges

* some renaming

* small change to force cache

* add manual run option
2022-11-06 03:44:02 -05:00
ClementTsang
7f7d0cebf4
bug: fix spacing for disk table widget headers when sorting 2022-11-06 02:26:16 -05:00
Clement Tsang
36837ae8ac
feature: basic sortable disk (#870) 2022-11-06 01:34:32 -05:00
Clement Tsang
4d9f5093b2
feature: basic sortable temp (#868)
* feature: basic sortable temp

* add shortcuts

* fix missing shortcut names in header

* update changelog

* update docs
2022-11-05 19:32:14 -04:00
Clement Tsang
e6e1e9d688
deps: update nvml to 0.8.0 (#869) 2022-11-05 02:12:31 -04:00
Clement Tsang
76c3bc4254
refactor: clippy and small cleanup/comments (#865)
* refactor: small cleanup and comments in some code

* clippy

* more clippy

* fixes for macos/freebsd
2022-11-04 04:17:22 -04:00
Diana
b8c73d3a0b
More human friendly temperature sensor naming (#807)
* More human friendly temperature sensor names

This makes the names more human friendly, and possible to distinguish from each other

* Keep hwmon sensor name for GPUs

* Keep hwmon sensor name for non-GPUs too

* fix device path
2022-11-02 00:43:58 -04:00
Clement Tsang
064d740c6d
refactor: move data passing for table to another step (#863)
* refactor: remove redundant scroll direction enum

This was made redundant from the table refactor.

* add some todos/docs

* refactor: temp hack to pass in data on process
2022-11-02 00:36:55 -04:00
lroobrou
ee2f6c7a72
feature: Implement PgUp and PgDown in the help dialog. (#841) 2022-10-20 00:34:00 -04:00
Clement Tsang
b879c36588
refactor: move some state code around (#839) 2022-10-16 03:10:30 -04:00
Justin Martin
dd003101a0
enable gpu mem cli and update docs for arc/gpu mem (#836) 2022-10-16 00:08:38 -04:00
ClementTsang
d99f41f17e Revert "refactor: remove heim network usage (#833)"
This reverts commit 913562e7e6.
2022-10-15 18:42:55 -04:00
Clement Tsang
913562e7e6
refactor: remove heim network usage (#833) 2022-10-15 18:24:35 -04:00
Clement Tsang
a949740c94
other: make gpu memory collection configurable (#835)
Follow-up to #794, this makes GPU memory collection toggleable.
2022-10-15 16:50:21 -04:00
Justin Martin
bd35bbdc9c
feature: add gpu ram collector for nvidia feature flag (#794)
* add gpu ram collector for nvidia feature flag

* add row for TX in basic layout

* size gpu point_vec

* use vec for mem basic widget drawing

* remove to_owned

* code review: change mem tuple to struct with cfg fields, rename mem_basic ratio and use vec macro for layout

* build on freebsd
2022-10-15 15:08:48 -04:00
Clement Tsang
41970d9c64
other: add quick test for building clap app (#834) 2022-10-15 07:27:56 -04:00
Clement Tsang
8b72a33f40
refactor: move point definition to tui_rs widget (#832) 2022-10-13 15:40:19 -04:00
Clement Tsang
b6a75db1b4
refactor: switch to pipe gauge implementation for basic cpu + mem (#829)
* refactor: switch to pipe gauge implementation for basic cpu + mem

* fix incorrect new basic cpu chunking scheme, revert to old one
2022-10-13 10:17:26 -04:00
Clement Tsang
436dadb683
refactor: switch to associated type for SortsRow (#828) 2022-10-12 19:02:54 -04:00
Clement Tsang
2a740f48f7
refactor: tables V2 (#749)
* refactor: move to new data table implementation

* more work towards refactor

* move disk and temp over, fix longstanding bug with disk and temp if removing the last value and selected

* work towards porting over CPU

work towards porting over CPU

fix typo

partially port over cpu, fix some potentially inefficient concat_string calls

more work towards cpu widget migration

some refactoring

* sortable data

sortable data

more refactoring

some sort refactoring

more refactoringgggg

column refactoring

renaming and reorganizing

more refactoring regarding column logic

add sort arrows again

* move over sort menu

* port over process

port over process

precommit

temp

temp two, remember to squash

work

fix broken ltr calculation and CPU hiding

add back row styling

temp

fix a bunch of issues, get proc working

more fixes around click

fix frozen issues

* fix dd process killing

* revert some of the persistent config changes from #257

* fix colouring for trees

* fix missing entries in tree

* keep columns if there is no data

* add and remove tests

* Fix ellipsis
2022-10-12 16:25:38 -04:00
Clement Tsang
1e5f0ea2d9
bug: add bindings to grab ppid in some cases on macos (#825) 2022-10-11 19:49:39 -04:00
Clement Tsang
a965e53c6c
fix wrong unit being used for memory in sysinfo data (#824)
* fix wrong unit being used for memory in sysinfo data

* update sysinfo to 0.26.4 for unsupported reasons w/ ntapi
2022-10-07 19:15:11 -04:00
Clement Tsang
7fec637360
bug: fix missing temp path locations to check on Linux (#816)
* bug: fix missing temp path locations to check on Linux

* remember to divide by a thousand in thermal_zone
2022-09-23 00:48:58 -04:00
Clement Tsang
e80e07a716
refactor: minor cleanup of linux disk code (#813)
Since we no longer use heim for Linux disk checking, we can remove the
async reliance and update some file names/comments to be more
appropriate to the current state of the code. We also do some small
cleanup.
2022-09-18 05:13:27 -04:00
Clement Tsang
cc048de3b0
refactor: replace heim temp conversion code (#811) 2022-09-17 23:43:40 -04:00
Diana
c3e4a95d04
Replace heim with sysfs and dont wake devices (#805)
* Replace heim with sysfs and dont wake devices

This commit replaces heim sensor reading with manual sysfs sensor reading, and skips reading sensors for any device that is in ACPI D3cold

This has the notable downside of still keeping a device awake, which I hope to solve in a later commit

* Update docs

They were referring to files i ultimately decided against using in this implementation, and so were no longer relevant to document.

* has_temp check should be before reading hwmon_name

* should_read_temp doesn't have to be mutable

* Fix sensor for zenpower kernel module
2022-09-16 05:06:17 -04:00
Clement Tsang
c6c7fb3a30
deps: update sysinfo to 0.26.2 (#806)
* deps: update sysinfo to 0.26.2

This dependency update has some nice things in store for us:
- MacOS M1 temperature support
- Bevy of bug fixes

* update documentation

* some fixes
2022-09-16 04:42:24 -04:00
Clement Tsang
46a2a3a52b
other: Clarify help menu (#800)
* other: clarify that numbers are for help menu

* bug: fix incorrect overscroll check, should be min
2022-09-03 04:04:03 -04:00
Justin Martin
6e0bc96093
feature: Add zfs feature flag for arc memory (#784)
* freebsd clippy

* add arc support

* Code Review: moved runtime cfg checks to compile time and formatting

* remove compile platform checks

* add zfs feature flag to get_arc_data
2022-08-22 02:47:22 -04:00
ClementTsang
658b8c720f
refactor: minor tweak to update_position code 2022-08-15 00:50:27 -04:00
ViridiCanis
f5e2b7242a
feature: clamp scrolling (#775)
* clamp scrolling when trying to go beyond the top or bottom

* add more 'do nothing' cases to `update_position`

* adjust tests to clamping scrolling

* fixup! add more 'do nothing' cases to `update_position`

* fixup! clamp scrolling when trying to go beyond the top or bottom

* fixup! fixup! clamp scrolling when trying to go beyond the top or bottom
2022-08-15 00:45:27 -04:00
Clement Tsang
3016a3d6a2
refactor: change max_scroll_index usage to better reflect name (#783)
Tweaks `max_scroll_index` usage in the help menu to better reflect its name of being a max index, not a max index bound.

For example, before, the index could not be equal to or more than `max_scroll_index`, but the name would have implied that it should be less than or equal to it.
2022-08-14 18:21:48 -04:00
ViridiCanis
5da7411d3c
Feature: half page scrolling (#774)
* add ctrl-u/ctrl-d to process table

* add help text for ctrl-u/ctrl-d

* add ctrl-u/ctrl-d to help dialog

* store height of help menu, fix overscroll with half page down on help menu

Co-authored-by: ClementTsang <34804052+ClementTsang@users.noreply.github.com>
2022-08-14 17:47:03 -04:00
ClementTsang
56bb3657a4 clippy: fix clippy eq warning 2022-08-13 11:34:17 -04:00
Wesley Moore
577fda96fc
Implement support for FreeBSD (#766)
* WIP FreeBSD support

* Implement get_cpu_data_list for FreeBSD

* Implement disks for FreeBSD

It doesn't work though as sysinfo doesn't make the device name available.

* Use libxo to read process cpu info on FreeBSD

* Populate get_io_usage with libxo too

Actual I/O stats still aren't populated though as there's not an
easy source for them.

* Share more processes code between macos and freebsd

* Extract function for deserializing libxo output on FreeBSD

* Implement filtering of disks in FreeBSD

* Clean up memory data collection

* Update module docs
2022-07-23 20:44:29 -04:00
Clement Tsang
121632760d
bug: fix total read/write units having /s (#763)
Fixes the total read/write columns in processes using the wrong unit (having /s).
2022-07-07 05:45:30 -04:00
Clement Tsang
04d1218f65
feature: add note on how to exit if running in non-terminal (#761)
Addition to #760, adds an extra message so users know how to exit in this scenario.
2022-06-29 01:15:37 -04:00
Clement Tsang
baf844244d
feature: add check for whether the output is to a terminal (#760)
Adds a warning if the user is calling bottom from an environment where the output is not a terminal.
2022-06-28 23:00:52 -04:00
Clement Tsang
c6f5d5488a
docs: re-enable lib docs for development purposes (#750)
Enables lib docs, primarily intended for dev use. Also change some existing documentation based on warnings (mainly broken/bare links).
2022-06-14 18:31:32 -04:00
Clement Tsang
c1a7979be7
refactoring: Move around components and state (#746)
A small refactor to move some state/component files around in terms of file structure and code location. Should have no effect on logic.
2022-06-03 04:49:39 -04:00
Clement Tsang
8689492ae5
refactor: unify all mod.rs structure to 2018 style (#742)
This is a pretty small change, but at least _for now_, unifies all
`mod.rs` use cases to the 2018 style for consistency.

I personally don't mind going back to it on a case-by-case basis in the
future if it results in cleaner code, though.
2022-06-02 03:24:30 -04:00
Clement Tsang
b986a259e1
other: make the graph legend the same color as the graph (#732)
This makes the graph legend the same color as the rest of the graph.
2022-05-17 05:42:48 -04:00
ClementTsang
01574c8afe bug: hide user column for non-unix 2022-05-16 15:08:46 -04:00
ClementTsang
cc6d7b8ad7 bug: fix a variety of bugs
Bugs squashed:
- Incorrect column sizing for flex cases
- Case where the sort menu bounds were still existing despite being
  hidden
- Proc widget not actually taking into account the calculated row widths
  in some cases during data conversion.
2022-05-16 04:53:41 -04:00
ClementTsang
0831a56341 refactor: simplify partial ordering fn, clean up code 2022-05-15 21:02:33 -04:00
ClementTsang
1877ed5c88 refactor: remove redundant get_ordering fn, add tests 2022-05-15 21:02:33 -04:00
ClementTsang
ba362f81c9 bug: fix issues with macos and windows during refactor 2022-05-15 21:02:33 -04:00
ClementTsang
05e9cd4d4d other: delete redundant code, run clippy and fmt 2022-05-15 21:02:33 -04:00
ClementTsang
ed17264832 refactor: more work towards unifying process code
A bunch of work towards also refactoring how the process widget
gathers and converts data.
2022-05-15 21:02:33 -04:00