Commit Graph

222 Commits

Author SHA1 Message Date
Ivan Molodetskikh 05613eed1e Verify that pending fullscreen matches column 2024-02-03 09:44:34 +04:00
Ivan Molodetskikh 69907f123d Add live-reload of output scales 2024-01-16 11:34:34 +04:00
Ivan Molodetskikh fc5a080ca5 layout: Fix surface leaving output when consuming into column 2024-01-16 09:46:02 +04:00
Ivan Molodetskikh cc4acdf24a Add move-column-to-workspace* binds
As opposed to move-window-to-workspace*
2024-01-15 10:31:44 +04:00
Thomas Versteeg fb93038bd8 Add center-focused-column setting 2024-01-08 17:37:18 +04:00
Ivan Molodetskikh 64c41fa2c8 Move config into a separate crate
Get miette and knuffel deps contained within.
2024-01-07 09:28:14 +04:00
Ivan Molodetskikh e005a795e7 layout: Make generic over Renderer 2024-01-01 17:31:58 +04:00
Ivan Molodetskikh 6ccc4147ae Use remove/insert for columns instead of swapping
Now with move-to-first/last this is relevant.
2023-12-29 16:58:18 +04:00
Ivan Molodetskikh 56174b2c34 Add move-column-to-{first,last} 2023-12-29 08:01:02 +04:00
Ivan Molodetskikh 310aa2b464 layout: Extract move_column_to() 2023-12-29 08:00:40 +04:00
Ivan Molodetskikh d6c553091f Add focus-column-{first,last} 2023-12-29 07:51:14 +04:00
Ivan Molodetskikh 2d16c04869 Fix unfullscreening not always updating view offset 2023-12-28 10:49:31 +04:00
Ivan Molodetskikh f3e5e13c45 Activate windows only on active monitors
This matches what we do in advance_animations().
2023-12-28 09:09:28 +04:00
Ivan Molodetskikh b13892ca63 Activate windows when clicking on the border 2023-12-28 08:45:12 +04:00
Ivan Molodetskikh 777ad4ee5c Rename window -> tile, fix popup unconstraining window_y
I missed the window_y thing and found it thanks to the rename. Too lazy
to split it into a commit.
2023-12-28 08:25:42 +04:00
Ivan Molodetskikh c21805bf70 layout: Refactor to support window decorations, add border and fullscreen backdrop
Windows are now wrapped in Tiles, which keep track of window-specific
decorations. Particularly, I implemented a black fullscreen backdrop,
which finally brings fullscreened windows smaller than the screen in
line with how the Wayland protocol says they should look—centered in a
black rectangle. I also implemented window borders, which are similar to
the focus ring, but always visible (and hence affect the layout and
sizing).
2023-12-27 21:51:42 +04:00
Ivan Molodetskikh bfc2418267 Make LayoutElement more visual-geometry-based 2023-12-26 17:40:25 +04:00
Ivan Molodetskikh c048abc8b5 layout: Add Column::position 2023-12-26 10:29:00 +04:00
Ivan Molodetskikh 4dd7578fe7 layout: Use column.contains more 2023-12-25 11:06:03 +04:00
Ivan Molodetskikh 0c671ee493 Remove dependency of LayoutElement on SpaceElement 2023-12-24 18:18:44 +04:00
Ivan Molodetskikh 489a225fae Add and use remove_window_by_idx 2023-12-24 18:00:46 +04:00
Ivan Molodetskikh ed3080d908 Split layout mod into files
No functional change intended.
2023-12-24 15:10:09 +04:00