set the default icon onto windows which don't provide one
This commit is contained in:
parent
d2f7ad9a24
commit
ac241a8235
1 changed files with 19 additions and 1 deletions
|
@ -1887,7 +1887,25 @@ void client_update_icons(ObClient *self)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (self->frame)
|
/* set the default icon onto the window
|
||||||
|
in theory, this could be a race, but if a window doesn't set an icon
|
||||||
|
or removes it entirely, it's not very likely it is going to set one
|
||||||
|
right away afterwards */
|
||||||
|
if (self->nicons == 0) {
|
||||||
|
RrPixel32 *icon = ob_rr_theme->def_win_icon;
|
||||||
|
|
||||||
|
data = g_new(guint32, 48*48+2);
|
||||||
|
data[0] = data[1] = 48;
|
||||||
|
for (i = 0; i < 48*48; ++i)
|
||||||
|
data[i+2] = (((icon[i] >> RrDefaultAlphaOffset) & 0xff) << 24) +
|
||||||
|
(((icon[i] >> RrDefaultRedOffset) & 0xff) << 16) +
|
||||||
|
(((icon[i] >> RrDefaultGreenOffset) & 0xff) << 8) +
|
||||||
|
(((icon[i] >> RrDefaultBlueOffset) & 0xff) << 0);
|
||||||
|
PROP_SETA32(self->window, net_wm_icon, cardinal, data, 48*48+2);
|
||||||
|
g_free(data);
|
||||||
|
} else if (self->frame)
|
||||||
|
/* don't draw the icon empty if we're just setting one now anyways,
|
||||||
|
we'll get the property change any second */
|
||||||
frame_adjust_icon(self->frame);
|
frame_adjust_icon(self->frame);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue