summaryrefslogtreecommitdiff
path: root/src/desktop/Workspace.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Desktop/history: Move history to desktop (#12676)Vaxry2025-12-201-22/+0
|
* debug: move to hyprutils' logger (#12673)Vaxry2025-12-181-20/+20
|
* windowrules: rewrite completely (#12269)Vaxry2025-11-171-1/+1
| | | | | | | Reworks the window rule syntax completely --------- Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
* config/rule: don't populate ID field for automatically id-managed workspacesVaxry2025-10-271-1/+1
|
* input: Add fully configurable trackpad gestures (#11490)Vaxry2025-08-281-114/+1
| | | Adds configurable trackpad gestures
* refactor: Use new hyprutils casts (#11377)Kamikadze2025-08-141-5/+5
|
* core: fix workspace persistence tracking (#11239)Vaxry2025-07-271-2/+18
|
* core: move workspace ptrs to weak (#11194)Vaxry2025-07-241-0/+1
| | | | Fixes some race conditions that come up in tests. We only clean up workspaces when we render a frame. With this, they are always cleared instantly.
* core: use new typed signals from hu (#10853)outfoxxed2025-07-081-1/+1
|
* protocols: add ext-workspace implementation (#10818)outfoxxed2025-06-261-8/+3
|
* desktop: cleanup code and use std::ranges (#10289)s1dd2025-05-081-12/+7
|
* helpers: refactor class member vars (#10218)davc0n2025-04-301-11/+11
|
* windows: refactor class member vars (#10168)davc0n2025-04-281-16/+16
|
* workspaces: refactor class member vars (#10167)davc0n2025-04-251-119/+119
|
* compositor: refactor class member vars (#10141)davc0n2025-04-221-12/+12
|
* workspaces: update persistence on workspace rename (#9368)Roberto Previdi2025-02-151-0/+6
|
* desktop: add ability to target pinned windows in workspace rules (#9344)Paul Cross2025-02-081-4/+17
| | | | | | | * desktop: add ability to target pinned windows in workspace rules * desktop: add ability to target pinned windows in workspace rules * fix formating
* window: move size reporting to animation begin callback (#9298)Maximilian Seidler2025-02-061-1/+1
| | | | | | | | | | | | | | | | | * window: fix resizes with an update callback * window: fixup sendWindowSize Remove the size argument from sendWindowSize, since it is now a member of the Window class and we don't want any mismatches between m_vRealSize and what we report. Remove sendWindowSize from mapWindow, since we shouldn't need it. * window: sendWindowSize on animation begin * window: move most calls to sendWindowSize to the animation begin callback * window: remove sendWindowSize in unmanaged if not fullscreen
* core: move sendWindowSize off of xwaylandmgrVaxry2025-01-251-1/+1
| | | | additionally fixes that one weird x11 issue with floating windows being mis-sized on open
* core: cleanup header includes (#9088)user1111111111111111111111111111111112025-01-171-0/+2
| | | Cleanup some unneeded includes to speed up compilation
* keybinds: fix previous_per_monitor logic (#9010)Alexander2025-01-111-8/+2
| | | Co-authored-by: Крылов Александр <aleksandr.krylov@hyperus.team>
* core: minor fixes for animation rewritevaxerski2025-01-071-1/+1
|
* core: move parts of the animation system to hyprutils (#8868)Maximilian Seidler2025-01-071-52/+47
| | | | | | | | | | | | | * 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
* workspace: update hasFullscreenWindow in updateWindowsVaxry2024-12-111-0/+2
|
* core: Fix workspace selector parsing (#8687)Alexander Iliev2024-12-101-3/+3
| | | | | Search for the closing bracket when parsing a workspace selector. This is needed when the `m[desc:<monitor description>]` selector is used, as the monitor description always contains spaces.
* core: Add clang-tidy (#8664)Vaxry2024-12-071-9/+6
| | | | | 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: workspace-related function cleanup / refactorVaxry2024-11-221-8/+141
| | | | CCompositor is massive, and has a lot of functions that could be better optimized if in CWorkspace
* internal: fix some misused configStringToInt conversionsVaxry2024-11-201-2/+2
| | | | fixes #8523
* core: move internal structures to monitor pointers (#8266)Vaxry2024-10-271-13/+17
|
* workspacerules: fix on-created-empty window focus (#7657)Sungyoon Cho2024-09-061-1/+1
|
* misc: constify the remaining for loops (#7534)Tom Englund2024-08-261-2/+2
| | | now we roll loops at blazing constified speed.
* misc: Rename all instances of "emtpy" to "empty" (#7522)Adithya Ajith2024-08-261-5/+5
|
* animations: add workspace in/out configsvaxerski2024-08-211-2/+10
|
* internal: introduce new types to avoid unsigned int rollover and signed int ↵Tom Englund2024-08-081-7/+7
| | | | | | | | | | | | | | | | | | | | 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-7/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* core: add ability to select previous workspace per monitor (#6598)Alexander2024-06-221-5/+15
| | | Co-authored-by: Крылов Александр <aleksandr.krylov@hyperus.team>
* core: Move to hyprutils for MathVaxry2024-06-191-8/+8
| | | | | | Moves CRegion, CBox and Vector2D over to hyprutils. Requires hyprutils>=0.1.4
* core: move to hyprutils for utils (#6385)Vaxry2024-06-111-1/+4
| | | | | | | | | | | | | * core: move to hyprutils for utils Nix: add hyprutils dep * Meson: add hyprutils dep * flake.lock: update --------- Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
* 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
|