Austin Horstman
e4ff024fa8
fix(util): bound SafeSignal queue growth under burst load
...
SafeSignal could queue events forever when worker threads emitted faster than
the main loop could consume, which risks memory growth and stale updates.
I added a queue cap with a drop-oldest policy so growth stays bounded under
burst load, plus a regression test that validates bounded delivery.
Signed-off-by: Austin Horstman <khaneliman12@gmail.com >
2026-02-28 22:57:49 -06:00
Alex
ef3d55980e
fix: some crashes
2026-02-24 00:49:08 +01:00
Alex
e18939210b
fix: lint
2026-02-24 00:00:57 +01:00
Alexis Rouillard
64ecdcfa87
Merge pull request #4846 from BlueManCZ/fix-mpris-fallback-player
...
fix(mpris): fall back to next non-ignored player and prefer playing players
2026-02-23 23:51:04 +01:00
Alexis Rouillard
4aa8f98552
Merge pull request #4821 from cebem1nt/group-scroll-cutout
...
fix: owerwrite handleScroll to remove any scrolling handling from group
2026-02-23 23:46:02 +01:00
Austin Horstman
ae60ca6233
refactor(niri): declared constructor
...
Move constructor from hpp to cpp to align with other modules
Signed-off-by: Austin Horstman <khaneliman12@gmail.com >
2026-02-20 08:16:56 -06:00
Alexis Rouillard
e4e47cad5c
Merge pull request #3088 from VAWVAW/hyprland-bar-scroll
...
hyprland/workspaces: Add `enable-bar-scroll` option
2026-02-13 23:43:12 +01:00
Alexis Rouillard
01628dda85
Merge pull request #4852 from tobixen/fix/keyboard-state-hotplug-crash
...
fix(keyboard-state): fix segfault on device hotplug removal
2026-02-13 23:27:05 +01:00
vawvaw
5b595a4dfe
hyprland/workspaces: Add enable-bar-scroll option
2026-02-13 20:48:59 +01:00
Sami Liedes
a70651ed05
fix: use SafeSignal in ipc
2026-02-12 18:11:30 +01:00
Tobias Brox
13469a8847
fix(keyboard-state): fix segfault on device hotplug
...
The keyboard-state module crashes with SIGSEGV in libinput_device_ref
when a new input device appears in /dev/input/.
Three bugs fixed:
1. Missing NULL check: tryAddDevice() calls libinput_path_add_device()
which returns NULL on failure, then immediately passes the result to
libinput_device_ref() without checking. On laptops, virtual input
devices (power buttons, lid switch, etc.) appear and disappear in
/dev/input/ triggering the hotplug handler; if libinput can't open
one of these, the NULL return causes the segfault.
2. Missing cleanup on device removal: The IN_DELETE handler erased
devices from the map without calling libinput_path_remove_device(),
leaving dangling pointers in the libinput context.
3. Thread safety: libinput_devices_ was accessed from 3 threads
(main/GTK, libinput_thread_, hotplug_thread_) without any mutex.
Fixes #4851
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-12 11:57:23 +01:00
BlueManCZ
a871d90161
Fix button action handling to consistently use the active player
2026-02-11 12:09:20 +01:00
Austin Horstman
3b478ee6a5
chore: format
...
Some unrelated files failed formatting.
Signed-off-by: Austin Horstman <khaneliman12@gmail.com >
2026-02-09 15:53:44 -06:00
Hannes Braun
f373ebfcbb
Fix include of poll.h
2026-02-08 13:32:41 +01:00
cebem1nt
40200afb68
fix: owerwrite handleScroll to remove any scrolling handling from group module
2026-02-06 14:43:12 -03:00
Alexis Rouillard
26c09f1e2e
Merge pull request #4814 from Alexays/copilot/fix-menu-freeze-issue
...
Fix menu freezing when launching applications
2026-02-04 10:33:52 +01:00
copilot-swe-agent[bot]
65e708779b
Fix function overload order to resolve compilation error
...
Co-authored-by: Alexays <13947260+Alexays@users.noreply.github.com >
2026-02-04 09:26:20 +00:00
copilot-swe-agent[bot]
04766452b4
Use idiomatic empty() check for strings
...
Co-authored-by: Alexays <13947260+Alexays@users.noreply.github.com >
2026-02-04 09:15:25 +00:00
copilot-swe-agent[bot]
c4982efa95
Add output_name parameter to forkExec for WAYBAR_OUTPUT_NAME env var
...
Co-authored-by: Alexays <13947260+Alexays@users.noreply.github.com >
2026-02-04 09:14:45 +00:00
copilot-swe-agent[bot]
330c77c87a
Fix thread safety in Hyprland modules to prevent corrupted double-linked list crash
...
- Move GTK operations from IPC thread to GTK main thread in Window module
- Move GTK operations from IPC thread to GTK main thread in WindowCount module
- Move GTK style class operations from IPC thread to GTK main thread in Submap module
- Language and Workspaces modules already safe (only update internal state)
Co-authored-by: Alexays <13947260+Alexays@users.noreply.github.com >
2026-02-04 08:54:36 +00:00
Alex
47fb21a2c1
chore: upgrade to clang-format@21
2026-02-04 09:24:14 +01:00
xander1421
1639dec7d8
fix(json): use local CharReaderBuilder for thread safety
2026-01-24 23:40:07 +02:00
Xavier Ruiz
e3186abdce
fix(cava): handle all output methods in frontend
...
Default to raw Cava module for non-GLSL output methods.
Fixes "Unknown module" error when no cava_config is specified.
2025-12-27 14:52:28 -05:00
Alexis Rouillard
c3d29b1185
Merge branch 'master' into battery-plugging-instant-updates
2025-12-18 19:04:31 +01:00
Alexis Rouillard
11c4e55376
Merge pull request #4591 from rrrnld/fix/multiple-batteries
...
Improve multiple battery support
2025-12-18 19:02:31 +01:00
Alexis Rouillard
374ccbb878
Merge pull request #4705 from rwwiv/fix/duplicate-layers-on-monitor-hotplug
...
fix: prevent duplicate layer surfaces on monitor hotplug
2025-12-18 19:00:48 +01:00
Will Wernert
a9ef11a2b3
fix: prevent duplicate layer surfaces on monitor hotplug
...
The monitor signal handlers (signal_monitor_added, signal_monitor_removed)
were never disconnected during SIGUSR2 reload. Each reload accumulated
additional handlers, causing multiple layer surfaces to be created when
monitors were hotplugged.
This fix:
- Stores signal connections as class members
- Disconnects them before reconnecting in bindInterfaces()
- Clears stale outputs_ on reload
2025-12-17 22:17:35 -05:00
Viktar Lukashonak
e03119fe94
Factory. cava_frontend
2025-12-09 18:13:45 +03:00
Viktar Lukashonak
3773021546
cavaGLSL
2025-12-07 23:08:55 +03:00
Viktar Lukashonak
52f4db1154
Moving GTK dispatcher into frontend
2025-12-05 10:04:52 +03:00
Viktar Lukashonak
13519ca5bf
cava. nonsafe thread.= & cava bump
2025-11-26 13:26:32 +03:00
schmop
ce1da5a178
Make udev_deleter not linux-only and fix freebsd build
2025-11-01 10:57:18 +01:00
schmop
4e25871655
Reapply "Make battery module update on plugging/unplugging again (refs #2519 )"
...
This reverts commit bb2c67ebad .
2025-10-31 13:43:36 +01:00
arne
ca62481dc9
fix: default weighted average to true
2025-10-26 06:44:53 +01:00
Viktar Lukashonak
966da11f3b
cava bump & fixing memory leaks
2025-10-12 14:53:49 +03:00
Alex
559079e9a6
fix: lint
clang-format / lint (push) Has been cancelled
freebsd / build (push) Has been cancelled
linux / build (c++20, alpine) (push) Has been cancelled
linux / build (c++20, archlinux) (push) Has been cancelled
linux / build (c++20, debian) (push) Has been cancelled
linux / build (c++20, fedora) (push) Has been cancelled
linux / build (c++20, gentoo) (push) Has been cancelled
linux / build (c++20, opensuse) (push) Has been cancelled
Nix-Tests / nix-flake-check (push) Has been cancelled
2025-10-05 10:56:24 +02:00
Alexis Rouillard
a16d53b30d
Merge branch 'master' into fix/zjeffer/thread-sanitizer-warning
2025-10-05 10:51:47 +02:00
Alexis Rouillard
18a9835b7c
Merge pull request #4246 from edeustua/master
...
feat: Add ISO 8601 calendar to clock module
2025-10-01 14:29:37 +02:00
Alexis Rouillard
9dd75d4f6b
Merge pull request #4507 from workflow/niri-language-add-css-classes
...
feat(niri/language): add CSS classes
2025-10-01 14:27:35 +02:00
Alexis Rouillard
4f16ec16f9
Merge pull request #4395 from pol-rivero/workspace-taskbar-improvements
...
[hyprland/workspaces] Taskbar improvements
2025-10-01 14:27:13 +02:00
Alexis Rouillard
3cc5943c08
Merge pull request #4373 from Arkoniak/4354-wildcard-config-regression
...
bugfix: expanding wildcards in config includes (#4354 )
2025-10-01 14:23:31 +02:00
Alexis Rouillard
c7a77f2c08
Merge pull request #4390 from aidansunbury/master
...
Support millisecond precision for script intervals
2025-10-01 14:22:17 +02:00
Alexis Rouillard
a15565ac48
Merge pull request #4408 from lfos/fix-hyprland-ipc-destructor
...
Prevent child zombie process from tearing down Hyprland IPC
2025-10-01 14:21:17 +02:00
Alexis Rouillard
97f1e54b70
Merge pull request #4447 from guttermonk/clock-fix
...
Clock Module: Independent clock tooltip formatting and fix for blank line at the end of the timezone list
2025-10-01 14:18:28 +02:00
Alexis Rouillard
d3b094503e
Merge pull request #4493 from LukashonakV/cava_backend
...
Cava backend. Comminication using signals
2025-10-01 14:16:51 +02:00
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
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