dwm dmenu

Algo más de detalles.

dmenu corriendo con su configuración estandar.

dmenu corriendo verticalmente y con promtp.

~/.dwm/config.h

1...
2static const char font[]            = "-*-terminus-medium-r-*-*-16-*-*-*-*-*-iso10646-*";
3static const char normbgcolor[]     = "#cccccc";
4static const char normfgcolor[]     = "#000000";
5static const char selbgcolor[]      = "#0066ff";
6static const char selfgcolor[]      = "#ffffff";
7...
8static const char *dmenucmd[] = { "dmenu_run", "-fn", font, "-nb", normbgcolor, "-nf", normfgcolor, "-sb", selbgcolor, "-sf", selfgcolor, NULL };

Aqui van las modificaciones ejemplos de su ~/.dwm/config.h para lograr la salida vertical y con un prompt personalizado.

1/* Agregue */
2static const char lines[]      = "8";
3static const char prompt[]      = ">";
4
5/* Modifique el arranque de dmenu */
6static const char *dmenucmd[] = { "dmenu_run", "-l", lines ,"-p", prompt, "-fn", font, "-nb", normbgcolor, "-nf", normfgcolor, "-sb", selbgcolor, "-sf", selfgcolor, NULL };

Opciones dmenu

  • -b, dmenu aparece abajo en la pantalla.
  • -f, dmenu atrapa el teclado antes de leer stdin. Esto es más rápido pero puede bloquear X si stdin is de un terminal.
  • -i, dmenu hace búsqueda insensible al mayusculado.
  • -l líneas, dmenu lista los ítems verticalmente, con la cantidad de líneas indicadas.
  • -p prompt, define el prompt ha ser mostrado a la izquierda del campo de entrada.
  • -fn font, define la tipografía.
  • -nb color, define el color normal del fondo. Están soportados los nombres #RGB, #RRGGBB, y X color.
  • -nf color, define el color normal del frente.
  • -sb color, define el color de fondo seleccionado.
  • -sf color, define el color de frente seleccionado.
  • -v, imprime la información de versión en stdout, luego termina.

demu_run

$ file $(which dmenu_run )
/usr/bin/dmenu_run: POSIX shell script, ASCII text executable
 1#!/bin/sh
 2CACHE=${XDG_CACHE_HOME:-"$HOME/.cache"}/dmenu_run
 3(
 4        IFS=:
 5        if test "`ls -dt $PATH "$CACHE" 2> /dev/null | sed 1q`" != "$CACHE"; then
 6                mkdir -p "`dirname "$CACHE"`" && lsx $PATH | sort -u > "$CACHE" 
 7        fi
 8)
 9cmd=`dmenu "$@" < "$CACHE"` && exec sh -c "$cmd" 
$ head .cache/dmenu_run 
[
3proxy
411toppm
7z
7za
a2p
a2ping
a52dec
aaf_install
aaxine
...
...
...
$ tail .cache/dmenu_run 
zless
zmore
znew
znormdat
znormpat
zsoelim
zvbi-atsc-cc
zvbi-chains
zvbid
zvbi-ntsc-cc

Note que dmenu toma un archivo simple con una lista de ejecutables y que usted puede personalizar dicha lista a su conveniencia, para generar listas de ejecutables use lsx

dmenu-dwm-vertical-prompt.png (75.6 kB) Guillermo Gómez, 01/04/2012 09:21 am