changed ban/unban implementation to not move the windows anymore, but map/unmap them instead - PLEASE TEST THIS
parent
4b9337a01e
commit
a54cf2ecef
11
client.c
11
client.c
|
@ -100,8 +100,10 @@ void
|
|||
ban(Client *c) {
|
||||
if(c->isbanned)
|
||||
return;
|
||||
XMoveWindow(dpy, c->win, c->x + 2 * sw, c->y);
|
||||
XUnmapWindow(dpy, c->win);
|
||||
setclientstate(c, IconicState);
|
||||
c->isbanned = True;
|
||||
c->unmapped++;
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -224,9 +226,7 @@ manage(Window w, XWindowAttributes *wa) {
|
|||
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();
|
||||
}
|
||||
|
@ -310,7 +310,8 @@ void
|
|||
unban(Client *c) {
|
||||
if(!c->isbanned)
|
||||
return;
|
||||
XMoveWindow(dpy, c->win, c->x, c->y);
|
||||
XMapWindow(dpy, c->win);
|
||||
setclientstate(c, NormalState);
|
||||
c->isbanned = False;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# dwm version
|
||||
VERSION = 4.3
|
||||
VERSION = 4.4
|
||||
|
||||
# Customize below to fit your system
|
||||
|
||||
|
|
1
dwm.h
1
dwm.h
|
@ -48,6 +48,7 @@ struct Client {
|
|||
int rx, ry, rw, rh; /* revert geometry */
|
||||
int basew, baseh, incw, inch, maxw, maxh, minw, minh;
|
||||
int minax, maxax, minay, maxay;
|
||||
int unmapped;
|
||||
long flags;
|
||||
unsigned int border, oldborder;
|
||||
Bool isbanned, isfixed, ismax, isfloating;
|
||||
|
|
Loading…
Reference in New Issue