mirror of
https://github.com/leahneukirchen/cwm.git
synced 2023-08-10 21:13:12 +03:00
only a window is required to set WM_STATE. also un-confuse xu_ptr_getpos
by using 'win' instead of 'rootwin' so as not to imply only the root window is queried, rather any window.
This commit is contained in:
parent
f3dfc4968c
commit
16ed8bf8e4
2
calmwm.h
2
calmwm.h
@ -466,7 +466,7 @@ void xu_configure(struct client_ctx *);
|
|||||||
void xu_getatoms(void);
|
void xu_getatoms(void);
|
||||||
unsigned long xu_getcolor(struct screen_ctx *, char *);
|
unsigned long xu_getcolor(struct screen_ctx *, char *);
|
||||||
int xu_getprop(Window, Atom, Atom, long, u_char **);
|
int xu_getprop(Window, Atom, Atom, long, u_char **);
|
||||||
int xu_getstate(struct client_ctx *, int *);
|
int xu_getstate(Window, int *);
|
||||||
int xu_getstrprop(Window, Atom, char **);
|
int xu_getstrprop(Window, Atom, char **);
|
||||||
void xu_key_grab(Window, int, int);
|
void xu_key_grab(Window, int, int);
|
||||||
void xu_key_ungrab(Window, int, int);
|
void xu_key_ungrab(Window, int, int);
|
||||||
|
2
client.c
2
client.c
@ -111,7 +111,7 @@ client_new(Window win, struct screen_ctx *sc, int mapped)
|
|||||||
}
|
}
|
||||||
client_draw_border(cc);
|
client_draw_border(cc);
|
||||||
|
|
||||||
if (xu_getstate(cc, &state) < 0)
|
if (xu_getstate(cc->win, &state) < 0)
|
||||||
state = NormalState;
|
state = NormalState;
|
||||||
|
|
||||||
XSelectInput(X_Dpy, cc->win, ColormapChangeMask | EnterWindowMask |
|
XSelectInput(X_Dpy, cc->win, ColormapChangeMask | EnterWindowMask |
|
||||||
|
8
xutil.c
8
xutil.c
@ -72,13 +72,13 @@ xu_btn_ungrab(Window win, int mask, u_int btn)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
xu_ptr_getpos(Window rootwin, int *x, int *y)
|
xu_ptr_getpos(Window win, int *x, int *y)
|
||||||
{
|
{
|
||||||
Window w0, w1;
|
Window w0, w1;
|
||||||
int tmp0, tmp1;
|
int tmp0, tmp1;
|
||||||
u_int tmp2;
|
u_int tmp2;
|
||||||
|
|
||||||
XQueryPointer(X_Dpy, rootwin, &w0, &w1, &tmp0, &tmp1, x, y, &tmp2);
|
XQueryPointer(X_Dpy, win, &w0, &w1, &tmp0, &tmp1, x, y, &tmp2);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -203,11 +203,11 @@ xu_getstrprop(Window win, Atom atm, char **text) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
xu_getstate(struct client_ctx *cc, int *state)
|
xu_getstate(Window win, int *state)
|
||||||
{
|
{
|
||||||
long *p = NULL;
|
long *p = NULL;
|
||||||
|
|
||||||
if (xu_getprop(cc->win, cwmh[WM_STATE].atom, cwmh[WM_STATE].atom, 2L,
|
if (xu_getprop(win, cwmh[WM_STATE].atom, cwmh[WM_STATE].atom, 2L,
|
||||||
(u_char **)&p) <= 0)
|
(u_char **)&p) <= 0)
|
||||||
return (-1);
|
return (-1);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user