register the _NET_WM_CM_S hint with the correct screen number
This commit is contained in:
parent
c213ab27ff
commit
db45bafdc4
22
xcompmgr.c
22
xcompmgr.c
|
@ -155,6 +155,7 @@ Bool winTypeFade[NUM_WINTYPES];
|
||||||
|
|
||||||
/* opacity property name; sometime soon I'll write up an EWMH spec for it */
|
/* opacity property name; sometime soon I'll write up an EWMH spec for it */
|
||||||
#define OPACITY_PROP "_NET_WM_WINDOW_OPACITY"
|
#define OPACITY_PROP "_NET_WM_WINDOW_OPACITY"
|
||||||
|
#define REGISTER_PROP "_NET_WM_CM_S"
|
||||||
|
|
||||||
#define TRANSLUCENT 0xe0000000
|
#define TRANSLUCENT 0xe0000000
|
||||||
#define OPAQUE 0xffffffff
|
#define OPAQUE 0xffffffff
|
||||||
|
@ -1914,10 +1915,14 @@ usage (char *program)
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
register_cm (void)
|
register_cm (int scr)
|
||||||
{
|
{
|
||||||
Window w;
|
Window w;
|
||||||
Atom a;
|
Atom a;
|
||||||
|
char *buf;
|
||||||
|
int len, s;
|
||||||
|
|
||||||
|
if (scr < 0) return;
|
||||||
|
|
||||||
w = XCreateSimpleWindow (dpy, RootWindow (dpy, 0), 0, 0, 1, 1, 0, None,
|
w = XCreateSimpleWindow (dpy, RootWindow (dpy, 0), 0, 0, 1, 1, 0, None,
|
||||||
None);
|
None);
|
||||||
|
@ -1925,8 +1930,17 @@ register_cm (void)
|
||||||
Xutf8SetWMProperties (dpy, w, "xcompmgr", "xcompmgr", NULL, 0, NULL, NULL,
|
Xutf8SetWMProperties (dpy, w, "xcompmgr", "xcompmgr", NULL, 0, NULL, NULL,
|
||||||
NULL);
|
NULL);
|
||||||
|
|
||||||
/* FIXME: Don't hard code the screen number */
|
len = strlen(REGISTER_PROP) + 2;
|
||||||
a = XInternAtom (dpy, "_NET_WM_CM_S0", False);
|
s = scr;
|
||||||
|
while (s >= 10) {
|
||||||
|
++len;
|
||||||
|
s /= 10;
|
||||||
|
}
|
||||||
|
buf = malloc(len);
|
||||||
|
snprintf(buf, len, REGISTER_PROP"%d", scr);
|
||||||
|
|
||||||
|
a = XInternAtom (dpy, buf, False);
|
||||||
|
free(buf);
|
||||||
|
|
||||||
XSetSelectionOwner (dpy, a, w, 0);
|
XSetSelectionOwner (dpy, a, w, 0);
|
||||||
}
|
}
|
||||||
|
@ -2076,7 +2090,7 @@ main (int argc, char **argv)
|
||||||
exit (1);
|
exit (1);
|
||||||
}
|
}
|
||||||
|
|
||||||
register_cm();
|
register_cm(scr);
|
||||||
|
|
||||||
/* get atoms */
|
/* get atoms */
|
||||||
opacityAtom = XInternAtom (dpy, OPACITY_PROP, False);
|
opacityAtom = XInternAtom (dpy, OPACITY_PROP, False);
|
||||||
|
|
Loading…
Reference in New Issue