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 adds the ability to use negation in queries. For example, `!=` as an equality operator `(cpu != 10)` and around groups, like `!(cpu > 5 or mem < 10)`.
---------
Co-authored-by: ClementTsang <34804052+ClementTsang@users.noreply.github.com>
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.
* add generalized input field file
* partial migration
* even more!
* app is clean
* move over canvas
* finish migrating
* fmt
* update and generate some tests
* Add test comments
* fix logic issue with me trying to avoid a second cursor
* fix delete word behaviour with unicode
* update changelog
* remove unused reset
* some test updates + cleanup
* clippy
* comment
* remove redundant shrink_to_fit
This PR makes it so that instead of always just hiding the entire legend if it's too big for the current size, we instead show less parts of the legend to make it fit. For example, if it's too tall, we just show less entries. If it is too wide, but other entries still would fit, we truncate the entries that are too long so they fit.
This is somewhat helpful because in the memory widget, the GPU entry at the moment is causing the legend to hide in situations where it used to not. We can also do more work to make that better, but IMO not always hiding the legend also makes sense to have in general.
* 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>
This PR adds a vhs "tape" file to automatically do the demo gif
recording. The point of this is to make it more consistent/easy to do,
and this has the benefit of making a smaller gif file.
* tmp
* intermediate work
* delete some code
* hook things up
* use QueryOptions everywhere instead
* comments
* more cleanup
* even more cleanup
* fmt
* update comment
* some more tests while I'm at it
* add todo for additional tests
* more empty quotes
* more empty quote testing
* even more tests
* driveby test for arg tests
When a process name contains multi-byte characters, cmdline[start..end]
is unsafe since it operates on bytes and can cause panic when start/end
are not char boundaries.
* refactor: move around some files related to the time graphs
* fmt
* fmt again
* update changelog
* add docs for time_graph
* rename time_graph to time_chart to be consistent
* nvm, that just makes it more annoying
* fmt
* Update documentation comment for time_graph.rs
* add extra rustdoc lint as well while I'm here
Looks like the issue was related to how we were getting priority in Windows, using the winprocinfo crate. This is resolved by just manually doing the windows API calls necessary.
---
* test if leak is caused by winprocinfo
* manually implement priority code
* cleanup
* update changelog
* Revert "refactor: migrate to Rust 2024 edition (#1678)"
This reverts commit b07eb646ce.
* other: temporarily revert 2024 changes
* additionally work around some issues
* refactor query error to another file
* refactor and/or/prefix
* more refactoring and tests
* clippy
* more tests
* even more tests
Also add some comments with context about some tests.
* todo and comments
* fix a bug around quote parsing
* update changelog
* add comment
* add comment
* update changelog
* basic priority and nice functionality
* fix fmt, clippy and tests
* trying to fix other platform build errors
* fmt fix
* trying more fixes
* clean project
* refactored nice to be for all unix systems
* few more places where I had to change cfg for Nice
* Fix scheme names issues
* fix for schema
* fmt
* fixed clippy errors
* 'nice' fix
* fmt
* fixed cfg in tests also
* trying to fix macos test errors
* fix nice value extraction for mac
* modularised nice and priority for mac and freebsd
* fmt
* more multi target to unix
* removing unnecesary guards
* added safety comments
- also reverted string array reference changes
utils fix
* weird utils clippy error fix
* removed unneeded commit
* not needed after main merge(?)
* add nohash and rustc-hash
* use fxhash by default
* comment
* fmt
* clippy
* use nohash for pid stuff
* fix import
* fix imports again
* fix windows type for gpu pid
Added the ability to press Enter after typing a search term in the Proc widget, making it more Vim-like for those with muscle-memory for Vim's '/' search.
* feature: added spacebar as a toggle for proc tree mode
* bug: added check if the app is currently in search widget state
* refactor: moved the if statements inside the match case
* docs: added documentation for Spaec as tree toggle
* revert: changes
* feat: added space key to toggle tree
* refactor: clippy errors
* docs: updated documentation for space as toggle
* feat: experimental change to Minus, collapse entire tree
* fix: clippy errors
* feat: finished - and + as full tree collapse/expand
* refactor: clippy errors
* Made the all collapse function more concise
* Changed i32 calls to Pid
* updated help text
* Fixed array
* reverted total collapse and expand of trees
* array fix
* bug: fix using the wrong timestamp to invalidate network axis scaling cache
* fix bug with starting with 0.0 leading to having a max height of 0.0
* comment
* driveby
* fix potential logic bug with generate points logic, but this isn't the actual issue
* update changelog
* why was that there
* okay let's not bother
* Revert "okay let's not bother"
This reverts commit 1ce8f5619f.
* Revert "why was that there"
This reverts commit 6a2a4da04a.
* Revert "fix potential logic bug with generate points logic, but this isn't the actual issue"
This reverts commit 7f7de8055b.
* Revert "bug/refactor: draw average CPU last, refactor CPU data code (#1804)"
This reverts commit 43e1b34899.
* reverse as a lazy fix for avg