(дополнено)Лёгкая выключалка для *box

Поздравляю всех с Рожеством !
На oblogout из community не могу смотреть,абсолютно с openbox не гармонирует.И кроме того на питоне,вечно с разными версиями питона то работает,то не работает,gtk critical пишет.....
Хочу лёгкий,ни от чего не зависящий скрипт для выключения.Ночью поискал в интернете,понравилпсь идея с Xdialog,вот набросал
#!/bin/sh

DIALOG=Xdialog

$DIALOG --allow-close\
    --stdout\
    --title 'Выключение'\
    --menu 'Choose action..'\
           13 35 10 \
    'Выключить' "" \
    'Перезагрузка' "" \
    'Заблокировать' "" \
    'Сон' "" \
    1> /tmp/exitval.$$ 2> /dev/null

ACTION=`cat /tmp/exitval.$$`
rm -f /tmp/exitval.$$

case $ACTION in
    'Выключить') pcmanfm ;;
    'Перезагрузка') firefox ;;
    'Заблокировать') lxterminal ;;
    'Сон') xterm ;;
    *) exit ;;
esac
команды внизу pcmanfm ,firefox и другие просто для проверки работы скрипта,потом поменяю.Выглядит вот так:

работает чётко.Хотелось бы только чуть-чуть украсить,может иконки возле надписей или цветные буквы...Не силён я в настройке скриптов Xdialog,не знаю как сделать,может кто подскажет.Или другую идею для выключалки посоветует.
В любом случае oblogout устанавливать не буду,уж лучше такой скрипт как есть.
Linux Forever!
Vadim
На oblogout из community не могу смотреть,абсолютно с openbox не гармонирует.
это все очень субъективно, так как зависит от общего оформления коробки, у меня вот очень даже гармонирует
Если хочется непременно для OpenBox, почему бы не использовать его же собственное меню?
Natrio
хочется отдельную выключалку,кнопку там к примеру на tint2 повесить или ещё что (для жены например,ей в значёк клацнуть проще).
вот тут akorop советует дополнительное меню для выключения,но насколько я понимаю по пкм
на рабочем столе всё меню будет отображаться полностью.Или можно как-то скрыть?
p.s
шрифт у вас красивый,как называется если не секрет?
Linux Forever!
Vadim
вот тут akorop советует дополнительное меню для выключения,но насколько я понимаю по пкм
на рабочем столе всё меню будет отображаться полностью.Или можно как-то скрыть?
Что скрыть, главное меню что ли? А работать как?
Вообще-то, в openbox народный способ решения подобных проблем такой:
  • нужное внутренне действие openbox (например, вызов меню выключения) вешается на горячую клавишу, не обязательно удобную;
  • нужным способом (например, по клику на иконке в панели быстрого запуска) вызывается xdotool для имитции нажатия этой горячей клавиши.
Черезжопно, но работает.
akorop
скрыть дополнительное меню,например меню выключения,чтобы по пкм на рабочем столе не отображалось
Linux Forever!
Xts
это все очень субъективно, так как зависит от общего оформления коробки, у меня вот очень даже гармонирует
Прикрутить другие значки не проблема.


PS/ Для "logout" универсальное решение подсказал Natrio:
logout = loginctl terminate-session $XDG_SESSION_ID
- на случай использования oblogout вне openbox и для того, чтобы каждый раз не править конфиг, выискивая команду для логаута для того или иного окружения. Простенько и со вкусом =)
Vadim
вот тут akorop советует дополнительное меню для выключения
Нет, он предлагает добавить подменю в основное, как и у меня. Но если вызывать его по комбинации клавиш, будет отображаться только само подменю.

Vadim
шрифт у вас красивый
Который?
Код (моноширинный) – Terminus
Остальное на скриншоте (Sans Serif) – Albany AMT (лежит, например, тут).
Vadim
akorop
скрыть дополнительное меню,например меню выключения,чтобы по пкм на рабочем столе не отображалось
Ничего не понимаю. Что значит "скрыть"? Если меню выключения не нужно в составе основного меню, то не надо его туда включать, и не нужно будет скрывать.
akorop
Нужно отдельное меню,чтобы не зависело от основного и с ним не отображалось.

Кое-что интересное нарыл в интернете - yad из AUR - построитель GUI для шелл-скриптов. В принципе то-же,что и Xdialog,но про него больше информации,примеров применения ,готовых скриптов и мне легче разобраться.
С yad вообще можно уйму всего полезного сделать,даже панель.Вот несколько скриптов,все работают.


вот например выключалка в центре экрана
#! /bin/bash

action=$(yad --width 300 --entry --title "Выключение" --center --on-top --skip-taskbar --window-icon=gnome-shutdown --timeout=30 --undecorated \
    --image=system-shutdown \
    --button="Сменить владельца:2" \
    --button="gtk-ok:0" --button="gtk-cancel:1" \
    --text "Choose action:" \
    --entry-text \
    "Выключить" "Перезагрузка" "Сон" "Hibernate" "Выход")
ret=$?

[[ $ret -eq 1 ]] && exit 0

if [[ $ret -eq 2 ]]; then
    dm-tool switch-to-greeter &
    exit 0
fi

case $action in
    Выключить*) cmd='dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop' ;;
    Перезагрузка*) cmd='dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Restart' ;;
    Сон*) cmd='dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Suspend' ;;
    Hibernate*) cmd='dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Hibernate' ;;
    Выход*) cmd="openbox --exit" ;;
    *) exit 1 ;;
esac

eval exec $
команды будут у меня другие,главное принцип понятен как сделать.Попробовал на трёх системах,Debian,Lubuntu и Arch,везде скрипты работают.Это не глючный питон,то python-decorator надо,то python-magic,то ещё какая хрень,то поменялась версия-пакет уже не работает...
Интересная всё-же штука Linux.Каждый может выбрать что ему больше подходит.
В винде сделали даунские квадраты в w8-нравиться не нравиться,пользуйтесь.
Понапихали шпионских модулей в w10 - жрите хоть подавитесь,выбора нет.
Linux Forever!
 
Зарегистрироваться или войдите чтобы оставить сообщение.