]> git.sur5r.net Git - i3/i3/commitdiff
con_num_windows: Count floating windows 3424/head
authorOrestis Floros <orestisf1993@gmail.com>
Wed, 26 Sep 2018 16:56:55 +0000 (19:56 +0300)
committerOrestis Floros <orestisf1993@gmail.com>
Wed, 26 Sep 2018 17:04:17 +0000 (20:04 +0300)
Fixes #3423.

src/con.c
testcases/t/242-no-focus.t

index a620a57106db4866bebaa0219707e404006d4d9c..d50c29be7a64003a92ad9ba0ca6eae330c4deebd 100644 (file)
--- 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;
 }
 
index 5b507a78d98d2c2f988e5fead0de339773aed7f7..6fd27fe033852a95ce5d57c0510c0cb03b1e7d55 100644 (file)
@@ -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 = <<EOT;
@@ -87,6 +87,13 @@ $first = open_window(wm_class => '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);
 
 #####################################################################