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