diff options
author | Drew DeVault <sir@cmpwn.com> | 2017-10-06 09:34:48 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-10-06 09:34:48 -0400 |
commit | 6aafc2f61a395cf72b204f487e74bd83965a41e6 (patch) | |
tree | 41124f5423f63b5a6c5fb8e1435246f2560b1ffa /rootston | |
parent | d1c26059d2c901d5b53f6d5738c2e9708144bad3 (diff) | |
parent | 528f000a7a5ed8b26a14ca09263dc0e7024aba8f (diff) |
Merge pull request #223 from versusvoid/xwayland-activate
Activate only active xwayland views
Diffstat (limited to 'rootston')
-rw-r--r-- | rootston/cursor.c | 5 | ||||
-rw-r--r-- | rootston/xwayland.c | 8 |
2 files changed, 10 insertions, 3 deletions
diff --git a/rootston/cursor.c b/rootston/cursor.c index eec8eb5d..0ca45f16 100644 --- a/rootston/cursor.c +++ b/rootston/cursor.c @@ -137,11 +137,14 @@ static void set_view_focus(struct roots_input *input, size_t index = 0; for (size_t i = 0; i < desktop->views->length; ++i) { struct roots_view *_view = desktop->views->items[i]; - view_activate(_view, _view == view); + if (_view != view) { + view_activate(_view, false); + } if (view == _view) { index = i; } } + view_activate(view, true); // TODO: list_swap list_del(desktop->views, index); list_add(desktop->views, view); diff --git a/rootston/xwayland.c b/rootston/xwayland.c index 7ecc4d4f..bb8ced8e 100644 --- a/rootston/xwayland.c +++ b/rootston/xwayland.c @@ -39,8 +39,12 @@ static void handle_request_configure(struct wl_listener *listener, void *data) { } static void activate(struct roots_view *view, bool active) { - wlr_xwayland_surface_activate(view->desktop->xwayland, - view->xwayland_surface); + if (active) { + wlr_xwayland_surface_activate(view->desktop->xwayland, + view->xwayland_surface); + } else { + wlr_xwayland_surface_activate(view->desktop->xwayland, NULL); + } } void handle_xwayland_surface(struct wl_listener *listener, void *data) { |