Меню выключения с использованием dmenu

С тех пор как не использую гномокеды для выключения компьютера использовал halt(reboot,hibernate по ситуации) в консоли, самопальную мордочку на gtkdialog вызываемую по хоткею и прочие изыски (как то в меню openbox, oblogout и прочее).

Но дабы не нарушать консистентность был написан простенький скрипт для dmenu (всё-таки dmenu отличная вещь) вызываемый по хоткею.
#!/bin/sh

CMD="poweroff
reboot
s2ram
hibernate"


CMD=`echo "$CMD" | dmenu -fn '-xos4-terminus-medium-r-normal--12-120-72-72-c-60-*-*' -nb '#737373' -nf '#e7e3e7'  -sb '#e7e3e7' -sf '#737373'`

case $CMD in 
# что бы не видеть портянку в dmenu переводим короткие имена в длинный путь
# ну или заменяем на dbus-send --system --print-reply --dest=org.freedesktop.DeviceKit.Power \
# /org/freedesktop/DeviceKit/Power org.freedesktop.DeviceKit.Power.Hibernate 
# wm-session-end --hibernate и прочее
 s2ram) 
	# sudo должен быть настроен, что как бы естественно
	CMD="sudo s2ram -f -a 1 -s" #только для пример
	;; 
 hibernate) 
	CMD="sudo s2disk" 
	;;
 *) 
	CMD="sudo $CMD" 
	;;
esac
echo $CMD
if [ ."$CMD" = ."" ]; then # выходим если нажили esc в dmenu
	exit 0
fi

# ну и подтверждение через zenity
#zenity --question --text="Чё реально запустить '$CMD'?" --ok-label="ну да" --cancel-label="да ну" --no-wrap && \
#$CMD

# подтверждение через dmenu
#CONFIRM="yes
#no"
#CONFIRM=`echo "$CONFIRM" | dmenu -fn '-xos4-terminus-medium-r-normal--12-120-72-72-c-60-*-*' -nb '#737373' -nf '#e7e3e7'  -sb '#e7e3e7' -sf '#737373'`
#if [ ."$CONFIRM" = ."yes" ]; then
#	 $CMD
#fi

# ну и без подтверждения сразу
$CMD

# куда же без выхода =)
exit 0

Удобно и к мышке тянуться не надо, к тому же подредактировать в соответствии с нуждами легко (в процессе жизни он у меня пару раз изменялся, что видно по закомментированным подтверждениям). Так же можно сделать неплохое дополнение к dmenfm, правда тогда кол-во нажимаемых клавиш для его вызова увеличится.
d0uble 10-04-2010
Спасибо за скрипт :) И большое спасибо за блог, много нового для себя открыл.
muhas 10-04-2010
всегда пожалуйста. если что обращайтесь в жабер, помогу чем смогу...

(кстати, удивлен - такой хороший коммент и без ссылок, т.е. не спам - воспринимаю как очень хороший комплимент)