Commit graph

51 commits

Author SHA1 Message Date
Vaxry
bca7804bb6
internal: Window storage rework - part 1 (#5762)
* Window storage rework - part 1

* format

* remove useless include

* fix pch

* format

* fix crash in dwindle

* fix vram leak

* prefer .expired() for bool checks
2024-04-27 12:43:12 +01:00
Maarten de Vries
e57a2d7ec8
keybindmgr: add optional silent suffix to movewindow. (#5597)
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.
2024-04-17 12:04:16 +01:00
9cf563065a layouts: add missing include 2024-04-04 01:10:46 +01:00
Vaxry
ef23ef60c5
Workspace/core: Refactor workspace storage (#5380)
* refactor workspaces to use ptrs

* clang-format
2024-04-02 20:32:39 +01:00
fcd9d77b64 layout: improve initial size prediction for floating 2024-03-29 00:43:50 +00:00
thejch
0387528c56
master: fix moving fullscreen workspace and remove duplicate code (#5131) 2024-03-17 00:15:12 +00:00
f4f3aa2e50 layout: add size prediction for initial xdg commits
fixes #4022
2024-02-28 11:45:43 +00:00
Niklas Haas
d5950f7719
dwindle: add swapsplit dispatcher (#4702)
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
2024-02-14 17:58:28 +00:00
rszyma
12d79d6342
dwindle: fix windows being created at incorrect position when cursor is over 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
2024-01-26 22:30:36 +00:00
931927de29 dwindle: move to CBox for expressing nodes 2023-11-04 21:45:34 +00:00
0f6e530798 layout: better storage for no fullscreen checks var
fixes #3731
2023-11-03 12:19:23 +00:00
vaxerski
1f4eab176e layout: don't discard fullscreen on new tiling 2023-09-28 17:49:40 +01:00
memchr
3785defaf1
logging: implement std::formatter for some types (#3380) 2023-09-20 16:25:03 +01:00
memchr
6b1ac659e0
layout: add direction parameter to onWindowCreated and friends (#3269)
* 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
2023-09-13 11:13:29 +01:00
vaxerski
9f3a64481e dwindle: add proper movement for window move binds
ditches the "movewindow = swapwindow" mechanism. Fixes #2804
2023-09-04 15:34:13 +02:00
Daniel Adolfsson
d3a644d81c
Dwindle: Make resize more intuitive (#2681)
* improved resize

* clang-format

* rewrite

* almost legacy behavior when using CORNER_NONE
2023-07-13 16:52:11 +02:00
Dashie
a8541d5f64
Add split preselection (#2240) 2023-05-06 01:02:18 +01:00
outfoxxed
849d657595
Window resizing for pseudotiled windows (#2140)
* Window resizing for pseudotiled windows

* Use `m_vRealSize` to determine scaled window size
2023-04-25 16:53:18 +01:00
Vaxry
e5a4c0c986
Group/Tab Rework (#1580) 2023-02-19 21:07:32 +00:00
Jan Beich
f90ff8303b
Unbreak build with libc++ (#1457) 2023-01-31 00:03:23 +00:00
Julian Schuler
2daabfa0e9
Add 'exact' option for 'splitratio' (#1245)
* Simplify getPlusMinusKeywordResult()

* Add an 'exact' option for 'splitratio'
2022-12-17 22:37:44 +00:00
Vaxry
98a4fa2b0d
Added clang format (#1239)
* clang-format stuff and format files
2022-12-16 17:17:31 +00:00
7a9423c782 better dwindle swapping with groups 2022-09-20 18:04:39 +01:00
vaxerski
56203b1757 fix no_gaps_when_only with a group 2022-09-01 19:46:38 +02:00
214c2c7b1c fix groups not updating size on head change 2022-08-13 10:08:35 +02:00
c319a2aba9 Completely rewrote Dwindle group code 2022-08-11 19:29:39 +02:00
vaxerski
f36cd350cc do not animate mouse resizes in layouts 2022-08-03 12:27:20 +02:00
vaxerski
f892387b70 added dwindle:no_gaps_when_only 2022-08-01 12:51:52 +02:00
vaxerski
5c836e6460 added master layout 2022-07-16 15:57:31 +02:00
vaxerski
b0cd90a43c refactor a bunch of layout code 2022-06-30 12:09:05 +02:00
vaxerski
78bf88ba60 Added fullscreen rule 2022-06-26 12:12:29 +02:00
vaxerski
31dc70a41a Added exact to resizeActive and added moveactive 2022-06-23 10:14:59 +02:00
vaxerski
663fba76ae Added resizeactive 2022-06-06 19:32:14 +02:00
vaxerski
227cbb0464 Added fullscreen types, maximize and full 2022-05-29 15:45:51 +02:00
vaxerski
bdf1c16195 Added IHyprWindowDecoration and Group Bars 2022-05-28 20:46:20 +02:00
vaxerski
b1b24cb21a Added changegroupactive direction 2022-05-28 19:16:20 +02:00
vaxerski
50f978e518 Added togglesplit dispatcher 2022-05-16 17:37:46 +02:00
vaxerski
e90c1f7022 added dwindle:preserve_split 2022-05-16 17:27:55 +02:00
vaxerski
87b8491294 Added the splitratio dispatcher 2022-04-20 16:53:41 +02:00
vaxerski
418e2d96ae Added the movewindow dispatcher 2022-04-20 16:18:58 +02:00
vaxerski
b6a93b2f03 Added window grouping for dwindle
furthermore, added LayoutRenderHints.
2022-04-12 16:44:18 +02:00
vaxerski
c41c01a7fb Splitratio on dwindle and splitratio mouse controls 2022-04-10 19:31:36 +02:00
vaxerski
462781b16f Added drag to move window 2022-04-03 13:49:21 +02:00
vaxerski
3f99dad7f5 Added pseudotiling 2022-04-02 20:04:32 +02:00
vaxerski
295a0c4a69 Added fullscreen 2022-03-21 19:18:33 +01:00
vaxerski
5644e668ef fix dwindle with workspaces 2022-03-20 16:06:17 +01:00
vaxerski
332fa8a802 XWayland floating 2022-03-20 13:37:07 +01:00
vaxerski
a4b026df2b floating windows support 2022-03-20 11:14:24 +01:00
vaxerski
1a298257c9 fix xwaylabnd too, stuff 2022-03-19 20:56:19 +01:00
vaxerski
cf76b90606 multimon fixes 2022-03-19 20:30:21 +01:00