Xinqi Bao's Git
projects
/
dwm.git
/ blobdiff
summary
|
log
|
commit
|
diff
|
tree
raw
|
inline
| side by side
non-zero
[dwm.git]
/
dwm.c
diff --git
a/dwm.c
b/dwm.c
index
64bafb7
..
85292a9
100644
(file)
--- a/
dwm.c
+++ b/
dwm.c
@@
-913,7
+913,8
@@
manage(Window w, XWindowAttributes *wa) {
if(c->y + c->h + 2 * c->bw > sy + sh)
c->y = sy + sh - c->h - 2 * c->bw;
c->x = MAX(c->x, sx);
if(c->y + c->h + 2 * c->bw > sy + sh)
c->y = sy + sh - c->h - 2 * c->bw;
c->x = MAX(c->x, sx);
- c->y = MAX(c->y, by == 0 ? bh : sy);
+ /* only fix client y-offset, if the client center might cover the bar */
+ c->y = MAX(c->y, ((by == 0) && (c->x + (c->w / 2) >= wx) && (c->x + (c->w / 2) < wx + ww)) ? bh : sy);
c->bw = borderpx;
}
c->bw = borderpx;
}
@@
-1093,11
+1094,11
@@
resize(Client *c, int x, int y, int w, int h, Bool sizehints) {
w = MAX(w, c->minw);
h = MAX(h, c->minh);
w = MAX(w, c->minw);
h = MAX(h, c->minh);
-
- if
(c->maxw)
+
+ if(c->maxw)
w = MIN(w, c->maxw);
w = MIN(w, c->maxw);
- if
(c->maxh)
+ if(c->maxh)
h = MIN(h, c->maxh);
}
if(w <= 0 || h <= 0)
h = MIN(h, c->maxh);
}
if(w <= 0 || h <= 0)
@@
-1495,14
+1496,22
@@
togglemax(const Arg *arg) {
void
toggletag(const Arg *arg) {
void
toggletag(const Arg *arg) {
- if(sel && (sel->tags ^= (arg->ui & TAGMASK)))
+ uint mask = sel->tags ^ (arg->ui & TAGMASK);
+
+ if(sel && mask) {
+ sel->tags = mask;
arrange();
arrange();
+ }
}
void
toggleview(const Arg *arg) {
}
void
toggleview(const Arg *arg) {
- if((tagset[seltags] ^= (arg->ui & TAGMASK)))
+ uint mask = tagset[seltags] ^ (arg->ui & TAGMASK);
+
+ if(mask) {
+ tagset[seltags] = mask;
arrange();
arrange();
+ }
}
void
}
void