{"id":50598458,"url":"https://github.com/indyfive11/endeavoring-conky","last_synced_at":"2026-06-05T16:01:43.096Z","repository":{"id":358163560,"uuid":"1230987606","full_name":"indyfive11/endeavoring-conky","owner":"indyfive11","description":"Three-panel Conky desktop setup: main hardware monitor, weather forecast, and fans+services panel. KDE/X11 with kdialog settings GUI.","archived":false,"fork":false,"pushed_at":"2026-05-16T01:39:54.000Z","size":591,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-16T03:44:51.673Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","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/indyfive11.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-06T14:11:29.000Z","updated_at":"2026-05-16T01:39:58.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/indyfive11/endeavoring-conky","commit_stats":null,"previous_names":["indyfive11/endeavoring-conky"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/indyfive11/endeavoring-conky","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indyfive11%2Fendeavoring-conky","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indyfive11%2Fendeavoring-conky/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indyfive11%2Fendeavoring-conky/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indyfive11%2Fendeavoring-conky/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/indyfive11","download_url":"https://codeload.github.com/indyfive11/endeavoring-conky/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indyfive11%2Fendeavoring-conky/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33949039,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-05T02:00:06.157Z","response_time":120,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2026-06-05T16:01:42.180Z","updated_at":"2026-06-05T16:01:43.081Z","avatar_url":"https://github.com/indyfive11.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# endeavoring-conky\n\nA three-panel Conky desktop setup for Linux — main hardware monitor, weather\nforecast, and a fans + services panel. Built around X11 (works under Xwayland on\nKDE Plasma 6) with a `kdialog` GUI for adjusting position, monitor, transparency,\nand edge-gap on each panel.\n\n## Panels\n\n| Panel | What it shows | Source |\n|---|---|---|\n| **Main** | CPU/GPU usage + temps, memory, disk, network up/down | `conky/JayBeeDe/` (vendored upstream, GPLv3) |\n| **Weather** | Current conditions + 4-day forecast with [Basmilius Meteocons](https://github.com/basmilius/weather-icons), auto-detected location and units | `conky/weather/` |\n| **System** | Fan RPMs and water/GPU temps from [CoolerControl](https://gitlab.com/coolercontrol/coolercontrol), service health checks (TCP port probes + NFS + remote API) | `conky/system/` |\n\nThe original `conky.conf` at `~/.config/conky/conky.conf` is replaced by a stub\nthat exits immediately — this prevents a \"ghost\" panel from appearing when KDE\nor another launcher invokes `conky` with no `-c` flag.\n\n## Requirements\n\n- `conky` (X11 build) — Wayland mode is unsupported because the settings GUI uses xdotool\n- `python3` (stdlib only — `urllib`, `json`)\n- `lua-cjson` or another `json` Lua module loadable via `require(\"json\")`\n- `ncat` (from `nmap`) for service port probes\n- `curl` for CoolerControl REST calls\n- `xdotool`, `xrandr`, `xprop` for the settings GUI\n- `kdialog` (KDE) for the settings GUI menus\n- `rsvg-convert` (from `librsvg`) for weather icon rendering\n- A running CoolerControl instance for the System panel's fan/temp data\n\n## Install\n\n```bash\ngit clone git@github.com:indyfive11/endeavoring-conky.git ~/dev/endeavoring-conky\nmkdir -p ~/.config/conky ~/.config/systemd/user ~/bin\n\nln -s ~/dev/endeavoring-conky/conky/conky.conf            ~/.config/conky/conky.conf\nln -s ~/dev/endeavoring-conky/conky/JayBeeDe              ~/.config/conky/JayBeeDe\nln -s ~/dev/endeavoring-conky/conky/system                ~/.config/conky/system\nln -s ~/dev/endeavoring-conky/conky/weather               ~/.config/conky/weather\nln -s ~/dev/endeavoring-conky/systemd/conky.service         ~/.config/systemd/user/conky.service\nln -s ~/dev/endeavoring-conky/systemd/conky-system.service  ~/.config/systemd/user/conky-system.service\nln -s ~/dev/endeavoring-conky/systemd/conky-weather.service ~/.config/systemd/user/conky-weather.service\nln -s ~/dev/endeavoring-conky/bin/conky-settings.sh         ~/bin/conky-settings.sh\n\ncp ~/.config/conky/system/config.example ~/.config/conky/system/config\n$EDITOR ~/.config/conky/system/config           # set CC_PASS and your services\n\nsystemctl --user daemon-reload\nsystemctl --user enable --now conky.service conky-weather.service conky-system.service\n```\n\nThe weather panel auto-detects location and units from your IP on first launch\nand writes the result back to `conky/weather/config`. To override, edit that\nfile directly or use the settings GUI.\n\n## Configuring\n\n### System panel — `conky/system/config`\n\nSourced as bash at the top of `fans_fetch.sh` and `svc_fetch.sh`. Holds:\n\n- `CC_HOST`, `CC_PORT`, `CC_USER`, `CC_PASS` — CoolerControl REST API\n- `COMMANDER_UID`, `GPU_DEV_UID` — device UID prefixes (find via `curl -k https://localhost:11987/devices`)\n- `SERVICES=(\"Label:port\" ...)` — TCP port probes shown as Online/Offline\n- `NFS_MOUNT`, `NFS_LABEL` — optional mountpoint to monitor\n- `REMOTE_HOST`, `REMOTE_PORT`, `REMOTE_LABEL` — optional remote API to ping\n\nThe fan labels and section layout (two columns, three rows + pump) live in\n`conky/system/system_helper.lua` near the top — edit the `FAN_LABELS` table to\nname fans by what they actually cool.\n\n### Weather panel — settings GUI\n\nRun `~/bin/conky-settings.sh` and pick **Weather settings** for location, units,\ntime format, corner, monitor, icon size, and transparency.\n\n### All panels — settings GUI\n\nThe same `conky-settings.sh` script controls position, monitor placement,\ntransparency (0–255 alpha), and edge-gap for all three panels. Multi-monitor\npositioning math assumes a specific Xwayland HiDPI layout; the constants near\nthe top of the script (`SCALE`, `BASE_RIGHT`, `PRIMARY_X`) describe the primary\nmonitor and may need adjusting on different setups.\n\n## Layout\n\n```\nendeavoring-conky/\n├── bin/\n│   └── conky-settings.sh       # kdialog GUI controller for all three panels\n├── conky/\n│   ├── conky.conf              # ghost-prevention stub (run-once-and-exit)\n│   ├── JayBeeDe/               # main panel — vendored upstream, GPLv3\n│   ├── system/\n│   │   ├── conky.conf\n│   │   ├── system_helper.lua   # display logic\n│   │   ├── fans_fetch.sh       # CoolerControl REST → fans.json (5s cache)\n│   │   ├── svc_fetch.sh        # port/NFS probes → services.json (30s cache)\n│   │   └── config.example      # copy to \"config\" and edit\n│   └── weather/\n│       ├── weather.conf\n│       ├── weather_helper.lua\n│       ├── weather_fetch.py    # Open-Meteo → data.json + icon downloads\n│       └── config              # auto-populated on first run\n└── systemd/\n    ├── conky.service\n    ├── conky-system.service\n    └── conky-weather.service\n```\n\n## Acknowledgements\n\nThe main panel under `conky/JayBeeDe/` is a vendored copy of\n[JayBeeDe/conky-config](https://github.com/JayBeeDe/conky-config), used as-is\nunder its original GPLv3 license. The repo as a whole is GPLv3 to remain\ncompatible.\n\nWeather icons are [Basmilius Meteocons](https://github.com/basmilius/weather-icons)\n(MIT), downloaded on demand from jsDelivr.\n\n## License\n\nGPL-3.0 — see [LICENSE](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Findyfive11%2Fendeavoring-conky","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Findyfive11%2Fendeavoring-conky","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Findyfive11%2Fendeavoring-conky/lists"}