Rename struct field "win" to "x_window"
This commit is contained in:
parent
3779a98b01
commit
14d475fd48
92
src/dwm.c
92
src/dwm.c
|
@ -111,7 +111,7 @@ struct Client {
|
||||||
Client *next;
|
Client *next;
|
||||||
Client *snext;
|
Client *snext;
|
||||||
Monitor *mon;
|
Monitor *mon;
|
||||||
Window win;
|
Window x_window;
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
@ -574,8 +574,8 @@ void configure(Client *c)
|
||||||
.serial = 0,
|
.serial = 0,
|
||||||
.send_event = False,
|
.send_event = False,
|
||||||
.display = dpy,
|
.display = dpy,
|
||||||
.event = c->win,
|
.event = c->x_window,
|
||||||
.window = c->win,
|
.window = c->x_window,
|
||||||
.x = c->state.geometry.basic.position.x,
|
.x = c->state.geometry.basic.position.x,
|
||||||
.y = c->state.geometry.basic.position.y,
|
.y = c->state.geometry.basic.position.y,
|
||||||
.width = c->state.geometry.basic.sizes.w,
|
.width = c->state.geometry.basic.sizes.w,
|
||||||
|
@ -585,7 +585,7 @@ void configure(Client *c)
|
||||||
.override_redirect = False,
|
.override_redirect = False,
|
||||||
};
|
};
|
||||||
|
|
||||||
XSendEvent(dpy, c->win, False, StructureNotifyMask, (XEvent*)&ce);
|
XSendEvent(dpy, c->x_window, False, StructureNotifyMask, (XEvent*)&ce);
|
||||||
}
|
}
|
||||||
|
|
||||||
Monitor *createmon()
|
Monitor *createmon()
|
||||||
|
@ -662,7 +662,7 @@ void focus(Client *c)
|
||||||
detachstack(c);
|
detachstack(c);
|
||||||
attachstack(c);
|
attachstack(c);
|
||||||
grabbuttons(c, 1);
|
grabbuttons(c, 1);
|
||||||
XSetWindowBorder(dpy, c->win, scheme[SchemeSel][ColBorder].pixel);
|
XSetWindowBorder(dpy, c->x_window, scheme[SchemeSel][ColBorder].pixel);
|
||||||
setfocus(c);
|
setfocus(c);
|
||||||
} else {
|
} else {
|
||||||
XSetInputFocus(dpy, root, RevertToPointerRoot, CurrentTime);
|
XSetInputFocus(dpy, root, RevertToPointerRoot, CurrentTime);
|
||||||
|
@ -744,7 +744,7 @@ Atom getatomprop(Client *c, Atom prop)
|
||||||
if (
|
if (
|
||||||
XGetWindowProperty(
|
XGetWindowProperty(
|
||||||
dpy,
|
dpy,
|
||||||
c->win,
|
c->x_window,
|
||||||
prop,
|
prop,
|
||||||
0L,
|
0L,
|
||||||
sizeof(atom),
|
sizeof(atom),
|
||||||
|
@ -820,16 +820,16 @@ void grabbuttons(Client *c, int focused)
|
||||||
{
|
{
|
||||||
unsigned int i, j;
|
unsigned int i, j;
|
||||||
unsigned int modifiers[] = { 0, LockMask, numlockmask, numlockmask|LockMask };
|
unsigned int modifiers[] = { 0, LockMask, numlockmask, numlockmask|LockMask };
|
||||||
XUngrabButton(dpy, AnyButton, AnyModifier, c->win);
|
XUngrabButton(dpy, AnyButton, AnyModifier, c->x_window);
|
||||||
if (!focused)
|
if (!focused)
|
||||||
XGrabButton(dpy, AnyButton, AnyModifier, c->win, False,
|
XGrabButton(dpy, AnyButton, AnyModifier, c->x_window, False,
|
||||||
BUTTONMASK, GrabModeSync, GrabModeSync, None, None);
|
BUTTONMASK, GrabModeSync, GrabModeSync, None, None);
|
||||||
for (i = 0; i < LENGTH(buttons); i++)
|
for (i = 0; i < LENGTH(buttons); i++)
|
||||||
if (buttons[i].click == ClkClientWin)
|
if (buttons[i].click == ClkClientWin)
|
||||||
for (j = 0; j < LENGTH(modifiers); j++)
|
for (j = 0; j < LENGTH(modifiers); j++)
|
||||||
XGrabButton(dpy, buttons[i].button,
|
XGrabButton(dpy, buttons[i].button,
|
||||||
buttons[i].mask | modifiers[j],
|
buttons[i].mask | modifiers[j],
|
||||||
c->win, False, BUTTONMASK,
|
c->x_window, False, BUTTONMASK,
|
||||||
GrabModeAsync, GrabModeSync, None, None);
|
GrabModeAsync, GrabModeSync, None, None);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -883,7 +883,7 @@ void killclient(__attribute__((unused)) const Arg *arg)
|
||||||
XGrabServer(dpy);
|
XGrabServer(dpy);
|
||||||
XSetErrorHandler(xerrordummy);
|
XSetErrorHandler(xerrordummy);
|
||||||
XSetCloseDownMode(dpy, DestroyAll);
|
XSetCloseDownMode(dpy, DestroyAll);
|
||||||
XKillClient(dpy, selmon->sel->win);
|
XKillClient(dpy, selmon->sel->x_window);
|
||||||
XSync(dpy, False);
|
XSync(dpy, False);
|
||||||
XSetErrorHandler(xerror);
|
XSetErrorHandler(xerror);
|
||||||
XUngrabServer(dpy);
|
XUngrabServer(dpy);
|
||||||
|
@ -896,7 +896,7 @@ void manage(Window w, XWindowAttributes *wa)
|
||||||
|
|
||||||
client_state_init(&c->state);
|
client_state_init(&c->state);
|
||||||
|
|
||||||
c->win = w;
|
c->x_window = w;
|
||||||
c->state.geometry.basic.position.x = wa->x;
|
c->state.geometry.basic.position.x = wa->x;
|
||||||
c->state.geometry.basic.position.y = wa->y;
|
c->state.geometry.basic.position.y = wa->y;
|
||||||
c->state.geometry.basic.sizes.w = wa->width;
|
c->state.geometry.basic.sizes.w = wa->width;
|
||||||
|
@ -968,7 +968,7 @@ void manage(Window w, XWindowAttributes *wa)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (c->state.is_floating) {
|
if (c->state.is_floating) {
|
||||||
XRaiseWindow(dpy, c->win);
|
XRaiseWindow(dpy, c->x_window);
|
||||||
}
|
}
|
||||||
|
|
||||||
attach(c);
|
attach(c);
|
||||||
|
@ -981,14 +981,14 @@ void manage(Window w, XWindowAttributes *wa)
|
||||||
XA_WINDOW,
|
XA_WINDOW,
|
||||||
32,
|
32,
|
||||||
PropModeAppend,
|
PropModeAppend,
|
||||||
(unsigned char*)&(c->win),
|
(unsigned char*)&(c->x_window),
|
||||||
1
|
1
|
||||||
);
|
);
|
||||||
|
|
||||||
/* some windows require this */
|
/* some windows require this */
|
||||||
XMoveResizeWindow(
|
XMoveResizeWindow(
|
||||||
dpy,
|
dpy,
|
||||||
c->win,
|
c->x_window,
|
||||||
c->state.geometry.basic.position.x + 2 * screen_sizes.w,
|
c->state.geometry.basic.position.x + 2 * screen_sizes.w,
|
||||||
c->state.geometry.basic.position.y,
|
c->state.geometry.basic.position.y,
|
||||||
c->state.geometry.basic.sizes.w,
|
c->state.geometry.basic.sizes.w,
|
||||||
|
@ -1004,7 +1004,7 @@ void manage(Window w, XWindowAttributes *wa)
|
||||||
c->mon->sel = c;
|
c->mon->sel = c;
|
||||||
|
|
||||||
arrange(c->mon);
|
arrange(c->mon);
|
||||||
XMapWindow(dpy, c->win);
|
XMapWindow(dpy, c->x_window);
|
||||||
focus(NULL);
|
focus(NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1271,7 +1271,13 @@ void resizeclient(Client *c, const struct ClientGeometry client_geometry)
|
||||||
XWindowChanges wc = { 0 };
|
XWindowChanges wc = { 0 };
|
||||||
client_geometry_convert_to_x_window_changes(&client_geometry, &wc);
|
client_geometry_convert_to_x_window_changes(&client_geometry, &wc);
|
||||||
|
|
||||||
XConfigureWindow(dpy, c->win, CWX|CWY|CWWidth|CWHeight|CWBorderWidth, &wc);
|
XConfigureWindow(
|
||||||
|
dpy,
|
||||||
|
c->x_window,
|
||||||
|
CWX | CWY | CWWidth | CWHeight | CWBorderWidth,
|
||||||
|
&wc
|
||||||
|
);
|
||||||
|
|
||||||
configure(c);
|
configure(c);
|
||||||
XSync(dpy, False);
|
XSync(dpy, False);
|
||||||
}
|
}
|
||||||
|
@ -1293,7 +1299,7 @@ void resizemouse(__attribute__((unused)) const Arg *arg)
|
||||||
XWarpPointer(
|
XWarpPointer(
|
||||||
dpy,
|
dpy,
|
||||||
None,
|
None,
|
||||||
c->win,
|
c->x_window,
|
||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
|
@ -1398,7 +1404,7 @@ void resizemouse(__attribute__((unused)) const Arg *arg)
|
||||||
XWarpPointer(
|
XWarpPointer(
|
||||||
dpy,
|
dpy,
|
||||||
None,
|
None,
|
||||||
c->win,
|
c->x_window,
|
||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
|
@ -1434,7 +1440,7 @@ void restack(Monitor *m)
|
||||||
if (!m->sel)
|
if (!m->sel)
|
||||||
return;
|
return;
|
||||||
if (m->sel->state.is_floating || !m->lt[m->sellt]->arrange)
|
if (m->sel->state.is_floating || !m->lt[m->sellt]->arrange)
|
||||||
XRaiseWindow(dpy, m->sel->win);
|
XRaiseWindow(dpy, m->sel->x_window);
|
||||||
if (m->lt[m->sellt]->arrange) {
|
if (m->lt[m->sellt]->arrange) {
|
||||||
wc.stack_mode = Below;
|
wc.stack_mode = Below;
|
||||||
// TODO: Learn what is sibling and what
|
// TODO: Learn what is sibling and what
|
||||||
|
@ -1442,8 +1448,8 @@ void restack(Monitor *m)
|
||||||
// wc.sibling = m->bar->barwin;
|
// wc.sibling = m->bar->barwin;
|
||||||
for (c = m->stack; c; c = c->snext)
|
for (c = m->stack; c; c = c->snext)
|
||||||
if (!c->state.is_floating && ISVISIBLE(c)) {
|
if (!c->state.is_floating && ISVISIBLE(c)) {
|
||||||
XConfigureWindow(dpy, c->win, CWSibling|CWStackMode, &wc);
|
XConfigureWindow(dpy, c->x_window, CWSibling|CWStackMode, &wc);
|
||||||
wc.sibling = c->win;
|
wc.sibling = c->x_window;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
XSync(dpy, False);
|
XSync(dpy, False);
|
||||||
|
@ -1506,7 +1512,7 @@ void setclientstate(Client *c, long state)
|
||||||
|
|
||||||
XChangeProperty(
|
XChangeProperty(
|
||||||
dpy,
|
dpy,
|
||||||
c->win,
|
c->x_window,
|
||||||
atoms->wmatom[WMState],
|
atoms->wmatom[WMState],
|
||||||
atoms->wmatom[WMState],
|
atoms->wmatom[WMState],
|
||||||
32,
|
32,
|
||||||
|
@ -1523,19 +1529,19 @@ int sendevent(Client *c, Atom proto)
|
||||||
int exists = 0;
|
int exists = 0;
|
||||||
XEvent ev;
|
XEvent ev;
|
||||||
|
|
||||||
if (XGetWMProtocols(dpy, c->win, &protocols, &n)) {
|
if (XGetWMProtocols(dpy, c->x_window, &protocols, &n)) {
|
||||||
while (!exists && n--)
|
while (!exists && n--)
|
||||||
exists = protocols[n] == proto;
|
exists = protocols[n] == proto;
|
||||||
XFree(protocols);
|
XFree(protocols);
|
||||||
}
|
}
|
||||||
if (exists) {
|
if (exists) {
|
||||||
ev.type = ClientMessage;
|
ev.type = ClientMessage;
|
||||||
ev.xclient.window = c->win;
|
ev.xclient.window = c->x_window;
|
||||||
ev.xclient.message_type = atoms->wmatom[WMProtocols];
|
ev.xclient.message_type = atoms->wmatom[WMProtocols];
|
||||||
ev.xclient.format = 32;
|
ev.xclient.format = 32;
|
||||||
ev.xclient.data.l[0] = proto;
|
ev.xclient.data.l[0] = proto;
|
||||||
ev.xclient.data.l[1] = CurrentTime;
|
ev.xclient.data.l[1] = CurrentTime;
|
||||||
XSendEvent(dpy, c->win, False, NoEventMask, &ev);
|
XSendEvent(dpy, c->x_window, False, NoEventMask, &ev);
|
||||||
}
|
}
|
||||||
return exists;
|
return exists;
|
||||||
}
|
}
|
||||||
|
@ -1543,7 +1549,7 @@ int sendevent(Client *c, Atom proto)
|
||||||
void setfocus(Client *c)
|
void setfocus(Client *c)
|
||||||
{
|
{
|
||||||
if (!c->state.never_focus) {
|
if (!c->state.never_focus) {
|
||||||
XSetInputFocus(dpy, c->win, RevertToPointerRoot, CurrentTime);
|
XSetInputFocus(dpy, c->x_window, RevertToPointerRoot, CurrentTime);
|
||||||
XChangeProperty(
|
XChangeProperty(
|
||||||
dpy,
|
dpy,
|
||||||
root,
|
root,
|
||||||
|
@ -1551,7 +1557,7 @@ void setfocus(Client *c)
|
||||||
XA_WINDOW,
|
XA_WINDOW,
|
||||||
32,
|
32,
|
||||||
PropModeReplace,
|
PropModeReplace,
|
||||||
(unsigned char*)&(c->win),
|
(unsigned char*)&(c->x_window),
|
||||||
1
|
1
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -1562,13 +1568,13 @@ void setfocus(Client *c)
|
||||||
void setfullscreen(Client *c, int fullscreen)
|
void setfullscreen(Client *c, int fullscreen)
|
||||||
{
|
{
|
||||||
if (fullscreen && !c->state.is_fullscreen) {
|
if (fullscreen && !c->state.is_fullscreen) {
|
||||||
XChangeProperty(dpy, c->win, atoms->netatom[NetWMState], XA_ATOM, 32,
|
XChangeProperty(dpy, c->x_window, atoms->netatom[NetWMState], XA_ATOM, 32,
|
||||||
PropModeReplace, (unsigned char*)&atoms->netatom[NetWMFullscreen], 1);
|
PropModeReplace, (unsigned char*)&atoms->netatom[NetWMFullscreen], 1);
|
||||||
c->state.is_fullscreen = true;
|
c->state.is_fullscreen = true;
|
||||||
// We have to rearrange because borders and gaps may have changed.
|
// We have to rearrange because borders and gaps may have changed.
|
||||||
arrange(c->mon);
|
arrange(c->mon);
|
||||||
} else if (!fullscreen && c->state.is_fullscreen){
|
} else if (!fullscreen && c->state.is_fullscreen){
|
||||||
XChangeProperty(dpy, c->win, atoms->netatom[NetWMState], XA_ATOM, 32,
|
XChangeProperty(dpy, c->x_window, atoms->netatom[NetWMState], XA_ATOM, 32,
|
||||||
PropModeReplace, (unsigned char*)0, 0);
|
PropModeReplace, (unsigned char*)0, 0);
|
||||||
c->state.is_fullscreen = false;
|
c->state.is_fullscreen = false;
|
||||||
// We have to rearrange because borders and gaps may have changed.
|
// We have to rearrange because borders and gaps may have changed.
|
||||||
|
@ -1703,11 +1709,11 @@ void seturgent(Client *c, bool is_urgent)
|
||||||
XWMHints *wmh;
|
XWMHints *wmh;
|
||||||
|
|
||||||
c->state.is_urgent = is_urgent;
|
c->state.is_urgent = is_urgent;
|
||||||
if (!(wmh = XGetWMHints(dpy, c->win)))
|
if (!(wmh = XGetWMHints(dpy, c->x_window)))
|
||||||
return;
|
return;
|
||||||
wmh->flags =
|
wmh->flags =
|
||||||
is_urgent ? (wmh->flags | XUrgencyHint) : (wmh->flags & ~XUrgencyHint);
|
is_urgent ? (wmh->flags | XUrgencyHint) : (wmh->flags & ~XUrgencyHint);
|
||||||
XSetWMHints(dpy, c->win, wmh);
|
XSetWMHints(dpy, c->x_window, wmh);
|
||||||
XFree(wmh);
|
XFree(wmh);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1719,7 +1725,7 @@ void showhide(Client *c)
|
||||||
/* show clients top down */
|
/* show clients top down */
|
||||||
XMoveWindow(
|
XMoveWindow(
|
||||||
dpy,
|
dpy,
|
||||||
c->win,
|
c->x_window,
|
||||||
c->state.geometry.basic.position.x,
|
c->state.geometry.basic.position.x,
|
||||||
c->state.geometry.basic.position.y
|
c->state.geometry.basic.position.y
|
||||||
);
|
);
|
||||||
|
@ -1733,7 +1739,7 @@ void showhide(Client *c)
|
||||||
showhide(c->snext);
|
showhide(c->snext);
|
||||||
XMoveWindow(
|
XMoveWindow(
|
||||||
dpy,
|
dpy,
|
||||||
c->win,
|
c->x_window,
|
||||||
client_geometry_total_width(&c->state.geometry) * -2,
|
client_geometry_total_width(&c->state.geometry) * -2,
|
||||||
c->state.geometry.basic.position.y
|
c->state.geometry.basic.position.y
|
||||||
);
|
);
|
||||||
|
@ -1800,7 +1806,7 @@ void unfocus(Client *c, int setfocus)
|
||||||
if (!c)
|
if (!c)
|
||||||
return;
|
return;
|
||||||
grabbuttons(c, 0);
|
grabbuttons(c, 0);
|
||||||
XSetWindowBorder(dpy, c->win, scheme[SchemeNorm][ColBorder].pixel);
|
XSetWindowBorder(dpy, c->x_window, scheme[SchemeNorm][ColBorder].pixel);
|
||||||
if (setfocus) {
|
if (setfocus) {
|
||||||
XSetInputFocus(dpy, root, RevertToPointerRoot, CurrentTime);
|
XSetInputFocus(dpy, root, RevertToPointerRoot, CurrentTime);
|
||||||
XDeleteProperty(dpy, root, atoms->netatom[NetActiveWindow]);
|
XDeleteProperty(dpy, root, atoms->netatom[NetActiveWindow]);
|
||||||
|
@ -1818,8 +1824,8 @@ void unmanage(Client *c, int destroyed)
|
||||||
wc.border_width = 0;
|
wc.border_width = 0;
|
||||||
XGrabServer(dpy); /* avoid race conditions */
|
XGrabServer(dpy); /* avoid race conditions */
|
||||||
XSetErrorHandler(xerrordummy);
|
XSetErrorHandler(xerrordummy);
|
||||||
XConfigureWindow(dpy, c->win, CWBorderWidth, &wc); /* remove border */
|
XConfigureWindow(dpy, c->x_window, CWBorderWidth, &wc); /* remove border */
|
||||||
XUngrabButton(dpy, AnyButton, AnyModifier, c->win);
|
XUngrabButton(dpy, AnyButton, AnyModifier, c->x_window);
|
||||||
setclientstate(c, WithdrawnState);
|
setclientstate(c, WithdrawnState);
|
||||||
XSync(dpy, False);
|
XSync(dpy, False);
|
||||||
XSetErrorHandler(xerror);
|
XSetErrorHandler(xerror);
|
||||||
|
@ -1844,7 +1850,7 @@ void updateclientlist()
|
||||||
XA_WINDOW,
|
XA_WINDOW,
|
||||||
32,
|
32,
|
||||||
PropModeAppend,
|
PropModeAppend,
|
||||||
(unsigned char*)&(c->win),
|
(unsigned char*)&(c->x_window),
|
||||||
1
|
1
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -1963,7 +1969,7 @@ void updatesizehints(Client *c)
|
||||||
XSizeHints size = { 0 };
|
XSizeHints size = { 0 };
|
||||||
long msize = 0;
|
long msize = 0;
|
||||||
|
|
||||||
if (!XGetWMNormalHints(dpy, c->win, &size, &msize)) {
|
if (!XGetWMNormalHints(dpy, c->x_window, &size, &msize)) {
|
||||||
/* size is uninitialized, ensure that size.flags aren't used */
|
/* size is uninitialized, ensure that size.flags aren't used */
|
||||||
size.flags = PSize;
|
size.flags = PSize;
|
||||||
}
|
}
|
||||||
|
@ -1983,8 +1989,8 @@ void updatesizehints(Client *c)
|
||||||
|
|
||||||
void updatetitle(Client *c)
|
void updatetitle(Client *c)
|
||||||
{
|
{
|
||||||
if (!gettextprop(c->win, atoms->netatom[NetWMName], c->state.name, sizeof(c->state.name)))
|
if (!gettextprop(c->x_window, atoms->netatom[NetWMName], c->state.name, sizeof(c->state.name)))
|
||||||
gettextprop(c->win, XA_WM_NAME, c->state.name, sizeof(c->state.name));
|
gettextprop(c->x_window, XA_WM_NAME, c->state.name, sizeof(c->state.name));
|
||||||
if (c->state.name[0] == '\0') /* hack to mark broken clients */
|
if (c->state.name[0] == '\0') /* hack to mark broken clients */
|
||||||
strcpy(c->state.name, broken);
|
strcpy(c->state.name, broken);
|
||||||
}
|
}
|
||||||
|
@ -2002,12 +2008,12 @@ void updatewindowtype(Client *c)
|
||||||
|
|
||||||
void updatewmhints(Client *c)
|
void updatewmhints(Client *c)
|
||||||
{
|
{
|
||||||
XWMHints *wmh = XGetWMHints(dpy, c->win);
|
XWMHints *wmh = XGetWMHints(dpy, c->x_window);
|
||||||
if (!wmh) return;
|
if (!wmh) return;
|
||||||
|
|
||||||
if (c == selmon->sel && wmh->flags & XUrgencyHint) {
|
if (c == selmon->sel && wmh->flags & XUrgencyHint) {
|
||||||
wmh->flags &= ~XUrgencyHint;
|
wmh->flags &= ~XUrgencyHint;
|
||||||
XSetWMHints(dpy, c->win, wmh);
|
XSetWMHints(dpy, c->x_window, wmh);
|
||||||
} else {
|
} else {
|
||||||
c->state.is_urgent = (wmh->flags & XUrgencyHint) ? true : false;
|
c->state.is_urgent = (wmh->flags & XUrgencyHint) ? true : false;
|
||||||
}
|
}
|
||||||
|
@ -2025,7 +2031,7 @@ Client *wintoclient(Window w)
|
||||||
{
|
{
|
||||||
for (Monitor *m = mons; m; m = m->next) {
|
for (Monitor *m = mons; m; m = m->next) {
|
||||||
for (Client *c = m->clients; c; c = c->next) {
|
for (Client *c = m->clients; c; c = c->next) {
|
||||||
if (c->win == w) {
|
if (c->x_window == w) {
|
||||||
return c;
|
return c;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -138,7 +138,7 @@ void on_configure_request(XEvent *e)
|
||||||
if (ISVISIBLE(c)) {
|
if (ISVISIBLE(c)) {
|
||||||
XMoveResizeWindow(
|
XMoveResizeWindow(
|
||||||
dpy,
|
dpy,
|
||||||
c->win,
|
c->x_window,
|
||||||
c->state.geometry.basic.position.x,
|
c->state.geometry.basic.position.x,
|
||||||
c->state.geometry.basic.position.y,
|
c->state.geometry.basic.position.y,
|
||||||
c->state.geometry.basic.sizes.w,
|
c->state.geometry.basic.sizes.w,
|
||||||
|
@ -193,7 +193,7 @@ void on_focus_in(XEvent *e)
|
||||||
{
|
{
|
||||||
XFocusChangeEvent *ev = &e->xfocus;
|
XFocusChangeEvent *ev = &e->xfocus;
|
||||||
|
|
||||||
if (selmon->sel && ev->window != selmon->sel->win)
|
if (selmon->sel && ev->window != selmon->sel->x_window)
|
||||||
setfocus(selmon->sel);
|
setfocus(selmon->sel);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -246,7 +246,7 @@ void on_property_notify(XEvent *e)
|
||||||
switch(ev->atom) {
|
switch(ev->atom) {
|
||||||
default: break;
|
default: break;
|
||||||
case XA_WM_TRANSIENT_FOR:
|
case XA_WM_TRANSIENT_FOR:
|
||||||
if (!c->state.is_floating && (XGetTransientForHint(dpy, c->win, &trans)) &&
|
if (!c->state.is_floating && (XGetTransientForHint(dpy, c->x_window, &trans)) &&
|
||||||
(c->state.is_floating = (wintoclient(trans)) != NULL))
|
(c->state.is_floating = (wintoclient(trans)) != NULL))
|
||||||
arrange(c->mon);
|
arrange(c->mon);
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in New Issue