mirror of git://git.suckless.org/dwm
some more polishing/consistency changes
This commit is contained in:
parent
62b18fb9d4
commit
a62630ae92
79
dwm.c
79
dwm.c
|
@ -198,7 +198,7 @@ void toggleview(const char *arg);
|
|||
void unban(Client *c);
|
||||
void unmanage(Client *c);
|
||||
void unmapnotify(XEvent *e);
|
||||
void updatebarpos(Monitor *s);
|
||||
void updatebarpos(Monitor *m);
|
||||
void updatesizehints(Client *c);
|
||||
void updatetitle(Client *c);
|
||||
void view(const char *arg);
|
||||
|
@ -336,12 +336,12 @@ buttonpress(XEvent *e) {
|
|||
Client *c;
|
||||
XButtonPressedEvent *ev = &e->xbutton;
|
||||
|
||||
Monitor s = monitors[monitorat(-1, -1)];
|
||||
Monitor *m = &monitors[monitorat(-1, -1)];
|
||||
|
||||
if(ev->window == s.barwin) {
|
||||
if(ev->window == m->barwin) {
|
||||
x = 0;
|
||||
for(i = 0; i < LENGTH(tags); i++) {
|
||||
x += textw(&s, tags[i]);
|
||||
x += textw(m, tags[i]);
|
||||
if(ev->x < x) {
|
||||
if(ev->button == Button1) {
|
||||
if(ev->state & MODKEY)
|
||||
|
@ -366,20 +366,20 @@ buttonpress(XEvent *e) {
|
|||
if(CLEANMASK(ev->state) != MODKEY)
|
||||
return;
|
||||
if(ev->button == Button1) {
|
||||
if((s.layout->arrange == floating) || c->isfloating)
|
||||
if((m->layout->arrange == floating) || c->isfloating)
|
||||
restack();
|
||||
else
|
||||
togglefloating(NULL);
|
||||
movemouse(c);
|
||||
}
|
||||
else if(ev->button == Button2) {
|
||||
if((floating != s.layout->arrange) && c->isfloating)
|
||||
if((floating != m->layout->arrange) && c->isfloating)
|
||||
togglefloating(NULL);
|
||||
else
|
||||
zoom(NULL);
|
||||
}
|
||||
else if(ev->button == Button3 && !c->isfixed) {
|
||||
if((floating == s.layout->arrange) || c->isfloating)
|
||||
if((floating == m->layout->arrange) || c->isfloating)
|
||||
restack();
|
||||
else
|
||||
togglefloating(NULL);
|
||||
|
@ -565,20 +565,20 @@ detachstack(Client *c) {
|
|||
|
||||
void
|
||||
drawbar(void) {
|
||||
int i, x, s;
|
||||
int i, j, x;
|
||||
|
||||
for(s = 0; s < mcount; ++s) {
|
||||
Monitor *m = &monitors[s];
|
||||
for(i = 0; i < mcount; i++) {
|
||||
Monitor *m = &monitors[i];
|
||||
m->dc.x = 0;
|
||||
for(i = 0; i < LENGTH(tags); i++) {
|
||||
m->dc.w = textw(m, tags[i]);
|
||||
if(m->seltags[i]) {
|
||||
drawtext(m, tags[i], m->dc.sel);
|
||||
drawsquare(m, sel && sel->tags[i] && sel->monitor == selmonitor, isoccupied(m, i), m->dc.sel);
|
||||
for(j = 0; j < LENGTH(tags); j++) {
|
||||
m->dc.w = textw(m, tags[j]);
|
||||
if(m->seltags[j]) {
|
||||
drawtext(m, tags[j], m->dc.sel);
|
||||
drawsquare(m, sel && sel->tags[j] && sel->monitor == selmonitor, isoccupied(m, j), m->dc.sel);
|
||||
}
|
||||
else {
|
||||
drawtext(m, tags[i], m->dc.norm);
|
||||
drawsquare(m, sel && sel->tags[i] && sel->monitor == selmonitor, isoccupied(m, i), m->dc.norm);
|
||||
drawtext(m, tags[j], m->dc.norm);
|
||||
drawsquare(m, sel && sel->tags[j] && sel->monitor == selmonitor, isoccupied(m, j), m->dc.norm);
|
||||
}
|
||||
m->dc.x += m->dc.w;
|
||||
}
|
||||
|
@ -1336,10 +1336,10 @@ resizemouse(Client *c) {
|
|||
|
||||
void
|
||||
restack(void) {
|
||||
unsigned int i;
|
||||
Client *c;
|
||||
XEvent ev;
|
||||
XWindowChanges wc;
|
||||
int s;
|
||||
|
||||
drawbar();
|
||||
if(!sel)
|
||||
|
@ -1353,8 +1353,8 @@ restack(void) {
|
|||
XConfigureWindow(dpy, sel->win, CWSibling | CWStackMode, &wc);
|
||||
wc.sibling = sel->win;
|
||||
}
|
||||
for(s = 0; s < mcount; s++) {
|
||||
for(c = nexttiled(clients, &monitors[s]); c; c = nexttiled(c->next, &monitors[s])) {
|
||||
for(i = 0; i < mcount; i++) {
|
||||
for(c = nexttiled(clients, &monitors[i]); c; c = nexttiled(c->next, &monitors[i])) {
|
||||
if(c == sel)
|
||||
continue;
|
||||
XConfigureWindow(dpy, c->win, CWSibling | CWStackMode, &wc);
|
||||
|
@ -1676,39 +1676,38 @@ textw(Monitor *m, const char *text) {
|
|||
|
||||
void
|
||||
tile(void) {
|
||||
unsigned int i, n, nx, ny, nw, nh, mw, th;
|
||||
int s;
|
||||
unsigned int i, j, n, nx, ny, nw, nh, mw, th;
|
||||
Client *c, *mc;
|
||||
|
||||
domwfact = dozoom = True;
|
||||
|
||||
nw = 0; /* gcc stupidity requires this */
|
||||
|
||||
for (s = 0; s < mcount; s++) {
|
||||
Monitor *m = &monitors[s];
|
||||
for (i = 0; i < mcount; i++) {
|
||||
Monitor *m = &monitors[i];
|
||||
|
||||
for(n = 0, c = nexttiled(clients, m); c; c = nexttiled(c->next, m))
|
||||
n++;
|
||||
|
||||
for(i = 0, c = mc = nexttiled(clients, m); c; c = nexttiled(c->next, m)) {
|
||||
for(j = 0, c = mc = nexttiled(clients, m); c; c = nexttiled(c->next, m)) {
|
||||
/* window geoms */
|
||||
mw = (n == 1) ? m->waw : m->mwfact * m->waw;
|
||||
th = (n > 1) ? m->wah / (n - 1) : 0;
|
||||
if(n > 1 && th < bh)
|
||||
th = m->wah;
|
||||
if(i == 0) { /* master */
|
||||
if(j == 0) { /* master */
|
||||
nx = m->wax;
|
||||
ny = m->way;
|
||||
nw = mw - 2 * c->border;
|
||||
nh = m->wah - 2 * c->border;
|
||||
}
|
||||
else { /* tile window */
|
||||
if(i == 1) {
|
||||
if(j == 1) {
|
||||
ny = m->way;
|
||||
nx += mc->w + 2 * mc->border;
|
||||
nw = m->waw - mw - 2 * c->border;
|
||||
}
|
||||
if(i + 1 == n) /* remainder */
|
||||
if(j + 1 == n) /* remainder */
|
||||
nh = (m->way + m->wah) - ny - 2 * c->border;
|
||||
else
|
||||
nh = th - 2 * c->border;
|
||||
|
@ -1720,7 +1719,7 @@ tile(void) {
|
|||
if(n > 1 && th != m->wah)
|
||||
ny = c->y + c->h + 2 * c->border;
|
||||
|
||||
i++;
|
||||
j++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1813,25 +1812,25 @@ unmapnotify(XEvent *e) {
|
|||
}
|
||||
|
||||
void
|
||||
updatebarpos(Monitor *s) {
|
||||
updatebarpos(Monitor *m) {
|
||||
XEvent ev;
|
||||
|
||||
s->wax = s->sx;
|
||||
s->way = s->sy;
|
||||
s->wah = s->sh;
|
||||
s->waw = s->sw;
|
||||
m->wax = m->sx;
|
||||
m->way = m->sy;
|
||||
m->wah = m->sh;
|
||||
m->waw = m->sw;
|
||||
switch(bpos) {
|
||||
default:
|
||||
s->wah -= bh;
|
||||
s->way += bh;
|
||||
XMoveWindow(dpy, s->barwin, s->sx, s->sy);
|
||||
m->wah -= bh;
|
||||
m->way += bh;
|
||||
XMoveWindow(dpy, m->barwin, m->sx, m->sy);
|
||||
break;
|
||||
case BarBot:
|
||||
s->wah -= bh;
|
||||
XMoveWindow(dpy, s->barwin, s->sx, s->sy + s->wah);
|
||||
m->wah -= bh;
|
||||
XMoveWindow(dpy, m->barwin, m->sx, m->sy + m->wah);
|
||||
break;
|
||||
case BarOff:
|
||||
XMoveWindow(dpy, s->barwin, s->sx, s->sy - bh);
|
||||
XMoveWindow(dpy, m->barwin, m->sx, m->sy - bh);
|
||||
break;
|
||||
}
|
||||
XSync(dpy, False);
|
||||
|
|
Loading…
Reference in New Issue