summaryrefslogtreecommitdiff
path: root/src/desktop/Workspace.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* core: fix on-empty workspace being called too often (#6026)Brenno Lemos2024-05-121-5/+7
|
* internal: new shared_ptr and weak_ptr implementation (#5883)Vaxry2024-05-051-2/+2
| | | | | | | | | | | 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-7/+7
| | | | | | | | | | | | | | | | | * Window storage rework - part 1 * format * remove useless include * fix pch * format * fix crash in dwindle * fix vram leak * prefer .expired() for bool checks
* workspace: Fix duplication of "special:" in special workspace name (#5729)Agent00Ming2024-04-241-1/+1
| | | | | | | | | | | | | | * Fix duplication of "special:" in special workspace name modified: src/desktop/Workspace.cpp * Track default special workspace name as special:special This is to fix the edge cases with the previous commit without breaking user configs. modified: src/helpers/MiscFunctions.cpp --------- Co-authored-by: Agent_00Ming <agent00ming9366@gmail.com>
* workspace: Add fullscreen workspace selector (#5640)thejch2024-04-211-0/+40
| | | | | * add fullscreen selector * use stoi
* workspace: Add 'v' flag for workspace selector that counts only visible ↵zakk42232024-04-191-6/+15
| | | | | | | | | windows (#5628) * Add 'v' flag for workspace selector: counts only visible windows * extra commit because I'm dumb * guard
* workspace: fix workspace name selector returning true early (#5571)thejch2024-04-131-4/+4
|
* workspace: Add count group flag in windowCount workspace selector prop (#5499)Sungyoon Cho2024-04-091-12/+36
| | | | | * Add groupCount workspace selector prop * Intergrate groupCount with windowCount
* workspace: fix crash on destruction of compositor (#5495)Tom Englund2024-04-081-5/+9
| | | | | when the compositor destructs because of exiting hyprland the hookmanager and eventmanager is already destroyed, add an if check in the destructor of workspace so it doesnt segfault on exit.
* workspacerules: add back on-created-empty functionality (#5452)staz2024-04-061-0/+3
| | | | | | | | | | | | | | | * workspacerules: add back on-created-empty functionality * clang format * workspacerules: spawn on-created-empty window while initializing CWorkspace * clang format * configManager: fix typo --------- Co-authored-by: Your Name <you@example.com>
* core: simplify sanityCheckWorkspacesVaxry2024-04-051-0/+3
|
* workspace: remove monitor and visible flags on inertVaxry2024-04-051-2/+4
|
* workspacerules: fix workspace rule loops (#5433)thejch2024-04-051-5/+3
|
* workspaces: add visible flagVaxry2024-04-031-7/+0
|
* workspace: fix special unnamed workspace rules (#5390)MightyPlaza2024-04-021-1/+1
| | | modified: src/desktop/Workspace.cpp
* Workspace/core: Refactor workspace storage (#5380)Vaxry2024-04-021-7/+29
| | | | | * refactor workspaces to use ptrs * clang-format
* workspace: remove lastFocusedWindow on unmapVaxry2024-04-021-0/+9
|
* renderer/animations: Fix various inaccurate damage tracking issues and ↵thejch2024-03-311-0/+10
| | | | offsets (#5297)
* core: match all workspace rules instead of the first one only (#5340)thejch2024-03-311-3/+5
|
* animvar: fixup update callbacks and cleanupVaxry2024-03-291-5/+3
|
* workspace: fix selectors with special:Vaxry2024-03-201-0/+2
| | | | fixes #5187
* workspace: fix integer overflow in selector parser (#5177)thejch2024-03-201-2/+2
|
* config/workspace: added workspace selectorsVaxry2024-03-191-0/+202
|
* socket2: Add 5 IPC event with support for workspace ID (#5022)Aaron2024-03-081-1/+4
| | | | | | | | | | | - `moveworkspacev2`: returns workspaceID,workspaceName,monitorName - `movewindowv2`: returns windowAddress,workspaceID,workspaceName - `createWorkspacev2`: returns workspaceID,workspaceName - `destroyWorkspacev2`: returns workspaceID,workspaceName - `workspacev2`: returns workspaceID,workspaceName - Include workspaceID as a parameter in CWorkspace constructor to support `createWorkspacev2`. Resolves #4929
* config: improve config value infrastructureVaxry2024-03-031-4/+5
|
* 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
* refactor: move a few things to desktop/Vaxry2024-02-291-0/+180