Mirrors the private dots tree at 900bdda: one shared base plus per-host overlays, replacing the old flat .config/ layout (last synced 2026-06-28). - packages: common/ gui/ wm/ lw/ fl/ + install.sh and bin/ tooling (dotsync, reconcile-hyde.sh) - new README (layout, deploy order, HyDE dependency), plus ToDo.md and HYDE-UPDATE.md - current HyDE waybar rig (layouts/, cava), pi agent extensions, claude/ config, tmux, presenterm, aichat roles - drops stale duplicates and generated cruft that should never have been tracked: the second top-level .pi/ copy, btop.log, zellij config.kdl.bak, fish_variables, nvim codecompanion.lua - .pi/agent/auth.json is gitignored now; auth.json.example ships instead - fl/ and wm/ hypr themes/ stay untracked (HyDE-generated per machine, per the root .gitignore)
22 lines
1.0 KiB
Bash
Executable File
22 lines
1.0 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# CPU utilisation (%) averaged over the interval since the PREVIOUS status refresh:
|
|
# /proc/stat totals persist in a state file between runs (same pattern as net.sh),
|
|
# so the value covers the whole status-interval. (The old version slept 0.3s and
|
|
# sampled just that window — a 6% duty cycle that aliased bursty loads.) No sleep,
|
|
# ~5ms. First run (no state yet) shows the since-boot average. Glyph = Waybar's
|
|
# cpu module icon (U+F035B).
|
|
printf '\U000f035b '
|
|
rt="${XDG_RUNTIME_DIR:-/tmp}"
|
|
st="$rt/tmux_cpu_stat" # previous totals: tot idle
|
|
|
|
read -r _ u n s i w rest < /proc/stat
|
|
idle=$((i + w)); tot=$((u + n + s + i + w)); for v in $rest; do tot=$((tot + v)); done
|
|
|
|
p_tot=0; p_idle=0
|
|
[ -r "$st" ] && read -r p_tot p_idle < "$st"
|
|
[ "$p_tot" -gt "$tot" ] && { p_tot=0; p_idle=0; } # stale state from a previous boot
|
|
printf '%s %s\n' "$tot" "$idle" > "$st"
|
|
|
|
dt=$((tot - p_tot)); di=$((idle - p_idle))
|
|
if [ "$dt" -le 0 ]; then printf -- '--%%'; else printf '%d%%' $(((100 * (dt - di) + dt / 2) / dt)); fi
|