Add support for a temperature graph widget. Quick-and-dirty implementation for now, will clean this up with other widgets later (maybe after adding a disk graph widget).
This PR replaces the `hide_table_gap` option with a new `table_gap` option that controls whether a space is drawn, a line is drawn, or nothing is drawn.
* feature: add global bg_color option
* period
* fmt
* oops, format again
* update default config + schema
* rename field + apply it to dialogs
* update dialog to just draw once
* handle basic
* add test + some small tweaks
---------
Co-authored-by: Clement Tsang <34804052+ClementTsang@users.noreply.github.com>
* hide k-threads init
comment
* add config for hide_k_threads
arg help
* update docs for hide_k_threads
* add test_toggle_k_thread for process_table
* update help text and schema
* add hide_k_threads to sample_configs default
* add Virt column to sample default config
* update sample demo config column name for schema ci
* force_rerender_and_update from toggle_k_threads for updates when frozen
* use is_kernel for ProcessType
* remove todo
* Apply suggestions from code review
Co-authored-by: Clement Tsang <34804052+ClementTsang@users.noreply.github.com>
---------
Co-authored-by: Clement Tsang <34804052+ClementTsang@users.noreply.github.com>
* add no key setting
* do it here instead of in main loop
* add a warning
* docs: update a bunch of docs with features
* linux-only test
* oop
* skip field check for other os
* oop
* easier way of doing it
* use dead code
* oop
* huh guess I don't need it
* fmt
* temp work
* get yes/no working
* cleanup
* fill out some more buttons
* conditional compilation
* update
* update docs
* wait this just works
* like 80% of the way there
* some stuff around the killing screen
* mouse works
* done!
* clippy
* more stuff
* fix some imports for windows
* android fixes
* oop
* ahh
* hmm
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.
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.
- There is currently no indication under which [table](https://toml.io/en/v1.0.0#table) do "flags" go in the config file.
- I think having that being explicitly spelled out & having an example saves quite a bit of people's time. Would for me 🙃
* 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
* other: master -> main
I'm so used to using `main` branch now that it's actually kinda annoying
to use `master` for just this repo... so might as well rename it now.
* overzealous change
* wording
* some wording
* allow auto-cancel for tests if not main
* 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
* docs: bump mkdocs-related dependencies to latest
bumps mkdocs-material to 9.4.8, mkdocs to 1.5.3, mkdocs-material-extensions to 1.3
* fix some link warnings
* update documentation and support either numerical times or human times for time_delta and default_time_value
* update docs
* give more human times on error
* First implementation of cache memory data collection, mostly copied from RAM and swap implementations
* First implementation of cache memory display, copied from RAM and swap implementations. placed cache as second in the list as it is more similar to the RAM than any other item in the list
* expanded comment to explain method.
* rustfmt
* all cache-related code excluded on windows, in the process refactored src/data_conversion.rs convert_mem_label() to convert a single label instead of all at once
* better factoring-out of cache memory logic to allow individual disabling
* added --enable_cache_memory flag, disabled cache memory collection by default
* renamed CCH to CHE
not sure how i messed that up
* changelog updated
* Added command line flag documentation
* updated config file documentation
* specified that buffer and cache memory display does not work on windows
* resolved merge conflicts
* added documentation to cache memory data collection
* capitalized Windows
* implemented missing canvas styling logic
* fixed misplaced no-windows flag
* reduced colour collisions, as cache colour was the same as the first GPU colour
* made FIFTH_COLOUR constant windows-only
* Revert "made FIFTH_COLOUR constant windows-only"
This reverts commit 72698f1dd7.
* made FIFTH_COLOUR constant non-windows-only
* minor fix for basic mode row count
* Update src/app/data_harvester/memory/sysinfo.rs
Co-authored-by: Clement Tsang <34804052+ClementTsang@users.noreply.github.com>
* Update src/canvas/widgets/mem_basic.rs
Co-authored-by: Clement Tsang <34804052+ClementTsang@users.noreply.github.com>
* updated default_config.toml
* formatting
---------
Co-authored-by: ClementTsang <34804052+ClementTsang@users.noreply.github.com>