]> git.sur5r.net Git - i3/i3/commitdiff
Bugfix: insert id-based match at HEAD, not TAIL.
authorMichael Stapelberg <michael@stapelberg.de>
Sat, 7 Mar 2015 14:38:10 +0000 (15:38 +0100)
committerMichael Stapelberg <michael@stapelberg.de>
Sat, 7 Mar 2015 14:38:10 +0000 (15:38 +0100)
Before this commit, placeholder windows had any matches that were
defined in the JSON file, _followed_ by an i3-internal match that
ensures the placeholder X11 window gets swallowed into the placeholder
i3 container.

The problem was that the first successful match was deleted, and if
users specified a criterion (title=IPython) that matched the placeholder
window itself (name=IPython), then that match is deleted and the
i3-internal match is kept. This results in the actual window the user
wants to match not being swallowed, and the placeholder window not
displaying any criteria.

fixes #1526

src/restore_layout.c

index 3a657c90bf4123de34315aa6f66aab4c76d6997f..f4ef54754419cc71414ceadfe9c357403ee76011 100644 (file)
@@ -219,7 +219,7 @@ static void open_placeholder_window(Con *con) {
         Match *temp_id = smalloc(sizeof(Match));
         match_init(temp_id);
         temp_id->id = placeholder;
-        TAILQ_INSERT_TAIL(&(con->swallow_head), temp_id, matches);
+        TAILQ_INSERT_HEAD(&(con->swallow_head), temp_id, matches);
     }
 
     Con *child;