diff options
| author | Danilo M. <danix@danix.xyz> | 2026-09-30 19:56:48 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-09-30 19:56:48 +0200 |
| commit | 96ac1ee65da31055704e0a14cafacc33914d7e86 (patch) | |
| tree | 8a8fa33ec27607f40d6d23661a89681ffbaa4456 /conky.conf.in | |
| parent | e55896ce41d6165105671da5b6f33813106ef1b8 (diff) | |
| download | conky-theme-udt-96ac1ee65da31055704e0a14cafacc33914d7e86.tar.gz conky-theme-udt-96ac1ee65da31055704e0a14cafacc33914d7e86.zip | |
perf(dashboard): draw at 0.1s only while the dashboard is visible
Conky gives Lua no way to request one redraw, so a scroll showed up to
2s late. Pointer enter and leave, which Hyprland sends on every toggle
of the special workspace, now switch conky_set_update_interval between
0.1s and the config's 2s.
At that rate the CPU and network counters would sample over 0.1s
windows and the chart would fill 20x faster, so both now sample through
data.new_gate on the /proc/uptime clock, about every 2s, and redraw
their last values in between. The samplers move to texeci: execi runs
in the main loop and a 0.7s nvtable or an Immich download stalled the
scroll.
Measured: about 12% of one core while visible, 0.5% while hidden.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'conky.conf.in')
| -rw-r--r-- | conky.conf.in | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/conky.conf.in b/conky.conf.in index a0b354e..d12ffc1 100644 --- a/conky.conf.in +++ b/conky.conf.in @@ -56,4 +56,8 @@ conky.config = { -- samplers, and tying it to conky means nothing fetches while the dashboard is -- down. breaktimer runs at 5s, its daemon's own tick, so the countdown advances -- in the steps the daemon counts in. -conky.text = [[${execi 900 ~/.config/conky/bin/weather-fetch.sh}${execi 60 ~/.config/conky/bin/disks-sample.sh}${execi 900 ~/.config/conky/bin/cache-sample.sh}${execi 1800 ~/.config/conky/bin/pubip-sample.sh}${execi 900 ~/.config/conky/bin/slackware-sample.sh}${execi 300 ~/.config/conky/bin/calendar-sample.sh}${execi 5 ~/.config/conky/bin/breaktimer-sample.sh}${execi 1800 ~/.config/conky/bin/immich-fetch.sh}${execi 600 ~/.config/conky/bin/updates-sample.sh}]] +-- +-- texeci, not execi: execi runs in conky's main loop and blocks the draw until +-- the script exits. At 0.1s while visible, a 0.7s nvtable or an Immich +-- download stalls the scroll; texeci runs each in its own thread. +conky.text = [[${texeci 900 ~/.config/conky/bin/weather-fetch.sh}${texeci 60 ~/.config/conky/bin/disks-sample.sh}${texeci 900 ~/.config/conky/bin/cache-sample.sh}${texeci 1800 ~/.config/conky/bin/pubip-sample.sh}${texeci 900 ~/.config/conky/bin/slackware-sample.sh}${texeci 300 ~/.config/conky/bin/calendar-sample.sh}${texeci 5 ~/.config/conky/bin/breaktimer-sample.sh}${texeci 1800 ~/.config/conky/bin/immich-fetch.sh}${texeci 600 ~/.config/conky/bin/updates-sample.sh}]] |
