Xinqi Bao's Git
projects
/
dwm.git
/ blobdiff
summary
|
log
|
commit
|
diff
|
tree
raw
|
inline
| side by side
changed ban/unban implementation to not move the windows anymore, but map/unmap them...
[dwm.git]
/
client.c
diff --git
a/client.c
b/client.c
index
68d10a7
..
85b1af8
100644
(file)
--- a/
client.c
+++ b/
client.c
@@
-98,10
+98,12
@@
attach(Client *c) {
void
ban(Client *c) {
void
ban(Client *c) {
- if
(c->isbanned)
+ if(c->isbanned)
return;
return;
- XMoveWindow(dpy, c->win, c->x + 2 * sw, c->y);
+ XUnmapWindow(dpy, c->win);
+ setclientstate(c, IconicState);
c->isbanned = True;
c->isbanned = True;
+ c->unmapped++;
}
void
}
void
@@
-135,7
+137,7
@@
detach(Client *c) {
void
focus(Client *c) {
void
focus(Client *c) {
- if((!c && selscreen)|| (c && !isvisible(c)))
+ if((!c && selscreen)
|| (c && !isvisible(c)))
for(c = stack; c && !isvisible(c); c = c->snext);
if(sel && sel != c) {
grabbuttons(sel, False);
for(c = stack; c && !isvisible(c); c = c->snext);
if(sel && sel != c) {
grabbuttons(sel, False);
@@
-224,9
+226,7
@@
manage(Window w, XWindowAttributes *wa) {
c->isfloating = (rettrans == Success) || c->isfixed;
attach(c);
attachstack(c);
c->isfloating = (rettrans == Success) || c->isfixed;
attach(c);
attachstack(c);
- ban(c);
- XMapWindow(dpy, w);
- setclientstate(c, NormalState);
+ c->isbanned = True;
focus(c);
lt->arrange();
}
focus(c);
lt->arrange();
}
@@
-308,9
+308,10
@@
togglefloating(const char *arg) {
void
unban(Client *c) {
void
unban(Client *c) {
- if
(!c->isbanned)
+ if(!c->isbanned)
return;
return;
- XMoveWindow(dpy, c->win, c->x, c->y);
+ XMapWindow(dpy, c->win);
+ setclientstate(c, NormalState);
c->isbanned = False;
}
c->isbanned = False;
}