Commit Graph
100 Commits
Author SHA1 Message Date
Alex 02c20cf339 Merge remote-tracking branch 'origin/master' into agd/ignore-tray-applets
# Conflicts:
#	include/modules/sni/tray.hpp
#	src/modules/sni/host.cpp
#	src/modules/sni/tray.cpp
2026-07-03 22:40:04 +02:00
Alexis Rouillard 7858d998ee Merge pull request #4993 from cebem1nt/master
feature: group - add reveal-delay config option for drawer
2026-07-03 22:35:29 +02:00
Alexis Rouillard 3cde8607a6 Merge pull request #3994 from jeevithakannan2/ppd-split-driver
power-profiles-daemon: split driver into cpu driver and platform driver
2026-07-03 22:33:20 +02:00
Alexis Rouillard a40c7e7035 Merge pull request #4719 from oisanjaya/encode_icon_inside_label
Encode icon inside label
2026-07-03 22:32:42 +02:00
Alexis Rouillard 421e85239b Merge pull request #4761 from Benji-clm/smooth-power
feat(battery): add option to smooth power for more stable time_remaining estimates
2026-07-03 22:32:31 +02:00
Alexis Rouillard 93ecfb9eb1 Merge pull request #5126 from iamcheyan/feat/wlr-taskbar-bar-css-states
feat(wlr/taskbar): expose active toplevel state on the bar window
2026-07-03 22:30:26 +02:00
Alexis Rouillard 8b14336b75 Merge pull request #4883 from Cprakhar/feat/custom-format-icons-keyboard
feat: add custom format-icons for each key in keyboard-state module
2026-07-03 22:27:24 +02:00
Alexis Rouillard caa65e9f7b Merge pull request #4747 from cartok/feat/sway-workspaces-format-for-negative-indices
feat(sway/workspaces): add format for negative indices
2026-07-03 22:27:14 +02:00
Alexis Rouillard 2a91a7e31f Merge branch 'master' into master 2026-07-03 22:21:44 +02:00
Alexis Rouillard ba90205986 Merge pull request #4723 from kaosuran/features/temperature-hwmon-by-name
feat(temperature): add hwmon-name option for stable sensor selection
2026-07-03 22:17:50 +02:00
Alexis Rouillard c3f4c0077b Merge pull request #4114 from Duncaen/cpu-loadavg
cpu: add load{1,5,15} format variables
2026-07-03 22:17:46 +02:00
Alex fe0e1c139b power-profiles-daemon: preserve backward compatibility for driver
Keep the {driver} placeholder working and support older
power-profiles-daemon versions that only expose a single Driver DBus
property, while still reading the new CpuDriver/PlatformDriver fields.

- Read the legacy Driver property and fall back to it when CpuDriver or
  PlatformDriver are missing (older daemon).
- Derive {driver} from CpuDriver when the daemon no longer exposes
  Driver (recent daemon), so existing configs using {driver} keep
  working.
- Align the default tooltip-format in the constructor with the
  documented default.
