Commit graph

7074 commits

Author SHA1 Message Date
030e892154
hyprland.pc.in: add src include flag 2026-03-13 22:57:49 +02:00
9683e261af
Nix: always test in debug mode 2026-03-13 19:47:17 +02:00
ItsOhen
8aff500351
internal: fix relative path header locations (#13650)
Or plugins can't build.
2026-03-13 08:53:07 -05:00
ArchSav
24a95621e5
input: add device specific binds (#13073)
Adds support for device-specific binds
2026-03-13 08:48:01 -05:00
e868403452
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-12 11:57:06 +00:00
UjinT34
8662ecba03
renderer: fix share window projection (#13695) 2026-03-11 20:48:48 +00:00
Bastien Souchu
0e083e886f
algo/dwindle: fix precise mouse setting (#13678) 2026-03-10 19:36:47 +00:00
Tom Englund
a714c7fe0e
shader: delete shader on success path (#13682)
dont leak glsl shader on success path.
2026-03-10 17:46:54 +00:00
Nikolai Nechaev
bc5bd8970e
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-10 10:09:47 +00:00
matjam
5389990724 renderer: fix crash on null blur framebuffer during monitor disconnect
Guard all m_blurFB dereferences against null. The blur framebuffer is reset during monitor disconnect but layer surface snapshots use a simple render path that skips framebuffer allocation.
2026-03-10 10:06:24 +00:00
matjam
318673e764 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 10:06:24 +00:00
matjam
b9ddb4bb26 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 10:06:24 +00:00
James Bingen
8217dabc80
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 10:04:50 +00:00
Nikolai Nechaev
8a12d6cf7e
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 10:04:21 +00:00
Vaxry
e32eeb1d45
algo/dwindle: do NOT use smart_split for overridden focal point (#13635)
ref #13594
2026-03-09 19:00:51 +00:00
Mihail Costea
e172a26b5b
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-09 16:47:50 +00:00
5cf53f581b
layout/windowTarget: add visualBox (#13626)
Allows layouts to explicitly define the visual geometry of a tiled
window.
2026-03-09 11:10:59 +00:00
UjinT34
03f444e0ab
renderer: fix crash with nullptr FBs (#13641) 2026-03-09 11:10:08 +00:00
Vaxry
a4ecae9160
desktop/windowRule: fix matching CONTENT (#13636)
ref #13596
2026-03-07 19:53:34 +00:00
Yujon Pradhananga
3cf62bea18
algo/scroll: fix unsigned wrap (#13634) 2026-03-07 19:13:06 +00:00
UjinT34
4aee773d9b
renderer: fix sdr mod (#13630) 2026-03-07 18:56:55 +00:00
Vaxry
3b09986f32
layout/groupTarget: fix crash on null space assignment (#13614)
nullchecks my life
2026-03-07 18:47:17 +00:00
UjinT34
02f30ea15b
renderer: refactor gl renderer (#13488) 2026-03-07 18:21:23 +00:00
UjinT34
b227efc849
renderer: refactor projection setting (#13485) 2026-03-07 15:23:54 +00:00
UjinT34
73fca55e7c
renderer: move m_renderData to renderer (#13474) 2026-03-07 13:47:13 +00:00
UjinT34
966f20d305
renderer: refactor resources and flags (#13471) 2026-03-07 13:13:34 +00:00
UjinT34
32e75e3e32
renderer: refactor render elements (#13438)
Part 2 of renderer refactors
2026-03-07 10:27:47 +00:00
36b19075f3
deco/border: fix damage region 2026-03-07 10:26:37 +00:00
UjinT34
4152ac76d0
renderer: refactor Texture, Framebuffer and Renderbuffer (#13437)
Part 1 of the renderer refactors
2026-03-06 21:44:10 +00:00
UjinT34
a5858018d8
renderer: shader variants refactor (#13434)
Part 0 of renderer reworks.
2026-03-06 21:05:10 +00:00
Mikhail
8685fd7b0c
dwindle: add rotatesplit layoutmsg and tests (#13235) 2026-03-06 20:47:48 +00:00
Logan Collins
1fa157cf6d
compositor: fix missing recheckWorkArea to prevent CReservedArea assert failure (#13590) 2026-03-06 20:47:39 +00:00
Virt
e0c5710059
layerrules: add dynamically registered rules for plugins (#13331)
* layerrules: add dynamically registered rules for plugins

* be gone

* layerrules: add layer tests with waybar

* fix: use kitty layers instead of waybar
2026-03-06 20:11:42 +00:00
Nikolai Nechaev
42f0a6005b
keybinds: Remove removed keybinds (#13605)
There seems to be no reason for them to remain.

But if they are kept, no notification appears to warn
a user that a dispatcher used in their config is no
longer valid. The config remains valid, but the bindings
do not work anymore.
2026-03-06 16:33:08 +00:00
JaSha256
ae9ca17b40
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-05 15:14:23 +00:00
Vaxry
972f23efe8
screencopy: fix isOutputBeingSSd (#13586)
use sessions instead of pending frames
2026-03-05 15:14:13 +00:00
justin4046
4c60d9df70
desktop/rules: fix empty workspace handling (#13544) 2026-03-05 15:14:05 +00:00
b7dfb47566
config/descriptions: add missing desc entry 2026-03-05 14:10:22 +00:00
Thedudeman
3284dd729b
algo/scrolling: add config options for focus and swapcol wrapping (#13518) 2026-03-05 14:08:40 +00:00
Ikalco
803e81ac39
screenshare: improve destroy logic of objects (#13554) 2026-03-05 14:06:55 +00:00
Vũ Xuân Trường
34c7cc7d38
i18n: update Vietnamese translations (#13489) 2026-03-04 20:02:04 +00:00
Ikalco
c47ae950f4
screencopy: fix minor crash (#13566) 2026-03-04 20:01:37 +00:00
Harsh Narayan Jha
3f169ee5de
socket2: emit kill event (hyprctl kill) (#13104) 2026-03-04 20:00:00 +00:00
Vaxry
10754745a9
render/cm: add ICC profile pipeline (#12711)
Adds an ICC profile pipeline, loading via config and applying via 3D LUTs.
2026-03-04 19:50:28 +00:00
Florian "sp1rit
8271cfc97b
core: fix i586 build (#13550)
Signed-off-by: Florian "sp1rit"​ <sp1rit@disroot.org>
2026-03-04 11:33:44 +00:00
c11cadd8d6
desktop/window: don't group modals 2026-03-03 21:00:33 +00:00
dc4b082ee8
algo/scrolling: fix rare crash 2026-03-03 20:59:18 +00:00
André Silva
edf7098345
desktop/window: fix floating windows being auto-grouped (#13475)
---------

Co-authored-by: Aqa-Ib <16420574+Aqa-Ib@users.noreply.github.com>
2026-03-03 20:56:02 +00:00
Vaxry
7299a3b0d5
hyprctl: fix workspace dynamic effect reloading (#13537)
ref https://github.com/hyprwm/Hyprland/discussions/12806
2026-03-03 13:03:47 +00:00
Vaxry
b06a4b5e13
layout/windowTarget: override maximized box status in updateGeom (#13535)
ref https://github.com/hyprwm/Hyprland/discussions/13525
2026-03-03 12:33:46 +00:00