]> code.delx.au - spectrwm/commitdiff
don't next and prev into iconic windows.
authorMarco Peereboom <marco@conformal.com>
Wed, 8 Jun 2011 19:19:45 +0000 (19:19 +0000)
committerMarco Peereboom <marco@conformal.com>
Wed, 8 Jun 2011 19:19:45 +0000 (19:19 +0000)
scrotwm.c

index b1fe2f66e17529e591c733f83cafe993f9a57038..e201cb28e3e25889d082c8930988b1ef136865c3 100644 (file)
--- a/scrotwm.c
+++ b/scrotwm.c
@@ -2237,6 +2237,13 @@ focus(struct swm_region *r, union arg *args)
                                head = TAILQ_LAST(wl, ws_win_list);
                        winfocus = head;
                }
+
+               /* skip iconics */
+               if (winfocus && winfocus->iconic) {
+                       TAILQ_FOREACH_REVERSE(winfocus, wl, ws_win_list, entry)
+                               if (winfocus->iconic == 0)
+                                       break;
+               }
                break;
 
        case SWM_ARG_ID_FOCUSNEXT:
@@ -2244,6 +2251,13 @@ focus(struct swm_region *r, union arg *args)
                if (head == NULL)
                        head = TAILQ_FIRST(wl);
                winfocus = head;
+
+               /* skip iconics */
+               if (winfocus && winfocus->iconic) {
+                       TAILQ_FOREACH(winfocus, wl, entry)
+                               if (winfocus->iconic == 0)
+                                       break;
+               }
                break;
 
        case SWM_ARG_ID_FOCUSMAIN: