X-Git-Url: https://git.xinqibao.xyz/dwm.git/blobdiff_plain/47765f728614c348aa7dfc2eed6f754efc376922..fc109ea8f72e662ed58ef45329b6ca9e91d61d3b:/screen.c?ds=sidebyside diff --git a/screen.c b/screen.c index 03387eb..a8b093c 100644 --- a/screen.c +++ b/screen.c @@ -60,7 +60,7 @@ setdwmprops(void) { for(i = 0; i < ntags && i < sizeof prop - 1; i++) prop[i] = seltags[i] ? '1' : '0'; if(i < sizeof prop - 1) - prop[i++] = (char)ltidx; + prop[i++] = (char)ltidx + '0'; prop[i] = '\0'; XChangeProperty(dpy, root, dwmprops, XA_STRING, 8, PropModeReplace, (unsigned char *)prop, i); @@ -223,8 +223,8 @@ getdwmprops(void) { for(i = 0; i < ntags && i < sizeof prop - 1 && prop[i] != '\0'; i++) seltags[i] = prop[i] == '1'; if(i < sizeof prop - 1 && prop[i] != '\0') { - if(prop[i] < nlayouts) - ltidx = prop[i]; + if((unsigned int)(prop[i] - '0') < nlayouts) + ltidx = prop[i] - '0'; } } } @@ -369,6 +369,32 @@ toggleview(const char *arg) { arrange(); } +void +updatebarpos(void) { + XEvent ev; + + wax = sx; + way = sy; + wah = sh; + waw = sw; + switch(bpos) { + default: + wah -= bh; + way += bh; + XMoveWindow(dpy, barwin, sx, sy); + break; + case BarBot: + wah -= bh; + XMoveWindow(dpy, barwin, sx, sy + wah); + break; + case BarOff: + XMoveWindow(dpy, barwin, sx, sy - bh); + break; + } + XSync(dpy, False); + while(XCheckMaskEvent(dpy, EnterWindowMask, &ev)); +} + void view(const char *arg) { unsigned int i;