summaryrefslogtreecommitdiff
path: root/src/protocols
Commit message (Collapse)AuthorAgeFilesLines
* DMABuffer: reserve vector and avoid UB (#10317)Tom Englund2025-05-071-2/+7
| | | | | | | | | | | actually reserve the vector instead of initializing it with the m_attrs.fd.size() adding 4 invalid fd entries, and later emplace_back the valid ones. sync_merge_data name is defined as char name[32] a fixed size array, and c++ technically doesnt allow assigning string literals directly to array fields in aggregate initializers, it may compile but is technically undefined behaviour or ill formed. zero initalise it and use std::ranges::copy_n instead.
* xwayland: refactor class member vars (#10312)davc0n2025-05-072-5/+5
| | | | | * xwayland: refactor class member vars * xwayland: fix pure wayland build
* render: refactor class member vars (#10292)davc0n2025-05-057-26/+22
| | | | | * render: refactor class member vars * render: fix clang format
* protocols: refactor class member vars (u-z) (#10282)davc0n2025-05-0427-867/+869
| | | | | * protocols: refactor class member vars (u-z) * protocols: fix clang format
* protocols: refactor class member vars (n-t) (#10273)davc0n2025-05-0438-1471/+1467
|
* protocols: refactor class member vars (a-m) (#10265)davc0n2025-05-0445-1474/+1479
|
* protocols: refactor class member vars (types) (#10261)davc0n2025-05-0318-140/+140
|
* protocols: refactor class member vars (core) (#10259)davc0n2025-05-0335-975/+974
|
* managers: refactor class member vars (#10242)davc0n2025-05-0212-79/+79
|
* inputs: refactor class member vars (#10230)davc0n2025-05-011-4/+4
|
* helpers: refactor class member vars (#10218)davc0n2025-04-3018-182/+182
|
* render: properly release rendered buffers (#9807)Ikalco2025-04-305-37/+21
| | | | | | | | | * cleanup eglSync * properly release buffers in renderer * add renderingDoneCallback and use it in screencopy * use static constructor for CEGLSync
* xdg-bell: fix wrong resource castVaxry2025-04-301-7/+7
|
* xdg-bell: avoid crashes on null toplevelVaxry2025-04-301-0/+8
|
* screencopy: don't render cursor when frame doesn't want itVaxry2025-04-291-4/+6
|
* cm: Use precomputed primaries conversion (#9814)UjinT342025-04-293-30/+82
|
* xdg-bell/xdg-tag: fix moved resource usageVaxry2025-04-292-3/+3
|
* devices: refactor class member vars (#10206)davc0n2025-04-293-18/+18
|
* protocols: add support for xdg-system-bell-v1Vaxry2025-04-292-0/+98
|
* windows: refactor class member vars (#10168)davc0n2025-04-287-38/+38
|
* screencopy: support hw cursors while sharing with cursorVaxry2025-04-282-28/+6
|
* workspaces: refactor class member vars (#10167)davc0n2025-04-253-9/+9
|
* protocols: add Hyprland toplevel mapping implementation (#9775)WhySoBad2025-04-245-8/+138
|
* compositor: refactor class member vars (#10141)davc0n2025-04-2221-41/+41
|
* protocols: add xdg_toplevel_tag_v1 supportVaxry2025-04-213-0/+92
| | | | Adds a new windowrule to target windows by xdgTag, xdgtag:
* config: Refactor class member vars (#10124)davc0n2025-04-201-2/+2
| | | | | * Refactor config classes vars * Fix clang format errors
* protocols: ensure PointerConstraints activation occurs only after attched to ↵Bruno Krügel2025-04-191-3/+3
| | | | InputManager (#10096)
* ctm: enable fade animation on nvidia driver versions 575 and above (#10095)fazzi2025-04-181-2/+7
| | | | | * ctm: enable fade animation on nvidia driver versions 575 and above * format if statement without braces; handle potential throw when checking for nvidia version file
* desktop: Damage subsurface when position changes (#10094)Lee Bousfield2025-04-161-1/+3
|
* time: move to stl's clocks and move timerVaxry2025-04-1614-71/+61
|
* core: wait for dmabuf readiness (#9806)Ikalco2025-04-163-9/+84
| | | | | | | | | * add doOnReadable to event loop manager * move syncTimeline addWaiter to doOnReadable * wait on dmabuf buffers to be readable * don't over synchronize in scanout, also give present feedback on same buffer commit
* windowrules: allow incrementing window props (#9566)MightyPlaza2025-04-162-0/+2
|
* compositor/surface: fix surface opaque and input regions not being updated ↵Ikalco2025-04-121-4/+4
| | | | (#10055)
* screencopy: Handle explicit sync failure (#10050)Lee Bousfield2025-04-121-9/+10
|
* core: fix crash in data device on shutdown (#9997)Ikalco2025-04-091-1/+1
|
* Permission Manager: add permission management for screencopy (#9930)Vaxry2025-04-082-32/+81
|
* core: refactor and improve surface commit (#9805)Ikalco2025-04-0713-208/+270
| | | | | | | | | | | | | | | | | | | | | | | * make CHLBufferReference not a SP anymore * copy over release and acquire points in CHLBufferReference * use CHLBufferReference in screencopy and toplevel export TODO: use CHLBufferReference in direct scanout properly the only problem is the scanout buffer release timing, specifically the onBackendRelease mechanism * cleanup SSurfaceState and surface pending commit tracking * move surface code from DRMSyncobj, and move acquire to SSurfaceState * use queue for comitted pending surface states like proto says "The content update is placed in a queue until it becomes active." - wl_surface::commit * drop, not release, prev buffer if 2nd buffer wl_surface.attach is sent "A wl_buffer that has been attached and then replaced by another attach instead of committed will not receive a release event, and is not used by the compositor." - wl_surface::attach
* DataDevice: position icon at cursor hotspot (#9895)nyx2025-04-061-3/+7
| | | | | | * DataDevice: position icon at cursor hotspot ref: https://wayland.app/protocols/wayland#wl_data_device:request:start_drag
* ctm: fix crash when finishing ctm progress with a destroyed monitor (#9835)Maximilian Seidler2025-04-031-1/+2
|
* socket2: add minimized event for foreign-wlrVaxry2025-03-301-0/+25
| | | | ref #995
* protocols: Don't update hdr metadata if image description is unchanged (#9776)Lee Bousfield2025-03-303-3/+9
|
* core: Don't damage the entire surface every frame (#9763)Lee Bousfield2025-03-281-8/+12
| | | | | | | * core: Don't damage the entire surface every frame * core: Damage buffer on dims or transform change * core: Use guards for scale and tr equality checks
* surfacestate: reset buffer bit before applying to currentVaxry2025-03-281-0/+1
| | | | fixes #9759
* internal: fix minor ubsan errors (#9743)Tom Englund2025-03-261-2/+5
| | | | | | | | | | | | | | | | | | | | | * opengl: check if g_pHyprOpengl exist on compositor destruction we can hit a race where a CEGLSync destructs and tries to call eglDestroySyncKHR on a null g_pHyprOpengl. /src/render/OpenGL.cpp:3019:32: runtime error: member access within null pointer of type 'struct CHyprOpenGLImpl' #0 0x555565eed979 in CEGLSync::~CEGLSync() /src/render/OpenGL.cpp:3019 #1 0x555565f6271e in std::default_delete<CEGLSync>::operator()(CEGLSync*) const /usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14/bits/unique_ptr.h:93 * xdgshell: dont apply state on empty states setsize can be called before a state has been added to pending, resulting in calling ApplyState with a empty state. /src/protocols/XDGShell.cpp:323:11: runtime error: null pointer passed as argument 2, which is declared to never be null #0 0x5555659bf67e in CXDGToplevelResource::applyState() /src/protocols/XDGShell.cpp:323 #1 0x5555659bcedc in CXDGToplevelResource::setSize(Hyprutils::Math::Vector2D const&) /src/protocols/XDGShell.cpp: 256 #2 0x555563eed0ef in Events::listener_commitWindow(void*, void*) /src/events/Windows.cpp:841
* surfacestate: track and apply updated stateVaxry2025-03-264-20/+85
| | | | fixes #9729
* seat: avoid sending null surfaces in leave/enter eventsVaxry2025-03-241-5/+5
| | | | ref #9699
* core/Compositor.hpp: fix non-relative Texture import (#9703)entailz2025-03-231-1/+1
|
* core/compositor: Fix dropping cursor buffer data early (#9700)Lee Bousfield2025-03-222-2/+4
|
* core/compositor: Correctly track SHM buffer damage (#9678)Lee Bousfield2025-03-229-66/+85
|
* screencopy, render: Use explicit sync for screencopy (#9697)Lee Bousfield2025-03-223-24/+39
| | | | | | | * screencopy, render: Use explicit sync for screencopy * screencopy: Check if explicit sync is enabled * screencopy: Don't require explicit KMS enabled