When embedded into another window, dmenu will fail with the BadMatch error if that window have not the same colormap/depth/visual as the root window. That happens because dmenu inherits the colormap/depth/visual from its parent, but draws on a pixmap created based on the root window using a GC created for the root window (see drw.c). A BadMatch will occur when copying the content of the pixmap into dmenu's window. A solution is to create dmenu's window inside root and then reparent it if embeded. See this mail[1] on ports@openbsd.org mailing list for context. [1]: https://marc.info/?l=openbsd-ports&m=168072150814664&w=2 |
||
|---|---|---|
| arg.h | ||
| config.def.h | ||
| config.mk | ||
| dmenu_path | ||
| dmenu_run | ||
| dmenu.1 | ||
| dmenu.c | ||
| drw.c | ||
| drw.h | ||
| LICENSE | ||
| Makefile | ||
| README | ||
| stest.1 | ||
| stest.c | ||
| util.c | ||
| util.h | ||
dmenu - dynamic menu
====================
dmenu is an efficient dynamic menu for X.
Requirements
------------
In order to build dmenu you need the Xlib header files.
Installation
------------
Edit config.mk to match your local setup (dmenu is installed into
the /usr/local namespace by default).
Afterwards enter the following command to build and install dmenu
(if necessary as root):
make clean install
Running dmenu
-------------
See the man page for details.