X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=scrotwm.c;h=c2aece71074352bfe11b6d8a0917056108340ba4;hb=2288fb796177fd8643f563e1e150f7a4cd477077;hp=9beaa1835fccbcbbb55666cfb27bab367b7dc41a;hpb=b32473d6751fe63b04a817701a521c79754c7a7f;p=spectrwm.git diff --git a/scrotwm.c b/scrotwm.c index 9beaa18..c2aece7 100644 --- a/scrotwm.c +++ b/scrotwm.c @@ -2489,9 +2489,13 @@ focus(struct swm_region *r, union arg *args) /* skip iconics */ if (winfocus && winfocus->iconic) { - TAILQ_FOREACH_REVERSE(winfocus, wl, ws_win_list, entry) + while (winfocus != cur_focus) { + if (winfocus == NULL) + winfocus = TAILQ_LAST(wl, ws_win_list); if (winfocus->iconic == 0) break; + winfocus = TAILQ_PREV(winfocus, ws_win_list, entry); + } } break; @@ -2503,9 +2507,13 @@ focus(struct swm_region *r, union arg *args) /* skip iconics */ if (winfocus && winfocus->iconic) { - TAILQ_FOREACH(winfocus, wl, entry) + while (winfocus != cur_focus) { + if (winfocus == NULL) + winfocus = TAILQ_FIRST(wl); if (winfocus->iconic == 0) break; + winfocus = TAILQ_NEXT(winfocus, entry); + } } break;