summaryrefslogtreecommitdiff
path: root/src/desktop/Workspace.hpp
Commit message (Collapse)AuthorAgeFilesLines
* layout/scrolling: handle fullscreen manually (#14190)Vaxry2026-05-071-0/+1
| | | Makes scroll handle fullscreen by itself, allowing for fs scrolls.
* windows/focus: add fallbacks when focussing workspaces (#14270)fazzi2026-05-041-0/+1
|
* workspace: remove deprecated and unused members (#14198)ImperishableSecret2026-04-281-6/+0
| | | Clean up CWorkspace by removing deprecated m_defaultFloating, m_defaultPseudo, and unused m_wlrCoordinateArr
* config/workspacerule: add animation style (#13380)ItsOhen2026-03-131-3/+4
|
* event: refactor HookSystem into a typed event bus (#13333)Vaxry2026-02-221-5/+5
| | | | | Refactors the old HookSystem into a typed event bus with clear separation, discovery and types.
* layout: rethonk layouts from the ground up (#12890)Vaxry2026-02-211-1/+7
| | | | | 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.
* Desktop/history: Move history to desktop (#12676)Vaxry2025-12-201-27/+22
|
* desktop: cleanup, unify desktop elements as views (#12563)Vaxry2025-12-081-2/+0
|
* input: Add fully configurable trackpad gestures (#11490)Vaxry2025-08-281-1/+0
| | | Adds configurable trackpad gestures
* core: fix workspace persistence tracking (#11239)Vaxry2025-07-271-2/+5
|
* core: use new typed signals from hu (#10853)outfoxxed2025-07-081-4/+4
|
* protocols: add ext-workspace implementation (#10818)outfoxxed2025-06-261-3/+10
|
* desktop: cleanup code and use std::ranges (#10289)s1dd2025-05-081-1/+0
|
* workspaces: refactor class member vars (#10167)davc0n2025-04-251-20/+20
|
* desktop: add ability to target pinned windows in workspace rules (#9344)Paul Cross2025-02-081-2/+2
| | | | | | | * desktop: add ability to target pinned windows in workspace rules * desktop: add ability to target pinned windows in workspace rules * fix formating
* keybinds: fix previous_per_monitor logic (#9010)Alexander2025-01-111-11/+11
| | | Co-authored-by: Крылов Александр <aleksandr.krylov@hyperus.team>
* 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: workspace-related function cleanup / refactorVaxry2024-11-221-7/+13
| | | | CCompositor is massive, and has a lot of functions that could be better optimized if in CWorkspace
* core: move internal structures to monitor pointers (#8266)Vaxry2024-10-271-5/+6
|
* misc: Rename all instances of "emtpy" to "empty" (#7522)Adithya Ajith2024-08-261-2/+2
|
* internal: introduce new types to avoid unsigned int rollover and signed int ↵Tom Englund2024-08-081-5/+5
| | | | | | | | | | | | | | | | | | | | overflow (#7216) * framebuffer: avoid gluint overflow GLuint was being initialized to -1 and rolling over to unsigned int max, its defined behaviour but very unnecessery. add a bool and use it for checking if allocated or not. * opengl: avoid gluint rollover -1 rolls over to unsigned int max, use 0xFF instead. * core: big uint64_t to int type conversion there were a few uint64_t to int implicit conversions overflowing int and causing UB, make all monitor/workspaces/windows use the new typedefs. also fix the various related 64 to 32 implicit conversions going around found with -Wshorten-64-to-32
* internal: refactor fullscreen states (#7104)MightyPlaza2024-07-311-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * refactor fullscreen modified: src/Compositor.cpp modified: src/Compositor.hpp modified: src/config/ConfigManager.cpp modified: src/config/ConfigManager.hpp modified: src/debug/HyprCtl.cpp modified: src/desktop/LayerSurface.cpp modified: src/desktop/Window.cpp modified: src/desktop/Window.hpp modified: src/desktop/Workspace.cpp modified: src/desktop/Workspace.hpp modified: src/events/Windows.cpp modified: src/helpers/Monitor.cpp modified: src/layout/DwindleLayout.cpp modified: src/layout/DwindleLayout.hpp modified: src/layout/IHyprLayout.cpp modified: src/layout/IHyprLayout.hpp modified: src/layout/MasterLayout.cpp modified: src/layout/MasterLayout.hpp modified: src/managers/KeybindManager.cpp modified: src/managers/KeybindManager.hpp modified: src/managers/input/IdleInhibitor.cpp modified: src/managers/input/InputManager.cpp modified: src/managers/input/Swipe.cpp modified: src/protocols/ForeignToplevelWlr.cpp modified: src/render/Renderer.cpp modified: src/render/decorations/CHyprGroupBarDecoration.cpp * clean up modified: src/config/ConfigManager.cpp modified: src/debug/HyprCtl.cpp modified: src/desktop/Window.hpp modified: src/desktop/Workspace.cpp modified: src/events/Windows.cpp modified: src/managers/KeybindManager.cpp modified: src/managers/input/Swipe.cpp * fix mapWindow fullscreen modified: src/events/Windows.cpp * fix typo modified: src/desktop/Workspace.cpp * add fullscreenstate modified: src/config/ConfigManager.cpp modified: src/events/Windows.cpp * change syncFullscreen to lower modified: src/config/ConfigManager.hpp * initialize fs state modified: src/desktop/Window.hpp
* Workspace.hpp: fix includeMihai Fufezan2024-06-231-1/+1
|
* core: add ability to select previous workspace per monitor (#6598)Alexander2024-06-221-17/+17
| | | Co-authored-by: Крылов Александр <aleksandr.krylov@hyperus.team>
* core: fix on-empty workspace being called too often (#6026)Brenno Lemos2024-05-121-2/+4
|
* 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-2/+2
| | | | | | | | | | | | | | | | | * 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-4/+4
|
* workspacerules: add back on-created-empty functionality (#5452)staz2024-04-061-4/+1
| | | | | | | | | | | | | | | * 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/+2
|
* workspaces: add visible flagVaxry2024-04-031-0/+3
|
* Workspace/core: Refactor workspace storage (#5380)Vaxry2024-04-021-3/+22
| | | | | * refactor workspaces to use ptrs * clang-format
* workspace: remove lastFocusedWindow on unmapVaxry2024-04-021-0/+3
|
* config/workspace: added workspace selectorsVaxry2024-03-191-0/+2
|
* socket2: Add 5 IPC event with support for workspace ID (#5022)Aaron2024-03-081-1/+1
| | | | | | | | | | | - `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
* animations: Refactor AnimatedVariable (#4911)GartoxFR2024-03-021-3/+3
| | | | | | | | | | | | | | | | | | | | | | | * 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/+67