Commit Graph

2599 Commits

Author SHA1 Message Date
Alexis Rouillard fbec045492
Merge pull request #4437 from jp7677/ext-workspaces-remove-dirty-tracking
ext/workspaces: fix appearing of hidden workspaces
2025-10-01 14:16:03 +02:00
Alexis Rouillard 8bb19a9505
Merge pull request #4474 from LordMZTE/river-vacant-startup
fix(river): hide vacant tags on initial startup
2025-10-01 14:14:54 +02:00
Alexis Rouillard 6978193c6a
Merge pull request #4485 from coleleavitt/master
fix: handle null GDK window reference in surface initialization
2025-10-01 14:13:33 +02:00
Pol Rivero 5f1db15c2e Workspaces containing only ignored windows should be considered empty
This fixes #4479
2025-10-01 08:06:11 +02:00
workflow 862ba2f568
feat(niri/language): add CSS classes 2025-09-29 17:43:23 +03:00
Viktar Lukashonak 76d3b47ffd
Cava back/front end transformation 2025-09-26 23:34:11 +03:00
Jens Peters b08d0c21f3
ext/workspaces: add deactivate action 2025-09-20 14:11:46 +02:00
Cole Leavitt 45cfaf4a0b
fix: validate 'swap-icon-label' configuration type and log warnings 2025-09-17 21:20:43 -07:00
Cole Leavitt 4a5358e8c5
fix: handle null GDK window reference in surface initialization 2025-09-17 21:17:26 -07:00
peelz 0c3e82219f fix: close sni menu on item destruction 2025-09-16 14:03:45 -04:00
LordMZTE fd601801b4
fix(river): hide vacant tags on initial startup
Before this, vacant tags would show with `hide-vacant` set on initial
startup, because we receive initial tag events from River before we show
the bar. In that case, we won't call `set_visible(false)` on the
respective buttons because they're not shown yet. This registers the
output status listener after we show the bar so we won't miss any
events.
2025-09-16 16:04:25 +02:00
winkelnp e87ece4462
set gamemode icon size and spacing to 0 if use-icon is false 2025-09-15 22:03:23 +02:00
dmyTRUEk 09a07cd429 fix(temperature): `critical` style not being removed (#4455) 2025-09-12 20:00:43 +03:00
guttermonk d45ce841e3 Keep the local timezone from being in the tooltip. 2025-09-06 08:40:09 -05:00
guttermonk 97fa6aa4dd Added option to show timezones in tooltip only and removed the extra
blank line at the bottom of the timezone list.
2025-09-05 21:01:23 -05:00
Jens Peters af9c31ccd3
ext/workspaces: fix appearing of hidden workspaces
Do this by removing the needs-update tracking. The gain
was questionable to begin with and turns out it  doesn't
work correctly with multiple outputs.
2025-09-03 06:53:21 +02:00
Lukas Fleischer 8e488b4d5e clock: fix use after scope
Signed-off-by: Lukas Fleischer <lfleischer@lfos.de>
2025-08-23 00:25:50 -04:00
Lukas Fleischer 5a29473080 Prevent child zombie process from tearing down Hyprland IPC
In rare circumstances, we may fork(), e.g., as part of a custom module,
and the child process may fail to exec() and exit. In those cases, the
IPC destructor will be called in the child process.

Prior to this commit, this call would then result in the shared socket
being closed. Prevent this by only closing the socket from the original
process.

Fixes #3975 and #4152.

Signed-off-by: Lukas Fleischer <lfleischer@lfos.de>
2025-08-22 18:58:53 -04:00
zjeffer 3c3164eb8e Fix warning if swap-icon-label is not defined in config 2025-08-19 23:56:10 +02:00
Pol Rivero 45d01ce6e5 Implement "active-window-position" 2025-08-18 21:23:36 +02:00
Pol Rivero 691b7d427b Implement "reverse-direction" 2025-08-18 20:49:14 +02:00
aidansunbury 2b81782fa9 more changes 2025-08-16 16:01:41 -07:00
aidansunbury 2b552f7fb6 compat 2025-08-16 15:34:43 -07:00
aidansunbury 6dc5a73a02 initial changes 2025-08-16 15:29:59 -07:00
Sebastian Schwarz e8755b1a7f fix: display icons for userwide installed applications
Previously Waybar only displayed icons for applications which were
installed systemwide.  Icons were resolved via `.desktop` files in
directories specified by the environment variable `XDG_DATA_DIRS`.
However the [XDG specification](https://specifications.freedesktop.org/basedir-spec/0.8/#variables)
notes that this variable should only consulted **in addition** to
`XDG_DATA_HOME`:

> `$XDG_DATA_DIRS` defines the preference-ordered set of base
> directories to search for data files in addition to the
> `$XDG_DATA_HOME` base directory.

This because `XDG_DATA_DIRS` contains only systemwide directories,
whereas `XDG_DATA_HOME` contains the userwide directory.  Also
including the latter when looking up `.desktop` files allows Waybar to
display icons for applications which where installed userwide.
2025-08-16 14:14:59 +02:00
Arkoniak 5ac28f3947 bugfix: expanding wildcards in config includes (#4354) 2025-08-12 22:31:59 +03:00
rellimn 089b9a20fc Fix module and tray item staying in hover state after opening menu
Fixes #3980
2025-08-12 20:51:35 +02:00
zjeffer 5079884b78 Hyprland IPC improvements, fix tsan warning, WindowCount shouldn't create a separate IPC 2025-08-12 19:39:36 +02:00
Skylar Abruzese 64b64d0316 Moved workspace id failing to parse from an error to part of the trace.
With named persistent workspaces it is expected behavior that they have
no id since their workspace may not have been created by hyprland yet.
2025-08-09 18:33:35 -04:00
Alex 7e0cbf4a1f fix: lint 2025-08-08 08:59:10 +02:00
Alexis Rouillard b3fbe1b5ed
Merge pull request #4319 from M0streng0/master
wireplumber & backlight: fix states and support for microphone
2025-08-08 08:56:07 +02:00
Alexis Rouillard 477f30705c
Merge pull request #4208 from markx86/feat/battery-events
battery: Add support for battery level related events
2025-08-08 08:54:32 +02:00
Alexis Rouillard 07d3a4da10
Merge pull request #4333 from Arkoniak/relative_paths_in_includes
Relative paths in included configs
2025-08-08 08:53:55 +02:00
Alexis Rouillard 61b3c6d7d1
Merge pull request #3929 from xb-bx/master
sway/workspaces: Implement reverse-scroll
2025-08-08 08:45:42 +02:00
Alexis Rouillard c63e332fb2
Merge pull request #4278 from rwsalie/master
add openbsd support
2025-08-08 08:43:52 +02:00
Alex 79c30e77a7 fix: lint 2025-08-08 08:42:17 +02:00
Alexis Rouillard b0983e9c37
Merge pull request #3833 from Bahnschrift/master 2025-08-08 08:26:21 +02:00
Alexis Rouillard 3dce0956ec
Merge pull request #3930 from Invertisment/master 2025-08-08 08:24:58 +02:00
Alexis Rouillard 9a545e75e4
Merge pull request #4080 from proycon/river-layout-class 2025-08-08 08:23:12 +02:00
Alexis Rouillard 7cfa708b1a
Merge pull request #4326 from notpeelz/feat-network-match-altnames 2025-08-08 08:21:33 +02:00
Alexis Rouillard f1b7d829c2
Merge pull request #4016 from jp7677/ext-workspaces
ext/workspaces: port from wlr/workspaces to ext-workspace-v1 for a.o. labwc support
2025-08-08 08:18:01 +02:00
Alexis Rouillard 6679801a9c
Merge pull request #3849 from haansn08/mpd-format-uri
mpd: add uri and filename format arguments
2025-08-07 23:04:02 +02:00
Arkoniak 1e0037a873 fixed extra copy 2025-07-31 21:29:20 +03:00
Pol Rivero 5bbace1d43 Merge remote-tracking branch 'upstream/master' 2025-07-29 23:30:44 +02:00
peelz 4c72033309 refactor: why is that line there 2025-07-29 07:52:46 -04:00
peelz b5093f3e58 feat: match network interfaces by their altnames 2025-07-29 07:52:46 -04:00
Arkoniak f824ae9334 Relative paths in included configs 2025-07-29 10:45:31 +03:00
Henrique Oliveira 90f2490407
Fix: Backlight same issue with states 2025-07-23 20:26:17 +02:00
Henrique Oliveira a6ac75983f
Add: WirePlumber - format-source support 2025-07-23 16:59:07 +02:00
Henrique Oliveira 7cb1a0e3d6
Add: Wireplumber - support for microphone 2025-07-23 13:19:53 +02:00
Henrique Oliveira 91e57376ef
Fix: WirePlumber module - states not working 2025-07-23 12:18:22 +02:00
Erik Alonso bb190409de fix: unable to disable upower's tooltip 2025-07-22 13:09:33 +01:00
peelz b4d95b405c style: clang-format 2025-07-20 22:40:29 -04:00
Alexis Rouillard 71b01fe58f
Merge pull request #4161 from blackxored/feat/electron-tray-hack
feat: add a way to override electron app tray icons
2025-07-20 18:55:01 +02:00
Alexis Rouillard 2baa93174b
Merge pull request #4260 from notpeelz/feat-display-rfkill-setting
feat: add rfkill network setting
2025-07-20 18:54:24 +02:00
arnaud-ma 8dcdd97879
small fixes 2025-07-19 05:01:29 +02:00
arnaud-ma 2dc2b5ccfd
fix #4307 2025-07-19 04:50:59 +02:00
arnaud-ma a4f200cdb5
revert 2025-07-19 04:47:31 +02:00
arnaud-ma 64ed2cd970
fix indentation 2025-07-19 03:23:32 +02:00
arnaud-ma e45883088d
hyprland: Remove redundant workspace rules loading 2025-07-19 03:18:48 +02:00
bilaliscarioth 506fd5c597
Merge branch 'Alexays:master' into master 2025-07-14 02:00:51 +02:00
bilaliscarioth 682fc34c1d
fix linters for css_reload_helper.cpp 2025-07-13 14:03:09 +02:00
Alexis Rouillard 94777921d9
Merge pull request #4272 from labruzese/master
fix: hyprland named persistent workspaces
2025-07-13 09:07:26 +02:00
Alexis Rouillard ee9dc6ae05
Merge pull request #4292 from nraffp/4291
respect gtk color scheme variant for gtk css variable
2025-07-13 09:06:25 +02:00
Alexis Rouillard 1cb30e0f85
Merge pull request #4275 from acarl005/master
fix: prevent persistent workspaces from being duplicated if they exist…
2025-07-13 09:05:36 +02:00
Nick Raffaele 19360462ba respect gtk color schema variant for gtk css variable 2025-07-12 09:45:14 -07:00
peelz 73d9c5f560 fix(network): reset is_p2p_ in clearIface 2025-07-10 08:01:20 -04:00
peelz b85f0c17c3 fix(network): ignore carrier state when the interface is down
I'm not sure why, but my network card (mt7921e) sometimes will report
having a carrier when the interface is down. This usually happens
when rfkill was active before rebooting.
2025-07-10 08:01:20 -04:00
peelz b02694caef fix(network): initialize all fields
Some fields were previously uninitialized (e.g. carrier), which
could lead to UB.
2025-07-10 08:01:20 -04:00
peelz 0e07c7ac5c feat(network): add rfkill setting
This setting makes it possible to have a configuration with two
network modules where one of them displays the ethernet state
(disconnected, linked, ethernet), and the other, the wifi state
(disabled, disconnected, linked, wifi).

Otherwise the ethernet state would show up as "disabled" (instead of
"disconnected") when rfkill is active.
2025-07-10 08:01:20 -04:00
peelz 46a152abc8 fix(network): display as disabled if rfkill and no carrier
We want the "disabled" state even when an interface is selected
explicitly.
2025-07-10 08:01:20 -04:00
hritix 310a473e65 enabled markup support for tooltip of battery and pulseaudio modules 2025-07-09 22:50:03 +05:30
bilaliscarioth d808c00324 avoid useless vars on cpu_frequency, mimic sigrtmin/sigrtmax 2025-07-08 02:21:48 +02:00
bilaliscarioth 0cb605b529 start openbsd ports 2025-07-08 02:13:33 +02:00
Maarten van Gompel 04796988e9 feat(river): set layout name as class
This allows for custom styling for specific river layouts (such as monocle).
2025-07-07 15:13:33 +02:00
xb-bx 4d74bb3004
sway/workspaces: implement reverse-scroll 2025-07-07 14:17:18 +03:00
Andy Carlson fd67002662 fix: prevent persistent workspaces from being duplicated if they exist under a different name 2025-07-06 23:11:00 -04:00
Pol Rivero c98cb7095d Merge remote-tracking branch 'upstream/master' 2025-07-06 10:18:59 +02:00
tpaau-17DB 10c116e54a Change default tooltip for the battery module. 2025-07-04 19:02:10 +02:00
Skylar Abruzese 6d3b93bbf7 fix: added active workspace matching by name as fallback
fixes bug where persistent workspaces would not be marked as active
because their id is based on creation time by hyprland and thus we can't
consistently match the id's without constantly changing them (this would
also cause issues with workspace sorting).
2025-07-03 18:48:04 -04:00
Skylar Abruzese 9ef6dc7380 fix: hyprland named persistent workspaces
allowed persistent workspaces to be defined with names instead of just
id's
2025-07-03 17:44:37 -04:00
peelz b6c13ba58b fix: 'ethernet' network state should have precedence over 'disabled' 2025-07-01 10:37:31 -04:00
Emiliano Deustua 08a39dd9eb refactor: Change config key name 2025-06-30 10:44:46 -05:00
Jens Peters 6c48db6cee
ext/workspaces: log workspace id/name
This should help to distinguish between internal and
external ID in the logs.
2025-06-29 21:51:31 +02:00
Jens Peters 984d0de1fc
ext/workspaces: introduce ignore-hidden option
Hide hidden workspaces by default, but add an option for overriding.

While at it, move button visibility handling to Workspaces and only
handle add/removal of buttons at WorkspaceManager. This makes it
easier to keep track if sorting is needed.
2025-06-29 21:51:31 +02:00
Jens Peters 29bf5d5da1
ext/workspaces: moved/renamed from wlr/workspaces
The ext-workspace-v1 protocol is not wlr/wlroots
specific.
2025-06-29 21:51:31 +02:00
Jens Peters 255c0ebe28
wlr/workspaces: port to ext-workspace-v1
Rework implementation to match new protocol behavior.
2025-06-29 21:51:31 +02:00
Emiliano Deustua 649a98a679 feat: Add ISO 8601 calendar to clock module 2025-06-28 19:42:55 -05:00
mexanoz 7505e2c3f3 fix hyprland/language layout parsing 2025-06-27 20:54:38 +05:00
Martynas Maciulevičius c8dc3e7024 Remove unused import 2025-06-27 09:31:51 +03:00
Martynas Maciulevičius b7ff47fb05 User kill signal config keys: Use underscore instead of dash 2025-06-27 09:31:51 +03:00
Martynas Maciulevičius 3c7a9bf432 Documentation for sigusr1 and sigusr2 config 2025-06-27 09:31:51 +03:00
Martynas Maciulevičius aaea814217 Idempotent bar show/hide via configurable user kill signals 2025-06-27 09:31:51 +03:00
Martynas Maciulevičius 460b19ba1b Fix default icon in tray module 2025-06-26 20:34:56 +03:00
markx86 53d8d3cd2a
fix: Code formatting for clang-format/lint CI 2025-06-22 18:55:07 +02:00
markx86 08da7b5282
feat: Add support for battery related events 2025-06-22 17:45:12 +02:00
Alexis Rouillard 35d5203b4e
Revert "Bluetooth module: fetch battery percentage from upower if not found from bluez" 2025-06-22 12:24:22 +02:00
Alexis Rouillard 13ed499999
Merge pull request #2886 from levnikmyskin/feat/upower_bat_bluetooth
Bluetooth module: fetch battery percentage from upower if not found from bluez
2025-06-22 09:06:42 +01:00
Alexis Rouillard 0c1f1f2df9
Merge pull request #3544 from nktnet1/hyprland/windowcount
add Hyprland/windowcount module
2025-06-22 09:03:21 +01:00
Alex ee91d18ad9 fix: lint 2025-06-22 10:01:36 +02:00