]> git.mdlowis.com Git - proto/labwc.git/commit
layer: improve keyboard-interactivity
authorJohan Malm <jgm323@gmail.com>
Sat, 28 Jan 2023 22:34:27 +0000 (22:34 +0000)
committerJohan Malm <johanmalm@users.noreply.github.com>
Sun, 29 Jan 2023 14:31:49 +0000 (14:31 +0000)
commit6f3043b08d0363cb40b1ada7f0cc5a885618563c
tree3126c5605665eef611a1dab945e2e29b691d00fe
parent4dc99e2f3856650f3b61778f015a823cfae978d2
layer: improve keyboard-interactivity

- Process layer-shell keyboard interactivity in the map and commit
  handlers only, rather than in layers_arrange(). This allows handling of
  the layer-surface that emitted the event rather than iterating over all
  surfaces in the output layer-tree, and therefore avoids having to guess
  which surface should have keyboard preference (and it might not be the
  last one added to the list which was the assumption previously).

- Prevent seat_focus_surface() from setting keyboard focus if a layer-shell
  surface with exclusive keyboard-interactivity has the focus.

- Set cursor_context type for layer-surfaces without node-descriptors
  in order to set keyboard focus correctly in cursor_button_press().

Tested satisfactorily with xfce4-panel and gtk-layer-demo.

Fixes #725 and #704
src/desktop.c
src/layers.c
src/seat.c