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
Ivan Molodetskikh
e6d8932b3b
Update for Smithay VRR changes
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
70f96cca0a
Update Smithay (presentation-time v2)
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
4e357e9659
config: Fix border rule on -> off merging
2024-12-27 15:42:56 +03:00
Ivan Molodetskikh
1f8aed6732
config: Add a test for border rule on/off merging
2024-12-27 15:42:55 +03:00
Maximilian Huber
fa2bace3cd
Fix nix flake for client-server tests ( #896 )
...
This was suggested by @sodiboo in
https://github.com/YaLTeR/niri/issues/894#issuecomment-2562153840 and
was copied from https://github.com/sodiboo/niri-flake/commit/350e6b68c70f5002a75e10521f5e66ace4b5eed1i
Signed-off-by: Maximilian Huber <gh@maxhbr.de >
2024-12-26 14:44:07 +00:00
Nathan
955039b5ea
Update Configuration:-Key-Bindings.md ( #893 )
...
* Update Configuration:-Key-Bindings.md
Added Leve5 notes with scant instruction on how to use.
* Update wiki/Configuration:-Key-Bindings.md
---------
Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com >
2024-12-23 21:08:56 +03:00
Ivan Molodetskikh
771ea1e815
Implement client-server test infra and window opening tests
...
These tests make a real Niri instance and real Wayland clients (via manual
wayland-rs implementation), both on the same event loop local to the test. This
allows testing the full Wayland interaction, including arbitrary event ordering
and delays.
To start off, add a massive powerset test for the settings that influence where
a window may open.
2024-12-22 15:19:46 +03:00