summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Drew DeVault <sir@cmpwn.com>2015-08-25 16:13:06 -0400
committerLibravatar Drew DeVault <sir@cmpwn.com>2015-08-25 16:13:06 -0400
commit0bf380a0b1a83f49e2e33066ab6504d308dcec89 (patch)
treed029363b0c873a95946d2ec61ae8fbb73fedf630
parentMerge pull request #129 from minus7/workspaces (diff)
parentcode style clean up (diff)
downloadsway-0bf380a0b1a83f49e2e33066ab6504d308dcec89.tar.gz
sway-0bf380a0b1a83f49e2e33066ab6504d308dcec89.tar.zst
sway-0bf380a0b1a83f49e2e33066ab6504d308dcec89.zip
Merge pull request #131 from nicklaswj/master
Focus floating window, if any, when the last tiling window has been closed
-rw-r--r--sway/handlers.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/sway/handlers.c b/sway/handlers.c
index af68b765..4d1dc56c 100644
--- a/sway/handlers.c
+++ b/sway/handlers.c
@@ -230,7 +230,15 @@ static void handle_view_destroyed(wlc_handle handle) {
230 locked_container_focus = false; 230 locked_container_focus = false;
231 break; 231 break;
232 } 232 }
233 set_focused_container(get_focused_view(&root_container)); 233
234 swayc_t *focused_view = get_focused_view(&root_container);
235 if (focused_view->type == C_WORKSPACE && focused_view->children->length == 0) {
236 if (focused_view->floating->length > 0) {
237 focused_view = focused_view->floating->items[focused_view->floating->length-1];
238 focused_view = get_focused_view(focused_view);
239 }
240 }
241 set_focused_container(focused_view);
234} 242}
235 243
236static void handle_view_focus(wlc_handle view, bool focus) { 244static void handle_view_focus(wlc_handle view, bool focus) {