Commit Graph
18 Commits
Author SHA1 Message Date
Alex 8dbba448ce refactor(modules): migrate state modules to ALabel tooltip helper
Migrate cpu, cpu_usage, cpu_frequency and memory to the generic
updateLabelAndTooltip/ForState helper so label and tooltip rendering go
through the dedup-aware setters and shared tooltip-format resolution.

Add store-accepting overloads of the helper to ALabel for modules that
build a dynamic fmt argument store (per-core cpu stats). cpu keeps its
tooltip-format-<state> selection via the state overload; the others keep
their existing tooltip-format-only behavior.
2026-07-04 00:05:17 +02:00
Ivan Ribeiro 6bdafede07 feat(cpu): add {icons} format replacement for all per-core icons
Concatenates all per-core icons into a single {icons} placeholder,
so configs work across machines with different core counts without
manually specifying {icon0}{icon1}...{iconN}.

Closes #4240
2026-05-19 21:21:56 +01:00
Alex 802bf184fb fix: lint 2026-02-24 00:49:23 +01:00
Alex ef3d55980e fix: some crashes 2026-02-24 00:49:08 +01:00
Prakhar Chhalotre 4ac539206f feat: add tooltip-format config option in cpu module 2026-02-13 02:00:17 +05:30
Alex 47fb21a2c1 chore: upgrade to clang-format@21 2026-02-04 09:24:14 +01:00
Gergő Sályi 24a9886952 Handle offline CPUs and CPU hotplug
First of all in case when the number CPUs change
prevent out-of-bound index access in
waybar::modules::CpuUsage::getCpuUsage()

Secondly on Linux when updating CPU usage
read /sys/devices/system/cpu/present
and use it to detect the offline CPUs missing from /proc/stat

For offline CPUs report 0 usage and "offline" in the tooltip

Fixes issue #3498

On Linux one can test this functionality with:
echo 0 > /sys/devices/system/cpu/cpu1/online
echo 1 > /sys/devices/system/cpu/cpu1/online

On non-Linux OSes I'm not sure how to detect offline CPUs,
so I didn't add the offline CPU detection there
but at least CPU number change should not cause a crash there anymore
or cause memory safety issues after this fix
2024-08-02 17:32:07 +02:00
Austin Horstman b114b1155c treewide: clang-format 2024-06-15 18:44:46 -05:00
Alex 0bc43c1aa7 fix: lint 2024-06-12 23:08:27 +02:00
Kauan Decarli d2dd2d553f cpu_usage/linux: count iowait toward idle time 2023-11-18 13:59:21 -03:00
Tamino Bauknecht 7d8c1494d7 cpu_usage: Fix ScopeGuard renaming in bsd-only file 2023-10-26 17:30:48 +02:00
Tamino Bauknecht dd1de3efbf Revert "Revert "Fix potential memory leaks""
This reverts commit 2d33c20231 and
reapplies various patches for memory leaks.
The reason for the revert was a bug for a maximum duration interval
which caused sleep_for() to cause unpredictable behavior.
2023-10-24 17:51:38 +02:00
Alexis Rouillard 2d33c20231 Revert "Fix potential memory leaks" 2023-10-22 09:44:46 +02:00
Tamino Bauknecht ae748b2644 modules+util: fix actual (potential) memory leaks 2023-10-21 11:51:33 +02:00
Mann mit Hut 91b6629103 Fixed format errors 2023-09-13 21:59:42 +02:00
Mann mit Hut d1602e383c cpu module: Reuse getCpuUsage of cpu_usage module 2023-09-13 21:56:36 +02:00
Mann mit Hut 982ffde002 Use labels instead of buttons 2023-09-13 21:56:33 +02:00
Mann mit Hut 888adb57ec Introduce cpu_usage module 2023-09-13 21:56:32 +02:00