Dmenu

Материал из Linux Wiki
Версия от 09:17, 22 апреля 2009; Lazyklimm (обсуждение | вклад) (→‎windmenu.sh: добавил обрезание "- название порграммы" в конце имени окна)
Перейти к навигацииПерейти к поиску

Dmenu - горизонтальная менюшка, выползающая сверху (или снизу) экрана.

Обладает простым, но очень полезным функционалом - принимает на stdin текстовые строки, показывает их как пункты меню, и если выбран какой-либо пункт, выдает его на stdout.

Сама по себе может показаться практически бесполезной, но будучи соединенной в конвеер с другими командами, становится очень ценной вещью.


rundmenu.sh

самый простейший пример, идет "в коробке", запуск программ из $PATH

#!/bin/sh
#FONT="-*-terminus-*-*-*-*-*-*-*-*-*-*-iso10646-*"
COLORS="-nb #000000 -nf #FFFFFF -sb #0066ff"
MISC="-i -b"
PARAMS="${FONT} ${COLORS} ${MISC}"
`dmenu_path | dmenu $PARAMS` && eval "exec $exe"

windmenu.sh

Активизирует выбранное в меню окно (из всех). Полезно для тех, у кого куча рабочих столов с кучей открытых окон. По моему опыту достаточно нажатия пары-тройки клавиш для поиска нужного окна (+хоткей на вызов + Enter)

По неизвестным пока причинам как минимум на одной машине скрипт работает некорректно.

требуется установленная утилита wmctrl

#!/bin/sh
#FONT="-*-terminus-*-*-*-*-*-*-*-*-*-*-iso10646-*"
COLORS="-nb #000000 -nf #FFFFFF -sb #0066ff"
MISC="-i -b"
PARAMS="${FONT} ${COLORS} ${MISC}"
wmctrl -a `wmctrl -l | cut -d " " -f 5- |sed -e 's/\-[[:blank:]][^-]*$//'  | dmenu $PARAMS`