xdg-shell: Clarify focus semantics for popup grabs

Make it clearer what the focus semantics are during a popup grab. In
short, when a grabbing popup is mapped, the top most popup will always
have keyboard focus, while pointer and touch focus works just as normal
except that only surfaces from the grabbing client will receive pointer
and touch focus.

This patch doesn't really change any semantics but rather clarifies
what was ambiguous before.

Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Reviewed-by: Mike Blumenkrantz <zmike@osg.samsung.com>
This commit is contained in:
Jonas Ådahl 2016-07-15 16:52:50 +08:00
parent dee23fd0cf
commit 3dab2f13f7

View file

@ -997,10 +997,10 @@
popup will be immediately dismissed. If the parent is a popup that did
not take an explicit grab, an error will be raised.
Clients will receive events for all their surfaces during this grab
(which is an "owner-events" grab in X11 parlance). This is done so that
users can navigate through submenus and other "nested" popup windows
without having to dismiss the topmost popup.
During a popup grab, the client owning the grab will receive pointer
and touch events for all their surfaces as normal (similar to an
"owner-events" grab in X11 parlance), while the top most grabbing popup
will always have keyboard focus.
</description>
<arg name="seat" type="object" interface="wl_seat"