X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=scrotwm.c;h=9f6d7ff8a57e7b4277ce7b8c38db7a413d8fe4d9;hb=63f6779ee0a5d8458a290284c233767788892448;hp=ce3cd629066b17e64f95ed035573264f9133dee5;hpb=cae0380bf58bc0186ce3b65e6a5a922f6241c454;p=spectrwm.git diff --git a/scrotwm.c b/scrotwm.c index ce3cd62..9f6d7ff 100644 --- a/scrotwm.c +++ b/scrotwm.c @@ -774,6 +774,7 @@ bar_update(void) int i, x; size_t len; char s[SWM_BAR_MAX]; + char cn[SWM_BAR_MAX]; char loc[SWM_BAR_MAX]; char *b; char *stack = ""; @@ -807,14 +808,15 @@ bar_update(void) for (i = 0; i < ScreenCount(display); i++) { x = 1; TAILQ_FOREACH(r, &screens[i].rl, entry) { + strlcpy(cn, "", sizeof cn); if (r && r->ws) - bar_class_name(s, sizeof s, r->ws->focus); + bar_class_name(cn, sizeof cn, r->ws->focus); if (stack_enabled) stack = r->ws->cur_layout->name; - snprintf(loc, sizeof loc, "%d:%d %s %s %s %s", - x++, r->ws->idx + 1, stack, s, bar_ext, + snprintf(loc, sizeof loc, "%d:%d %s %s%s %s %s", + x++, r->ws->idx + 1, stack, s, cn, bar_ext, bar_vertext); bar_print(r, loc); } @@ -2111,7 +2113,12 @@ stack_master(struct workspace *ws, struct swm_geometry *g, int rot, int flip) win_g.y += last_h + 2; bzero(&wc, sizeof wc); - wc.border_width = 1; + if (bar_enabled == 0 && winno == 1){ + wc.border_width = 0; + win_g.w += 2; + win_g.h += 2; + } else + wc.border_width = 1; reconfigure = 0; if (rot) { if (win->g.x != win_g.y || win->g.y != win_g.x || @@ -2292,11 +2299,17 @@ max_stack(struct workspace *ws, struct swm_geometry *g) if (win->g.x != gg.x || win->g.y != gg.y || win->g.w != gg.w || win->g.h != gg.h) { bzero(&wc, sizeof wc); - wc.border_width = 1; win->g.x = wc.x = gg.x; win->g.y = wc.y = gg.y; - win->g.w = wc.width = gg.w; - win->g.h = wc.height = gg.h; + if (bar_enabled){ + wc.border_width = 1; + win->g.w = wc.width = gg.w; + win->g.h = wc.height = gg.h; + } else { + wc.border_width = 0; + win->g.w = wc.width = gg.w + 2; + win->g.h = wc.height = gg.h + 2; + } mask = CWX | CWY | CWWidth | CWHeight | CWBorderWidth; XConfigureWindow(display, win->id, mask, &wc); configreq_win(win); @@ -4278,9 +4291,6 @@ enternotify(XEvent *e) void focusevent(XEvent *e) { - DNPRINTF(SWM_D_EVENT, "focusevent: %s window: %lu mode %d detail %d\n", - ev->type == FocusIn ? "entering" : "leaving", - ev->window, ev->mode, ev->detail); #if 0 struct ws_win *win; u_int32_t mode_detail; @@ -4492,6 +4502,9 @@ new_region(struct swm_screen *s, int x, int y, int w, int h) (X(r) + WIDTH(r)) > x && Y(r) < (y + h) && (Y(r) + HEIGHT(r)) > y) { + if (r->ws->r != NULL) + r->ws->old_r = r->ws->r; + r->ws->r = NULL; XDestroyWindow(display, r->bar_window); TAILQ_REMOVE(&s->rl, r, entry); TAILQ_INSERT_TAIL(&s->orl, r, entry);