diff options
author | Zandr Martin <zandrmartin+git@gmail.com> | 2016-05-23 16:05:44 -0500 |
---|---|---|
committer | Zandr Martin <zandrmartin+git@gmail.com> | 2016-05-23 16:05:44 -0500 |
commit | 164f384d835665ca2c63f712a4fe00ab22b43d9b (patch) | |
tree | 27758bd899c6c6e78650ac6c0d6b3c1041a0962b | |
parent | 16dc31f33b201e949f912f993ef927c72a307b88 (diff) |
set focus on fullscreen view when changing focus
-rw-r--r-- | sway/focus.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/sway/focus.c b/sway/focus.c index b4dfc423..9db2aaa7 100644 --- a/sway/focus.c +++ b/sway/focus.c @@ -88,7 +88,7 @@ swayc_t *get_focused_container(swayc_t *parent) { if (!parent) { return swayc_active_workspace(); } - // get focusde container + // get focused container while (!parent->is_focused && parent->focused) { parent = parent->focused; } @@ -112,7 +112,9 @@ bool set_focused_container(swayc_t *c) { swayc_t *focused = get_focused_view(workspace); // if the workspace we are changing focus to has a fullscreen view return if (swayc_is_fullscreen(focused) && focused != c) { - return false; + // if switching to a workspace with a fullscreen view, + // focus on the fullscreen view + c = focused; } // update container focus from here to root, making necessary changes along @@ -192,7 +194,7 @@ bool set_focused_container_for(swayc_t *a, swayc_t *c) { return false; } - // Check if we changing a parent container that will see chnage + // Check if we are changing a parent container that will see change bool effective = true; while (find != &root_container) { if (find->parent->focused != find) { |