Commit graph

6918 commits

Author SHA1 Message Date
Tom Englund
8ab4d1dc06
popup: check for expired weak ptr (#13352)
onCommit can destroy popups while the vector CPY still holds a weak ptr
to it, check if the weak ptr is still valid
2026-02-24 11:20:29 +00:00
Skidam
ae82a55400
view: send wl_surface.enter to subsurfaces of popups (#13353) 2026-02-24 11:20:04 +00:00
jmanc3
bc09504ea5
desktop/popup: fix use after free in Popup (#13335)
m_alpha was freed by fullyDestroy, but was then being touched because setCallbackOnEnd is activated by tick, which is the same function that updates animating variables

---------

Co-authored-by: Vaxry <vaxry@vaxry.net>
2026-02-23 16:58:06 +00:00
ssareta
f4bc8c3a64
keybinds: fix unguarded member access in moveWindowOrGroup (#13337) 2026-02-23 16:29:44 +00:00
Vaxry
b88813c7ef
event: refactor HookSystem into a typed event bus (#13333)
Refactors the old HookSystem into a typed event bus with clear
separation,
discovery and types.
2026-02-22 23:30:10 +00:00
Ikalco
b4ee4674f9
protocols: implement image-capture-source-v1 and image-copy-capture-v1 (#11709)
Implements the new screencopy protocols
2026-02-22 12:30:11 +00:00
Vaxry
93dbf88426
pointermgr: revert "damage only the surface size (#13284)"
This reverts commit 13dab66b1d.
2026-02-22 12:23:27 +00:00
Vaxry
0eb4755a3e
example: fixup config for togglesplit 2026-02-21 21:35:11 +00:00
Vaxry
723870337f
layout: rethonk layouts from the ground up (#12890)
Rewrites layouts to be much smaller, and deal with much less annoying
BS. Improves the overall architecture, unifies handling of pseudotiling,
and various other improvements.
2026-02-21 21:30:39 +00:00
Vaxry
51f8849e54
github: add ai policy to mr template 2026-02-21 20:37:34 +00:00
Vaxry
b9b1eda2ef
hyprctl: adjust json case
should be camel
2026-02-21 20:30:16 +00:00
Tom Englund
13dab66b1d
pointermgr: damage only the surface size (#13284)
* pointermgr: damage only the surface size

CWaylandOutput returns a vector2d with -1, -1 set as a "no limit",
passing that down into beginSimple and the renderer it hits pixman bug
of invalid sizes and wrong rectangles gets created.

causing bunch of
*** BUG ***
In pixman_region32_init_rect: Invalid rectangle passed

set the damage either to cursor plane size or fallback to 256x256.

* pointermgr: dedup if hw cursorsize checks

dedup a bit if else casing
2026-02-21 20:29:00 +00:00
Tom Englund
9f59ed7868
multigpu: fix multi gpu checking (#13277)
* multigpu: fix multi gpu checking

drmFD() from allocators is not always equal, because we reopen them
inside AQ for refcounting, meaning they get duplicated and become their
own fds, so checking if fd1 == fd2 ends up wrong.

introduce sameGpu in MiscFunctions that checks the actual drmDevice
meaning we can now even check if a rendernode is the same gpu as a
display node if we want.

* multigpu: move sameGpu to DRM namespace

move sameGpu out of MiscFunctions to DRM namespace.
2026-02-21 20:27:59 +00:00
Vaxry
a20142bcce
xwayland/xwm: fix window closing when props race
we need to recheck before closing, ideally on change but that's later
2026-02-21 14:40:36 +00:00
Vaxry
d91952c555
wayland/output: return all bound wl_output instances in outputResourceFrom (#13315)
ref https://github.com/hyprwm/Hyprland/discussions/13301
2026-02-20 22:31:59 +00:00
Murat65536
8b17a7404b
config/descriptions: fix use_cpu_buffer (#13285) 2026-02-20 17:57:08 +00:00
Vaxry
9ea6d0e15f
desktop/popup: only remove reserved for window popups 2026-02-19 17:41:17 +00:00
Vaxry
a1e62dcb12
welcome: skip in safe mode 2026-02-19 01:12:48 +00:00
Vaxry
7a566942d5
versionKeeper: ignore minor rev version
no point in firing the update screen when no breaking changes happen on point releases
2026-02-19 01:05:28 +00:00
Vaxry
68456a5d9a
desktop/window: add stable id and use it for foreign 2026-02-19 00:49:43 +00:00
Skidam
184af52f24
config: support no_vrr rule on vrr 1 (#13250) 2026-02-18 14:48:56 +00:00
Tom Englund
1af260ecbe
compositor: dont unlock all states on empty commits (#13303)
we cant unlock all states on empty commits, at best tryProcess them.

for example if a state is locked and waiting for a fence to become readable,
and another commit comes in we cant unlock it until the fence has actually signaled.
2026-02-18 14:29:35 +00:00
Dominick DiMaggio
0de216e783
cm: block DS for scRGB in HDR mode (#13262) 2026-02-17 13:57:46 +00:00
Mihai Fufezan
661314e134 CI/c-f check: adapt jidicula script 2026-02-16 15:45:10 +02:00
ssareta
17fc159ae2
desktop/windowRule: use content rule as enum directly (#13275) 2026-02-16 12:15:50 +00:00
bea4dev
6716b8a0e3
xwayland: fix size mismatch for no scaling (#13263) 2026-02-15 17:50:03 +00:00
flyingpeakock
59f19e465b
nix: fix evaluation warnings, the xorg package set has been deprecated (#13231)
Co-authored-by: Philip Johansson <philip@phlipphlop.me>
2026-02-15 17:53:28 +02:00
Mihai Fufezan
e6ca141364
CI/c-f check: set older clang ver 2026-02-15 00:53:57 +02:00
Kamikadze
48176160ab
commit-timing: avoid use-after-free in timer callback (#13271) 2026-02-14 13:09:25 +00:00
Vaxry
e5a2b9e5b0
hyprctl: bump hyprpaper protocol to rev 2 (#12838) 2026-02-14 13:08:13 +00:00
garypippi
e80f705d76
compositor: guard null view() in getWindowFromSurface (#13255) 2026-02-13 23:52:15 +00:00
Tom Englund
1bf410e1fc
renderer: fix dgpu directscanout explicit sync (#13229)
* directscanout: fix dgpu directscanout explicit sync

without setting an infence, AQ doesnt explicit sync, nor recreate the
dgpu fence for the blit work. and as such attemptdirectscanout path
artifacts and breaks. create a dummy CEGLSync even tho we dont really
have any pending glwork to get a proper fence, and set it.

* monitor: dont use new scheduling if direct scanout

using the new_render_scheduling makes no sense in the direct scanout
path, add a if guard against it.
2026-02-13 23:52:00 +00:00
vaxerski
1c767de9da [gha] Nix: update inputs 2026-02-13 23:42:49 +00:00
Kirill Unitsaev
a8a8929bb4
i18n: update russian translation (#13247) 2026-02-13 23:40:57 +00:00
Yingjie Wang
eb0d3f9f01
cmake: use OpenGL::GLES3 when OpenGL::GL does not exist (#13260)
This will allow to build on some systems without X.
2026-02-13 23:40:30 +00:00
Kamikadze
81a029e504 hyprpm: exclude glaze from all targets during fetch 2026-02-12 00:12:42 +02:00
Mihai Fufezan
380d14998e nix: remove glaze patch
Signed-off-by: Tyr Heimdal <tyr.heimdal@warning.no>
2026-02-12 00:01:33 +02:00
Tyr Heimdal
fd48d102e1 Reapply "hyprpm: bump glaze version"
This reverts commit e92b20292b.
2026-02-12 00:01:33 +02:00
EvilLary
531fc43203
cmake: bump wayland-server version to 1.22.91 (#13242) 2026-02-11 12:05:58 +02:00
Vaxry
5b6c42ca70
dynamicPermManager: fix c+p fail 2026-02-10 15:13:25 +00:00
Vaxry
857a78ce4e
hyprpm: add full nix integration (#13189)
Adds nix integration to hyprpm: hyprpm will now detect nix'd hyprland and use nix develop instead

---------

Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
2026-02-10 15:12:43 +00:00
Vaxry
339661229d
desktop/reserved: fix a possible reserved crash (#13207) 2026-02-10 14:59:21 +00:00
UjinT34
ff061d177e
protocols: commit and presentation timing fixes (#13174)
* move commit timing fields to surface state

* fix toTimespec init

* update sendQueued api

* update onPresented api

* set zero copy flag

* send clock id

* move presented calcs inside condition

* use only CLOCK_MONOTONIC for commit/presentation timings

* fix setSetTimestamp

* do not wait for commit timing while tearing

* proto config

* fix config defaults
2026-02-10 14:55:21 +00:00
ItsOhen
407a623801
hyprctl: add error messages to hyprctl hyprpaper wallpaper (#13234) 2026-02-10 14:52:31 +00:00
bea4dev
171ad7d338
input: fix kinetic scroll (#13233) 2026-02-10 14:51:51 +00:00
vaxerski
f16ebef003 [gha] Nix: update inputs 2026-02-09 12:53:15 +00:00
Aurelle
6507445787
layershell: restore focus to layer shell surface after popup is destroyed (#13225) 2026-02-09 12:51:25 +00:00
G36maid
f68ac7ef75
i18n: add Traditional Chinese (zh_TW) translations (#13210)
* i18n: add Traditional Chinese (zh_TW) translations

* i18n: add missing Simplified Chinese (zh_CN) translations
2026-02-07 13:27:10 +00:00
UjinT34
60f1c61323
protocols/dmabuf: fix DMA-BUF checks and events (#12965) 2026-02-07 12:40:08 +00:00
UjinT34
9f9dbb0dc5
renderer: allow tearing with DS with invisible cursors (#13155) 2026-02-07 12:38:01 +00:00