Commit Graph

888 Commits

Author SHA1 Message Date
Clement Tsang
073ca890f7
refactor: extract unicode-ellipsis into its own crate (#1465)
* refactor: extract unicode-ellipsis into its own crate

* 0.1.4
2024-05-07 22:53:51 -04:00
Clement Tsang
398bf5930f
refactor: some string-related code cleanup/refactor (#1463)
* 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
2024-05-07 02:03:30 -04:00
Raphael Erik Hviding
3ded6a6529
bug: fix battery table when hiding gaps (#1458)
This changes the behavior of the battery widget when paired with the skip_table_gap.
2024-05-05 18:11:02 +00:00
Clement Tsang
2b819a3097
other: comment out some dead code (#1456) 2024-05-02 15:19:44 -04:00
Clement Tsang
6591b750f6
deps: bump deps as of 2024-04-28 (#1450)
* deps: bump deps as of 2024-04-28

* fix tests

* extra test
2024-04-28 15:27:33 -04:00
Clement Tsang
93d6718766
other: update a bunch of argument descriptions and some arg/config names (#1441)
* other: update a bunch of argument descriptions and some arg/config names

* update docs

* changelog
2024-04-10 20:46:35 -04:00
Lee Wonjoon
a083ec00dd
feature: Add option to set a position of legend (#1430)
* Add option to set a position of legend

* some small changes

---------

Co-authored-by: ClementTsang <34804052+ClementTsang@users.noreply.github.com>
2024-04-02 01:06:01 -04:00
Clement Tsang
2ee0df1502
change: use sysinfo's swap value for Windows (#1436)
* some consts

* change: use sysinfo's swap calculation for windows

I'll add an additional field for committed in a separate PR which shows
the previous value.
2024-03-27 22:24:14 -04:00
Clement Tsang
cd1715cd8f
other: add process uptime as a default column (#1411)
* other: add process uptime as a default column

* update docs
2024-02-15 03:27:19 -05:00
Clement Tsang
3ee883420a
bug: fix uptime calculation for Linux (#1410)
* bug: fix uptime for linux

Use another calculation to determine the uptime of a process on
Linux.

* appease clippy

* changelog

* edit add
2024-02-15 03:01:45 -05:00
Clement Tsang
b6660610d0
deps: bump ratatui to 0.26 (#1406)
* deps: bump ratatui to 0.26

* adjust process width

* a few nonzero optimizations

* add a todo

* update comments to be less confusing about time chart
2024-02-03 19:59:12 -05:00
Clement Tsang
5cf17f6015
other: flatten process config struct and clean up help text (#1395)
* 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
2024-01-21 05:47:13 -05:00
Clement Tsang
975e3d776b
refactor: move some files around in prep for a future options refactor (#1393)
* some formatting

* refactor: move some files around in prep for a bigger config/options refactor
2024-01-18 18:46:00 -05:00
Clement Tsang
be4fa27b84
refactor: convert layout creation tests back to being unit tests (#1392) 2024-01-16 23:47:05 -05:00
Clement Tsang
f07994ef68
deps: bump sysinfo to =0.30.5 (#1390)
* deps: bump sysinfo to =0.30.5

* fix an import

* fix stuff for linux

* fix temps

* some fmt

* disks

* oops

* fix some bugs
2024-01-15 20:43:14 -05:00
Clement Tsang
f760ce1080
deps: bump non-root dependencies as of 2024-01-15 (#1387)
* deps: bump non-root dependencies as of 2024-01-15

* also test 1.70 unofficial msrv
2024-01-15 05:06:24 -05:00
Clement Tsang
dd66ae774c
refactor: simplify some config -> constraints code (#1383)
* 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
2024-01-15 04:19:18 -05:00
Clement Tsang
a3541c9350
docs: use consistent wording around command-line options (#1378)
* docs: use consistent wording around command-line options

* fix missing code blocks
2024-01-11 02:14:05 -05:00
Clement Tsang
bc2c363a49
refactor: clean up arg code more (#1377)
* 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
2024-01-11 00:25:53 -05:00
Clement Tsang
6b62176554
refactor: rearrange/resort args (#1376)
* 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
2024-01-10 19:07:22 -05:00
Clement Tsang
0f969fcfd4
refactor: clean up help drawing code (#1374)
* refactor: clean up the help drawing

* a bit cleaner

* add test

* some fmt
2024-01-08 02:35:32 -05:00
Thomas Mühlbacher
0c161ae77e
feature: Add support for bcachefs (#1373)
Make sure that bcachefs mounts are also displayed in the disks widget.
bcachefs is a file system that will be included in the upcoming Linux
v6.7 kernel. Briefly tested this and it works on my system.
2024-01-04 11:18:45 -05:00
Clement Tsang
77777ef588
refactor: clean up some more drawing/component code (#1372)
* rename battery info widget file

* add widget trait

* move basic table arrows over

* some renaming

* more renaming and shuffling

* cleanup

* fmt
2024-01-02 01:24:13 -05:00
Clement Tsang
c242b4aff3
refactor: move around some configuration code again (#1371) 2024-01-01 17:39:10 -05:00
Clement Tsang
228da99489
refactor: move around configuration-related files (#1370)
* rename general utils file

* refactor: move around some configuration files

* more shuffling around

* fix some ugly formatting
2024-01-01 17:20:40 -05:00
Clement Tsang
e71048e394
other: update lints (#1369)
I have `missing_docs` disabled for now as that'll take a long time to
get through... maybe in a separate PR.
2024-01-01 05:34:53 -05:00
Clement Tsang
ecb6faa089
refactor: restructure canvas file folder structure (#1368)
* 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
2024-01-01 05:19:52 -05:00
Clement Tsang
74792f0ddf
other: quick lint fixes for some warnings (#1367) 2023-12-30 23:28:44 -05:00
Clement Tsang
22b40780ad
refactor: pull data collection out of nested folder structure (#1364)
* refactor: pull data collection out of nested folder structure

* fix sysinfo

* comment
2023-12-27 23:00:58 -05:00
Justin Martin
28d2950d92
deps: update ratatui version (#1362)
* cargo update ratatui

* replace convert_arc_labels with convert_mem_labels

* remove redundant generic

---------

Co-authored-by: Clement Tsang <34804052+ClementTsang@users.noreply.github.com>
2023-12-25 17:28:54 -05:00
Clement Tsang
c10779ecc0
refactor: fix macro formatting in disk data collection code (#1363) 2023-12-25 17:26:32 -05:00
Clement Tsang
a1168cac67
refactor: remove once_cell (#1361)
* refactor: remove once_cell

* some missing fixes
2023-12-23 04:35:42 -05:00
Clement Tsang
854f3aed95
refactor: some more cleanups around linux temp code (#1360) 2023-12-20 19:18:50 -05:00
Clement Tsang
a67da93c5f
other: if in a non-D0 state, short-circuit further logic (#1355)
* other: if in a non-D0 state, short-circuit further logic

* cleanup

* add back an empty name and value

* fix for macos/windows

* some testing things
2023-12-20 01:36:08 -05:00
Clement Tsang
b6f92c2f3d
feature: support default selection of average CPU graph (#1353)
* feature: support default selection of average CPU graph

* test
2023-12-10 15:21:35 -05:00
Clement Tsang
fab86e833a
other: add back local time in debug logs (#1346)
* other: add back local time in debug logs

This still has a UTC fallback.

* cleanup and some warnings
2023-12-02 04:53:31 -05:00
Clement Tsang
074b205a82
other: change group -> group_processes for consistency between config and command-line args (#1344)
* other: change group -> group_processes to match config file name

* update docs

* update changelog
2023-12-01 02:46:22 -05:00
Clement Tsang
46b7881fb0
other: preallocate space for ellipsis (#1336) 2023-11-27 04:55:21 -05:00
Clement Tsang
590f03bd69
other: update generated config file (#1335) 2023-11-27 03:39:39 -05:00
Clement Tsang
eab8736dfd
refactor: iteratively detect ASCII and build string when truncating (#1334)
* refactor: iteratively detect ASCII and build string when truncating

* more tests

* test going by usize

* Revert "test going by usize"

This reverts commit 4fe71260e7.
2023-11-27 03:30:43 -05:00
Clement Tsang
94e4573ebc
refactor: add fast branch if the string is short enough to not be truncated (#1333)
* refactor: add fast branch if the entire string is definitely not truncated

* update comments
2023-11-24 03:13:06 -05:00
Clement Tsang
a93521d2b1
refactor: add fast branch for ascii-only string truncate (#1330)
This is just a first attempt to speed up what looked like a hot spot in samply's profiling results.

Benchmark code and results here: https://gist.github.com/ClementTsang/e242f12f7e1d1902ed414dcc18c3b321
2023-11-23 23:45:03 -05:00
Clement Tsang
ab9331140a
refactor: simplify temperature conversion function usage (#1326)
* refactor: simplify temperature conversion function usage

Just make it a function on the temperature type enum.

* fix sysinfo variant

* simple test
2023-11-20 03:08:24 -05:00
Clement Tsang
10a37c263a
change: small gpu proc changes (#1325)
* other: use consistent casing with Mem/Mem% in processes for GPU cols

* other: remove mem check for GPU enable check
2023-11-20 02:30:57 -05:00
Justin Martin
e4a6e751ec
feature: Add gpu proc info (#1276)
* Add gpu util, power and procs.

Consolidated gpu calls into `data_harvester`.

Changed config flag from `enable_gpu_memory` to `enable_gpu`.

Added GPU utilization to the cpu widget.

Added GPU process memory usage and utilization percentage to the proc widget.
Added key binds for gpu process toggling.

Added GPU power usage to the battery widget.
Added bounds check to battery widget header.
Show battery widget header when `gpu_enable`.

Added feature flag `legacy-functions` to `nvml-wrapper`.

updated config file(s).
updated help text.
updated docs.

* Code Review:

Remove GPU util from cpu widget
Remove GPU power from battery widget
Use reference for gpu widgets_to_harvest
Extract match arm to function for feature gate

* Code Review: add gmem% toggle

* Do not poll gpu temp when filtered

* Code Review Two Changes:

adjust doc wordings
remove extra references
remove extra widget harvest checks
init proc gpu values
use convert_temp_unit for gpu temp
2023-11-19 23:54:15 -05:00
Clement Tsang
5a17212f89
other: add additional clamping functions on numeric types (#1324)
* other: add additional clamping functions on numeric types

* add tests and replace one usage
2023-11-19 03:15:19 -05:00
Clement Tsang
4d2df4c4e9
refactor: clean up some query code and some ascii-only string comparisons (#1316)
* refactor: update some stuff in the query code

* do some eq_ignore_ascii work

* tests

* some docs, and rename files
2023-11-15 06:23:04 -05:00
Clement Tsang
8b9328e29e
refactor: comment on convoluted Filesystem::from_str code (#1315)
* refactor: use a less convoluted match for filesystem type conversion

* revert, just use comment

* just use if statements instead

* test

* inline
2023-11-15 04:13:19 -05:00
Yuri Astrakhan
5eb4fbde5d
chore: fix certain uninlined string format uses (#1310)
* Fixed uninlined args

First ran this, and fixed a few more similar issues by hand

```
cargo clippy --workspace --fix --benches --tests --bins -- -A clippy::all -W clippy::uninlined_format_args
```

Note that in a few cases, format args were passed by ref - which is actually a tiny perf hit - compiler would not be able to optimize them.

* revert change here

since it contains a non-inlineable variable I'm not a fan of using it partially here

* revert

given the other formats above/below I would prefer keeping it like this

---------

Co-authored-by: Clement Tsang <34804052+ClementTsang@users.noreply.github.com>
2023-11-15 03:47:22 -05:00
Devin-Yeung
d1d1498900
bug: fat32 mounts don't show up in macOS (#1314) 2023-11-14 23:57:24 -05:00