set withdrawn state for xwayland invisible clients
add support for xdg-shell v6
Merge branch 'main' into wlroots-next
Remove now-unneeded call to motionnotify
This appears to have been here for the side effect of updating the drag
icon's position.
Remove unused icon variable
Make drag_icon a persistent scene node
If there is no current drag icon, this node will be empty, but we now
have `drag_icon != NULL` as an invariant. This allows us to eliminate a
conditional, since there's no harm in moving an empty node's coordinates
around with the pointer.
ΔSLOC: -1
properly destroy scene
ΔSLOC: +1
Line saver: LISTEN_STATIC macro
This parallels the LISTEN macro for statically allocated listeners, and
it allows us to remove almost all of the global wl_listener
declarations.
This also fixes a bug with the axisnotify listener, which was declared
with a compound literal. At block scope, these have automatic storage
duration [1], so the listener was no longer valid after setup()
returned. (The option to declare it static explicitly was standardized
in C23, if that ever gains suckless traction.)
ΔSLOC: -27
[1]: https://en.cppreference.com/w/c/language/compound_literal#Explanation
Unify signal handling under wl_event_loop
Merge our signal handlers into a single function and let Wayland deal
with all the struct sigaction stuff.
ΔSLOC: -3
Line saver: follow "local = wlr->data = obj" pattern
There were still a couple of places where we could use this handy
multiple assignment to save a line.
ΔSLOC = -3
Merge remote-tracking branch 'upstream/main' into wlroots-next
Separate drag icon from layers array and Lyr enum
If we treat the drag icon as distinct from other layers (it doesn't have
contents that are interactive, focusable, etc.), then we can iterate
over layers meaningfully with a simple for loop.
ΔSLOC: -8
schedule a frame after commmiting gamma
not doing it, may freeze the output or do not actually change the gamma until
creating a client
use detached output states to set gamma