summaryrefslogtreecommitdiff
path: root/src/protocols/Screencopy.hpp
Commit message (Collapse)AuthorAgeFilesLines
* screenshare: improve destroy logic of objects (#13554)Ikalco2026-03-051-5/+1
|
* protocols: implement image-capture-source-v1 and image-copy-capture-v1 (#11709)Ikalco2026-02-221-61/+25
| | | Implements the new screencopy protocols
* screencopy: add force 8 bit to fix 10b screensharing (#11623)Vaxry2025-09-081-0/+2
| | | ref https://github.com/hyprwm/xdg-desktop-portal-hyprland/issues/270
* screencopy: un-hdr screencopy buffers for cm-unaware clients (#11294)Vaxry2025-07-311-0/+1
|
* screencopy: store a fb before permission popup if the permission is pending ↵Vaxry2025-05-171-4/+10
| | | | | (#10455) stops rendering the permission popup on stuff like grim when it asks
* protocols: refactor class member vars (n-t) (#10273)davc0n2025-05-041-25/+24
|
* screencopy: support hw cursors while sharing with cursorVaxry2025-04-281-3/+0
|
* time: move to stl's clocks and move timerVaxry2025-04-161-2/+3
|
* core: refactor and improve surface commit (#9805)Ikalco2025-04-071-2/+2
| | | | | | | | | | | | | | | | | | | | | | | * 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
* screencopy, render: Use explicit sync for screencopy (#9697)Lee Bousfield2025-03-221-1/+1
| | | | | | | * screencopy, render: Use explicit sync for screencopy * screencopy: Check if explicit sync is enabled * screencopy: Don't require explicit KMS enabled
* internal: Move CMonitor to SP (#8178)Vaxry2024-10-191-3/+3
| | | | | * move monitors to sp * XD
* screencopy: fix screencopy frames not being cleaned up (#8017)Ikalco2024-10-081-2/+2
| | | | | --------- Co-authored-by: Vaxry <vaxry@vaxry.net>
* protocols: move screencopy and toplevel export to hyprwayland-scanner (#7065)Ikalco2024-07-271-61/+67
| | | | | * move screencopy and toplevel export to hyprwayland-scanner * oops
* core: Properly shutdown wl display (#7018)Ikalco2024-07-241-10/+11
| | | | | | | * correctly destroy wayland globals * properly shutdown and cleanup hyprland * appease the nitpick gods and some comments
* Core: Move to aquamarine (#6608)Vaxry2024-07-211-4/+5
| | | | | | | | | | | | | | Moves Hyprland from wlroots to aquamarine for the backend. --------- Signed-off-by: Vaxry <vaxry@vaxry.net> Co-authored-by: Mihai Fufezan <mihai@fufexan.net> Co-authored-by: Jan Beich <jbeich@FreeBSD.org> Co-authored-by: vaxerski <vaxerski@users.noreply.github.com> Co-authored-by: UjinT34 <41110182+UjinT34@users.noreply.github.com> Co-authored-by: Tom Englund <tomenglund26@gmail.com> Co-authored-by: Ikalco <73481042+ikalco@users.noreply.github.com> Co-authored-by: diniamo <diniamo53@gmail.com>
* wayland/core: move to new impl (#6268)Vaxry2024-06-081-2/+3
| | | | | * wayland/core/dmabuf: move to new impl it's the final countdown
* screencopy: don't spam sw cursor locksVaxry2024-05-111-0/+4
|
* cursor: move to a hyprland implVaxry2024-05-091-2/+3
| | | | | | | This moves wlr_cursor to a completely new impl mostly under CPointerManager Also adds beginSimple to OpenGL for simple render passes (e.g. cursor)
* internal: new shared_ptr and weak_ptr implementation (#5883)Vaxry2024-05-051-11/+11
| | | | | | | | | | | moves std::shared_ptrs to a new implementation Advantages: - you can dereference a weak_ptr directly. This will obviously segfault on a nullptr deref if it's expired. - this is useful to avoid the .lock() hell where we are 100% sure the pointer _should_ be valid. (and if it isn't, it should throw.) - weak_ptrs are still valid while the SP is being destroyed. - reasoning: while an object (e.g. CWindow) is being destroyed, its `weak_ptr self` should be accessible (the sp is still alive, and so is CWindow), but it's not because by stl it's already expired (to prevent resurrection) - this impl solves it differently. w_p is expired, but can still be dereferenced and used. Creating `s_p`s is not possible anymore, though. - this is useful in destructors and callbacks.
* internal: Window storage rework - part 1 (#5762)Vaxry2024-04-271-1/+1
| | | | | | | | | | | | | | | | | * Window storage rework - part 1 * format * remove useless include * fix pch * format * fix crash in dwindle * fix vram leak * prefer .expired() for bool checks
* HookSystem: improve callback safetyVaxry2024-04-201-11/+11
|
* style/ci: apply clang-format and verify it in ci (#4039)François Conzelmann2023-12-061-2/+1
| | | | | * style: apply clang-format * ci: add new clang-format job to CI
* Internal: Hyprland box implementation (#3755)Vaxry2023-11-041-2/+2
| | | | | | | * box impl * remove unused operators * missed applyfromwlr
* screencopy: improve shm handlingvaxerski2023-07-191-2/+1
|
* Revert "internal: include headers from protocols/"vaxerski2023-04-271-1/+1
| | | | | | This reverts commit 550700bed01c114b2a200ab177ed4bc295a2c7dd. We can't cuz meson
* internal: include headers from protocols/vaxerski2023-04-271-1/+1
|
* screencopy: improve consistency of share indicatorvaxerski2023-04-171-10/+14
|
* Screencopy: unify frame and client between impls + eventvaxerski2023-04-151-7/+29
| | | | Adds a new event to both hooks and ipc: screencopy
* screencopy: implement dmabufvaxerski2023-04-121-0/+4
|
* Hyprland Screencopy impl (#1800)Vaxry2023-04-031-0/+71
--------- Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>