+ menu->w = max(menu->w, itemwidth);
+ menu->maxtextw = max(menu->maxtextw, item->textw);
+ }
+ if (!menu->overflow) {
+ XSetWindowBackground(dpy, menu->win, dc.normal[ColorBG].pixel);
+ } else {
+ pix = XCreatePixmap(dpy, menu->win, menu->w, menu->h, depth);
+ XSetForeground(dpy, dc.gc, dc.normal[ColorBG].pixel);
+ XFillRectangle(dpy, pix, dc.gc, 0, 0, menu->w, menu->h);
+ XSetForeground(dpy, dc.gc, dc.normal[ColorFG].pixel);
+ XFillPolygon(
+ dpy, pix, dc.gc,
+ (XPoint []){
+ {menu->w / 2 - 3, config.height_pixels / 2 + 2},
+ {3, -4},
+ {3, 4},
+ {-6, 0},
+ },
+ 4, Convex, CoordModePrevious
+ );
+ XFillPolygon(
+ dpy, pix, dc.gc,
+ (XPoint []){
+ {menu->w / 2 - 3, menu->h - config.height_pixels / 2 - 2},
+ {3, 4},
+ {3, -4},
+ {-6, 0},
+ },
+ 4, Convex, CoordModePrevious
+ );
+ XSetWindowBackgroundPixmap(dpy, menu->win, pix);
+ XFreePixmap(dpy, pix);