From: Mikael Magnusson Date: Mon, 23 Jul 2007 23:36:47 +0000 (+0200) Subject: Make the default window icon randomly tinted. X-Git-Tag: mikabox-3.4.7^4~13 X-Git-Url: http://git.openbox.org/?a=commitdiff_plain;h=e676d2a300d5d621fc8ead69d41abecbf15b196a;p=mikachu%2Fopenbox.git Make the default window icon randomly tinted. --- diff --git a/openbox/client.c b/openbox/client.c index 66006a48..9d0f12fe 100644 --- a/openbox/client.c +++ b/openbox/client.c @@ -2133,6 +2133,10 @@ void client_update_icons(ObClient *self) if (!self->icon_set && !self->parents) { RrPixel32 *icon = ob_rr_theme->def_win_icon; gulong *ldata; /* use a long here to satisfy OBT_PROP_SETA32 */ + gint32 r,g,b; + r = g_random_int_range(0,255); + g = g_random_int_range(0,255); + b = g_random_int_range(0,255); w = ob_rr_theme->def_win_icon_w; h = ob_rr_theme->def_win_icon_h; @@ -2141,9 +2145,9 @@ void client_update_icons(ObClient *self) ldata[1] = h; for (i = 0; i < w*h; ++i) ldata[i+2] = (((icon[i] >> RrDefaultAlphaOffset) & 0xff) << 24) + - (((icon[i] >> RrDefaultRedOffset) & 0xff) << 16) + - (((icon[i] >> RrDefaultGreenOffset) & 0xff) << 8) + - (((icon[i] >> RrDefaultBlueOffset) & 0xff) << 0); + ((((icon[i] >> RrDefaultRedOffset) & 0xff)*r/255) << 16) + + ((((icon[i] >> RrDefaultGreenOffset) & 0xff)*g/255) << 8) + + ((((icon[i] >> RrDefaultBlueOffset) & 0xff)*b/255) << 0); OBT_PROP_SETA32(self->window, NET_WM_ICON, CARDINAL, ldata, w*h+2); g_free(ldata); } else if (self->frame)