Nesse exemplo vamos usar uma ferramenta para Shell Script: Yad.
Primeiramente precisamos instalar alguns programas para que o sistema funcione corretamente. E no caso do Gentoo, precisamos passar algumas flags. Em resumo o comando de instalação fica:
Para mais detalhes assista o vídeo
USE="X examples" emerge -a gtk+ polybar sudo
Depois configuramos o Polybar e o Sudo
Agora precisamos clonar, compilar e instalar o Yad , na sua distribuição talvez basta usar o gerenciador de pacotes.
git clone https://github.com/v1cont/yad
su && cd yad && autoreconf -ivf && intltoolize
./configure --enable-html --enable-icon-browser
make && make install
Agora criaremos nosso sistema em Shell Script
Lembrando que usamos o ícone com as dimensões similares a esse: http://terminalroot.com.br/img/favicon.png
wget http://terminalroot.com.br/img/favicon.png -O icon.png
#!/bin/bash
acao=$(yad --center --width 500 --height 100 --entry --title "Sistema de Desligamento" \
--image=icon.png \
--button="Ok:0" \
--button="Fechar:1" \
--text "Escolha:" \
--entry-text \
"Desligar" "Reiniciar" "Encerrar Sessao")
case "$acao" in
"Desligar") sudo shutdown -ah now;;
"Reiniciar") sudo shutdown -ar now;;
"Encerrar Sessao") i3-msg exit;;
*) : ;;
esac
Finalizamos efetuando modificações no
$HOME/.config/i3/config
Comandos e configs específicos usados no vídeo
# linha de comando
which poweroff reboot shutdown | paste - - - | tr '\t' ','
# sudoers
marcos ALL=(ALL) ALL
marcos ALL=NOPASSWD:/sbin/poweroff,/sbin/reboot,/sbin/shutdown
# i3/config
exec_always $HOME/.config/polybar/launch.sh
for_window [instance="yad"] floating enable
# polybar
[module/desligar]
type = custom/script
exec = ~/.config/polybar/d.sh
tail = true
click-left = /usr/bin/desligar
Para entender melhor, assista o vídeo:
Comente!