| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| |
|
| |
Implements the new screencopy protocols
|
| |
|
| |
ref https://github.com/hyprwm/xdg-desktop-portal-hyprland/issues/270
|
| | |
|
| |
|
|
|
| |
(#10455)
stops rendering the permission popup on stuff like grim when it asks
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
* screencopy: Check if explicit sync is enabled
* screencopy: Don't require explicit KMS enabled
|
| |
|
|
|
| |
* move monitors to sp
* XD
|
| |
|
|
|
| |
---------
Co-authored-by: Vaxry <vaxry@vaxry.net>
|
| |
|
|
|
| |
* move screencopy and toplevel export to hyprwayland-scanner
* oops
|
| |
|
|
|
|
|
| |
* correctly destroy wayland globals
* properly shutdown and cleanup hyprland
* appease the nitpick gods and some comments
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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/dmabuf: move to new impl
it's the final countdown
|
| | |
|
| |
|
|
|
|
|
| |
This moves wlr_cursor to a completely new impl mostly under
CPointerManager
Also adds beginSimple to OpenGL for simple render passes (e.g. cursor)
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Window storage rework - part 1
* format
* remove useless include
* fix pch
* format
* fix crash in dwindle
* fix vram leak
* prefer .expired() for bool checks
|
| | |
|
| |
|
|
|
| |
* style: apply clang-format
* ci: add new clang-format job to CI
|
| |
|
|
|
|
|
| |
* box impl
* remove unused operators
* missed applyfromwlr
|
| | |
|
| |
|
|
|
|
| |
This reverts commit 550700bed01c114b2a200ab177ed4bc295a2c7dd.
We can't cuz meson
|
| | |
|
| | |
|
| |
|
|
| |
Adds a new event to both hooks and ipc: screencopy
|
| | |
|
|
|
---------
Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
|