{"id":20654965,"url":"https://github.com/iphands/randy","last_synced_at":"2025-07-14T10:33:08.533Z","repository":{"id":46229644,"uuid":"312738096","full_name":"iphands/randy","owner":"iphands","description":"System info viewer written in Rust / GTK3. Inspired by Conky.","archived":false,"fork":false,"pushed_at":"2023-07-12T04:31:59.000Z","size":13955,"stargazers_count":113,"open_issues_count":3,"forks_count":10,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-04T12:43:19.090Z","etag":null,"topics":["battery","conky","cpu","filesystem","gtk","gtk-rs","gtk3","mem","opacity","randy","rust","rust-lang","screenshot"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/iphands.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-11-14T03:32:50.000Z","updated_at":"2025-06-11T12:39:46.000Z","dependencies_parsed_at":"2024-11-16T16:32:03.854Z","dependency_job_id":"6849bc79-5f8b-4f4b-8312-e4e88cd447cd","html_url":"https://github.com/iphands/randy","commit_stats":{"total_commits":265,"total_committers":4,"mean_commits":66.25,"dds":0.02264150943396226,"last_synced_commit":"424c8d7e1e5958a0b5143ba4f5f101c0c569fa83"},"previous_names":[],"tags_count":26,"template":false,"template_full_name":null,"purl":"pkg:github/iphands/randy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iphands%2Frandy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iphands%2Frandy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iphands%2Frandy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iphands%2Frandy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iphands","download_url":"https://codeload.github.com/iphands/randy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iphands%2Frandy/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265280572,"owners_count":23739851,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["battery","conky","cpu","filesystem","gtk","gtk-rs","gtk3","mem","opacity","randy","rust","rust-lang","screenshot"],"created_at":"2024-11-16T18:07:47.879Z","updated_at":"2025-07-14T10:33:08.479Z","avatar_url":"https://github.com/iphands.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Randy\nConky inspired system info viewer written in Rust / GTK3\n\n## Cheezeburgerz!\nConky was named after the puppet... so this thing is Randy\n\u003e A man’s gotta eat, Julian.\n\n## Goals\n### Learn a ton\nI'm new to Rust (you can tell in the code!), having fun and learning a lot.\n\nI'd like to come up with a more standard \"module\" interface once I've developed more of the modules and refactor based on what I have learned.\n\n### Feature parity with my old Conky config\n**Done!** My old Conky setup looked more or less like [the Randy screenshot](https://github.com/iphands/randy#screenshots).\n\nTook 200+ commits to get there, but its there and working!\n\n### Frick Ricky, stay off the CPU\nStrive to do things in as little cycles as possible.\nNot do things as fast as possible (hence to parallel scans of /proc/*).\n```shell\nps -eo etimes,times,command | grep randy\n```\n\n#### Speed tests\n* Check out the `bench` directory/sub-crate for some speed testing\n* Build with `--features timings` to see details about how long things take in Randy\n\n### Linux only\nAt the moment Randy only really runs on Linux. Running on other operating systems is not a goal.\n\n*Note:* someone shared a screenshot of [Randy running on Windows](https://raw.githubusercontent.com/iphands/ronky/main/assets/winderz.png) with WSfL though :D.\n\n## Features\n\n### Configurable modules\n* Module list:\n  * system - system info\n  * cpus - all cpus usage stats bar\n  * cpu_consumers - top N pids using cpu and their usage\n  * mem_consumers - top N pids using mem and their usage\n  * filesystem - usage of a given mounted filesystem\n  * net - usage recv/trans for a given network interface\n  * battery - charging/discharging percentage of /sys/*/power_supply's\n* Can order the modules how you wish\n* Can enable/disable modules and sub items\n\n### UI settings\n* bar_height - the height of the bars (default: 10px)\n* base_opacity - the base opacity of the Randy window.  affects `window` and all sub-widgets. (default: 1.0)\n* color_bar - base color of the usage bars\n* color_bar_med - color of the usage bars \u003e 50% \u003c 80%\n* color_bar_high - color of the usage bars \u003e 80%\n* color_borders - color of the GTK *borders* (frame borders, bar borders) defaults to same as *color_text*\n* color_label - color of the \"labels\"\n* color_text - color of all other text\n* decoration - hide/show window decorations\n* 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\"`)\n* font_size\n* mod_bat -modulo used to skip frames for getting battery data (default: 2)\n* mod_fs - modulo used to skip frames for getting filesystem data (default: 2)\n* mod_top - modulo used to skip frames for getting top data (default: 2)\n* resizable - bool to make the GUI resizable\n* skip_taskbar - in case you want to see a Randy item in the taskbar\n* timeout - time in seconds to wait between frame updates\n* xpos - starting position x\n* ypos - starting position y\n\n## Building\n### Optional deps / features\n* `nvidia`: Enable NVIDIA card temp sensing via NVML .so\n* `sensors`: Enable lm-sensors integration\n\nExample:\n```shell\ncargo run --features sensors,nvidia\n```\n\n### Required build packages\nI have only barely looked into packaging but [jhjaggars](https://github.com/jhjaggars) put some helpful hints for Raspbian and Fedora in here:\n* https://github.com/iphands/randy/issues/2\n* https://github.com/iphands/randy/issues/1\n\n### Example\n```shell\ncargo run --release --no-default-features  # build with lm-sensors and nvml disabled\n```\n\n## Running\nRandy needs to be pointed at a config Yaml.\nIt will look for the `default.yml` in `$PWD/config`. Should work ootb if you launch from the root of the Git repo.\n\nIf you are launching Randy from elsewhere... point it at the config Yaml file of your choosing.\nExample:\n```shell\nrandy /tmp/configs/my_cool_config.yml\n```\n\n## Screenshots\n\u003ctable\u003e\n \u003ctr\u003e\n  \u003ctd\u003e\u003cimg src=\"https://raw.githubusercontent.com/iphands/ronky/main/assets/screenshot.png\" alt=\"screenshot\"\u003e\u003c/td\u003e\n  \u003ctd\u003e\u003cimg src=\"https://raw.githubusercontent.com/iphands/ronky/main/assets/green.png\" alt=\"screenshot_green\"\u003e\u003c/td\u003e\n \u003c/tr\u003e\n\u003c/table\u003e\n\n## FAQ\n* Does randy work with Wayland?\n  * Yes, check out the [proof](https://raw.githubusercontent.com/iphands/ronky/main/assets/wayland.png)\n* Does randy work with X?\n  * Yes\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiphands%2Frandy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fiphands%2Frandy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiphands%2Frandy/lists"}