Commit graph

7001 commits

Author SHA1 Message Date
a2b9947704
protocols: fix image-copy-capture stop handling and remove non protocol errors (#13706)
* protocols: send image-copy-capture stopped instead of destroy

Fixes a protocol error where the resource was destroyed instead of
sending stopped() to the client.

* protocols: don't send protocol errors in image-copy-capture for server errors
2026-03-27 18:15:16 +00:00
Bastien Souchu
0cb69c1039
algo/dwindle: fix precise mouse setting (#13678) 2026-03-27 18:15:16 +00:00
Nikolai Nechaev
e8b06b832c
compositor: When processing fullscreen states, only use effective mode where necessary (#13607)
Simplify the compositor fullscreen state processing: use the complete
fullscreen mode value except when the effective fullscreen mode value
is needed.

Fixes #13041.
2026-03-27 18:15:16 +00:00
59f9f2688a
version: bump to 0.54.2 2026-03-10 13:26:58 +00:00
matjam
e3bce4c0af
protocols/sessionLock: fix crash when monitor is gone during lock surface creation
Move monitor signal listener registration inside the existing null guard, and validate output resource and monitor in onGetLockSurface.
2026-03-10 13:26:58 +00:00
matjam
48ac5b323a
layout: fix crash on monitor reconnect due to stale workspace state
Guard against null/expired workspace and monitor pointers during layout recalculation triggered by arrangeMonitors after sleep/wake.
2026-03-10 13:26:58 +00:00
James Bingen
470997f751
layout: fix null deref in focalPointForDir and moveInDirection (#13652)
Added a guard against expired m_parent weak pointer in IModeAlgorithm::focalPointForDir
when the fullscreen monitor path is taken, and also added a null check in
CLayoutManager::moveInDirection. This seemed to have fixed a segfault triggered
by a 3-finger swipe gesture end on a fullscreen tiled window.
2026-03-10 13:26:58 +00:00
Nikolai Nechaev
7c4a23af59
algo/dwindle: Respect force_split when moving windows to workspaces (#13038)
Respect `dwindle:force_split` not only when mapping new windows,
but also when moving windows to workspaces.

Fixes #13009.
2026-03-10 13:26:55 +00:00
Vaxry
d05b805cff
algo/dwindle: do NOT use smart_split for overridden focal point (#13635)
ref #13594
2026-03-10 13:24:40 +00:00
Mihail Costea
ad4f5f15f3
layout: fix drag_threshold window snap regression (rebased for #12890) (#13140)
Guard position assignments in updateDragWindow() behind m_dragThresholdReached
to prevent windows from snapping to cursor before drag_threshold is exceeded.

Fixes: https://github.com/hyprwm/Hyprland/pull/13140
2026-03-10 13:24:40 +00:00
895c49a22b
layout/windowTarget: add visualBox (#13626)
Allows layouts to explicitly define the visual geometry of a tiled
window.
2026-03-10 13:24:40 +00:00
Vaxry
a32a1a8da3
desktop/windowRule: fix matching CONTENT (#13636)
ref #13596
2026-03-10 13:24:40 +00:00
Yujon Pradhananga
932d676ca8
algo/scroll: fix unsigned wrap (#13634) 2026-03-10 13:24:40 +00:00
Vaxry
9cdd5e8337
layout/groupTarget: fix crash on null space assignment (#13614)
nullchecks my life
2026-03-10 13:24:40 +00:00
cc19f2ee8a
deco/border: fix damage region 2026-03-10 13:24:40 +00:00
Logan Collins
fadd8e9420
compositor: fix missing recheckWorkArea to prevent CReservedArea assert failure (#13590) 2026-03-10 13:24:40 +00:00
JaSha256
af6416b972
pointer: fix hardware cursor rendering on rotated/flipped monitors (#13574)
Replace the broken cairo_matrix_rotate() approach with explicit
per-transform pattern matrices for all 8 wl_output_transform values.
2026-03-10 13:24:40 +00:00
justin4046
9286abb8cd
desktop/rules: fix empty workspace handling (#13544) 2026-03-10 13:24:40 +00:00
c7fadefcac
config/descriptions: add missing desc entry 2026-03-10 13:24:40 +00:00
Ikalco
942f4e8845
screenshare: improve destroy logic of objects (#13554) 2026-03-10 13:24:39 +00:00
Ikalco
4e43a3358d
screencopy: fix minor crash (#13566) 2026-03-10 13:24:29 +00:00
Florian "sp1rit
628cc608d2
core: fix i586 build (#13550)
Signed-off-by: Florian "sp1rit"​ <sp1rit@disroot.org>
2026-03-10 13:24:29 +00:00
vaxerski
4b07770b9e [gha] Nix: update inputs 2026-03-03 21:06:41 +00:00
8940e596df
version: bump to 0.54.1 2026-03-03 21:04:54 +00:00
a9d10d01f9
desktop/window: don't group modals 2026-03-03 21:04:37 +00:00
c0fbf3342b
algo/scrolling: fix rare crash 2026-03-03 21:04:37 +00:00
André Silva
58017aa140
desktop/window: fix floating windows being auto-grouped (#13475)
---------

Co-authored-by: Aqa-Ib <16420574+Aqa-Ib@users.noreply.github.com>
2026-03-03 21:04:37 +00:00
Vaxry
c275d9efce
hyprctl: fix workspace dynamic effect reloading (#13537)
ref https://github.com/hyprwm/Hyprland/discussions/12806
2026-03-03 21:04:37 +00:00
Vaxry
c4266033b8
layout/windowTarget: override maximized box status in updateGeom (#13535)
ref https://github.com/hyprwm/Hyprland/discussions/13525
2026-03-03 21:04:37 +00:00
Vaxry
e26465817b
algo/dwindle: don't crash on empty swapsplit (#13533)
ref https://github.com/hyprwm/Hyprland/discussions/13530
2026-03-03 21:04:37 +00:00
51b220abbb
tests/workspace: fix one test case failing 2026-03-03 21:04:37 +00:00
Vaxry
9803deeeeb
renderer: fix crash on mirrored outputs needing recalc (#13534)
ref https://github.com/hyprwm/Hyprland/discussions/13517
2026-03-03 21:04:37 +00:00
UjinT34
f8a47e05c4
algo/master: fix crash after dpms (#13522) 2026-03-03 21:04:37 +00:00
Vaxry
81873930dc
layout/algos: use binds:window_direction_monitor_fallback for moves (#13508)
ref https://github.com/hyprwm/Hyprland/discussions/13473
2026-03-03 21:04:37 +00:00
Vaxry
bd4aad8518
algo/scrolling: fix offset on removeTarget (#13515) 2026-03-03 21:04:37 +00:00
André Silva
d2f63278bd
desktop/group: respect direction when moving window out of group (#13490) 2026-03-03 21:04:37 +00:00
Vaxry
918602a053
algo/dwindle: use focal point correctly for x-ws moves (#13514) 2026-03-03 21:04:37 +00:00
Vaxry
6817446ce6
algo/scroll: improve directional moves (#13423) 2026-03-03 21:04:37 +00:00
956bedb3ae
compositor: damage monitors on workspace attachment updates
ref https://github.com/hyprwm/Hyprland/discussions/13386
2026-03-03 21:04:37 +00:00
Vaxry
9a7d4a93ae
layout: store and preserve size and pos after fullscreen (#13500)
ref https://github.com/hyprwm/Hyprland/discussions/13401
2026-03-03 21:04:37 +00:00
Vaxry
19fac51c2d
layout/windowTarget: don't use swar on maximized (#13501) 2026-03-03 21:04:37 +00:00
Vaxry
2cec6ec19a
algo/dwindle: add back splitratio (#13498) 2026-03-03 21:04:37 +00:00
Vaxry
f58179f1e0
layout/windowTarget: damage before and after moves (#13496) 2026-03-03 21:04:37 +00:00
Thedudeman
779f849991
layout/scroll: fix configuredWidths not setting properly on new workspaces (#13476) 2026-03-03 21:04:37 +00:00
b84f5c7d5c
hyprpm: fix url sanitization in add
this could've been used to exec additional commands with hyprpm
2026-03-03 21:04:37 +00:00
Vaxry
6eb2b57ac4
layout/windowTarget: fix size_limits_tiled (#13445)
fucks up on scroll, also, wtf
2026-03-03 21:04:37 +00:00
Yujon Pradhananga
77db91ae8c
layout/scrolling: fix size_t underflow in idxForHeight (#13465) 2026-03-03 21:04:37 +00:00
d5d08b3f1e
screencopy: fix nullptr deref if shm format is weird 2026-03-03 21:04:37 +00:00
83dd46bba2
scroll: clamp column widths properly
ref https://github.com/hyprwm/Hyprland/discussions/13458
2026-03-03 21:04:37 +00:00
31a33113b7
keybinds: fixup changegroupactive 2026-03-03 21:04:37 +00:00