В любой оболочке стиля Границы, i
опция указывает, является ли оболочка интерактивной:
case $- in
*i*) echo "This shell is interactive";;
*) echo "This is a script";;
esac
Нет никакого портативного и полностью надежного способа протестировать на оболочку входа в систему. Ksh и zsh добавляют l
кому: $-
. Bash устанавливает login_shell
опция, с которой можно запросить shopt -q login_shell
. Портативно, тест, ли $0
запускается с a -
: оболочки обычно знают, что они - оболочки входа в систему, потому что вызывающая сторона добавила a -
префикс к нулю аргумента (обычно имя или путь исполняемого файла). Этому не удается обнаружить особенные методы оболочки вызова оболочки входа в систему (например. ash -l
).
Не виджет как таковой, но можно получить сочетания клавиш путем добавления
awful.key({}, "XF86AudioPlay", function () awful.util.spawn_with_shell("nyxmms2 toggle") end),
awful.key({}, "XF86AudioStop", function () awful.util.spawn_with_shell("nyxmms2 stop") end),
awful.key({}, "XF86AudioPrev", function () awful.util.spawn_with_shell("nyxmms2 prev") end),
awful.key({}, "XF86AudioNext", function () awful.util.spawn_with_shell("nyxmms2 next") end)
к Вашему rc.lua
файл.
Кроме того, виджет официального сайта был обновлен, и код там теперь хорошо работает для меня.