Dmenu: различия между версиями
Lazyklimm (обсуждение | вклад) м |
Lazyklimm (обсуждение | вклад) м (→windmenu.sh: теперь можно выбирать и воркспейсы) |
||
Строка 19: | Строка 19: | ||
== windmenu.sh == | == windmenu.sh == | ||
Активизирует выбранное в меню окно (из всех). Полезно для тех, у кого куча рабочих столов с кучей открытых окон. По моему опыту достаточно нажатия пары-тройки клавиш для поиска нужного окна (+хоткей на вызов + Enter) | Активизирует выбранное в меню окно или воркспейс (из всех). Полезно для тех, у кого куча рабочих столов с кучей открытых окон. По моему опыту достаточно нажатия пары-тройки клавиш для поиска нужного окна (+хоткей на вызов + Enter) | ||
По неизвестным пока причинам как минимум на одной машине скрипт работает некорректно. | По неизвестным пока причинам как минимум на одной машине скрипт работает некорректно. | ||
Строка 31: | Строка 31: | ||
MISC="-i -b" | MISC="-i -b" | ||
PARAMS="${FONT} ${COLORS} ${MISC}" | PARAMS="${FONT} ${COLORS} ${MISC}" | ||
wmctrl - | wnds=`wmctrl -l | cut -d " " -f 5-` | ||
wrks=`wmctrl -d | cut -d " " -f 14-` | |||
sel=`echo "$wnds $wrks" | dmenu $PARAMS` | |||
wrkid=`wmctrl -d | grep "$sel" | cut -d " " -f 1` | |||
test $wrkid && wmctrl -s $wrkid || wmctrl -a $sel | |||
</source> | </source> | ||
Версия 07:42, 2 мая 2009
Dmenu - горизонтальная менюшка, выползающая сверху (или снизу) экрана.
Обладает простым, но очень полезным функционалом - принимает на stdin текстовые строки, показывает их как пункты меню, и если выбран какой-либо пункт, выдает его на stdout.
Сама по себе может показаться практически бесполезной, но будучи соединенной в конвеер с другими командами, становится очень ценной вещью.
самый простейший пример, идет "в коробке", запуск программ из $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"
Активизирует выбранное в меню окно или воркспейс (из всех). Полезно для тех, у кого куча рабочих столов с кучей открытых окон. По моему опыту достаточно нажатия пары-тройки клавиш для поиска нужного окна (+хоткей на вызов + Enter)
По неизвестным пока причинам как минимум на одной машине скрипт работает некорректно.
требуется установленная утилита wmctrl
#!/bin/sh
#FONT="-*-terminus-*-*-*-*-*-*-*-*-*-*-iso10646-*"
COLORS="-nb #000000 -nf #FFFFFF -sb #0066ff"
MISC="-i -b"
PARAMS="${FONT} ${COLORS} ${MISC}"
wnds=`wmctrl -l | cut -d " " -f 5-`
wrks=`wmctrl -d | cut -d " " -f 14-`
sel=`echo "$wnds $wrks" | dmenu $PARAMS`
wrkid=`wmctrl -d | grep "$sel" | cut -d " " -f 1`
test $wrkid && wmctrl -s $wrkid || wmctrl -a $sel
Также...
Рекомендую посмотреть на dmenfm - файловый менеджер на основе dmenu. Описание