overlay: add snap-to-edge overlay (PR #1652)

...and unify region overlay and snap-to-edge overlay into overlay.c.

Snap-to-edge overlay is delayed for 500ms to prevent flickering when
the view is dragged from an output to another (demo in discussion labwc#1613).

This also fixes a bug that region overlay is not shown when a modifier
key is re-pressed.
This commit is contained in:
Hiroaki Yamamoto 2024-04-05 11:35:31 +09:00 committed by GitHub
parent 67669dcf1e
commit 5cc0757390
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
16 changed files with 361 additions and 152 deletions

View file

@ -299,6 +299,16 @@ extending outward from the snapped edge.
SnapToEdge action for that edge. A *range* of 0 disables snapping via
interactive moves. Default is 1.
*<snapping><preview><enabled>* [yes|no]
Show a preview when snaping to a window to an edge. Default is yes.
*<snapping><preview><delay><inner>*++
*<snapping><preview><delay><outer>*
Sets the delay to show a preview when snapping a window to each type of edges.
Defaults are 500 ms.
*inner* edges are edges with an adjacent output and *outer* edges are edges
without an adjacent output.
*<snapping><topMaximize>* [yes|no]
If *yes*, an interactive move that snaps a window to the top edge will
maximize the window. If *no*, snapping will behave as it does with other