Commit graph

5116 commits

Author SHA1 Message Date
vaxerski
78c9e2080c framescheduler: fix edge case crashes
rare UAFs because renderMonitor can call onDisconnect (ugh, that should be changed...)

fixes #11073
2025-08-16 16:52:40 +02:00
Maaz Ahmed
1cbb62ed6a
masterlayout: add previous mode for focusmaster command (#11361) 2025-08-16 14:42:23 +01:00
Martin
7580a9aaaa
renderer: Add rounding power setting to groupbar and gradient roundness. (#11420) 2025-08-16 14:14:14 +01:00
Aditya Lohuni
edc473e8b0
xwayland: prevent infinite event loop in XWM clipboard transfers (#11427)
Only recreate event source when onWrite() returns 1 (needs continuation).
Prevents infinite loop when no valid transfers are available, fixing high
CPU usage and error spam.
2025-08-15 18:04:39 +01:00
Nihal Jere
aaedce596e
protocols: implement ext-data-control (#11323)
This protocol has superseded wlr-data-control
2025-08-15 15:38:28 +01:00
vaxerski
60d769a899 internal: unify VT getting 2025-08-14 17:13:23 +02:00
Kamikadze
beee22a95e
refactor: Use new hyprutils casts (#11377) 2025-08-14 15:44:56 +01:00
Arnaud
aa6a78f0a4
internal: Ensure unique identifiers for persistent workspaces (#11409) 2025-08-13 08:45:34 +01:00
David Baucum
2b6e2ceb2e
config: Hardened config logic against Time-Of-Check race conditions (#11368) 2025-08-12 20:11:21 +01:00
Martin
449d5e1113
internal: add missing c includes (#11417) 2025-08-12 20:07:19 +01:00
vaxerski
cb6589db98 misc: remove commas from device names
ref #11399
2025-08-11 20:01:33 +02:00
Maxime Nordier
69c3ab1a49
tablet: do not lock focus when dnd-ing (#11390) 2025-08-10 17:51:14 +01:00
Vaxry
00da4450db
renderer: minor fixups to uv calcs (#11375)
Fixes #11374
2025-08-08 16:14:02 +02:00
Iman Seyed
afbd879685
configWatcher: fix inotify event reading buffer size (#11337)
Read full variable-length inotify_event structure instead of just the
fixed-size header. The previous code only read sizeof(inotify_event)
bytes, missing the trailing name field, which could cause truncated
events and undefined behavior.
2025-08-07 18:15:28 +02:00
Vaxry
a4529beb7c
master: avoid crash if openingon null in onWindowCreated 2025-08-06 23:47:47 +02:00
Vaxry
ec26b753a2
descriptions: fix bad json output (#11350)
---------

Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
2025-08-06 16:28:07 +02:00
Vaxry
2859f1b795
keybinds: use the triggering keyboard for repeat timings (#11309) 2025-08-05 15:54:55 +02:00
JS Deck
2be309de1d
virtualkeyboard: Add options to skip releasing pressed keys on close and to skip sharing key states (#11214) 2025-08-04 21:29:39 +02:00
WhySoBad
6491bb4fb7
hyprctl: Include physical monitor size in IPC monitor info (#11276) 2025-08-04 21:28:54 +02:00
Vaxry
1b86d35f7e
popup: remove wlSurface ownership on destroy
fixes #11320
2025-08-03 22:55:02 +02:00
Vaxry
549f5e8dff
popup: fix animation configs 2025-08-03 16:48:12 +02:00
Vaxry
0f1484c2f4
subsurface: check surface size in damageLastArea
akin to CPopup, which already does this
2025-08-03 16:42:54 +02:00
Vaxry
f6d8e86439
popup: imorove logging, use fadeAlpha for opacity 2025-08-03 16:39:54 +02:00
Vaxry
61826dc7ac
renderer: fix snapshot coords 2025-08-03 16:19:36 +02:00
Vaxry
855d103aef
renderer: add popup fade-in-out (#11313)
Adds xdg popup fade-in and fade-out
2025-08-03 13:44:50 +02:00
Vaxry
77068c781d
screencopy: multiply box pos by scale
fixes #11299
2025-08-03 13:28:24 +02:00
Vaxry
bfe7e090bc
hyprctl: fix typo in seterror
fixes #11297
2025-08-03 13:21:29 +02:00
Vaxry
824438949e
renderer: apply default luma for reverting back to srgb
fixes #11315
2025-08-02 16:21:08 +02:00
Rico
f1f1161c17
dwindle: fix single_window_aspect_ratio not updating with config reload (#11305)
* dwindle: fix single_window_aspect_ratio not updating with config reload

* refactor: dereference instead of using ptr method
2025-08-02 15:24:18 +02:00
Vaxry
e1e23eb9bd
screencopy: avoid crash on cm disabled
fixes #11310

closes #11312
2025-08-02 14:35:20 +02:00
UjinT34
310fc629b0
protocols: fix presentation time proto version (#11306) 2025-08-02 13:40:28 +02:00
Vaxry
9607e3b5a8
screencopy: un-hdr screencopy buffers for cm-unaware clients (#11294) 2025-07-31 18:07:59 +02:00
Vaxry
a907ecd4ff
opengl: improve render fn arg clarity (#11286) 2025-07-31 16:23:09 +02:00
Martin
3e35797b18
fix: add climits includes (#11288) 2025-07-31 01:12:05 +02:00
Maxime Nordier
23be1db1e3
dnd: drop on tablet pen tip up (#11270) 2025-07-30 22:37:36 +02:00
Maximilian Seidler
f309d86003
session-lock: explicitly consider dpms states for sending locked or denied (#11278)
* session-lock: explicitly consider dpms states for sending locked or denied

* session-lock: check for active monitors before locking
2025-07-30 22:36:02 +02:00
Tom Englund
36a8b2226f
renderer: use CRegion foreach over getRects (#10980)
instead of allocating and returning a vector, use forEach to directly
call a function on the rects.
2025-07-30 11:54:09 +02:00
Vaxry
43966cc787
foreign-toplevel: update monitor properly on changed
fixes #11197
2025-07-29 21:59:35 +02:00
JS Deck
f51be7f201
layers: check monitor is not null on animation update (#11267) 2025-07-29 18:02:29 +02:00
Vaxry
66a6ef3859
core: disable esync for non-linux kernels
ref #10437, BSD doesn't support timeline fds
2025-07-29 17:55:56 +02:00
Vaxry
745a671ce6
input: don't reload xkb configs if settings didnt change
fixes #9105
2025-07-29 17:25:27 +02:00
Vaxry
abe29647ae
monitor: fix crash on mutating workspace vec
fixes #11236
2025-07-28 22:08:05 +02:00
Vaxry
c63d0003a1
core: fix workspace persistence tracking (#11239) 2025-07-27 18:46:23 +02:00
Shelby Tucker
5d4b4ecbfb
input: lock focus for tablet when down (#11219) 2025-07-27 15:11:45 +02:00
jmanc3
211199e864
fix: include decorations in visibleOnMonitor calculation (#11232)
Fixes: https://github.com/hyprwm/Hyprland/discussions/11203

The window turned invisible when just outside the monitor bounds, even though it should have stayed visible given its decorations.

The fix was to include the decorations when determining if a window is on a monitor.
2025-07-27 15:11:07 +02:00
Vaxry
e1fff05d0d
layerSurface: check for monitor validity in startAnimation
ref #11168

sometimes on exit monitor might be null
2025-07-26 11:46:07 +02:00
xqso
5c8d675eed
ci: correct tar command for xz compression & fix typos (#11213) 2025-07-25 17:19:23 +02:00
Vaxry
fd0c1f2ab4
keybinds: do not reset scroll timer on not passed
avoids endless lockups
2025-07-25 14:59:00 +02:00
Vaxry
31cc7f3b87
core: move workspace ptrs to weak (#11194)
Fixes some race conditions that come up in tests. We only clean up workspaces when we render a frame. With this, they are always cleared instantly.
2025-07-24 00:36:29 +02:00
mavonarx
ecc04e8ba7
drm: check syncobj timeline support before advertising protocol (#11117)
Prevents crashes on systems where DRM driver lacks syncobj timeline
support (e.g., Apple Silicon with Honeykrisp driver). Applications
like Zed and WezTerm would crash with 'Timeline failed importing'
when trying to use explicit sync.

Fixes #8158 #8803

---------

Co-authored-by: mvonarx <matthias.vonarx@sitrox.com>
2025-07-23 23:11:07 +02:00