rem: XSetForeground(dpy, scr->copy_gc, scr->black_pixel);
add: XSetForeground(dpy, scr->copy_gc, WMColorPixel(scr->select_text_color));
context: paintEntry(WMenu *menu, int index, int selected){    WScreen *scr=menu->frame->screen_ptr;    Window win = menu->menu->window;    WMenuEntry *entry=menu->entries[index];    GC light, dim, dark;    WMColor *color;    int x, y, w, h, tw;    int type;    if (!menu->flags.realized) return;    h = menu->entry_height;    w = menu->menu->width;    y = index * h;    light = scr->menu_item_auxtexture->light_gc;    dim = scr->menu_item_auxtexture->dim_gc;    dark = scr->menu_item_auxtexture->dark_gc;    if (wPreferences.menu_style == MS_FLAT && menu->entry_no > 1) {        if (index == 0)            type = F_TOP;        else if (index == menu->entry_no - 1)            type = F_BOTTOM;        else            type = F_NONE;    } else {        type = F_NORMAL;    }    /* paint background */    if (selected) {        XFillRectangle(dpy, win, WMColorGC(scr->white), 1, y+1, w-2, h-3);        if (scr->menu_item_texture->any.type == WTEX_SOLID)            drawFrame(scr, win, y, w, h, type);    } else {        if (scr->menu_item_texture->any.type == WTEX_SOLID) {            XClearArea(dpy, win, 0, y + 1, w - 1, h - 3, False);            /* draw the frame */            drawFrame(scr, win, y, w, h, type);        } else {            XClearArea(dpy, win, 0, y, w, h, False);        }    }    if (selected) {        if (entry->flags.enabled)            color = scr->select_text_color;        else            color = scr->dtext_color;    } else if (!entry->flags.enabled) {        color = scr->dtext_color;    } else {        color = scr->mtext_color;    }    /* draw text */    x = 5;    if (entry->flags.indicator)        x += MENU_INDICATOR_SPACE + 2;    WMDrawString(scr->wmscreen, win, color, scr->menu_entry_font,                 x, 3 + y + wPreferences.menu_text_clearance, entry->text, strlen(entry->text));    if (entry->cascade>=0) {        /* draw the cascade indicator */        XDrawLine(dpy,win,dim, w-11, y+6, w-6, y+h/2-1);        XDrawLine(dpy,win,light, w-11, y+h-8, w-6, y+h/2-1);        XDrawLine(dpy,win,dark, w-12, y+6, w-12, y+h-8);    }    /* draw indicator */    if (entry->flags.indicator && entry->flags.indicator_on) {        int iw, ih;        WPixmap *indicator;        switch (entry->flags.indicator_type) {        case MI_CHECK:            indicator = scr->menu_check_indicator;            break;        case MI_MINIWINDOW:            indicator = scr->menu_mini_indicator;            break;        case MI_HIDDEN:            indicator = scr->menu_hide_indicator;            break;        case MI_SHADED:            indicator = scr->menu_shade_indicator;            break;        case MI_DIAMOND:        default:            indicator = scr->menu_radio_indicator;            break;        }        iw = indicator->width;        ih = indicator->height;        XSetClipMask(dpy, scr->copy_gc, indicator->mask);        XSetClipOrigin(dpy, scr->copy_gc, 5, y+(h-ih)/2);        if (selected) {            if (entry->flags.enabled) {                XSetForeground(dpy, scr->copy_gc, scr->black_pixel);            } else {                XSetForeground(dpy, scr->copy_gc, WMColorPixel(scr->dtext_color));            }        } else {            if (entry->flags.enabled) {                XSetForeground(dpy, scr->copy_gc, WMColorPixel(scr->mtext_color));            } else {                XSetForeground(dpy, scr->copy_gc, WMColorPixel(scr->dtext_color));            }        }        XFillRectangle(dpy, win, scr->copy_gc, 5, y+(h-ih)/2, iw, ih);        /*         XCopyArea(dpy, indicator->image, win, scr->copy_gc, 0, 0,         iw, ih, 5, y+(h-ih)/2);         */        XSetClipOrigin(dpy, scr->copy_gc, 0, 0);    }    /* draw right text */    if (entry->rtext && entry->cascade<0) {        tw = WMWidthOfString(scr->menu_entry_font, entry->rtext,                             strlen(entry->rtext));        WMDrawString(scr->wmscreen, win, color, scr->menu_entry_font, w-6-tw,                     y + 3 + wPreferences.menu_text_clearance, entry->rtext, strlen(entry->rtext));    }}