Alexis Rouillard
6c87b1d9da
Merge pull request #5078 from DreamMaoMao/mango
...
feat: add mango modules: workspace,language,keymode,window,layout
2026-07-03 22:44:04 +02:00
Alexis Rouillard
0094af54bf
Merge pull request #4841 from Cprakhar/feat/first-day-of-week-calendar
...
feat: add support for configurable first day of the week in calendar
2026-07-03 22:43:11 +02:00
Alexis Rouillard
6e28b4ae54
Merge pull request #3436 from lilly-lizard/river-tags-monitor-focus
...
river/tags: Allow river tags to be styled based on monitor focus
2026-07-03 22:42:34 +02:00
Alexis Rouillard
c354b9b568
Merge pull request #5015 from yui-915/compact-bandwidth
...
feat: add compact versions of bandwidthBytes to network module
2026-07-03 22:42:22 +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
13f59a38c7
Merge branch 'master' into feat/first-day-of-week-calendar
2026-07-03 22:21:36 +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
Alexis Rouillard
ed688659f4
Merge branch 'master' into mango
2026-07-03 22:17:29 +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
Alexis Rouillard
fe653fef9d
Merge branch 'master' into compact-bandwidth
2026-07-03 22:10:59 +02:00
Alex
6dc168c4f2
river/tags: fix memory leak of output_status_/seat_status_
...
The constructor created output_status_ and seat_status_ without adding any
listener, then handle_show() recreated both (leaking the constructor-created
objects) before destroying status_manager_. Additionally seat_status_ was
never destroyed in ~Tags().
Create these objects lazily (with listeners) only in handle_show(), and
destroy seat_status_ in the destructor.
2026-07-03 22:10:46 +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
Alex
6cf6157048
Merge remote-tracking branch 'origin/master' into river-tags-monitor-focus
2026-07-03 22:09:45 +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