#!/bin/bash
#PupControl 3.6.1
#Shutdown Manager (radky)

[ "`whoami`" != "root" ] && exec sudo -A ${0} ${@}

export TEXTDOMAIN=pupcontrol
export OUTPUT_CHARSET=UTF-8

WORKDIR="/usr/local/PupControl"
PREFDIR="$WORKDIR/preferences"
CPANEL_ICONS_DIR="$WORKDIR/icons"
. /etc/DISTRO_SPECS

#define gtkdialog
[ "`which gtkdialog4 2>/dev/null`" ] && GTKDIALOG=gtkdialog4 || GTKDIALOG=gtkdialog

#auto-adjust header text color for light or dark GTK themes
if [ "`grep -a 'Stardust_dark' $HOME/.gtkrc-2.0 2>/dev/null`" ]; then #gold text for unique Stardust dark-grey-orange themes
  COLOR=#D7B740
else #light-blue text for common dark themes, otherwise medium blue
  [ "`grep -aEi 'black|dark|dusk|night|nox' $HOME/.gtkrc-2.0 2>/dev/null | grep -av xfdark`" ] && COLOR=#84aad9 || COLOR=#3272C0
fi
export COLOR

#define current window manager
CURRWM=`cat /etc/windowmanager`

#define text width
GUI_WIDTH=$(cat $PREFDIR/gui-width)
[ ! "$GUI_WIDTH" ] && GUI_WIDTH=640
TEXT_WIDTH=$(expr $GUI_WIDTH - 205)
TEXT_WIDTH=$(echo "scale=0; $TEXT_WIDTH / 3.0" | bc)

#show WM-Change option in Shutdown Manager, only if program is available
if [ "`which wmswitcher`" -o "`which changewm.sh`" -o "`which change-wm`" -o "`which wm`" ]; then
    WM_CHANGE="
    <hbox>    
     <button tooltip-text=\" $(gettext 'Select alternate window manager') \">
      <input file>$CPANEL_ICONS_DIR/add-remove20.png</input>
      <action>$WORKDIR/func -wmchanger &</action>
     </button>
      <text xalign=\"0\" width-request=\""$TEXT_WIDTH"\" use-markup=\"true\"><label>\"  $(gettext 'Switch WM') \"</label></text>
    </hbox>"
else WM_CHANGE=""
fi

export PCP_SHUTDOWN="<window title=\"PCP\" icon-name=\"control-panel_48\" resizable=\"false\" window-position=\"1\">
  <vbox>
   <text use-markup=\"true\"><label>\"<b><span size='"'large'"'>Shut</span><span size='"'large'"' color='"$COLOR"'>Down</span></b>\"</label></text>
   <vbox margin=\"1\">

    <hbox>    
     <button tooltip-text=\" $(gettext 'Turn off PC') \">
      <input file>$CPANEL_ICONS_DIR/shutdown20.png</input>
      <action>$WORKDIR/func -poweroff &</action>
      <action type=\"exit\">quit_now</action>
     </button>
      <text xalign=\"0\" width-request=\""$TEXT_WIDTH"\" use-markup=\"true\"><label>\"  $(gettext 'Power-Off') \"</label></text>
    </hbox>

    <hbox>    
     <button tooltip-text=\" $(gettext 'Restart PC') \">
      <input file>$CPANEL_ICONS_DIR/reboot20.png</input>
      <action>$WORKDIR/func -reboot &</action>
      <action type=\"exit\">quit_now</action>
     </button>
      <text xalign=\"0\" width-request=\""$TEXT_WIDTH"\" use-markup=\"true\"><label>\"  $(gettext 'Reboot') \"</label></text>
    </hbox>

    <hbox>    
     <button tooltip-text=\" $(gettext 'Restart Wayland') \">
      <input file>$CPANEL_ICONS_DIR/wm20.png</input>
      <action>restartwm &</action>
     </button>
      <text xalign=\"0\" width-request=\""$TEXT_WIDTH"\" use-markup=\"true\"><label>\"  $(gettext 'Restart WM') \"</label></text>
    </hbox>

    <hbox>    
     <button tooltip-text=\" $(gettext 'Exit to command prompt') \">
      <input file>$CPANEL_ICONS_DIR/console20.png</input>
      <action>$WORKDIR/func -logout &</action>
      <action type=\"exit\">quit_now</action>
     </button>
      <text xalign=\"0\" width-request=\""$TEXT_WIDTH"\" use-markup=\"true\"><label>\"  $(gettext 'Log-Out') \"</label></text>
    </hbox>

    $WM_CHANGE

    <hbox>    
     <button tooltip-text=\" $(gettext 'Refresh XDG menu') \">
      <input file>$CPANEL_ICONS_DIR/menu20.png</input>
      <action>$WORKDIR/func -menu_update &</action>
     </button>
      <text xalign=\"0\" width-request=\""$TEXT_WIDTH"\" use-markup=\"true\"><label>\"  $(gettext 'Update Menu') \"</label></text>
    </hbox>
   </vbox>

   <hseparator></hseparator>

    <hbox space-expand=\"true\" space-fill=\"true\" homogeneous=\"true\">    
     <button width-request=\"70\" tooltip-text=\" $(gettext 'Return to control panel') \">
      <label>$(gettext 'Close')</label>
      <action>$WORKDIR/PupControl &</action>
      <action type=\"exit\">quit_now</action>
     </button>
    </hbox>
 </vbox>
</window>"

$GTKDIALOG -p PCP_SHUTDOWN

unset PCP_SHUTDOWN

exit 0