2026-07-03 22:11:51 +02:00
Alex 31035890e6 Merge remote-tracking branch 'origin/master' into feat/sway-workspaces-format-for-negative-indices
# Conflicts:
#	src/modules/sway/workspaces.cpp
2026-07-03 22:11:45 +02:00
Alexis Rouillard 69c09800d5 Merge branch 'master' into feat/custom-format-icons-keyboard 2026-07-03 22:11:13 +02:00
Alexis Rouillard da91ca2457 Merge branch 'master' into smooth-power 2026-07-03 22:11:06 +02:00
Alexis Rouillard 96adf0ffe2 Merge branch 'master' into features/temperature-hwmon-by-name 2026-07-03 22:11:04 +02:00
Alexis Rouillard 9e9e16b7e4 Merge branch 'master' into cpu-loadavg 2026-07-03 22:11:02 +02:00
Alex 68097dacd4 Merge remote-tracking branch 'origin/master' into feat/wlr-taskbar-bar-css-states 2026-07-03 22:10:26 +02:00
Alex c5cefb5520 AIconLabel: make regex static and initialize label_contains_icon
Compile the icon-extraction std::regex objects once via static locals
instead of rebuilding them on every update() of every AIconLabel-derived
module (custom, mpris, ...). Also default-initialize label_contains_icon
to false at its declaration.
2026-07-03 22:10:16 +02:00
Alex 31dfd44f0b Merge remote-tracking branch 'origin/master' into encode_icon_inside_label 2026-07-03 22:09:58 +02:00
Alex b9c82f5dd3 Merge remote-tracking branch 'origin/master' into ppd-split-driver 2026-07-03 22:09:51 +02:00
Alexis Rouillard fbb9a7eccd Merge pull request #5045 from finitemonkey/master
Additional options when muted for the PulseAudio-Slider module
2026-07-03 22:09:42 +02:00
Alexis Rouillard 7df62686bf Merge pull request #4724 from hallvardnmbu/master
Allow tooltip formatting the CPU module.
2026-07-03 22:04:34 +02:00
Alexis Rouillard 9735efec5d Merge pull request #4353 from shibjyoti555/feature/if-empty
added a "fallback" option to hyprland/window when no window in focus
2026-07-03 22:04:05 +02:00
Alexis Rouillard 8e64ac59df Merge pull request #5131 from rmt/master
Force layer-shell commit after configure
2026-07-03 22:02:56 +02:00
Alexis Rouillard 0d19d1e5c6 Merge pull request #4524 from Gskartwii/niri-language-hide
Hide niri/language widget if formatted string is empty
2026-07-03 22:02:05 +02:00
Alexis Rouillard 535250111e Merge pull request #4951 from B2krobbery/fix-height-type-warning
bar: warn on invalid height type in configuration
2026-07-03 22:01:28 +02:00
Alex 4bf82b88a0 style(pulseaudio): clang-format audio_backend helpers 2026-07-03 22:01:20 +02:00
Alexis Rouillard 1ef0204b9a Merge pull request #5139 from ccjmne/master
Document light and dark stylesheets in `man`ual
2026-07-03 22:01:06 +02:00
Alexis Rouillard d3d036531c Merge pull request #4035 from fkobi/patch-1
meson_options: improve sndio's description
2026-07-03 22:00:14 +02:00
Alex f837615de2 Merge remote-tracking branch 'origin/master' into finitemonkey/master 2026-07-03 21:59:43 +02:00
Alexis Rouillard 3ba23f7b53 Merge pull request #5148 from JangXa/master
Fallback formatting when format-paused is missing uses ALabel
2026-07-03 21:58:18 +02:00
Alexis Rouillard 1f0be19245 Merge pull request #4930 from B2krobbery/patch-1
docs: clarify global tooltip styling behavior
2026-07-03 21:54:37 +02:00
Alexis Rouillard 8d27a05b9b Merge pull request #4983 from B2krobbery/refactor-bool-cleanup
Refactor: simplify conditional expressions in Hyprland workspace module
2026-07-03 21:54:33 +02:00
Alexis Rouillard 63febd4f12 Merge pull request #5111 from SaveTheRbtz/codex-label-update-hotpath
perf(label): skip redundant markup updates
2026-07-03 21:54:29 +02:00
Alex 25e57bc625 fix(hyprland/window): use 2-space indentation for fallback block (clang-format) 2026-07-03 21:51:20 +02:00
Alex 26c834a59b cpu: respect tooltip-format-<state> without overwriting it
The tooltip selection block redundantly reassigned tooltip_format to
config_["tooltip-format"], overwriting the state-specific format (and
emptying it when no global tooltip-format was set). A lone
tooltip-format-<state> therefore produced an empty tooltip.

