Hyprland/src/protocols
Tom Englund 88c293ed36 compositor: ensure commits come in order
if a buffer is waiting any commits after it might be non buffer commits
from the "future" and applying directly. and when the old buffer that
was waiting becomes ready it applies its states and overwrites the
future changes.

move things to scheduleState and add a m_pendingWaiting guard. and
schedule the next pending state from the old buffer commit when done.
and as such it loops itself and keeps thing orderly.
2025-10-07 01:39:39 +02:00
..
core compositor: ensure commits come in order 2025-10-07 01:39:39 +02:00
types compositor: move callbacks back to compositor 2025-10-07 01:39:39 +02:00
AlphaModifier.cpp refactor: Use new hyprutils casts (#11377) 2025-08-14 15:44:56 +01:00
AlphaModifier.hpp alphamodifier: move to unique ptrs 2025-07-10 14:09:00 +02:00
ColorManagement.cpp cm: handle inert cm outputs (#11916) 2025-10-04 00:35:22 +02:00
ColorManagement.hpp cm: handle inert cm outputs (#11916) 2025-10-04 00:35:22 +02:00
ContentType.cpp presentation: move to unique ptrs 2025-07-10 14:09:00 +02:00
ContentType.hpp protocols: refactor class member vars (a-m) (#10265) 2025-05-04 00:13:29 +02:00
CTMControl.cpp input: Add fully configurable trackpad gestures (#11490) 2025-08-28 11:20:29 +02:00
CTMControl.hpp ctmcontrol: move to unique ptrs 2025-07-10 14:09:00 +02:00
CursorShape.cpp refactor: Use new hyprutils casts (#11377) 2025-08-14 15:44:56 +01:00
CursorShape.hpp cursorshape: use unique ptrs 2025-07-10 14:09:00 +02:00
DataDeviceWlr.cpp refactor: Use new hyprutils casts (#11377) 2025-08-14 15:44:56 +01:00
DataDeviceWlr.hpp protocols: refactor class member vars (a-m) (#10265) 2025-05-04 00:13:29 +02:00
DRMLease.cpp refactor: Use new hyprutils casts (#11377) 2025-08-14 15:44:56 +01:00
DRMLease.hpp drm-lease: Add Multi-GPU Support (#10099) 2025-06-13 15:17:32 +02:00
DRMSyncobj.cpp syncobj: use rendernode for timelines (#11087) 2025-08-24 22:32:13 +02:00
DRMSyncobj.hpp disable buffer readability checks on intel (#11515) 2025-08-24 08:57:37 +01:00
ExtDataDevice.cpp protocols: implement ext-data-control (#11323) 2025-08-15 15:38:28 +01:00
ExtDataDevice.hpp protocols: implement ext-data-control (#11323) 2025-08-15 15:38:28 +01:00
ExtWorkspace.cpp refactor: Use new hyprutils casts (#11377) 2025-08-14 15:44:56 +01:00
ExtWorkspace.hpp protocols: add ext-workspace implementation (#10818) 2025-06-26 18:32:44 +02:00
FocusGrab.cpp ci: correct tar command for xz compression & fix typos (#11213) 2025-07-25 17:19:23 +02:00
FocusGrab.hpp ci: correct tar command for xz compression & fix typos (#11213) 2025-07-25 17:19:23 +02:00
ForeignToplevel.cpp foreign-toplevel: continue past skipped invalid windows (#11804) 2025-09-23 19:50:57 +02:00
ForeignToplevel.hpp protocols: refactor class member vars (a-m) (#10265) 2025-05-04 00:13:29 +02:00
ForeignToplevelWlr.cpp refactor: Use new hyprutils casts (#11377) 2025-08-14 15:44:56 +01:00
ForeignToplevelWlr.hpp foreign-toplevel: update monitor properly on changed 2025-07-29 21:59:35 +02:00
FractionalScale.cpp protocols: refactor class member vars (a-m) (#10265) 2025-05-04 00:13:29 +02:00
FractionalScale.hpp protocols: refactor class member vars (a-m) (#10265) 2025-05-04 00:13:29 +02:00
FrogColorManagement.cpp refactor: Use new hyprutils casts (#11377) 2025-08-14 15:44:56 +01:00
FrogColorManagement.hpp protocols: refactor class member vars (a-m) (#10265) 2025-05-04 00:13:29 +02:00
GammaControl.cpp refactor: Use new hyprutils casts (#11377) 2025-08-14 15:44:56 +01:00
GammaControl.hpp protocols: refactor class member vars (a-m) (#10265) 2025-05-04 00:13:29 +02:00
GlobalShortcuts.cpp ci: correct tar command for xz compression & fix typos (#11213) 2025-07-25 17:19:23 +02:00
GlobalShortcuts.hpp protocols: refactor class member vars (a-m) (#10265) 2025-05-04 00:13:29 +02:00
HyprlandSurface.cpp core: use new typed signals from hu (#10853) 2025-07-08 18:56:40 +02:00
HyprlandSurface.hpp protocols: refactor class member vars (a-m) (#10265) 2025-05-04 00:13:29 +02:00
IdleInhibit.cpp core: use new typed signals from hu (#10853) 2025-07-08 18:56:40 +02:00
IdleInhibit.hpp core: use new typed signals from hu (#10853) 2025-07-08 18:56:40 +02:00
IdleNotify.cpp refactor: Use new hyprutils casts (#11377) 2025-08-14 15:44:56 +01:00
IdleNotify.hpp protocols: refactor class member vars (a-m) (#10265) 2025-05-04 00:13:29 +02:00
InputMethodV2.cpp input: support xkb v2 format (#11482) 2025-09-11 19:42:20 +02:00
InputMethodV2.hpp core: use new typed signals from hu (#10853) 2025-07-08 18:56:40 +02:00
LayerShell.cpp internal: fix clang-tidy "errors" (#11862) 2025-09-29 13:10:15 +01:00
LayerShell.hpp refactor: Use new hyprutils casts (#11377) 2025-08-14 15:44:56 +01:00
LinuxDMABUF.cpp syncobj: use rendernode for timelines (#11087) 2025-08-24 22:32:13 +02:00
LinuxDMABUF.hpp ci: correct tar command for xz compression & fix typos (#11213) 2025-07-25 17:19:23 +02:00
LockNotify.cpp core: move all shared_ptrs from the STL to hyprutils (#9143) 2025-01-23 21:55:41 +01:00
LockNotify.hpp protocols: add hyprland_lock_notify_v1 implementation (#9092) 2025-01-19 18:21:36 +00:00
MesaDRM.cpp syncobj: use rendernode for timelines (#11087) 2025-08-24 22:32:13 +02:00
MesaDRM.hpp protocols: refactor class member vars (a-m) (#10265) 2025-05-04 00:13:29 +02:00
OutputManagement.cpp refactor: Use new hyprutils casts (#11377) 2025-08-14 15:44:56 +01:00
OutputManagement.hpp protocols: refactor class member vars (n-t) (#10273) 2025-05-04 19:21:36 +02:00
OutputPower.cpp core: use new typed signals from hu (#10853) 2025-07-08 18:56:40 +02:00
OutputPower.hpp protocols: refactor class member vars (n-t) (#10273) 2025-05-04 19:21:36 +02:00
PointerConstraints.cpp core: use new typed signals from hu (#10853) 2025-07-08 18:56:40 +02:00
PointerConstraints.hpp protocols: refactor class member vars (n-t) (#10273) 2025-05-04 19:21:36 +02:00
PointerGestures.cpp protocols: refactor class member vars (n-t) (#10273) 2025-05-04 19:21:36 +02:00
PointerGestures.hpp protocols: refactor class member vars (n-t) (#10273) 2025-05-04 19:21:36 +02:00
PointerWarp.cpp protocols: implement pointer-warp-v1 (#11469) 2025-08-29 22:16:40 +02:00
PointerWarp.hpp protocols: implement pointer-warp-v1 (#11469) 2025-08-29 22:16:40 +02:00
PresentationTime.cpp presentation: fix vrr check for reporting no refresh time 2025-09-16 00:09:30 +01:00
PresentationTime.hpp presentation: move to unique ptrs 2025-07-10 14:09:00 +02:00
PrimarySelection.cpp refactor: Use new hyprutils casts (#11377) 2025-08-14 15:44:56 +01:00
PrimarySelection.hpp protocols: refactor class member vars (n-t) (#10273) 2025-05-04 19:21:36 +02:00
RelativePointer.cpp protocols: refactor class member vars (n-t) (#10273) 2025-05-04 19:21:36 +02:00
RelativePointer.hpp protocols: refactor class member vars (n-t) (#10273) 2025-05-04 19:21:36 +02:00
Screencopy.cpp renderer: add "noscreenshare" layer rule (#11664) 2025-09-22 12:26:14 +01:00
Screencopy.hpp screencopy: add force 8 bit to fix 10b screensharing (#11623) 2025-09-08 11:07:04 +02:00
SecurityContext.cpp refactor: Use new hyprutils casts (#11377) 2025-08-14 15:44:56 +01:00
SecurityContext.hpp protocols: refactor class member vars (n-t) (#10273) 2025-05-04 19:21:36 +02:00
ServerDecorationKDE.cpp protocols/kde-deco: fix tug of war in deco mode 2025-09-04 10:16:54 +01:00
ServerDecorationKDE.hpp protocols/kde-deco: fix tug of war in deco mode 2025-09-04 10:16:54 +01:00
SessionLock.cpp ci: correct tar command for xz compression & fix typos (#11213) 2025-07-25 17:19:23 +02:00
SessionLock.hpp core: use new typed signals from hu (#10853) 2025-07-08 18:56:40 +02:00
ShortcutsInhibit.cpp protocols: refactor class member vars (n-t) (#10273) 2025-05-04 19:21:36 +02:00
ShortcutsInhibit.hpp protocols: refactor class member vars (n-t) (#10273) 2025-05-04 19:21:36 +02:00
SinglePixel.cpp refactor: Use new hyprutils casts (#11377) 2025-08-14 15:44:56 +01:00
SinglePixel.hpp singlepixel: move to unique ptrs 2025-07-10 14:09:00 +02:00
Tablet.cpp tablet: remove old comment 2025-08-27 22:16:46 +02:00
Tablet.hpp protocols: refactor class member vars (n-t) (#10273) 2025-05-04 19:21:36 +02:00
TearingControl.cpp protocols: refactor class member vars (n-t) (#10273) 2025-05-04 19:21:36 +02:00
TearingControl.hpp protocols: refactor class member vars (n-t) (#10273) 2025-05-04 19:21:36 +02:00
TextInputV1.cpp refactor: Use new hyprutils casts (#11377) 2025-08-14 15:44:56 +01:00
TextInputV1.hpp core: use new typed signals from hu (#10853) 2025-07-08 18:56:40 +02:00
TextInputV3.cpp protocols: refactor class member vars (n-t) (#10273) 2025-05-04 19:21:36 +02:00
TextInputV3.hpp core: use new typed signals from hu (#10853) 2025-07-08 18:56:40 +02:00
ToplevelExport.cpp screencopy: add force 8 bit to fix 10b screensharing (#11623) 2025-09-08 11:07:04 +02:00
ToplevelExport.hpp protocols: refactor class member vars (n-t) (#10273) 2025-05-04 19:21:36 +02:00
ToplevelMapping.cpp refactor: Use new hyprutils casts (#11377) 2025-08-14 15:44:56 +01:00
ToplevelMapping.hpp protocols: refactor class member vars (n-t) (#10273) 2025-05-04 19:21:36 +02:00
Viewporter.cpp viewporter: clamp sub-pixel overflow (#11845) 2025-09-27 20:14:43 +02:00
Viewporter.hpp protocols: refactor class member vars (u-z) (#10282) 2025-05-04 23:39:00 +02:00
VirtualKeyboard.cpp input: support xkb v2 format (#11482) 2025-09-11 19:42:20 +02:00
VirtualKeyboard.hpp 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
VirtualPointer.cpp refactor: Use new hyprutils casts (#11377) 2025-08-14 15:44:56 +01:00
VirtualPointer.hpp core: use new typed signals from hu (#10853) 2025-07-08 18:56:40 +02:00
WaylandProtocol.cpp refactor: Use new hyprutils casts (#11377) 2025-08-14 15:44:56 +01:00
WaylandProtocol.hpp protocols: refactor class member vars (u-z) (#10282) 2025-05-04 23:39:00 +02:00
XDGActivation.cpp protocols/activation: revert send an invalid token when serial isn't valid (#11505) 2025-08-24 22:59:41 +02:00
XDGActivation.hpp protocols: refactor class member vars (u-z) (#10282) 2025-05-04 23:39:00 +02:00
XDGBell.cpp refactor: Use new hyprutils casts (#11377) 2025-08-14 15:44:56 +01:00
XDGBell.hpp protocols: refactor class member vars (u-z) (#10282) 2025-05-04 23:39:00 +02:00
XDGDecoration.cpp plugins: expose csd functionality (#11551) 2025-09-02 11:49:24 +02:00
XDGDecoration.hpp plugins: expose csd functionality (#11551) 2025-09-02 11:49:24 +02:00
XDGDialog.cpp protocols: refactor class member vars (u-z) (#10282) 2025-05-04 23:39:00 +02:00
XDGDialog.hpp protocols: refactor class member vars (u-z) (#10282) 2025-05-04 23:39:00 +02:00
XDGOutput.cpp xwayland: refactor class member vars (#10312) 2025-05-07 15:21:44 +02:00
XDGOutput.hpp protocols: refactor class member vars (u-z) (#10282) 2025-05-04 23:39:00 +02:00
XDGShell.cpp refactor: Use new hyprutils casts (#11377) 2025-08-14 15:44:56 +01:00
XDGShell.hpp core: use new typed signals from hu (#10853) 2025-07-08 18:56:40 +02:00
XDGTag.cpp protocols: refactor class member vars (u-z) (#10282) 2025-05-04 23:39:00 +02:00
XDGTag.hpp protocols: refactor class member vars (u-z) (#10282) 2025-05-04 23:39:00 +02:00
XWaylandShell.cpp refactor: Use new hyprutils casts (#11377) 2025-08-14 15:44:56 +01:00
XWaylandShell.hpp core: use new typed signals from hu (#10853) 2025-07-08 18:56:40 +02:00
XXColorManagement.cpp refactor: Use new hyprutils casts (#11377) 2025-08-14 15:44:56 +01:00
XXColorManagement.hpp protocols: refactor class member vars (u-z) (#10282) 2025-05-04 23:39:00 +02:00