Xinqi Bao's Git
projects
/
dwm.git
/ blobdiff
summary
|
log
|
commit
|
diff
|
tree
raw
|
inline
| side by side
some more code polishing
[dwm.git]
/
client.c
diff --git
a/client.c
b/client.c
index
eaf4a10
..
4d4c0a8
100644
(file)
--- a/
client.c
+++ b/
client.c
@@
-18,6
+18,7
@@
attachstack(Client *c) {
static void
detachstack(Client *c) {
Client **tc;
static void
detachstack(Client *c) {
Client **tc;
+
for(tc=&stack; *tc && *tc != c; tc=&(*tc)->snext);
*tc = c->snext;
}
for(tc=&stack; *tc && *tc != c; tc=&(*tc)->snext);
*tc = c->snext;
}
@@
-77,6
+78,7
@@
isprotodel(Client *c) {
static void
setclientstate(Client *c, long state) {
long data[] = {state, None};
static void
setclientstate(Client *c, long state) {
long data[] = {state, None};
+
XChangeProperty(dpy, c->win, wmatom[WMState], wmatom[WMState], 32,
PropModeReplace, (unsigned char *)data, 2);
}
XChangeProperty(dpy, c->win, wmatom[WMState], wmatom[WMState], 32,
PropModeReplace, (unsigned char *)data, 2);
}
@@
-200,16
+202,6
@@
focusprev(Arg *arg) {
}
}
}
}
-Client *
-getclient(Window w) {
- Client *c;
-
- for(c = clients; c; c = c->next)
- if(c->win == w)
- return c;
- return NULL;
-}
-
void
killclient(Arg *arg) {
if(!sel)
void
killclient(Arg *arg) {
if(!sel)
@@
-250,24
+242,24
@@
manage(Window w, XWindowAttributes *wa) {
c->y = way;
}
updatesizehints(c);
c->y = way;
}
updatesizehints(c);
- XSelectInput(dpy,
c->win
,
+ XSelectInput(dpy,
w
,
StructureNotifyMask | PropertyChangeMask | EnterWindowMask);
StructureNotifyMask | PropertyChangeMask | EnterWindowMask);
- XGetTransientForHint(dpy,
c->win
, &trans);
+ XGetTransientForHint(dpy,
w
, &trans);
grabbuttons(c, False);
wc.border_width = c->border;
grabbuttons(c, False);
wc.border_width = c->border;
- XConfigureWindow(dpy,
c->win
, CWBorderWidth, &wc);
- XSetWindowBorder(dpy,
c->win
, dc.norm[ColBorder]);
+ XConfigureWindow(dpy,
w
, CWBorderWidth, &wc);
+ XSetWindowBorder(dpy,
w
, dc.norm[ColBorder]);
configure(c); /* propagates border_width, if size doesn't change */
updatetitle(c);
configure(c); /* propagates border_width, if size doesn't change */
updatetitle(c);
-
t = getclient(trans
);
+
for(t = clients; t && t->win != trans; t = t->next
);
settags(c, t);
if(!c->isfloat)
settags(c, t);
if(!c->isfloat)
- c->isfloat = (t !=
0
) || c->isfixed;
+ c->isfloat = (t !=
NULL
) || c->isfixed;
attach(c);
attachstack(c);
c->isbanned = True;
attach(c);
attachstack(c);
c->isbanned = True;
- XMoveWindow(dpy,
c->win
, c->x + 2 * sw, c->y);
- XMapWindow(dpy,
c->win
);
+ XMoveWindow(dpy,
w
, c->x + 2 * sw, c->y);
+ XMapWindow(dpy,
w
);
setclientstate(c, NormalState);
if(isvisible(c))
focus(c);
setclientstate(c, NormalState);
if(isvisible(c))
focus(c);
@@
-454,7
+446,6
@@
zoom(Arg *arg) {
}
for(n = 0, c = nexttiled(clients); c; c = nexttiled(c->next))
n++;
}
for(n = 0, c = nexttiled(clients); c; c = nexttiled(c->next))
n++;
-
if((c = sel) == nexttiled(clients))
if(!(c = nexttiled(c->next)))
return;
if((c = sel) == nexttiled(clients))
if(!(c = nexttiled(c->next)))
return;