diff options
| author | Furkan Sahin <furkan-dev@proton.me> | 2023-06-05 15:31:16 +0200 |
|---|---|---|
| committer | Furkan Sahin <furkan-dev@proton.me> | 2023-06-05 15:31:16 +0200 |
| commit | c94a432b30547829dd742338e336ca1cceba8c0f (patch) | |
| tree | 752fea000515bcd93a40fc175dbbace5221ee9c4 /include | |
| parent | eae7246ceaf8a3ee31da7bf35e64c0011f99720a (diff) | |
Add support for wlr-layer-shell ON_DEMAND keyboard interactivity
This allows for layer shell surfaces to receive focus while the surface is explicitly focused, i.e allowing
text fields to receive keyboard input just like a regular surface.
Diffstat (limited to 'include')
| -rw-r--r-- | include/sway/input/seat.h | 3 | ||||
| -rw-r--r-- | include/sway/layers.h | 4 |
2 files changed, 6 insertions, 1 deletions
diff --git a/include/sway/input/seat.h b/include/sway/input/seat.h index 5ef8e2f3..35a96ace 100644 --- a/include/sway/input/seat.h +++ b/include/sway/input/seat.h @@ -104,8 +104,9 @@ struct sway_seat { struct sway_workspace *workspace; char *prev_workspace_name; // for workspace back_and_forth - // If the focused layer is set, views cannot receive keyboard focus struct wlr_layer_surface_v1 *focused_layer; + // If the exclusive layer is set, views cannot receive keyboard focus + bool has_exclusive_layer; // If exclusive_client is set, no other clients will receive input events struct wl_client *exclusive_client; diff --git a/include/sway/layers.h b/include/sway/layers.h index f8508493..9220bdb5 100644 --- a/include/sway/layers.h +++ b/include/sway/layers.h @@ -55,6 +55,10 @@ struct sway_layer_subsurface { }; struct sway_output; + +struct wlr_layer_surface_v1 *toplevel_layer_surface_from_surface( + struct wlr_surface *surface); + void arrange_layers(struct sway_output *output); struct sway_layer_surface *layer_from_wlr_layer_surface_v1( |
