]> code.delx.au - spectrwm/commitdiff
Fix missing bars when going multiscreen or in freebsd. Reported by
authorMarco Peereboom <marco@conformal.com>
Thu, 12 Feb 2009 22:09:44 +0000 (22:09 +0000)
committerMarco Peereboom <marco@conformal.com>
Thu, 12 Feb 2009 22:09:44 +0000 (22:09 +0000)
Tom Doherty <tdoherty@nyx.com>

scrotwm.c

index ef373bb54d8c33a3c188f41e45c2760fb2f29b22..6cab5d360d7cfea8d55bfbb475bcddb08256d11e 100644 (file)
--- a/scrotwm.c
+++ b/scrotwm.c
@@ -249,6 +249,7 @@ void        horizontal_stack(struct workspace *, struct swm_geometry *);
 void   max_stack(struct workspace *, struct swm_geometry *);
 
 void   grabbuttons(struct ws_win *, int);
+void   new_region(struct swm_screen *, int, int, int, int);
 
 struct layout {
        void            (*l_stack)(struct workspace *, struct swm_geometry *);
@@ -437,8 +438,6 @@ setscreencolor(char *val, int i, int c)
                    i, ScreenCount(display));
 }
 
-void           new_region(struct swm_screen *, int, int, int, int);
-
 void
 custom_region(char *val)
 {
@@ -2790,6 +2789,11 @@ screenchange(XEvent *e) {
        TAILQ_FOREACH(r, &screens[i].rl, entry)
                TAILQ_FOREACH(win, &r->ws->winlist, entry)
                        XUnmapWindow(display, win->id);
+
+       /* add bars to all regions */
+       for (i = 0; i < ScreenCount(display); i++)
+               TAILQ_FOREACH(r, &screens[i].rl, entry)
+                       bar_setup(r);
        stack();
 }