#!/bin/bash
#  Script to change the windowmanger used when starting the frontend.
#  If a style is given, it will change  which & how programs will start.
#
#
windowmanager="$1"
style="$2"
configdir=/usr/share/wm_data


function outmsg(){
    echo
    echo "Changing windowmanger to $1"
    }

function stylemsg(){
    echo "Startup path will use $1 style"
    }

function set_wm(){
    case ${windowmanager} in

        fluxbox)
            outmsg "fluxbox"
            outline="fluxbox"
            echo "fluxbox" > /etc/X11/WINDOWMANAGER
            ;;

        enlightenment|default)
            outmsg "enlightenment"
            outline="e16 -P $configdir/e16_config_dir/"
            ;;

        windowmaker)
            outmsg "window maker"
            outline_2="export GNUSTEP_USER_ROOT=$configdir/GNUstep"
            outline="wmaker"
            ;;

        *)
            outline=$windowmanager
            outmsg "$outline"
            ;;

    esac



    case ${style} in

        legacy)
               STYLE="$style"
               stylemsg "Default"
               HSTYLE=0
            ;;

        enhanced|*)
            STYLE="enhanced"
            HSTYLE="1"
            stylemsg enhanced
            myth_settings_wrapper.sh  -c load -t custom 1 HOSTSupplemental
            ;;

#         *)
#             if [ x$style != x ]
#             then
#                stylemsg "** Unknown style..using default"
#                STYLE=""
#             else
#                STYLE="$style"
#                stylemsg "Default"
#             fi
#             HSTYLE=0
#            ;;
    esac



    echo WM=\"${outline}\" > /etc/X11/WINDOWMANAGER
    echo "STARTUP_STYLE=$STYLE" >>  /etc/X11/WINDOWMANAGER
    echo ${outline_2}  >>  /etc/X11/WINDOWMANAGER

    myth_settings_wrapper.sh  -c load -t custom "${windowmanager}" HostWindowManager
    myth_settings_wrapper.sh  -c load -t custom "${HSTYLE}" HostEnhancedWMStyle


    }


if [ x$windowmanager = x ]
then
    echo
    echo "Usage: "
    echo "    set_windowmanager.sh  WINDOWMANAGER STARTUP_STYLE"
    echo
    echo "Valid WINDOWMANAGER options are:"
    echo "      default"
    echo "      enlightenment"
    echo "      fluxbox"
    echo "      windowmaker"
    echo "      place_custom_startup_here"
    echo
    echo "Valid STARTUP_STYLE options are:"
    echo "      legacy"
    echo "      enhanced"
    echo
    echo "If STARTUP_STYLE is not given, then the default will be used."
    echo "    default is currently set as enlightenment enhanced"
    echo
    echo "Example:    "
    echo "    set_windowmanager.sh  enlightenment enhanced"
    echo
    echo " "
    echo "if using enlightenment or windowmaker, please ensure that the alt_wm group is installed"
    echo "pacman -Sy alt_wm"

    exit 0
fi

set_wm

# if [ x$outline = "xdefault" ]
# then
#     exit 0
# fi

WM_CHECK=`echo $outline|cut -d" " -f1 |tr -dc '[:alnum:]'`
which $WM_CHECK 2>/dev/null
rc=$?
if [ $rc != 0 ]
then
    echo "  ***Window manager $WM_CHECK does not look like it is present"
    echo "  ***setting windowmanger to windowmaker"
    echo "   "
    windowmanager="windowmaker"
    set_wm
fi