Commit Graph
4627 Commits
Author SHA1 Message Date
Milad Alizadeh 0ec6d06472 Guard set_current_layout against unknown layout names (wtype, hot-plugged
devices) so transient events stop blanking layout_. Refresh layouts_map_
on "added"/"xkb_keymap" input events and union layouts across all
keyboards so new devices contribute their layouts. Release mutex_ before
the refresh sendCmd to avoid self-deadlock from the synchronous
signal_cmd emit.
2026-05-15 17:29:21 +01:00
Jérémie Rodon 5c3ec1fd63 fix(tray): hide module when no items are visible
Tray::update() already had logic to hide the module when all child items were passive, but it was only re-run on item add/remove — never on a status change. When the last visible item transitioned to Passive, the item hid itself but the now-empty module remained visible.

Connect Tray to each item's Gtk::EventBox signal_show/signal_hide so update() runs on every visibility transition, and simplify update() to check child->get_visible() directly instead of inspecting the `passive` CSS class. The Tray-level `show-passive-items` read becomes redundant since Item already honours it when deciding its own visibility; remove it along with the now-unused Tray::show_passive_ member.

Fixes: #3721
2026-05-11 22:47:24 +02:00
Alexis Rouillard 05945748dc Merge pull request #5013 from higorprado/fix/hyprland-lua-dispatch-protocol
fix(hyprland/workspaces): adapt dispatch commands for Lua IPC protocol
2026-05-04 23:17:38 +02:00
Alexis Rouillard 4c105f7cd7 Merge pull request #5007 from nschloe/toctou-fixes
Various toctou fixes
2026-05-03 13:27:52 +02:00
Higor Prado 97917db593 test(hyprland): expose dispatch internals for unit tests
Move buildLuaDispatch and isLuaProtocol from private to
protected/public so IPCTestHelper can access them.

Add 7 tests covering all buildLuaDispatch branches, dispatch
error path, and isLuaProtocol cache behavior.
2026-05-02 20:25:43 -03:00
Higor Prado e17c0d9f0a fix(hyprland/workspaces): adapt dispatch commands for Lua IPC protocol
Hyprland 0.54 replaced the text-based dispatch socket protocol with a
Lua-based one. Commands like "dispatch workspace 1" are now interpreted
as invalid Lua (return hl.dispatch(workspace 1)), breaking workspace
clicks and scroll navigation.

Add IPC::dispatch() that probes the running Hyprland on first call and
routes commands through the new hl.dsp Lua API when the Lua protocol is
detected, falling back to the old text format otherwise.
2026-04-29 16:41:11 -03:00
Neltharion a66d6b1596 Do not reconnect if connection was refused
Otherwise, it will try to reconnect recursively
2026-04-29 03:40:06 +03:00
Evans 255f17d13c battery: guard _exists = true assignment inside if condition 2026-04-28 04:53:19 +00:00
Nico Schlömer 5af324f375 two more toctou bugs 2026-04-27 11:41:09 +02:00
Nico Schlömer 59d09c2c12 fix various toctou bugs in battery.cpp 2026-04-27 11:29:03 +02:00
Alexis Rouillard cca8dc38b6 Merge pull request #4990 from B2krobbery/fix-sni-make-unique
fix(sni): use std::make_unique for Item allocation
2026-04-22 20:50:48 +02:00
Volker Schlecht 29979e9227 Fix build for systems without SIGRTMIN/SIGRTMAX 2026-04-17 19:35:31 +02:00
Volker Schlecht 729dbbb82e Fix build for systems without SIGRTMIN/SIGRTMAX 2026-04-17 19:33:27 +02:00
Volker Schlecht bd39795f80 Fix build for systems without SIGRTMIN/SIGRTMAX 2026-04-17 19:31:59 +02:00
Volker Schlecht 0241d0eac6 Remove redefinition or SIGRTMIN/SIGRTMAX for OpenBSD 2026-04-17 19:27:39 +02:00
B2krobbery 7e9c46e4d1 fix(sni): use std::make_unique for Item allocation 2026-04-16 18:34:39 +05:30
Mervius e2d608e7fd Check if output still is in outputs before doing anything with it 2026-04-15 10:59:03 -05:00
Mervius d9b5d24284 Check if output still is in outputs before doing anything with it 2026-04-15 10:55:49 -05:00
Mervius 09b6df37ca Check if output still is in outputs before doing anything with it 2026-04-15 10:39:21 -05:00
Mervius 8b5b1eebbf Check if output still is in outputs before doing anything with it 2026-04-15 10:35:26 -05:00
Alexis Rouillard 3a321d934d Merge pull request #4982 from Mrpaoo/bug-fix
fix the io failure for hotplug-in device
2026-04-13 11:02:50 +02:00
yubo ac62754b28 fix the lint problem 2026-04-11 13:26:50 +08:00
Mervius efd245b552 Fix timeout with multiple monitors 2026-04-10 11:42:23 -05:00
yubo 906a589715 fix the io failure for hotplug-in device 2026-04-09 21:20:45 +08:00
Alexis Rouillard 202ae4bd5f Merge pull request #4975 from pix-code/master
memory: feature - add "unit" config option
2026-04-07 12:45:24 +02:00
Alexis Rouillard 6acc94ca37 Merge pull request #4967 from argentite/net-addr-del-fix
Network: fix: delete correct address type
2026-04-07 12:45:07 +02:00
Alexis Rouillard 66c09bc5b7 Merge pull request #4964 from adrianlzt/fix/network-bandwidth-event-race
fix(network): prevent near-zero bandwidth on rapid event-driven updates
2026-04-07 12:41:31 +02:00
Alexis Rouillard c30d4ce3e6 Merge pull request #4970 from B2krobbery/fix-group-module-leak
fix(bar): ensure exception safety for group module allocation
2026-04-07 12:39:42 +02:00
Alexis Rouillard cead1a0543 Merge pull request #4973 from cebem1nt/group-ref-fix
Group ref fix
2026-04-07 12:38:44 +02:00
Duke B fc11789a4f add unit config option to memory module 2026-04-05 19:01:36 -04:00
cebem1nt ae11954398 fix: ensure passing group_config as reference 2026-04-04 22:11:19 -03:00
Visal Vijay 36518e4eca fix(bar): ensure exception safety when creating group modules using std::unique_ptr 2026-04-03 19:47:17 +05:30
Anubhab Ghosh 16886117b3 Network: fix: delete correct address type
Only delete the corresponding address type (IPv4 or IPv6) when an event
about a specific type (AF_INET or AF_INET6) is received

