summaryrefslogtreecommitdiff
path: root/src/layout/IHyprLayout.hpp
Commit message (Collapse)AuthorAgeFilesLines
* desktop: cleanup, unify desktop elements as views (#12563)Vaxry2025-12-081-1/+0
|
* desktop: rewrite reserved area handling + improve tests (#12383)Vaxry2025-12-051-0/+6
|
* layout: fit floating window on toggle to float (#12139)Vaxry2025-10-291-0/+5
|
* input: Add fully configurable trackpad gestures (#11490)Vaxry2025-08-281-0/+8
| | | Adds configurable trackpad gestures
* snap: fix `border_overlap` option for monitor snapping (#10987)Mike Will2025-07-151-0/+6
|
* layouts: refactor class member vars (#10228)davc0n2025-05-011-9/+9
|
* binds: add drag_threshold for click/drag isolation (#9839)alaricljs2025-04-121-0/+7
| | | | | --------- Co-authored-by: Leeman <lstrout@enlj.com>
* core,hyprctl: clang, clang-tidy, typo fixes and dtors changes (#9233)Honkazel2025-01-301-1/+1
| | | | | | | * declare dtor once + DMABBUF typo fix * dup include + clang moment * linux-dmabuf: last minute nit change
* internal: Make static analysis more happy (#8767)Ikalco2024-12-191-1/+1
| | | | | | | | | * make functions used in 1 file static * fix invalid substr param -1 * give default initializer to borderGradier * move RASSERT from printf to std::print
* core: Add clang-tidy (#8664)Vaxry2024-12-071-3/+3
| | | | | This adds a .clang-tidy file for us. It's not a strict requirement to be compliant, but I tuned it to be alright.
* input: add snapping to floating windows (#8088)Mike Will2024-10-211-5/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * add snapping to floating windows Works for both moving and resizing of windows. It comes with 3 options: `general:snap:enabled` - whether it's enabled, off by default `general:snap:window_gap` - minimum gap in pixels between windows before snapping. Setting to 0 effectively turns off this method of snapping. `general:snap:monitor_gap` - minimum gap in pixels between window and monitor edges before snapping. Again, setting it to 0 effectively turns it off. * snap: add more ignore criteria and change if clause into a guard * snap: refactor code * snap: new refactoring approach and account for border size * snap: do corner snapping after all edge snapping is done The approach of performing corner snaps after each individual edge snap results in far fewer scenarios where snapping can occur. After trying it out for a while, I found that I prefer an approach that's more prone to snapping. * snap: combine snapWindows and snapMonitor into a single function * snap: add forced aspect ratio functionality * snap: avoid directly referring to border_size config value * snap: address vaxerski feedback - add new line between functions - use std::function typedef for SnapFn and make snap functions static - avoid uninitialized variable declarations. - change ignore condition m_bIsX11 to isX11OverrideRedirect() - use braces for CBox and Vector2D declarations. - add SNAP_INVALID to eSnapEdge enum - use bitshift notation for eSnapEdge and eRectCorner - make performSnap a non-member function. * snap: add corner-snapping to forced aspect ratio mode
* layout: add auto_group to control default grouping (#7883)Aqa-Ib2024-10-021-0/+1
|
* internal: introduce new types to avoid unsigned int rollover and signed int ↵Tom Englund2024-08-081-1/+1
| | | | | | | | | | | | | | | | | | | | 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-34/+34
| | | | | | | | | | | | | | | | | * 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.
* layout: improve initial size prediction for floatingVaxry2024-03-291-1/+7
|
* build: fix builds without pch (#5198)Brett Alcox2024-03-211-0/+1
|
* refactor: move window.hpp to desktop/Vaxry2024-03-201-1/+2
|
* input: fix window move stutter by introducing additional checks for low-hz ↵bvr-yr2024-03-061-0/+1
| | | | | | | | | | | monitors (#4553) * resize-limiter: add additional check for low-hz monitors * simplify checker * add comment * rename variable
* layout: add size prediction for initial xdg commitsvaxerski2024-02-281-0/+6
| | | | fixes #4022
* style/ci: apply clang-format and verify it in ci (#4039)François Conzelmann2023-12-061-4/+2
| | | | | * style: apply clang-format * ci: add new clang-format job to CI
* layout: don't discard fullscreen on new tilingvaxerski2023-09-281-4/+6
|
* layout: add direction parameter to onWindowCreated and friends (#3269)memchr2023-09-131-4/+11
| | | | | | | | | | | | | | | | | | * 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
* layout: Allow the layout to control how windows are raised in groups (#3275)outfoxxed2023-09-121-1/+13
| | | | | | | | | | | | * Allow the layout to control how windows are raised in groups Previously windows could only be focused if they weren't hidden or were part of a group. This shifts the logic for picking the window out of a group to the layout allowing for alternate group implementations to function normally. * Fix doc comment consistency * Fix tabs in comments
* dwindle: add proper movement for window move bindsvaxerski2023-09-041-1/+8
| | | | ditches the "movewindow = swapwindow" mechanism. Fixes #2804
* internal: cleanup headers in helpers/vaxerski2023-08-071-1/+1
|
* Add bringWindowToTop function to IHyprLayout (#2747)outfoxxed2023-07-191-0/+7
| | | | | | | * Add bringWindowToTop function to IHyprLayout * Rename `bringWindowToTop` to `requestFocusForWindow` * Fix doc
* Dwindle: Make resize more intuitive (#2681)Daniel Adolfsson2023-07-131-5/+5
| | | | | | | | | * improved resize * clang-format * rewrite * almost legacy behavior when using CORNER_NONE
* layout: don't reset to floating size on drag tiledvaxerski2023-05-291-0/+1
|
* Group/Tab Rework (#1580)Vaxry2023-02-191-0/+5
|
* properly clamp size in dragging floating cornersvaxerski2023-02-121-6/+14
|
* support gradients in dwindle group colorsvaxerski2022-12-311-27/+27
|
* 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-36/+37
| | | * clang-format stuff and format files
* Fix a compiler warning (#1124)Eric_Luo2022-11-281-0/+1
| | | Co-authored-by: hnboy <hnboy@users.noreply.github.com>
* Rework candidate finding on close windowvaxerski2022-10-241-0/+12
|
* anchor to proper quad in floating resizevaxerski2022-10-031-0/+1
|
* Remove trailing whitespace.Felix Dick2022-09-251-5/+5
|
* added master layoutvaxerski2022-07-161-0/+2
|
* refactor a bunch of layout codevaxerski2022-06-301-13/+23
|
* Added fullscreen rulevaxerski2022-06-261-1/+1
|
* Added exact to resizeActive and added moveactivevaxerski2022-06-231-0/+6
|
* Added resizeactivevaxerski2022-06-061-0/+6
|
* Added fullscreen types, maximize and fullvaxerski2022-05-291-2/+4
|
* Added IHyprWindowDecoration and Group Barsvaxerski2022-05-281-2/+8
|
* Added togglesplit dispatchervaxerski2022-05-161-9/+7
|
* Added animation style and style slidevaxerski2022-05-141-0/+2
|
* Added the splitratio dispatchervaxerski2022-04-201-0/+6
|
* Added the movewindow dispatchervaxerski2022-04-201-0/+6
|