Consolidate the tooltip handling into a single block that prefers
tooltip-format-<state>, falls back to the global tooltip-format, then to
the computed default tooltip, reusing the existing format arg store.
2026-07-03 21:51:07 +02:00
Alexis Rouillard c5ecfa4ce7 Merge pull request #5060 from EzequielColungaAcha/fix-wlr-taskbar-title-ellipsize
fix(wlr/taskbar): let task titles shrink within available space
2026-07-03 21:51:06 +02:00
Alexis Rouillard 2d368bb325 Merge pull request #4483 from jaschiu/patch-1
Fix clang build error
2026-07-03 21:50:11 +02:00
Alex cbc70d10f8 pulseaudio_slider: keep zero-on-mute applied on every update while muted
The zero-on-mute display_value = min_ assignment was nested inside the
!previously_muted transition branch, so subsequent updates while still
muted re-displayed the real volume. Apply it on every update as long as
the target is muted, keeping the CSS class add/remove on transitions only.
2026-07-03 21:49:54 +02:00
Alex 1c5ce111e1 Merge remote-tracking branch 'origin/master' into hallvardnmbu/master 2026-07-03 21:49:31 +02:00
Alex 8f7ed880c4 bar: fix indentation of height type warning 2026-07-03 21:49:25 +02:00
Alex 504ebfba62 Merge remote-tracking branch 'origin/master' into finitemonkey/master 2026-07-03 21:49:16 +02:00
Alex 4bba01c258 Merge remote-tracking branch 'origin/master' into feature/if-empty 2026-07-03 21:49:04 +02:00
Alex b88f88b457 Merge remote-tracking branch 'origin/master' into fix-height-type-warning 2026-07-03 21:49:00 +02:00
Alexis Rouillard 6f1d9d754e Merge branch 'master' into niri-language-hide 2026-07-03 21:47:57 +02:00
Alexis Rouillard 41dc297e6f Merge branch 'master' into patch-1 2026-07-03 21:47:54 +02:00
Alexis Rouillard 83f924fa8e Merge branch 'master' into patch-1 2026-07-03 21:47:51 +02:00
Alexis Rouillard e852360106 Merge branch 'master' into refactor-bool-cleanup 2026-07-03 21:47:49 +02:00
Alexis Rouillard ac08a7e856 Merge branch 'master' into codex-label-update-hotpath 2026-07-03 21:47:47 +02:00
Alexis Rouillard bd178458e9 Merge pull request #4837 from Cprakhar/fix/format-plugged-gt-format-full
fix: prioritize `plugged` status over `full` when battery is full and plugged in
2026-07-03 21:47:45 +02:00
Alexis Rouillard 4b7786811a Merge branch 'master' into master 2026-07-03 21:47:44 +02:00
Alexis Rouillard 5e9e880339 Merge branch 'master' into master 2026-07-03 21:47:42 +02:00
Alexis Rouillard dae3d1c9a8 Merge branch 'master' into master 2026-07-03 21:47:39 +02:00
Alexis Rouillard 0b50f654ca Merge pull request #5093 from oqlatulesba3/fix/sni-host-proxy-retry
fix(sni): retry Host proxy creation on transient errors
2026-07-03 21:47:39 +02:00
Alexis Rouillard ee9737bf94 Merge pull request #4692 from aaronred345/hyprland-special-workspaces-multi-monitor
fix(hyprland/workspaces) Special Workspace Multi-Monitor Support
2026-07-03 21:46:43 +02:00
Alexis Rouillard 683b704de1 Merge pull request #4649 from OlivierNeyret/FixFormattingPowerMenuXML
Fix indentation formatting in power_menu.xml
2026-07-03 21:45:10 +02:00
Alexis Rouillard f3ba57942a Merge pull request #4672 from Mental-Vortex/master
fix: Return when ID doesn't exist, we only care about the interest list.
2026-07-03 21:44:13 +02:00
Alexis Rouillard 4079c162eb Merge pull request #4957 from 85ae/fix-4955
fix: issue #4955 wrong behaviour of regex for sway/window 'rewrite'
2026-07-03 21:44:07 +02:00
Alexis Rouillard f57decf81c Merge pull request #4984 from Mervius/master
Fix timeout created by most recent gtk-layer-shell release when creating bars for multiple monitors.
2026-07-03 21:43:08 +02:00
Alexis Rouillard bc315b5a6f Merge pull request #5048 from Praczet/fix/hyprland-workspace-taskbar-hover
fix(hyprland): keep workspace hover over taskbar icons
2026-07-03 21:42:50 +02:00
Alexis Rouillard e1efa7473d Merge pull request #4992 from VlkrS/openbsd
fix: USR1/USR2 handling on OpenBSD
2026-07-03 21:41:12 +02:00
Alex 9ac3f9b951 clock: make calendar padding portable across FormatStream char types
std::setfill is templated on the fill char type, which must match the
Glib::ustring FormatStream's char type. That type is wchar_t with
libstdc++/glibmm but char with libc++, so no fixed literal (' ' or L' ')
compiles everywhere. The stream's default fill is already a space, so
drop std::setfill entirely; std::setw/std::left/std::right are
char-type-agnostic and keep the exact padding behavior.
2026-07-03 21:41:10 +02:00
Alex 31a3d7e1bb fix(battery): gate Full-as-Plugged behind full-at-plugged option, drop debug output
Reporting a full battery on AC as 'Plugged' is now opt-in via the
'full-at-plugged' config option (default false), so existing format-full /
tooltip-format-full setups keep working. Also documents the option.
2026-07-03 21:40:41 +02:00
Alex 5181f84648 fix(sni): prevent use-after-free and infinite retry in Host proxy retry
Store the retry timeout connection in a Host member and disconnect it in
~Host, so a Host destroyed within the retry window no longer invokes the
timeout callback on freed memory. Cap the retries (MAX_RETRIES) so a
watcher that never reappears no longer spins forever every 200ms; reset
the counter on success and when the watcher name vanishes.
2026-07-03 21:39:36 +02:00
Alex eff483de1f Merge remote-tracking branch 'origin/master' into fix/format-plugged-gt-format-full 2026-07-03 21:39:32 +02:00
Alexis Rouillard 0d3f393ae8 Merge pull request #5088 from cogwheel/cogwheel/fix-untitled
custom_modules: Fix mediaplayer.py handling untitled track
2026-07-03 21:39:13 +02:00
Alex 806f633318 hyprland/workspaces: refresh locally instead of reloading Hyprland config
Replace the getSocket1JsonReply("reload") call in onSpecialWorkspaceActivated
with the module's normal local refresh path: the state update to
m_activeSpecialWorkspaceName is picked up by the update() render (triggered by
the dp.emit() already issued at the end of onEvent), which re-evaluates active
state, icons and CSS classes. This avoids reloading the entire Hyprland config
on every special workspace activation while keeping the special-active icon and
CSS improvements.
2026-07-03 21:38:46 +02:00
Alexis Rouillard f682231bc4 Merge pull request #4744 from Sayrus/sayrus-gh/sway-workspaces-markup
fix(sway/workspaces): escape markup in workspace if enabled
2026-07-03 21:38:22 +02:00
Alex b41e57e35a Merge remote-tracking branch 'origin/master' into fix-wlr-taskbar-title-ellipsize 2026-07-03 21:38:21 +02:00
Alexis Rouillard ed2bafcc51 Merge pull request #4804 from BBaoVanC/fix-appearance-change-css-watching
fix: Watch new CSS files on appearance change
2026-07-03 21:38:13 +02:00
Alex 05dbcb24a0 Merge remote-tracking branch 'origin/master' into fix/sni-host-proxy-retry 2026-07-03 21:38:09 +02:00
Alex 9930c7be8a Merge remote-tracking branch 'origin/master' into hyprland-special-workspaces-multi-monitor 2026-07-03 21:37:55 +02:00
Alex dc017d8fd3 fix(hyprland/workspaces): disconnect hover-check timeout on Workspace destruction
The hover-check Glib::signal_timeout re-arms every 50ms and is not owned by
the Workspace. Since Workspaces are destroyed at runtime, a workspace removed
while its check is armed would let the timeout fire on freed memory (use-after-
free, also touching the destroyed m_button). Add a destructor that calls
stopHoverCheck() to disconnect the source.
2026-07-03 21:32:55 +02:00
Alex 987d5758a6 Merge remote-tracking branch 'origin/master' into fix/hyprland-workspace-taskbar-hover 2026-07-03 21:32:20 +02:00
Alexis Rouillard 544b2e9ba1 Merge branch 'master' into FixFormattingPowerMenuXML 2026-07-03 21:31:01 +02:00
Alexis Rouillard 778ef49efd Merge branch 'master' into sayrus-gh/sway-workspaces-markup 2026-07-03 21:30:59 +02:00
Alexis Rouillard 98e2e34536 Merge branch 'master' into master 2026-07-03 21:30:57 +02:00
Alexis Rouillard 6e24923f6d Merge branch 'master' into patch-1 2026-07-03 21:30:54 +02:00
Alexis Rouillard a02f943d8d Merge branch 'master' into fix-appearance-change-css-watching 2026-07-03 21:30:52 +02:00
Alexis Rouillard 3fdaa8d5f4 Merge branch 'master' into fix-4955 2026-07-03 21:30:49 +02:00
Alexis Rouillard b88ed8aa15 Merge branch 'master' into master 2026-07-03 21:30:46 +02:00
Alexis Rouillard 2f3cae621f Merge branch 'master' into openbsd 2026-07-03 21:30:44 +02:00
Alexis Rouillard 35d0c59bd9 Merge branch 'master' into cogwheel/fix-untitled 2026-07-03 21:30:41 +02:00
Alexis Rouillard 8b5f5b3aea Merge pull request #5155 from Alexays/fix/hyprland-language-keyboard-name-commas
fix(hyprland/language): handle commas in keyboard-name config
2026-07-03 21:23:06 +02:00
Alexis Rouillard 1f2394aa78 Merge pull request #3698 from vpcano/hyprland-language-tooltip
Add tooltip functionality on hyprland/language module
2026-07-03 21:20:16 +02:00
Alexis Rouillard 2ee3817b7a Merge pull request #4383 from stkth/stkth/fix-4241
Fix  bug #4241
2026-07-03 21:18:35 +02:00
Alexis Rouillard 093dbe7392 Merge pull request #2965 from jramrath/hyprland-window_no_title_from_special
hyprland/window: fix title not showing for windows in special workspaces
2026-07-03 21:18:32 +02:00
Alexis Rouillard 62cbfabeb8 Merge pull request #5009 from EvansJahja/charon77/battery_fix
battery: guard _exists = true assignment inside if condition
2026-07-03 21:18:29 +02:00
Alex 6793b97eed fix(hyprland/language): handle commas in keyboard-name config
The active-layout event payload is `KEYBOARDNAME,LAYOUT`, and kbName was
taken as everything before the first comma. Keyboard names reported by
Hyprland can themselves contain commas (e.g. some MSI keyboards), so a
`keyboard-name` configured with a comma never matched the truncated value
and the module stopped updating.

