Ivan Molodetskikh
e8027d571f
layout: Implement next-to + open-fullscreen
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
daaee43be3
layout: Refactor window opening targets
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
0d71cb93af
Add window opening size client-server tests
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
e5e50e82d5
wiki: Clarify that preset width doesn't take borders into account only in tiling
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
7e852124a5
floating: Fix window position constraining with non-zero working area loc
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
f66a49bc42
floating: Constrain popups to working area
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
baf78ccda2
floating: Remove TODO on tile removing width
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
31f0e66f45
floating: Comment on toggle-full-width status
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
28b78a563b
layout: Pass and store view_size on a Tile
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
2f380de73b
floating: Take into account non-fixed min/max size window rule
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
e3a9a39c9a
floating: Implement the rest of set-window-width/height
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
1710bb78df
floating: Implement toggle-width/height actions
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
3e13fc3e70
floating: Change from getters to pub(super)
...
These fields are just data storage. They won't have any logic in
getters/setters.
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
befc399506
default-config: Make Firefox PiP floating
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
88116b9fb1
Preserve tile when moving across monitors
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
53e1c58cc5
Remember floating window position
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
4b9ecdd11d
Render fullscreen scrolling windows on top of floating
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
e31e409ee8
tests: Fix spelling mistake in wfs Display
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
5488aaf69f
floating: Don't use fullscreen size as floating size
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
96e493d8b1
Restore floating size during interactive move
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
e409453fbd
floating: Update stored size only on removal
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
309bf1348c
floating: Improve expected size requests to avoid (0, 0) and duplicates
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
76a5635298
layout: Preserve the Tile when moving across workspaces
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
f4f2a1f6de
floating: Remember and restore window size
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
a440805ea1
Add floating sizing tests
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
c359672bd2
floating: Request size only once
...
Let floating windows resize themselves and keep that size.
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
38350935e6
layout: Rename update_interactive_resize() to on_commit()
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
421cd89a0f
layout: Accept &mut self in request_fullscreen()
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
5ce3369aa6
layout: Support fullscreen for auto-floating windows
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
f38acfe988
layout: Remember whether to unfullscreen back into floating
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
965619d096
layout: Move toggle_fullscreen() impl to Workspace
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
9f017e834c
wiki: Document new floating window rule and gesture
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
3c67b08488
floating: Implement directional move
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
4add755a4d
layout/floating: Extract move_and_animate()
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
56e249aee6
floating: Implement center_window()
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
6a7c8fcfd5
floating: Implement directional focus
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
14b1003c62
layout: Implement focus_right_or_first() generically
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
43a4bae010
Extract center_preferring_top_left_in_area()
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
9c205f77a2
layout/floating: Move a function higher up
...
Let's group action functions together. Activate is an action and set
width/height too.
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
c2e4cfd832
Stub out actions when floating is active
...
Make sure they don't go to the unfocused scrolling layout at least.
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
c008e1c5bc
floating: Implement smarter clamping for window location
...
A small part of the window always remains on-screen regardless of the working
area changes.
Interactive move lets the user position the window anywhere; automatic actions
like toggle-window-floating and dialog opening try to put the window fully
on-screen.
The size-fraction canonical floating window position remains unclamped, and
clamping happens when recomputing the logical position.
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
1aa60f0da3
Make right click during move toggle floating
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
bd1fd8383c
Stop move grab when the start button is released
...
Rather than when all buttons are released.
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
aac54d0ea1
Implement floating child stacking above parents
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
4fe718581b
layout: Extract TestWindowParams
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
71842f07bd
Make interactive move keep in the same layout (floating/tiling)
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
f2bec1f82f
Always honor min height in new window size
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
10460191b9
Honor min/max size in more places like initial configure
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
c5fffd6e2c
Initial WIP floating window implementation
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
951f63b6fd
temp: Use patched Smithay (fix VRR cursor-plane-only)
2024-12-30 20:12:37 +03:00