This has annoyed me for a long time... 1. have at least two windows 2. open the window menu with M-slash (alt+/) 3. show all windows with C-A (ctrl+a) 4. move cursor over list from top to bottom, observe no glitch 5. move cursor over list from bottom to top, observe "[" and "]" chars in entries being drawn over at the top, i.e. upper entries overlap lower ones
It's easy to miss but hard to unsee. Today I looked and came up with the following fix, drawing menu entries without overlap. All these `height + 1' spread across seem off, but they seem consistent. Okan, is there a better way to fix this? This is trivial to reproduce wihout messing with your running X: $ Xephyr :1 & $ xterm -display 1 & $ xterm -display 1 & $ DISPLAY=:1 ./obj/cwm Then click on the background/root window to navigate the window menu. Index: app/cwm/menu.c =================================================================== RCS file: /cvs/xenocara/app/cwm/menu.c,v retrieving revision 1.109 diff -u -p -r1.109 menu.c --- app/cwm/menu.c 27 Feb 2020 14:56:39 -0000 1.109 +++ app/cwm/menu.c 12 Oct 2022 21:24:17 -0000 @@ -436,7 +436,7 @@ menu_draw_entry(struct menu_ctx *mc, str color = (active) ? CWM_COLOR_MENU_FG : CWM_COLOR_MENU_BG; XftDrawRect(mc->xftdraw, &sc->xftcolor[color], 0, (sc->xftfont->height + 1) * entry, mc->geom.w, - (sc->xftfont->height + 1) + sc->xftfont->descent); + (sc->xftfont->height + 1) + sc->xftfont->descent - 1); color = (active) ? CWM_COLOR_MENU_FONT_SEL : CWM_COLOR_MENU_FONT; XftDrawStringUtf8(mc->xftdraw, &sc->xftcolor[color], sc->xftfont,