summaryrefslogtreecommitdiff
path: root/src/protocols/ToplevelExport.cpp
Commit message (Collapse)AuthorAgeFilesLines
* protocols: do not destroy screencopy resources before client request (#9048)outfoxxed2025-01-191-6/+0
|
* core: reserve vector sizes as much as we can (#9118)Tom Englund2025-01-191-0/+2
| | | | | avoid reallocations as much as possible with a few edge cases where the reservation overshoots a tiny bit. but a few bytes of memory short term is better used then the overhead of potential reallocation.
* core: add LIKELY and UNLIKELY macrosvaxerski2025-01-171-15/+14
| | | | helps the compiler optimize
* core: cleanup header includes (#9088)user1111111111111111111111111111111112025-01-171-0/+3
| | | Cleanup some unneeded includes to speed up compilation
* protocols: immediately copy toplevel content when ignoreDamage set (#9049)outfoxxed2025-01-141-2/+7
| | | Also sets m_ignoreDamage, as it wasn't set before.
* protocols: allow hyprland-toplevel-export to capture hidden windows (#9041)outfoxxed2025-01-121-2/+2
|
* protocols: do not capture cursor in toplevel without pointer focus (#9042)outfoxxed2025-01-121-1/+20
|
* core: move parts of the animation system to hyprutils (#8868)Maximilian Seidler2025-01-071-4/+4
| | | | | | | | | | | | | * core: change animation manager to use Hyprutils::Animation * config: move animation config to hyprutils animation tree * use g_pAnimationManager->createAnimation and the new PHLANIMVAR template * core: use CGenericAnimatedVariabled::{enabled,setConfig,getStyle} and adapt callbacks * core: adapt animated variable usage (dereference the shared pointer) * misc: bump CMakeLists to hyprutils 0.3.3
* core: Add clang-tidy (#8664)Vaxry2024-12-071-4/+4
| | | | | This adds a .clang-tidy file for us. It's not a strict requirement to be compliant, but I tuned it to be alright.
* core: move colorspace handling to oklab (#8635)Vaxry2024-12-031-2/+2
| | | | | | | | | | | * Meson: add hyprgraphics * Nix: add hyprgraphics * CI/setup_base: get hyprgraphics-git --------- Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
* renderer: improve api around new framebuffer changesVaxry2024-11-021-1/+1
| | | | ref #8325
* core: move internal structures to monitor pointers (#8266)Vaxry2024-10-271-4/+4
|
* internal: Move CMonitor to SP (#8178)Vaxry2024-10-191-1/+1
| | | | | * move monitors to sp * XD
* screencopy: fix screencopy frames not being cleaned up (#8017)Ikalco2024-10-081-5/+11
| | | | | --------- Co-authored-by: Vaxry <vaxry@vaxry.net>
* misc: constify the remaining for loops (#7534)Tom Englund2024-08-261-3/+3
| | | now we roll loops at blazing constified speed.
* screencopy: fixup 10-bit sharing via shm on nvidiavaxerski2024-08-231-1/+1
|
* protocols: refactor protocol logging to a macro (#7324)Tom Englund2024-08-151-2/+0
| | | | | | this avoids the usage of the unique_ptr PROTO::protocol before it has been constructed incase one wants to log something inside the constructor itself, move the logging to macros and print file:linenumber on ERR,CRIT,WARN and classname on the rest of the levels.
* protocols: move screencopy and toplevel export to hyprwayland-scanner (#7065)Ikalco2024-07-271-271/+229
| | | | | * move screencopy and toplevel export to hyprwayland-scanner * oops
* core: Properly shutdown wl display (#7018)Ikalco2024-07-241-1/+8
| | | | | | | * correctly destroy wayland globals * properly shutdown and cleanup hyprland * appease the nitpick gods and some comments
* debug: get rid of useless 1s in logs (#6969)Ikalco2024-07-221-1/+1
| | | | | * get rid of 1s in logs lol * replace WLR with AQ in logs
* Core: Move to aquamarine (#6608)Vaxry2024-07-211-13/+6
| | | | | | | | | | | | | | 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>
* toplevelexport: fix flipped r/b channels when sharing windows (#6861)David De Sousa2024-07-131-1/+2
| | | fixes #6823
* core: Move to hyprutils for MathVaxry2024-06-191-1/+1
| | | | | | Moves CRegion, CBox and Vector2D over to hyprutils. Requires hyprutils>=0.1.4
* wayland/core: move to new impl (#6268)Vaxry2024-06-081-37/+26
| | | | | * wayland/core/dmabuf: move to new impl it's the final countdown
* toplevelexport: avoid locking software cursors during renderVaxry2024-06-031-5/+5
| | | | | | this may trigger a render begin/end and fuck up the pass fixes #6277
* cursor: move to a hyprland implVaxry2024-05-091-7/+12
| | | | | | | 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-4/+4
| | | | | | | | | | | 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-26/+30
| | | | | | | | | | | | | | | | | * Window storage rework - part 1 * format * remove useless include * fix pch * format * fix crash in dwindle * fix vram leak * prefer .expired() for bool checks
* wlr-foreign-toplevel: move to new implVaxry2024-04-251-6/+2
|
* renderer: block screen shader on screencopyVaxry2024-04-031-0/+2
|
* opengl: minor adjustment to getPreferredReadFormatVaxry2024-03-191-11/+0
| | | | fixes #4791
* animations: Refactor AnimatedVariable (#4911)GartoxFR2024-03-021-4/+4
| | | | | | | | | | | | | | | | | | | | | | | * animation: Refactor AnimatedVariable This commit decomposes the AnimatedVariable class into a base class with the common attribute to all variable types and a templated derived type containing strongly typed info on the type being animated. Access to the typed version is perfomed using the visitor pattern. A utility is provided to build a visitor on the fly using lambdas. Adding a new type to be animated should just be a matter of adding the typed in the list defined by the ANIMABLE_TYPES macro The size of the commit is justified by the API change in the AnimatedVariable class. No more vec(), fl() or col() method but a unified value() method. * animation: Remove visitor pattern * animation: Fix coding style * animation: Fix coding style
* renderer: nuke lastFrameDamage and rework finalDamageVaxry2024-02-231-4/+0
| | | | this fucking SUCKED
* toplevelexport: set last damage for dmabuf copyVaxry2024-02-221-0/+4
|
* screencopy: fix ~dtor being in monitorRenderResources mapVaxry2024-02-151-1/+1
|
* screencopy: attempt binding framebuffer before gathering formatVaxry2024-02-151-0/+12
|
* screencopy/toplevelexport: sanitize pointers in ::copyFrameVaxry2024-02-071-0/+7
| | | | oopsie~~ >///<
* toplevelexport: fix missed pmonitor set for openglVaxry2023-12-151-1/+1
| | | | ref #4165
* toplevelexport: fix missing GL_READ_FRAMEBUFFER set in shm copyVaxry2023-12-151-0/+4
| | | | ref #4165
* toplevel-export: commence render pass before readingVaxry2023-12-071-3/+5
| | | | fixes #4070
* toplevelexport: fix getPreferredReadFormat param in captureToplevelVaxry2023-12-051-1/+1
| | | | fixes #4043
* screencopy: use buffer format for glReadPixelsVaxry2023-12-041-7/+6
| | | | fixes #4029
* opengl: free window framebuffers in ~dtorVaxry2023-12-041-1/+1
| | | | ref #4036
* screencopy: fix detecting gl shm formatsVaxry2023-12-031-4/+12
| | | | ref #4029
* screencopy: fix shm exports with 10-bitVaxry2023-12-011-13/+5
| | | | fixes #4019
* screencopy: use drmFormat instead of wlr funcsVaxry2023-12-011-1/+1
| | | | ref #4014
* screencopy: fix broken shm copyingVaxry2023-11-301-1/+6
| | | | fixes #4001
* screencopy: use new isNvidia() for formatVaxry2023-11-251-1/+1
|
* renderer: Move to a full Hyprland GL rendering pipeline (#3920)Vaxry2023-11-241-46/+16
| | | Also updates wlroots
* screencopy: round boxesVaxry2023-11-081-1/+1
| | | | fixes #3795