home · contact · privacy
Silently ignore characters in config/windows/toggle_order to which no window exists.
authorChristian Heller <c.heller@plomlompom.de>
Sun, 8 Sep 2013 13:18:07 +0000 (15:18 +0200)
committerChristian Heller <c.heller@plomlompom.de>
Sun, 8 Sep 2013 13:18:07 +0000 (15:18 +0200)
src/wincontrol.c
src/wincontrol.h

index 487b1fad03d70e47a89854fd762e9688bc1a983b..582b63103a299a60c1dbdbd4d6427c29537eeb8b 100644 (file)
@@ -2,7 +2,7 @@
 
 #include "wincontrol.h"
 #include <stdlib.h> /* for free() */
-#include <string.h> /* for strlen() */
+#include <string.h> /* for strlen(), strchr(), strstr() */
 #include <stdint.h> /* for uint8_t, uint16_t */
 #include <stdio.h> /* for fwrite() */
 #include <unistd.h> /* for access(), unlink() */
@@ -382,6 +382,10 @@ extern void sorted_wintoggle(struct World * world)
     uint8_t i = 0;
     for (; i < linemax - 1; i++)
     {
+        if (NULL == strchr(world->winconf_ids, win_order[i]))
+        {
+            continue;
+        }
         toggle_window(world->wmeta, get_win_by_id(world, win_order[i]));
     }
 }
index 6a1021b63c8176bb6d9b7e933fe68357bb89c665..e78316007b9098fd1364daba272af9ba44b64cd5 100644 (file)
@@ -52,8 +52,9 @@ extern void free_wins(struct World * world);
 
 
 /* Toggle windows in world->wins in the order desribed by the first line of
- * config/windows/toggled_win_order, wherein each character may correspond to
- * one hardcoded window.
+ * config/windows/toggled_win_order, wherein each character should correspond to
+ * one window the ID of which is found in world->winconf_ids. Unknown characters
+ * are silently ignored.
  */
 extern void sorted_wintoggle(struct World * world);