This fixes situations where only one type of the address is deleted (and
possibly added again) but Waybar still thinks the interface is in
"linked" (no IP) state.
2026-04-02 19:54:19 +05:30
cebem1nt 8b1e574063 niri/workspaces: feature - add "hide-empty" config option (#4965) 2026-03-31 17:49:30 -03:00
Alexis Rouillard 1e965ccce0 Merge pull request #4960 from keepo-dot/feature/8bit-hex-support
feat(client): add support for 8-bit hex color codes in CSS
2026-03-31 09:54:24 +02:00
Alexis Rouillard b3f4281aa4 Merge pull request #4962 from B2krobbery/fix-dwl-global-leak
fix: prevent resource leak when rebinding dwl globals
2026-03-31 09:53:44 +02:00
Adrian LopezandSisyphus 753294dbf4 fix(network): prevent near-zero bandwidth on rapid event-driven updates
When netlink events (link/addr/route changes) fire between timer
intervals, dp.emit() triggers update() which consumes the byte delta
and resets bandwidth_down_total_. A subsequent timer update sees
near-zero delta, displaying very small bandwidth.

Cache the last computed bandwidth values and skip recalculation
when update() is called within half the interval. Event-driven
updates reuse the cached values instead.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-30 19:38:24 +02:00
Visal Vijay 3f69bacff0 fix: prevent resource leak when rebinding dwl globals 2026-03-29 22:12:16 +05:30
Keepo a9aab4e356 fix: type consistency 2026-03-28 23:44:41 -04:00
Keepo 72d6a51fb7 fix: fix compile/run bugs from trying to be safer. rip 2026-03-28 23:26:34 -04:00
Keepo 3533265675 fix: removed unnecessary function, update header file for signature change. 2026-03-28 23:02:16 -04:00
Keepo 937ef176ff fix: memory issues & duplicate file loads. 2026-03-28 22:53:01 -04:00
Keepo 3b512d1a2c feat(client): add support for 8-bit hex color codes in CSS
This allows users to use #RRGGBBAA format in their style.css.
The client now detects 8-bit hex codes, transforms them into
GTK-compatible rgba() syntax, and loads the modified data
into the CSS provider.

- Added utility to detect 8-bit hex patterns.
- Added transformation logic to convert hex alpha to decimal.
- Intercepted CSS loading in Client::setupCss to handle the conversion.
2026-03-28 21:11:15 -04:00
Jolan Oubrier a49990c266 fix: issue #4955 wrong behaviour of regex for sway/window 'rewrite' 2026-03-27 18:31:05 +01:00
Alexis Rouillard 49460defdc Merge pull request #4953 from B2krobbery/revert-menu-actions
Fix unnecessary allocation in GTK callback
2026-03-25 22:57:40 +01:00
Visal Vijay e55bff662e Remove unnecessary g_strdup in GTK callback 2026-03-25 21:45:14 +05:30
Alexis Rouillard 06c3d4393c Merge pull request #4943 from sgruendel/network_multi_monitor
Fix network bandwidth rate calculation for early updates
2026-03-25 12:30:17 +01:00
Alexis Rouillard 3bd46da7c3 Merge pull request #4945 from B2krobbery/clean-parentheses-fix
clarify logical condition in wlr taskbar module
2026-03-25 12:30:03 +01:00
Alexis Rouillard e3174a0e3e Merge pull request #4948 from tsukasa-au/fix-network-selection
Network: Fix default interface selection.
2026-03-25 12:29:45 +01:00
Alexis Rouillard be2ad4a858 Merge pull request #4946 from B2krobbery/fix-client-wayland-global-leak-clean
fix: prevent resource leak when rebinding Wayland globals
2026-03-23 13:25:39 +01:00