diff options
author | Mikkel Oscar Lyderik <mikkeloscar@gmail.com> | 2016-01-05 01:14:28 +0100 |
---|---|---|
committer | Mikkel Oscar Lyderik <mikkeloscar@gmail.com> | 2016-01-05 01:14:28 +0100 |
commit | 5af4e747d311a5b4059561078976c167df057bd8 (patch) | |
tree | 9ad4317e4c86bee12c4f88ee8ff371a3d3f2f2f0 | |
parent | f9b92783c5d8e20273acf7865f628d988249d7a2 (diff) | |
parent | b755fd073e29819486b4899a40fb3a46dba0a81a (diff) | |
download | sway-5af4e747d311a5b4059561078976c167df057bd8.tar.xz |
Merge pull request #433 from crondog/issue431
Return focus to fullscreen view
-rw-r--r-- | sway/commands.c | 2 | ||||
-rw-r--r-- | sway/handlers.c | 4 |
2 files changed, 5 insertions, 1 deletions
diff --git a/sway/commands.c b/sway/commands.c index 38019be5..9cc33b9c 100644 --- a/sway/commands.c +++ b/sway/commands.c @@ -1464,7 +1464,7 @@ static struct cmd_results *cmd_fullscreen(int argc, char **argv) { wlc_view_set_state(container->handle, WLC_BIT_FULLSCREEN, !current); // Resize workspace if going from fullscreen -> notfullscreen // otherwise just resize container - if (current) { + if (!current) { arrange_windows(workspace, -1, -1); workspace->fullscreen = container; } else { diff --git a/sway/handlers.c b/sway/handlers.c index 6c6d0e60..3cc5cf3e 100644 --- a/sway/handlers.c +++ b/sway/handlers.c @@ -220,6 +220,10 @@ static bool handle_view_created(wlc_handle handle) { // refocus in-between command lists set_focused_container(newview); } + swayc_t *workspace = swayc_parent_by_type(focused, C_WORKSPACE); + if (workspace && workspace->fullscreen) { + set_focused_container(workspace->fullscreen); + } } else { swayc_t *output = swayc_parent_by_type(focused, C_OUTPUT); wlc_handle *h = malloc(sizeof(wlc_handle)); |