summaryrefslogtreecommitdiff
path: root/src/layout/DwindleLayout.hpp
Commit message (Collapse)AuthorAgeFilesLines
* layout: rethonk layouts from the ground up (#12890)Vaxry2026-02-211-110/+0
| | | | | 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: rewrite reserved area handling + improve tests (#12383)Vaxry2025-12-051-19/+21
|
* dwindle: Revert rework split logic to be fully gap-aware (#12047)Vaxry2025-11-181-13/+0
| | | | | | This reverts commit 151b5f69783b111831e8c5dc062904a221799d7b. Fixes #12380
* dwindle: rework split logic to be fully gap-aware (#12047)crossatko2025-10-241-0/+13
|
* refactor: Use new hyprutils casts (#11377)Kamikadze2025-08-141-1/+1
|
* layouts: refactor class member vars (#10228)davc0n2025-05-011-4/+4
|
* internal: remove dead code (#8748)Ikalco2024-12-171-1/+0
|
* core: drop using deques in favor of vectorsVaxry2024-12-161-2/+2
| | | | No point in most of these.
* dwindle: add movetoroot method to layout messages (#7903)Luke Chen2024-09-291-0/+1
|
* internal: introduce new types to avoid unsigned int rollover and signed int ↵Tom Englund2024-08-081-6/+6
| | | | | | | | | | | | | | | | | | | | 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-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* internal: Window storage rework - part 1 (#5762)Vaxry2024-04-271-18/+18
| | | | | | | | | | | | | | | | | * Window storage rework - part 1 * format * remove useless include * fix pch * format * fix crash in dwindle * fix vram leak * prefer .expired() for bool checks
* keybindmgr: add optional `silent` suffix to `movewindow`. (#5597)Maarten de Vries2024-04-171-1/+1
| | | | | | With the `silent` suffix, the focus remains on the current position in the layout or the current monitor, instead of following the moved window. When combined with `movewindow mon:X`, this this allows you to get the same behavior as xmonad's `windowToScreen` command.
* layouts: add missing includeVaxry2024-04-041-0/+1
|
* Workspace/core: Refactor workspace storage (#5380)Vaxry2024-04-021-1/+1
| | | | | * refactor workspaces to use ptrs * clang-format
* layout: improve initial size prediction for floatingVaxry2024-03-291-1/+1
|
* master: fix moving fullscreen workspace and remove duplicate code (#5131)thejch2024-03-171-1/+2
|
* layout: add size prediction for initial xdg commitsvaxerski2024-02-281-0/+1
| | | | fixes #4022
* dwindle: add swapsplit dispatcher (#4702)Niklas Haas2024-02-141-0/+1
| | | | | | This is distinct from `swapwindow` in that it allows swapping the entire tree node with its neighbour. Fixes: https://github.com/hyprwm/Hyprland/issues/4701
* dwindle: fix windows being created at incorrect position when cursor is over ↵rszyma2024-01-261-0/+1
| | | | | | | | | | | reserved area (#4520) * fix: smart_split not working correctly when creating a window with cursor over reserved area * use getClosestNodeOnWorkspace instead of getFirstNodeOnWorkspace when hovering over reserved area * optimize `getClosestNodeOnWorkspace` * remove unused methods
* dwindle: move to CBox for expressing nodesVaxry2023-11-041-5/+4
|
* layout: better storage for no fullscreen checks varvaxerski2023-11-031-0/+2
| | | | fixes #3731
* layout: don't discard fullscreen on new tilingvaxerski2023-09-281-1/+1
|
* logging: implement std::formatter for some types (#3380)memchr2023-09-201-1/+16
|
* layout: add direction parameter to onWindowCreated and friends (#3269)memchr2023-09-131-11/+2
| | | | | | | | | | | | | | | | | | * feat(layout): add direction parameter to onWindowCreated and friends In addition: - Implement directional moveWindowOutOfGroup for `movewindoworgroup` when using dwindle layout. (augmentation of #3006) - Replace `DWindleLayout::OneTimeFocus` with `IHyprLayout::eDirection`. - Slight formatting change (clang-format). * fix: nullptr dereference in dwindle window creation * refactor: generalized eDirection * refactor: eliminate DIRECTION_NONE * Update IHyprLayout.hpp
* dwindle: add proper movement for window move bindsvaxerski2023-09-041-8/+13
| | | | ditches the "movewindow = swapwindow" mechanism. Fixes #2804
* Dwindle: Make resize more intuitive (#2681)Daniel Adolfsson2023-07-131-1/+1
| | | | | | | | | * improved resize * clang-format * rewrite * almost legacy behavior when using CORNER_NONE
* Add split preselection (#2240)Dashie2023-05-061-1/+11
|
* Window resizing for pseudotiled windows (#2140)outfoxxed2023-04-251-6/+14
| | | | | * Window resizing for pseudotiled windows * Use `m_vRealSize` to determine scaled window size
* Group/Tab Rework (#1580)Vaxry2023-02-191-12/+1
|
* Unbreak build with libc++ (#1457)Jan Beich2023-01-311-1/+1
|
* Add 'exact' option for 'splitratio' (#1245)Julian Schuler2022-12-171-2/+2
| | | | | * Simplify getPlusMinusKeywordResult() * Add an 'exact' option for 'splitratio'
* Added clang format (#1239)Vaxry2022-12-161-51/+52
| | | * clang-format stuff and format files
* better dwindle swapping with groupsvaxerski2022-09-201-1/+1
|
* fix no_gaps_when_only with a groupvaxerski2022-09-011-0/+1
|
* fix groups not updating size on head changevaxerski2022-08-131-0/+1
|
* Completely rewrote Dwindle group codevaxerski2022-08-111-4/+6
|
* do not animate mouse resizes in layoutsvaxerski2022-08-031-2/+2
|
* added dwindle:no_gaps_when_onlyvaxerski2022-08-011-0/+2
|
* added master layoutvaxerski2022-07-161-0/+3
|
* refactor a bunch of layout codevaxerski2022-06-301-14/+4
|
* Added fullscreen rulevaxerski2022-06-261-1/+1
|
* Added exact to resizeActive and added moveactivevaxerski2022-06-231-0/+1
|
* Added resizeactivevaxerski2022-06-061-0/+1
|
* Added fullscreen types, maximize and fullvaxerski2022-05-291-1/+2
|
* Added IHyprWindowDecoration and Group Barsvaxerski2022-05-281-1/+4
|
* Added changegroupactive directionvaxerski2022-05-281-1/+1
|
* Added togglesplit dispatchervaxerski2022-05-161-2/+5
|
* added dwindle:preserve_splitvaxerski2022-05-161-0/+2
|
* Added the splitratio dispatchervaxerski2022-04-201-1/+2
|