summaryrefslogtreecommitdiff
path: root/src/render/decorations/DecorationPositioner.cpp
Commit message (Collapse)AuthorAgeFilesLines
* layout: rethonk layouts from the ground up (#12890)Vaxry2026-02-211-2/+2
| | | | | Rewrites layouts to be much smaller, and deal with much less annoying BS. Improves the overall architecture, unifies handling of pseudotiling, and various other improvements.
* decoration: take desiredExtents on all sides into account (#12935)zacoons2026-01-101-15/+15
|
* debug: move to hyprutils' logger (#12673)Vaxry2025-12-181-3/+3
|
* desktop: cleanup, unify desktop elements as views (#12563)Vaxry2025-12-081-1/+1
|
* decoration: reduce virtual callsTom Englund2025-09-281-4/+9
| | | | | | | | this shows up as top contender in idle cpu usage, because decos in animations keeps locking weak pointers to shared pointers per window per frame when its not really needed, use weakpointers all the way and it drops to a bottom contender. marginal gains in the big picture. but gains is gains.
* refactor: Use new hyprutils casts (#11377)Kamikadze2025-08-141-4/+4
|
* refactor: use std::ranges whenever possible (#10584)Kamikadze2025-05-301-9/+7
|
* internal: added error log when getEdgeDefinedPoint is impossible (#10462)zacoons2025-05-181-3/+1
|
* render: refactor class member vars (#10292)davc0n2025-05-051-21/+21
| | | | | * render: refactor class member vars * render: fix clang format
* windows: refactor class member vars (#10168)davc0n2025-04-281-7/+7
|
* decorationPositioner: update posinfo on window updateVaxry2025-04-251-0/+4
| | | | fixes #10175
* core: move all shared_ptrs from the STL to hyprutils (#9143)Vaxry2025-01-231-1/+1
|
* core: reserve vector sizes as much as we can (#9118)Tom Englund2025-01-191-0/+3
| | | | | 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: cleanup header includes (#9088)user1111111111111111111111111111111112025-01-171-1/+3
| | | Cleanup some unneeded includes to speed up compilation
* core: move parts of the animation system to hyprutils (#8868)Maximilian Seidler2025-01-071-3/+3
| | | | | | | | | | | | | * 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-6/+1
| | | | | This adds a .clang-tidy file for us. It's not a strict requirement to be compliant, but I tuned it to be alright.
* internal: few more marginal optimisations from profiling (#8271)Tom Englund2024-10-281-16/+23
| | | | | | | | | | | | | | | | | * deco: reduce local temporars and function calls profiling shows this is a high used function, reduce the amount of function calls and local temporar copies and also check if we even need to add extents at all in the loop. * popup: optimize bfhelper in popups pass nodes as const reference and reserve the size of the children node vector help reduce the reallocations. * procotol: make compositor bfhelper use const ref use const ref for nodes and reserve second nodes vector size to reduce amount of reallocation needed.
* internal: optimize cursor move a bit (#8264)Tom Englund2024-10-271-5/+7
| | | | | | | | | | | | | | | | | | | | | * window: inline and const getWindowMainSurfaceBox getWindowMainSurfaceBox gets called a lot of times from deep down from mousemoveunified, profiling mousemoveunified it spends quite a lot of cpu time in here, let the compiler optimize the call to getWindowMainSurfaceBox by inlining and making it const. reducing the overhead. * inputmgr: return early and use std::any_of return early in mousemoveunified to reduce the amount of unnecessery calls to various pointers when not needed, also make isconstrained use std::any_of instead of for loop to use the STL optimized paths with hopes and dreams marginally faster. * decoration: return early, reduce temporar copy return earlier and reduce the temp copies by using one .lock instead of two
* misc: constify the remaining for loops (#7534)Tom Englund2024-08-261-3/+3
| | | now we roll loops at blazing constified speed.
* core: Move to hyprutils for MathVaxry2024-06-191-15/+15
| | | | | | Moves CRegion, CBox and Vector2D over to hyprutils. Requires hyprutils>=0.1.4
* deco-positioner: avoid infinite recalcsVaxry2024-05-071-2/+4
| | | | fixes #5908
* internal: new shared_ptr and weak_ptr implementation (#5883)Vaxry2024-05-051-5/+10
| | | | | | | | | | | 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.
* layout: Trigger layout recalcuation on deco position/size change (#5821)zakk42232024-05-011-0/+1
| | | | | | | * Trigger layout recalcuation on deco position/size change * Remove now unneeded code * Formatting
* internal: Window storage rework - part 1 (#5762)Vaxry2024-04-271-31/+31
| | | | | | | | | | | | | | | | | * 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-2/+2
|
* animations: Refactor AnimatedVariable (#4911)GartoxFR2024-03-021-2/+2
| | | | | | | | | | | | | | | | | | | | | | | * 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
* groupbar: add enabling groupbar and setting priority (#4299)MightyPlaza2023-12-301-1/+1
|
* deco-positioner: include sticky in sent geometryVaxry2023-12-111-8/+8
|
* internal: Remake borders as window decorations (#4104)Vaxry2023-12-101-13/+20
|
* decorations: recalc layout and positioner on add/removeVaxry2023-11-131-0/+10
|
* deco-positioner: don't remove hidden windows' dataVaxry2023-11-121-3/+3
|
* decoration: add NON_SOLID flag for shadowVaxry2023-11-121-12/+20
| | | | fixes #3841
* decoration-positioner: improve stabilityVaxry2023-11-111-3/+41
|
* decoration-positioner: improve extent handlingVaxry2023-11-111-4/+34
|
* deco-positioner: recalc after uncacheVaxry2023-11-111-0/+3
|
* decorations: Decoration Positioner (#3800)Vaxry2023-11-111-0/+277