diff options
author | Markus Ongyerth <ongy@ongy.net> | 2018-02-25 09:57:30 +0100 |
---|---|---|
committer | Markus Ongyerth <ongy@ongy.net> | 2018-02-26 12:02:49 +0100 |
commit | bb676013ed1b1b48847694a2159e3b009636b181 (patch) | |
tree | 18862338a2de095dfb41f4e451135fdab8af0b28 /rootston/desktop.c | |
parent | 3bce37f99a0390ef085063cb222b5e96584ae3dd (diff) |
add xwayland unmanaged tests to support dmenu
This adds `wlr_xwayland_surface_is_unamanged`, to allow compositors more
fine grained control over XWayland focus.
A surface that is unmanaged should not receive focus, while other
windows that are just override redirect may want it (dmenu).
The way unamanged is determined is taken from wlc.
Diffstat (limited to 'rootston/desktop.c')
-rw-r--r-- | rootston/desktop.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/rootston/desktop.c b/rootston/desktop.c index 8ac741bb..a8b070ce 100644 --- a/rootston/desktop.c +++ b/rootston/desktop.c @@ -426,13 +426,17 @@ void view_init(struct roots_view *view, struct roots_desktop *desktop) { view_damage_whole(view); } -void view_setup(struct roots_view *view) { +void view_initial_focus(struct roots_view *view) { struct roots_input *input = view->desktop->server->input; // TODO what seat gets focus? the one with the last input event? struct roots_seat *seat; wl_list_for_each(seat, &input->seats, link) { roots_seat_set_focus(seat, view); } +} + +void view_setup(struct roots_view *view) { + view_initial_focus(view); view_center(view); view_update_output(view, NULL); |