Misc: Add properties to the registration window

Add WM_CLASS, COMPTON_VERSION, and _NET_WM_PID properties to the
registration window, to ease the development of pcman's compton-conf.
This commit is contained in:
Richard Grenville
2013-11-10 10:13:18 +08:00
parent 46e6abdd2a
commit c02a867e6f
2 changed files with 45 additions and 5 deletions

View File

@ -337,9 +337,7 @@ isdamagenotify(session_t *ps, const XEvent *ev) {
*/
static inline XTextProperty *
make_text_prop(session_t *ps, char *str) {
XTextProperty *pprop = malloc(sizeof(XTextProperty));
if (!pprop)
printf_errfq(1, "(): Failed to allocate memory.");
XTextProperty *pprop = cmalloc(1, XTextProperty);
if (XmbTextListToTextProperty(ps->dpy, &str, 1, XStringStyle, pprop)) {
cxfree(pprop->value);
@ -350,6 +348,25 @@ make_text_prop(session_t *ps, char *str) {
return pprop;
}
/**
* Set a single-string text property on a window.
*/
static inline bool
wid_set_text_prop(session_t *ps, Window wid, Atom prop_atom, char *str) {
XTextProperty *pprop = make_text_prop(ps, str);
if (!pprop) {
printf_errf("(\"%s\"): Failed to make text property.", str);
return false;
}
XSetTextProperty(ps->dpy, wid, pprop, prop_atom);
cxfree(pprop->value);
cxfree(pprop);
return true;
}
static void
run_fade(session_t *ps, win *w, unsigned steps);