From 5e1d327e4304438b8e0112e4d47e56f9748ef3f5 Mon Sep 17 00:00:00 2001 From: Orestis Floros Date: Wed, 26 Sep 2018 19:56:55 +0300 Subject: [PATCH] con_num_windows: Count floating windows Fixes #3423. --- src/con.c | 4 ++++ testcases/t/242-no-focus.t | 9 ++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/con.c b/src/con.c index a620a571..d50c29be 100644 --- a/src/con.c +++ b/src/con.c @@ -936,6 +936,10 @@ int con_num_windows(Con *con) { num += con_num_windows(current); } + TAILQ_FOREACH(current, &(con->floating_head), floating_windows) { + num += con_num_windows(current); + } + return num; } diff --git a/testcases/t/242-no-focus.t b/testcases/t/242-no-focus.t index 5b507a78..6fd27fe0 100644 --- a/testcases/t/242-no-focus.t +++ b/testcases/t/242-no-focus.t @@ -68,7 +68,7 @@ is($x->input_focus, $first->id, 'input focus has not changed'); exit_gracefully($pid); ##################################################################### -## 3: no_focus doesn't affect the first window opened on a workspace +# 3: no_focus doesn't affect the first window opened on a workspace ##################################################################### $config = < 'focusme'); sync_with_i3; is($x->input_focus, $first->id, 'input focus has changed'); +# Also check that it counts floating windows +# See issue #3423. +open_floating_window(wm_class => 'focusme'); + +sync_with_i3; +is($x->input_focus, $first->id, 'input focus didn\'t change to floating window'); + exit_gracefully($pid); ##################################################################### -- 2.39.2