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
46d5f5ec4d
Add randomized border to proptest
2023-12-29 11:43:16 +04:00
Ivan Molodetskikh
c64e96d0d8
Add test with i32::MAX max_size
2023-12-29 11:42:54 +04:00
Ivan Molodetskikh
44d3a5b9a2
Use saturating_sub in window_height_for_tile_height()
2023-12-29 11:38:01 +04:00
Ivan Molodetskikh
5d95de97a0
Add new binds to the README
2023-12-29 08:09:17 +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
097c415036
layout: Use saturating_add() in several places
...
Apparently VSCode sends i32::MAX worth of max_size?
2023-12-28 18:53:08 +04:00
Ivan Molodetskikh
2d16c04869
Fix unfullscreening not always updating view offset
2023-12-28 10:49:31 +04:00
Ivan Molodetskikh
249f2b7a21
Add disable-power-key-handling option
2023-12-28 09:36:10 +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
77b4715e0b
Use correct type alias in FocusRing::render
2023-12-26 17:28:52 +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
ea72e4dae8
README: Add Xwayland wiki link
2023-12-24 19:41:23 +04:00
Ivan Molodetskikh
0c671ee493
Remove dependency of LayoutElement on SpaceElement
2023-12-24 18:18:44 +04:00
Ivan Molodetskikh
324c1efd04
Remove Clone bound from LayoutElement
...
It is no longer necessary.
2023-12-24 18:02:13 +04:00
Ivan Molodetskikh
99e75b95b7
Remove unnecessary window clone
2023-12-24 18:02:03 +04:00
Ivan Molodetskikh
489a225fae
Add and use remove_window_by_idx
2023-12-24 18:00:46 +04:00
Ivan Molodetskikh
85cb4b42f6
Remove clones from active_window
2023-12-24 17:40:30 +04:00
Ivan Molodetskikh
be2e551a89
Move clones up from find_window_and_output
2023-12-24 17:38:13 +04:00
Ivan Molodetskikh
ed3080d908
Split layout mod into files
...
No functional change intended.
2023-12-24 15:10:09 +04:00
Ivan Molodetskikh
461ce5f363
Move output_size to utils
2023-12-24 14:30:19 +04:00
Ivan Molodetskikh
624c799ebf
Move layout.rs into its own module
2023-12-24 14:20:50 +04:00
Ivan Molodetskikh
57f267454f
Bump version to 0.1.0-alpha.2
v0.1.0-alpha.2
2023-12-23 08:43:03 +04:00
Ivan Molodetskikh
86c4c1368e
Implement pointer-constraints
2023-12-21 16:19:16 +04:00
Ivan Molodetskikh
17c23dc50f
Update tablet cursor location higher up
2023-12-21 16:17:19 +04:00
Ivan Molodetskikh
5b1de86d33
Add configurable struts
2023-12-21 08:37:30 +04:00
Ivan Molodetskikh
58162ce685
Update Smithay
...
Popup positioner coordinate system fix.
2023-12-20 20:20:09 +04:00
Ivan Molodetskikh
9ac925ea0c
Try unconstraining popups with padding first
2023-12-20 09:18:32 +04:00
Ivan Molodetskikh
0f83eacb42
Update dependencies
2023-12-19 21:06:49 +04:00
Ivan Molodetskikh
e259061cbc
Implement popup unconstraining
...
Using my new Smithay implementation.
2023-12-19 20:56:00 +04:00
Ivan Molodetskikh
206493bb35
Update Smithay
2023-12-19 20:48:15 +04:00
Ivan Molodetskikh
c29a049245
Fix some cases of incomplete search for surface output
...
Most visibly, fixes screen not immediately redrawing upon layer-shell
popup commits.
There's still a number of places with questionable handling left, mostly
to do with subsurfaces (like, find_popup_root_surface() doesn't go up to
subsurfaces), and session-lock. I don't have good clients to test these.
2023-12-19 13:32:13 +04:00
Matt Cuneo
d6b62ad09d
Add optional fallback to workspace focus/move for window focus/move ( #93 )
...
* Add optional fallback to workspace focus/move for window focus/move commands
* Refactored to separate commands
* fix indentation
* fix white space
* Stylistic fixes
---------
Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com >
2023-12-19 00:25:05 -08:00
Ivan Molodetskikh
d155f5cd6c
Add a config flag to disable an output
2023-12-18 10:27:41 +04:00
Ivan Molodetskikh
74ff4f1903
Add a validate subcommand for config validation
2023-12-18 10:19:58 +04:00
Ivan Molodetskikh
8c3107af7b
Make main() return Result
...
For reporting the config validation error.
2023-12-18 10:17:04 +04:00
Ivan Molodetskikh
8bcd18ace2
Move miette set earlier
2023-12-18 10:02:11 +04:00
Ivan Molodetskikh
4fefab7d6b
Extract allowed action checks
2023-12-09 09:43:26 +04:00
Ivan Molodetskikh
675932c05b
Document compute_tablet_position()
2023-12-09 09:30:56 +04:00
Ivan Molodetskikh
475d6e4be1
Extract tablet_seat and desc variables
2023-12-09 09:28:41 +04:00
Ivan Molodetskikh
d9e27988a7
Extract tablet data variables
2023-12-09 09:25:27 +04:00
Ivan Molodetskikh
1be860c527
Add trace span to process_libinput_event
2023-12-09 09:23:41 +04:00
Ivan Molodetskikh
b3e0a6c543
Remove extraneous full path
2023-12-09 09:23:25 +04:00