layer-shell: allow new values for keyboard-interactivity

Value is now an enum with a new value ("on-demand") that compositors can use to allow "normal" keyboard focus semantics regardless of the layer the client surface is on. An error is sent for invalid keyboard interactivity values. The old behavior is retained for clients using the previous version of the protocol.

Also adjusted the layer-shell example program to use the new keyboard interactivity options.
This commit is contained in:
Daniel Kondor 2020-11-26 20:18:22 +08:00 committed by Simon Ser
parent 5d054258af
commit b7dc4f2990
4 changed files with 129 additions and 18 deletions

View file

@ -49,7 +49,7 @@ struct wlr_layer_surface_v1_state {
struct {
uint32_t top, right, bottom, left;
} margin;
bool keyboard_interactive;
enum zwlr_layer_surface_v1_keyboard_interactivity keyboard_interactive;
uint32_t desired_width, desired_height;
uint32_t actual_width, actual_height;
enum zwlr_layer_shell_v1_layer layer;