Commit Graph
1468 Commits
Author SHA1 Message Date
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 BroxandClaude Opus 4.6 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
anton 3655d73525 Ignore Tray entries by service name and when dbus properties load 2026-02-08 00:44:14 +00:00
cebem1nt 40200afb68 fix: owerwrite handleScroll to remove any scrolling handling from group module 2026-02-06 14:43:12 -03:00
szbmrk 2475052326 Merge branch 'master' into feat-hyprland-submap-icon-handling 2026-02-04 12:38:49 +01:00
szbmrk ca0b068ad8 feat(disk)!: handle multiple disks at once 2026-02-04 12:34:32 +01: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]andAlexays 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]andAlexays 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]andAlexays 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]andAlexays 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
Rio Sanjaya efc5fccda5 Merge branch 'Alexays:master' into encode_icon_inside_label 2026-01-22 08:58:54 +07:00
szbmrk c38024bdec feat(hyprland/submap): add config option to specify different icons for submaps 2026-01-15 00:29:49 +01:00
Benji-clm 7f63a905a1 feat(battery): add option to smooth power for more stable time_remaining estimates 2026-01-09 13:02:28 +00:00
Aksel Lunde Aase 5870c4ba0e feat(clock): Add action to execute external command 2026-01-09 13:26:27 +01:00
PickNicko13 a2d597f17f Added better logic for different kinds of filter nodes for only-physical.
Added fallback in case the final node doesn't have the volume property.
2026-01-01 16:54:54 +01:00
Mathis Raguin da4367df2f fix(sway/workspaces): use number when available to avoid parsing issues 2025-12-31 15:40:31 +01:00
Mathis Raguin 0a5da13fbf fix(workspaces/sway): handle workspaces with quotes 2025-12-31 15:28:10 +01: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
Rio Sanjaya 8e9ebb8bb1 use snake_case for variable name 2025-12-27 17:57:20 +07:00
Rio Sanjaya eb2090688c AIconLabel: support icon-size config 2025-12-24 08:43:32 +07:00
Rio Sanjaya b8da9ee94c Move extract icon into its own method 2025-12-24 08:43:03 +07:00
Rio Sanjaya c2c1a5d614 Add labelCOntainsIcon in AIconLabel 2025-12-24 08:40:42 +07:00
PickNicko13 5c9a1b08d9 Implemented "only-physical" parameter in the wireplumber module.
It makes it find the first node that has adevice.id linked to the
default output if the default output doesn't have it (i.e. it is a
virtual output).

Useful if you want to control (and see) the volume of the actual output
and not the effect sink.

May need some polishing and/or style fixing, but it works.
2025-12-21 23:46:15 +01: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
mike b 85aac3fee7 feature to limit the number of icons displayed 2025-12-11 14:46:32 -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
Raphael Kimmig 85a8fca0de feat: allow sorting niri workspaces 2025-12-07 12:18:24 +01:00
Viktar Lukashonak 52f4db1154 Moving GTK dispatcher into frontend 2025-12-05 10:04:52 +03:00
André Silva bbb7f37761 support hiding tray icons 2025-11-26 16:29:35 +00: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
guttermonk 26922c7fbc Update idle_inhibitor.hpp 2025-10-17 20:07:28 -05:00
guttermonk 3e2ea1a870 fixed the type declarations 2025-10-17 19:58:43 -05:00
guttermonk d68f168e09 fixed the compilation error 2025-10-17 19:50:38 -05:00
guttermonk 173e7306d0 fix using the ext-idle-notify-v1 protocol 2025-10-17 19:42:53 -05:00
guttermonk c831a352f2 Added signal support and wait-for-activity bool. 2025-10-17 18:11:50 -05:00