#!/bin/bash
v=240222 #sfs
yad --version |grep -E '^0' && export gtk=gtk || export gtk=yad
pkill -f "yad --title Выключение"
kill `pgrep $0  |grep -v $$`

if [ "$1" = "" ];then
	m="Завершение работы" ;	m1="При перезагрузке без RW сохранения"
	m2="все сделанные Вами изменения будут утеряны!"
    else	m=$1 ;	m1=$2 ;	m2=$3
fi

value() { egrep -o "(^| )$1=[^ ]+" /proc/cmdline | cut -d= -f2; } #sfs
[ "`value changes`" ] && m1="сессия сохранена в `value changes`" && m2=

EXIT(){ pkill -f "yad --title Выключение" ; }
export -f EXIT

export m="$m"
export m1="$m1"
export m2="$m2"

SAVE(){ 
no="$HOME/.config/.nosave"
[ -f $no ] && return
if [ "$m2" != "" ] ;then
    m3="Создать файл сохранения?"
	y=`yad --center \
	--window-icon='gtk-save' --title="$m3" \
	--text="$m1 $m2 \n\n$m3" \
	--image='save' --image-on-top --fixed \
	--buttons-layout='center' --button $gtk-yes:2 --button $gtk-no:0 \
	--form --columns=1 \
	--field=':LBL' '' \
	--field='Больше не задавать этот вопрос:CHK'  \
	--Xfield=':LBL' '' \
	`
r="$?"
[ "$r" = "252" ] && exit
[ "`echo $y|grep TRUE`" ] && touch $no
[ "$r" = "2" ] || return
    sudo make-changes.sh ;exit
fi
}
export -f SAVE

export s="`systemctl --version |grep "systemd 2[01]"`" 
REB(){	
if [ -e /usr/bin/rc ] || [ "$s" ] ;then
    EXIT; sudo /sbin/shutdown -r now
else    /usr/bin/xfce4-session-logoutX -r || { EXIT; sudo systemctl reboot ; } || { EXIT; sudo /sbin/shutdown -r now ; } 
fi
}
export -f REB

POW(){
if [ -e /usr/bin/rc ] || [ "$s" ]  ;then
    EXIT; sudo /sbin/shutdown -h now
else	/usr/bin/xfce4-session-logoutX -h || { EXIT; sudo systemctl poweroff ; } || { EXIT; sudo /sbin/shutdown -h now ; } 
fi
}
export -f POW

SPEND(){ 
if [ -e /usr/bin/rc ] || [ "$s" ]  ;then
#    EXIT; sudo pm-suspend
     /usr/bin/xfce4-session-logoutX -s || { EXIT; sudo /etc/acpi/handler.sh  button/sleep SBTN ; }
else /usr/bin/xfce4-session-logoutX -s || { EXIT; sudo systemctl suspend ; }  || { EXIT; sudo pm-suspend ; }  
fi
}
export -f SPEND

#--fixed --center
y="$(yad  \
--title "Выключение v.$v" --center \
--name=lf \
--window-icon=gtk-quit \
--image-on-top --image="gtk-info" \
--text "<b><big>$m</big></b>
$m1
$m2" \
--form  \
--columns=3 \
--field="Отмена"!gtk-cancel!:FBTN 'bash -c "EXIT"' \
--field "Ждущий режим"!suspend!Suspend:FBTN 'bash -c "EXIT ; SPEND"' \
--field "Блокировка"!lock!"экрана":FBTN 'bash -c "EXIT ;xlock"' \
\
--field="<b>Перезагрузка</b>"!gtk-refresh!:FBTN 'bash -c "SAVE ;REB"' \
--field "Сон"!hibernate!Hibernate:FBTN 'defaultbrowser "https://wiki.archlinux.org/index.php/Power_management/Suspend_and_hibernate"' \
--field "Консоль"!terminal!"Переход в консоль":FBTN 'ntf -i "Перейти в терминал tty2:" "Ctrl+Alt+F2

Вернуться в Х: 
Ctrl+Alt+F1" ' \
\
--field="<b>Выключение</b>"!gtk-stop!:FBTN 'bash -c "SAVE ;POW"' \
--field "Сохранение"!gtk-save!"текущей сеcсии":FBTN 'sudo make-changes.sh' \
--field "Перезагрузка X"!graphics_restart!"Перезагрузка графической оболочки":FBTN 'restartwm' \
--no-buttons
)"

