Commit Graph
6565 Commits
Author SHA1 Message Date
Dominick DiMaggio b2ea6b010c renderer: Allow DS for surfaces with inert subsurfaces (#12133) 2025-11-11 12:18:15 +00:00
Mihai Fufezan 0b1d690676 flake.nix: update guiutils and override hw-s 2025-11-10 08:15:26 +02:00
Mihai Fufezan 2931184921 CI/release: populate git info (#12247) 2025-11-09 20:50:56 +00:00
Aurelle 0bd11d5eb9 protocols/layershell: do not raise protocol error if layer surface is not anchored (#12241) 2025-11-09 15:59:14 +00:00
nikromen 06b37c3907 protocols/outputMgmt: fix wlr-randr by defering success event until monitor reloads (#12236)
wlr-randr disconnects immediately after receiving success event, but
before applying the monitor configuration. This causes the state to be
lost when performMonitorReload() is called.

By postponing the success event until the call of the hook
monitorLayoutChanged we ensure the configuration to remain valid during
the reload process.
2025-11-08 23:45:53 +00:00
Mihai Fufezan 522edc8712 meson: fix version.h install location 2025-11-07 21:08:40 +02:00
Vaxry f56ec180d3 version: bump to 0.52.0 v0.52.0 2025-11-07 16:39:26 +00:00
UjinT34 fd50e78bc9 render/cm: change non_shader_cm ignore behavior and set default to it (#12210) 2025-11-07 15:58:25 +00:00
VaxryandMihai Fufezan 061981201d core: qtutils -> guiutils (#12231)
* core: qtutils -> guiutils

* nix: qtutils -> guiutils

* flake.lock: update

---------

Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
2025-11-07 15:48:13 +00:00
Dominick DiMaggio 3fc8cb828c cm: follow preferred srgb eotf for screencopy (#12230) 2025-11-07 14:02:26 +00:00
Amadej Kastelic 1ca6058bda chore: fix non-relative imports (#12228) 2025-11-06 20:32:08 +00:00
bea4dev ca4b68e425 renderer: fix fractional scale artifact (#12219) 2025-11-06 19:18:16 +00:00
Tom Englund 8e8bfbb0b1 protocols: add Fifo-v1 and commit-timing-v1 (#12052)
* protocols: add Fifo-v1

introduce fifo-v1

* fifo: only present locked surfaces

dont present to unlocked surfaces and commit pending states from the
fifo protocol.

* fifo: cformat

cformat

* protocols: add committiming and surface state queue

introduce CSurfaceStateQueue and commit-timing-v1

* fifo: schedule a frame if waiting on barrier

if we are waiting on a barrier the state doesnt commit until the next
refresh cycle meaning the monitor might have no pending damage and we
never get onPresented to unlock the barrier, moment 22. so schedule a
frame.

* fifo: properly check monitor intersection

check for m_enteredoutputs or monitor intersection if client hasnt bound
one yet, and dont fifo lock it until the surface is mapped.

* buffer: try to merge states before committing them

try to merge states before committing them meaning way less churn and
surface commits if a surface sends multiple small ones while we wait for
buffer readyness from either fifo locks or simply fences.

* buffer: dont commit states past the buffer

certain changes are relative to the buffer attached, cant go beyond it
and apply those onto the next buffer.

* buffer: set the lockmask directly

cant use .lock since the state hasnt been queued yet, set the lockmask
directly when exporting buffer fence.

* fifo: dont fifo lock on tearing

dont fifo lock on tearing.

* buffer: queue the state directly

queue the state directly and use the .lock function instead of directly
modify the lockMask on the state.

* buffer: revert creating texture at commit time

fifo barriers introduces such long wait that upon commit time a
race happends with current xdg configure implentation that the buffer
and image is actually destroyed when entering commitState, doing it at
buffer creation time with EGL_PRESERVED_KHR means it sticks around until
we are done. so revert 82759d4 and 32f3233 for now.

* buffer: rename enum and lockreasons

eLockReason and LOCK_REASON_NONE.

* fifo: workaround direct scanout lock

workaround cursor commits causing fifo to get forever locked, this
entire thing needs to be worked out.
2025-11-06 13:25:49 +00:00
Alvaro Parker c757fd375c compositor: block parent window interaction when modal dialog children window is open (#12057) 2025-11-06 00:06:31 +00:00
vaxerski 46b71eda64 [gha] Nix: update inputs 2025-11-04 15:15:08 +00:00
André Silva d82538c69f protocols/dmabuf: handle null pointer in CLinuxDMABufV1Protocol::resetFormatTable (#12207) 2025-11-04 15:13:50 +00:00
Matteo Golinelli 8e9add2afd sessionlock: fix crash when sendScale is called on a disconnected (#12171) 2025-10-31 00:15:18 +00:00
Vaxry 5e6cec962c cursor: refactor override handling (#12166)
much cleaner and more reliable. Should fix https://github.com/hyprwm/Hyprland/issues/12088
2025-10-31 00:14:08 +00:00
Vaxry 6ade4d58ca layout: fit floating window on toggle to float (#12139) 2025-10-29 23:21:28 +00:00
Vaxry 83a0a62004 protocols/core: round dnd drop surface box 2025-10-29 17:20:44 +00:00
Dominick DiMaggio ff50dc36e9 renderer/cm: allow gamma 2.2 instead of sRGB EOTF (#12094) 2025-10-29 12:53:42 +00:00
jmanc3 ce9787b3f4 xwayland: set _NET_WORKAREA property (#12148) 2025-10-29 11:24:34 +00:00
Mihai Fufezan 9eb82774e5 Nix: build hyprtester along with hyprland 2025-10-29 12:18:29 +02:00
Mihai Fufezan a2f48ea418 CMake: allow building hyprtester without running tests 2025-10-29 12:18:29 +02:00
Mihai Fufezan 309c3c7848 Nix/tests: wl-copy -> wl-clipboard 2025-10-27 23:49:49 +02:00
Mihai Fufezan 0907fdf49c CI/release: run cmake configure 2025-10-27 23:47:35 +02:00
Vaxry 431325ff0c config/rule: don't populate ID field for automatically id-managed workspaces 2025-10-27 21:29:35 +00:00
Mihai Fufezan 40831a90a0 Nix/tests: add wl-copy 2025-10-27 23:25:54 +02:00
Vaxry b186d3bf1b pass/surface: check for LS size anim for misaligned fractional 2025-10-27 17:22:04 +00:00
Vaxry 560c53d87d monitor/dpms: fix possible invalid state
If dpms gets immediately re-enabled, a commit could fail, not schedule any frames anymore, and the monitor would be stuck off. Fix this by adding a timer to retry if commit fails.

ref #12045
2025-10-27 13:34:14 +00:00
Mihai Fufezan fd42e9d082 CI/release: remove generateVersion call
Addresses https://github.com/hyprwm/Hyprland/pull/12110#issuecomment-3442583784
2025-10-26 21:27:49 +02:00
Dominick DiMaggio 17d0d696be screencopy: wait longer to re-enable DS (#12135) 2025-10-26 18:57:20 +00:00
JS Deck 88e34d7dd2 IME: do not share keys/mods states from grabbed keyboards with ime keys/mods (#11917) 2025-10-26 18:54:48 +00:00
Vaxry 05aa4e1c54 compositor: check for monitor layout issues post rule apply
fixes #12108
2025-10-26 13:52:09 +00:00
Vaxry 748d2f656e xdg-shell: implement invalid parent errors 2025-10-26 12:34:35 +00:00
Tom Englund 6ea4769b39 EGL: minor egl changes (#12132)
* opengl: use EGLint and we dont have to cast data

use EGLint in the attrib array and we dont have to cast the resulting
data.

* opengl: add linear to correct vector

drop empty check, what if we get mods that isnt linear. then it wont be
added, also add it to the result vector that we actually return.
2025-10-25 20:36:02 +01:00
Virt 72cbb7906a layer-shell: fix fullscreen alpha when changing layers (#12124)
* layer-shell: fix fullscreen alpha when changing layers

* this is intended

* ooops

* ooops #2
2025-10-25 18:53:01 +01:00
Tom Englund b6f946991d meson: disable lto (#12129)
seems to accidently got enabled again in 019589e
2025-10-25 15:19:47 +01:00
ccos89 b10b966000 screencopy: fix missing XBGR2101010 format with screencopy_force_8b (#12125)
Adds missing DRM_FORMAT_XBGR2101010 to screencopy_force_8b that leads to
"no more input formats" Pipewire error for monitors set to 10-bit color
depth/where currentFormat is XBGR2101010.

Fixes implementation of #11623
Fixes hyprwm/xdg-desktop-portal-hyprland#270
Fixes hyprwm/xdg-desktop-portal-hyprland#102
2025-10-25 11:57:46 +01:00
Vaxry da04afa44e surface: fix xwayland zero scaling damage calcs (#12123) 2025-10-24 22:19:21 +01:00
Filip Mikina 34812c33db hyprctl: include color management presets and sdr information (#12019)
* move string parsing for eCMType to its own namespace, similar to how
`src/protocols/types/ContentType.cpp` is done
* expose cm type and sdr settings in `hyprctl monitors`, format floats
to .2f
2025-10-24 20:18:39 +01:00
ItsOhen 117e38db35 cmake: fix git lookup for when building out of srcdir(#12116) 2025-10-24 19:13:38 +01:00
crossatko 151b5f6978 dwindle: rework split logic to be fully gap-aware (#12047) 2025-10-24 19:01:05 +01:00
vaxerski aa5a239ac9 [gha] Nix: update inputs 2025-10-23 19:51:54 +00:00
nnra 019589e23f build: replace generateVersion.sh (#12110)
* Implemented the CMake version of generateVersion.sh

* Made version.h.in compatible with the new build system and included version.h in helpers/MiscFunctions.cpp

* Deleted the scripts/generateVersion.sh as it's no longer needed

* Updated meson.build to match the new workflow

* Added an empty line between includes and namespaces that I accidentally removed
2025-10-23 20:50:32 +01:00
Vaxry 057695bc3f desktopAnimationMgr: don't set fade 0 for members of a fs group (#12091)
fixes a flash of opacity that shouldnt be there
2025-10-22 11:32:42 +01:00
Vaxry 892f642f58 plugins: incorporate hyprdep ABI into plugin info (#12001) 2025-10-21 22:47:50 +01:00
Vaxry d560c26419 internal: fix cf 2025-10-21 22:47:06 +01:00
Vaxry 02b0c563f3 xwm: attempt to guess mime in sendData for DnD 2025-10-21 19:11:18 +01:00
Vaxry 4926332c37 monitor: remove spammy trace log 2025-10-21 19:11:18 +01:00