summaryrefslogtreecommitdiff
path: root/src/layout/MasterLayout.hpp
Commit message (Collapse)AuthorAgeFilesLines
* layout: rethonk layouts from the ground up (#12890)Vaxry2026-02-211-112/+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.
* masterlayout: add previous mode for focusmaster command (#11361)Maaz Ahmed2025-08-161-0/+2
|
* refactor: Use new hyprutils casts (#11377)Kamikadze2025-08-141-1/+1
|
* layouts: refactor class member vars (#10228)davc0n2025-05-011-3/+3
|
* core,hyprctl: clang, clang-tidy, typo fixes and dtors changes (#9233)Honkazel2025-01-301-1/+0
| | | | | | | * declare dtor once + DMABBUF typo fix * dup include + clang moment * linux-dmabuf: last minute nit change
* core: cleanup header includes (#9088)user1111111111111111111111111111111112025-01-171-1/+1
| | | Cleanup some unneeded includes to speed up compilation
* master: make loop around optional when cycling (#8926)Sergio Miguéns2025-01-041-1/+1
|
* core: drop using deques in favor of vectorsVaxry2024-12-161-1/+1
| | | | No point in most of these.
* 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-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-24/+24
| | | | | | | | | | | | | | | | | * 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.
* master: fix workspace orientation not being restored after workspace rule no ↵thejch2024-04-061-0/+1
| | | | longer applies (#5463)
* 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 master layout window focus and scroll (#5074)thejch2024-03-131-3/+1
| | | | | | | | | | | * fix master switch window scrolling * fix some more dispatchers and remove some duplicate code * refactor and remove duplicate code * fix focusmonitor: https://github.com/hyprwm/Hyprland/issues/5006#issuecomment-1986977255 * change check
* layout: add size prediction for initial xdg commitsvaxerski2024-02-281-0/+1
| | | | fixes #4022
* layout: better storage for no fullscreen checks varvaxerski2023-11-031-5/+8
| | | | fixes #3731
* layout: avoid redundant size sets on new fullscreenVaxry2023-11-011-1/+1
|
* layout: don't discard fullscreen on new tilingvaxerski2023-09-281-2/+3
|
* logging: implement std::formatter for some types (#3380)memchr2023-09-201-4/+19
|
* master: partially revert 0e64dd2e and fix the animation (#3327)Jeremy Huang2023-09-151-0/+2
|
* master: respect the resizing animation option in master layout (#3300)Jeremy Huang2023-09-141-2/+0
|
* layout: add direction parameter to onWindowCreated and friends (#3269)memchr2023-09-131-1/+1
| | | | | | | | | | | | | | | | | | * 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
* master: Add orientationcycle command on MasterLayout (#3128)shadowmax312023-09-041-2/+6
|
* dwindle: add proper movement for window move bindsvaxerski2023-09-041-1/+3
| | | | ditches the "movewindow = swapwindow" mechanism. Fixes #2804
* Dwindle: Make resize more intuitive (#2681)Daniel Adolfsson2023-07-131-3/+2
| | | | | | | | | * improved resize * clang-format * rewrite * almost legacy behavior when using CORNER_NONE
* Added center orientation to master layout (#1642)Marcus Kellerman2023-02-261-1/+2
| | | | | | | * Added center orientation to master layout to improve experience on ultra widescreen monitors. * Added support for orientationcenter layout message for master layout * Added ability to optionally always center master window when in centered master mode.
* Group/Tab Rework (#1580)Vaxry2023-02-191-0/+1
|
* Unbreak build with libc++ (#1457)Jan Beich2023-01-311-2/+2
|
* Add 'exact' option for 'splitratio' (#1245)Julian Schuler2022-12-171-1/+1
| | | | | * Simplify getPlusMinusKeywordResult() * Add an 'exact' option for 'splitratio'
* Added clang format (#1239)Vaxry2022-12-161-37/+38
| | | * clang-format stuff and format files
* Master layout: lose or inherit fullscreen on deliberate window switching (#1213)Maarten van Gompel2022-12-121-0/+2
| | | | | | | | * Master layout: Lose fullscreen status when deliberately switching away from a fullscreen window * Master layout: implemented inherit_fullscreen config parameter When set, if you are on a fullscreen window and you cycle to the next, swap master, etc, it will be automatically fullscreened.
* Implement orientation (placement of master area) for master layout (#1202)Maarten van Gompel2022-12-101-2/+23
| | | | | | | | | * Implemented choosing placement of master area (#1059) This implement a per workspace 'orientation' that can be set to left, right, top or bottom. Reflecting placement of the master area. Left (default) and right are horizontal layouts, top and bottom produce vertical layouts. Orientation can be switched with: 'hyprctl dispatch layoutmsg orientationleft'
* Added resizing individual master windowsvaxerski2022-11-101-0/+2
|
* Added multiple master layoutmsgsvaxerski2022-11-081-0/+1
|
* added swapnext and swapprev for mastervaxerski2022-08-241-0/+1
|
* do not animate mouse resizes in layoutsvaxerski2022-08-031-0/+2
|
* added master layoutvaxerski2022-07-161-0/+54