summaryrefslogtreecommitdiff
path: root/src/layout/DwindleLayout.cpp
Commit message (Collapse)AuthorAgeFilesLines
* animations: Fix incorrect animation when manually moving a window when its ↵thejch2024-03-191-0/+5
| | | | | | | being created (#5141) * fix incorrect rendering when manually moving a window when its being created * add setAnimationsToMove
* master: fix moving fullscreen workspace and remove duplicate code (#5131)thejch2024-03-171-33/+16
|
* dwindle: preserve fs state on switchWindowsVaxry2024-03-101-4/+15
| | | | fixes #2842
* layout: Fix toggling fullscreen special workspace on different monitor (#5000)thejch2024-03-071-0/+21
| | | | | | | * fix toggling fullscreen special ws on different monitor * add for dwindle * fix change regular workspace when special fullscreen
* keybinds: Allow fullscreen/maximize in special workspace (#4921)thejch2024-03-041-3/+4
| | | | | | | | | | | | | | | * allow fullscreen/maximize in special workspace * remove duplicate code * hide top layer * fix special fullscreen deco * edit * fix fade top layer when toggle special * remove double render
* config: improve config value infrastructureVaxry2024-03-031-62/+61
|
* xdg: minor improvements to initial size reportingVaxry2024-03-021-5/+2
| | | | fixes #4918
* animations: Refactor AnimatedVariable (#4911)GartoxFR2024-03-021-8/+8
| | | | | | | | | | | | | | | | | | | | | | | * 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
* layout: add size prediction for initial xdg commitsvaxerski2024-02-281-8/+58
| | | | fixes #4022
* feat: Add css style gaps (#4723)Dashie2024-02-211-6/+8
|
* Migrate the config to hyprlang (#4656)Vaxry2024-02-181-50/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Migrate to hyprlang * pop up errors * fix swapped args * Meson & Nix: build with hyprlang * CI: add hyprlang to setup action * add infra for plugin stuff * fix hyprctl getoption * fix hyprctl getoption with json * format * fix post parse logic * fix autogen config * oops missed exec-once * fmt * fix ws rules * require 0.3.0 for hyprlang * nix: flaek * minor type fixes * fix cfg usages in swipe * use cvarlist for ws rules * fix throw in addPluginConfigVar * Nix: update hyprlang * minor fixes * fix disableLogs * mention hyprlang docs * bump hyprlang dep in cmake * Meson: bump min hyprlang version Nix: update hyprlang * minor fix * Nix: update meson patch --------- Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
* dwindle: add swapsplit dispatcher (#4702)Niklas Haas2024-02-141-0/+16
| | | | | | 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: round wbox before settingvaxerski2024-02-141-5/+10
|
* input: focus window on mouse down on decoration (#4514)MightyPlaza2024-02-041-2/+2
| | | Also unifies vectorToWindow funcs
* dwindle: avoid sending negative sizes to wlrVaxry2024-02-021-4/+4
| | | | fixes #4591
* dwindle: fix windows being created at incorrect position when cursor is over ↵rszyma2024-01-261-31/+52
| | | | | | | | | | | 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
* layout: save float props before setting fs state (#4537)bvr-yr2024-01-261-8/+8
| | | fixes #4388
* layout: update rules before applying fullscreen nodes in layoutsvaxerski2024-01-021-1/+4
|
* internal: Unify input handling on decorations (#4280)dranull2023-12-281-10/+2
| | | | | | | * Unify input handling on decorations * Make input methods private * Optional data
* dwindle: Use window->middle() when cursor is on reserved area (#4253)dranull2023-12-261-7/+8
|
* internal: nuke CWindow::m_bMappedX11Vaxry2023-12-171-1/+1
| | | | it's useless. m_bIsMapped is the same.
* internal: Remake borders as window decorations (#4104)Vaxry2023-12-101-10/+6
|
* decorations: Decoration Positioner (#3800)Vaxry2023-11-111-4/+4
|
* layout: round window boxes after special scale factorVaxry2023-11-051-3/+6
| | | | fixes #3761 again
* layout: fix missed setWindowSize in no_gaps_when_only node applyVaxry2023-11-041-0/+2
| | | | fixes #3758
* dwindle: move to CBox for expressing nodesVaxry2023-11-041-83/+67
|
* Decos: Window decoration flags, shadow improvements (#3739)Vaxry2023-11-041-1/+1
|
* layout: better storage for no fullscreen checks varvaxerski2023-11-031-9/+10
| | | | fixes #3731
* layout: avoid redundant size sets on new fullscreenVaxry2023-11-011-1/+4
|
* internal: create canBeGroupedInto() (#3693)MightyPlaza2023-10-301-9/+2
| | | | | | | modified: src/Window.cpp modified: src/Window.hpp modified: src/layout/DwindleLayout.cpp modified: src/layout/MasterLayout.cpp modified: src/render/decorations/CHyprGroupBarDecoration.cpp
* input: handle mouse on decorations (#3560)MightyPlaza2023-10-291-12/+15
|
* groups: create group and groupbar config sections (#3522)MightyPlaza2023-10-101-1/+1
| | | | | | | | | | | | | | | | | | | | * config: create group section modified: src/Compositor.cpp modified: src/config/ConfigManager.cpp modified: src/layout/DwindleLayout.cpp modified: src/layout/MasterLayout.cpp modified: src/managers/KeybindManager.cpp modified: src/managers/input/InputManager.cpp modified: src/render/decorations/CHyprGroupBarDecoration.cpp * separate group border and groupbar colors modified: src/Compositor.cpp modified: src/config/ConfigManager.cpp modified: src/render/decorations/CHyprGroupBarDecoration.cpp * add new line modified: config/ConfigManager.cpp
* dwindle: Avoid rounding errors in window position (#3524)Michał Lewandowski2023-10-091-9/+8
| | | | | | | * Avoid rounding errors in window position * Fix naming scheme * Fix unwanted window movement
* layout: don't discard fullscreen on new tilingvaxerski2023-09-281-9/+2
|
* windowrules: add rule `group` to map windows grouped (#3279)memchr2023-09-221-4/+13
| | | | | * windows: add rule group to map windows grouped * group rule: use `invade` to force open a window in a locked group
* keybinds: implement pushactivetobottom dispacher (#3217)alaricljs2023-09-211-1/+1
| | | Co-authored-by: Leeman <lstrout@enlj.com>
* logging: implement std::formatter for some types (#3380)memchr2023-09-201-3/+4
|
* dwindle: fix moving windows on specialvaxerski2023-09-141-2/+4
|
* refactor: flatten nesting `if`s in layout window creation method (#3294)memchr2023-09-141-25/+24
|
* dwindle: fix: don't merge groups when moving window (#3302)memchr2023-09-141-2/+2
|
* layout: add direction parameter to onWindowCreated and friends (#3269)memchr2023-09-131-9/+12
| | | | | | | | | | | | | | | | | | * 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
* fix(layout): remove `focusWindow` calls from `onWindowCreatedTiling` (#3233)memchr2023-09-101-1/+0
|
* internal: Formatter rework (#3186)Vaxry2023-09-061-3/+3
|
* dwindle: add proper movement for window move bindsvaxerski2023-09-041-5/+40
| | | | ditches the "movewindow = swapwindow" mechanism. Fixes #2804
* decos: groupbar mouse interaction (#3102)MightyPlaza2023-08-301-16/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * allow groupbar clicking modified: src/Window.cpp modified: src/Window.hpp modified: src/managers/input/InputManager.cpp modified: src/render/decorations/CHyprGroupBarDecoration.cpp modified: src/render/decorations/CHyprGroupBarDecoration.hpp * remove setting pos inside insertWindowToGroup() modified: src/Window.cpp modified: src/layout/DwindleLayout.cpp modified: src/layout/MasterLayout.cpp modified: src/managers/KeybindManager.cpp * add group window by index and group size functions modified: src/Window.cpp modified: src/Window.hpp modified: src/managers/input/InputManager.cpp * allow dragging into groupbar modified: src/Window.cpp modified: src/layout/DwindleLayout.cpp modified: src/layout/MasterLayout.cpp * allow dragging from groupbar modified: src/managers/KeybindManager.cpp * try groupbar clicking before border resize modified: src/managers/input/InputManager.cpp * block grabbing groupbar on floating (crash) remove later when crashing is fixed modified: src/managers/KeybindManager.cpp * remove redundant { } modified: src/layout/DwindleLayout.cpp modified: src/layout/MasterLayout.cpp * implement getWindowDecorationBox() modified: src/Window.cpp modified: src/Window.hpp modified: src/layout/DwindleLayout.cpp modified: src/layout/MasterLayout.cpp modified: src/managers/KeybindManager.cpp modified: src/managers/input/InputManager.cpp modified: src/render/decorations/CHyprDropShadowDecoration.cpp modified: src/render/decorations/CHyprGroupBarDecoration.cpp modified: src/render/decorations/IHyprWindowDecoration.cpp modified: src/render/decorations/IHyprWindowDecoration.hpp * fix crash when moveoutofgroup in floating windows also removes dragging from floating windows limitation modified: src/layout/IHyprLayout.cpp modified: src/managers/KeybindManager.cpp * use CRegion in getWindowDecorationBox() modified: src/helpers/Region.cpp modified: src/helpers/Region.hpp modified: src/layout/DwindleLayout.cpp modified: src/layout/MasterLayout.cpp modified: src/managers/KeybindManager.cpp modified: src/managers/input/InputManager.cpp modified: src/render/decorations/IHyprWindowDecoration.cpp modified: src/render/decorations/IHyprWindowDecoration.hpp * add groupbar scrolling modified: src/config/ConfigManager.cpp modified: src/managers/input/InputManager.cpp * change name to getWindowDecorationRegion() modified: src/layout/DwindleLayout.cpp modified: src/layout/MasterLayout.cpp modified: src/managers/KeybindManager.cpp modified: src/managers/input/InputManager.cpp modified: src/render/decorations/IHyprWindowDecoration.cpp modified: src/render/decorations/IHyprWindowDecoration.hpp * make dragging from group less hacky for floating modified: src/managers/KeybindManager.cpp
* dwindle: use smart on display borders (#2897)MightyPlaza2023-08-211-4/+4
|
* renderer: Border improvements (#2986)MightyPlaza2023-08-171-32/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * simplify getting border size modified: src/Window.cpp modified: src/Window.hpp modified: src/layout/DwindleLayout.cpp modified: src/layout/MasterLayout.cpp modified: src/render/decorations/CHyprGroupBarDecoration.cpp * fix border damage and input box modified: src/Window.cpp modified: src/managers/AnimationManager.cpp * add border size in resize_on_border box modified: src/managers/input/InputManager.cpp * simplify border (fixes possible typo) modified: src/Window.cpp * use updateSpecialRenderData() modified: Window.cpp modified: Window.hpp modified: events/Windows.cpp modified: layout/DwindleLayout.cpp modified: layout/IHyprLayout.cpp modified: layout/MasterLayout.cpp modified: render/Renderer.cpp * update window workspace rule data on reload modified: src/config/ConfigManager.cpp * use rounding() modified: src/Window.cpp
* remove shadow no_gaps_when_only (#2956)MightyPlaza2023-08-121-0/+2
| | | | | | | modified: src/Window.hpp modified: src/config/ConfigManager.cpp modified: src/config/ConfigManager.hpp modified: src/layout/DwindleLayout.cpp modified: src/render/decorations/CHyprDropShadowDecoration.cpp
* dwindle: disallow togglesplit on fullscreenvaxerski2023-08-101-0/+3
|
* layout: no_border_when_only-improvements (#2791)MightyPlaza2023-07-241-11/+16
|