This turned out to require quite a few changes.
We keep track of the tile resize animation progress separately now, in order to
provide a resizing black fullscreen backdrop for non-resizable windows.
The window is always rendered in the middle of the tile, which once again aids
with the resizing black fullscreen backdrop.
The backdrop itself will fade in from transparency so that it's less jarring.
The resize animation now keeps track of the fullscreen progress to deal with
the case where an unfullscreen resize is interrupted by another non-fullscreen
resize. In this case, the fullscreen progress continues animating to avoid
sudden disappearance of the fullscreen backdrop.
Some things like border visibility switch to this fullscreen progress once again
to avoid jarring appearance/disappearance.
The border radius animates in accordance with the fullscreen progress to match
the visuals.
We already did that for Tiles, but for Columns we only tracked what was
effectively pending fullscreen. We used it in several places where the current
fullscreen should've been used instead, like the tile origin or the view offset.
This commit splits the two and makes every place use the right one.
Fixes things like tiles briefly appearing at y=0 between issuing the fullscreen
command and the tile committing in response to the fullscreen configure.
* Add corner selection in config
* Add hot corner docs
* Working per-monitor hot corners
Handle defaults
* run cargo fmt --all
* Fix hot corners in is_sticky_obscured_under
* Change default to fall back to gesture hot corners if output hot corners are unset
* Add hot corner output config docs
* Support fractional scaling
* Trigger hot corners over widgets
* Improve float handling
Fixed YaLTeR/niri/pull/2108
* Refactor
* Bug Fixes
* Amend docs
Fix styling
Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
* Integrate code review
Move is_inside_hot_corner
* fixes
---------
Co-authored-by: Aadniz <8147434+Aadniz@users.noreply.github.com>
Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
* Included example for media keys: play/pause, stop, previous and next in the default config
* Update resources/default-config.kdl
---------
Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
* wiki/Xwayland: Added a mention of Native Wayland for gaming compatibility
* Update docs/wiki/Xwayland.md
---------
Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>