Conky inspired system info viewer written in Rust / GTK3
Conky was named after the puppet... so this thing is Randy
A man’s gotta eat, Julian.
I'm new to Rust (you can tell in the code!), having fun and learning a lot.
Strive to do things in as little cycles as possible. Not do things as fast as possible (hence to parallel scans of /proc/*).
ps -eo etimes,times,command | grep randy
At the moment Randy only really runs on Linux. Running on ther operating systems is not a goal. Note: somone shared a screenshot of Randy running on Windows with WSfL though :D.
- Check out the
bench
directory/sub-crate for some speed testing - Build with
--features timings
to see details about how long things take in Randy
- Module list:
- system - system info
- cpus - all cpus usage stats bar
- cpu_consumers - top N pids using cpu and their usage
- mem_consumers - top N pids using mem and their usage
- filesystem - usage of a given mounted filesystem
- Can order the modules how you wish
- Can enable/disable modules and sub items
- color_bar - base color of the usage bars
- color_bar_med - color of the usage bars > 50% < 80%
- color_bar_high - color of the usage bars > 80%
- color_label - color of the "labels"
- color_text - color of all other text
- decoration - hide/show window decorations
- font_family - the CSS-style font family string (font names with spaces must be wrapped in escaped quotes, eg
fo_family: "\"Terminus (TTF)\", \"Liberation Mono\", monospace"
) - font_size
- mod_top - modulo used to skip frames for getting top data
- mod_fs - modulo used to skip frames for getting filesystem data
- resizable - bool to make the GUI resizable
- skip_taskbar - in case you want to see a Randy item in the taskbar
- timeout - time in seconds to wait between frame updates
- xpos - starting position x
- ypos - starting position y
nvidia
: Enable NVIDIA card temp sensing via NVML .sosensors
: Enable lm-sensors integration
Example:
cargo run --features sensors,nvidia
I have only barely looked into packaging but jhjaggars put some helpful hints for Raspbian and Fedora in here:
cargo run --release --no-default-features # build with lm-sensors and nvml disabled
Randy needs to be pointed at a config Yaml.
It will look for the deatult.yml
in $PWD/config
. Should work ootb if you launch from the root of the Git repo.
If are launching Randy from elsewhere... point it at the config Yaml file of your choosing. Example:
randy /tmp/configs/my_cool_config.yml