#include "wm.h" unsigned long color_alloc(WM *wm, unsigned long rgb) { XColor c; c.red = ((rgb >> 16) & 0xFF) * 257; c.green = ((rgb >> 8) & 0xFF) * 257; c.blue = ((rgb) & 0xFF) * 257; c.flags = DoRed | DoGreen | DoBlue; XAllocColor(wm->dpy, wm->cmap, &c); return c.pixel; } void xft_color(WM *wm, unsigned long rgb, XftColor *out) { XRenderColor rc; rc.red = ((rgb >> 16) & 0xFF) * 257; rc.green = ((rgb >> 8) & 0xFF) * 257; rc.blue = ((rgb) & 0xFF) * 257; rc.alpha = 0xFFFF; XftColorAllocValue(wm->dpy, wm->visual, wm->cmap, &rc, out); }