Match the configured keyboard-name as a full prefix (followed by the ','
separator) instead. Layout parsing already handles commas via the
last-comma-before-parenthesis heuristic, so only the keyboard-name filter
needed fixing.

Addresses the keyboard-name case originally reported by @tirsek in #3406.
2026-07-03 21:15:35 +02:00
Alex f158f29acf Merge remote-tracking branch 'origin/master' into hyprland-window_no_title_from_special
# Conflicts:
#	src/modules/hyprland/window.cpp
2026-07-03 21:06:18 +02:00
Alex 16c2ee7041 Merge remote-tracking branch 'origin/master' into charon77/battery_fix
# Conflicts:
#	src/modules/battery.cpp
2026-07-03 21:05:56 +02:00
Alex f739cb7f75 Merge remote-tracking branch 'origin/master' into stkth/fix-4241
# Conflicts:
#	src/modules/systemd_failed_units.cpp
2026-07-03 21:05:32 +02:00
Alex 6de8871882 Merge remote-tracking branch 'origin/master' into hyprland-language-tooltip
# Conflicts:
#	man/waybar-hyprland-language.5.scd
2026-07-03 21:01:53 +02:00
Alexis Rouillard c43f9f25b8 Merge pull request #5039 from mil-ad/fix/sway-language-flag-disappears
fix(sway/language): keep flag visible across hot-plug and unknown layouts
2026-07-03 21:00:52 +02:00
Alexis Rouillard fd81ff299e Merge pull request #4753 from The-Robin-Hood/master
hyprland/workspaces persistent fix and improve cursor handling configuration
2026-07-03 21:00:47 +02:00
Alexis Rouillard 63424a75ae Merge pull request #5064 from Siriusuna/fix/mpd-markup-truncation
fix(mpd): truncate before sanitization and improve tooltip UX
2026-07-03 21:00:03 +02:00
Alexis Rouillard 1143444561 Merge pull request #5061 from buzz/fix/hyprland-workspaces-scroll
fix(hyprland): support custom scroll commands
2026-07-03 20:59:12 +02:00
Alexis Rouillard c8bcbfb057 Merge pull request #5072 from Lege19/master
(Fix) (sway workspace module) persistent workspaces always removed
2026-07-03 20:59:05 +02:00
Alexis Rouillard fce96987e1 Merge pull request #5028 from JeremieRodon/fix/tray-hide-when-empty
fix(tray): hide module when no items are visible
2026-07-03 20:58:33 +02:00