summaryrefslogblamecommitdiffstats
path: root/vmware/kursimages
blob: 64ad60e8bec0915f3fdeae1b2ee93b58df675d5e (plain) (tree)
1
2
3
4
5
6
7
8
9



                                           
                                                                 


                                                         
                       



                                                                                


                                      










                                                                                    





                                                                                    





                                         



                                           




                                                       
 
                                             




























                                                                                         



                        


                                                                                           

























                                                                                
#!/bin/sh
#
# Description:  Session chooser for kdm/gdm
#
# Author(s):    Michael Janczyk <mj0@uni-freiburg.de>, 03-10-2006
#
# Copyright:    (c) 2003, 2006 - RZ Universitaet Freiburg
#
# Version:      0.2.435
#
################################################################################


# read from machine-setup (for slxgrp)
. /etc/machine-setup


# set X background
res=$(xvidtune -show | grep -wo "\".*\"" | sed "s/\"//g")
if ! [ -f /var/lib/openslx/themes/bootsplash/images/silent-${res}.jpg ]; then
    img=$(ls /var/lib/openslx/themes/bootsplash/images/ | grep -m 1 "silent")
    display -window root /var/lib/openslx/themes/bootsplash/images/${img}
else
    display -window root /var/lib/openslx/themes/bootsplash/images/silent-${res}.jpg
fi


# Xdailog test
xdialog=$(which Xdialog)
[ -z "${xdialog}" ] && xterm -e 'echo -e "\n\n\n\n\n\n\t\t\tNo Xdialog installed!!!\
  \n\n\t\t\tClosing in 3 seconds."; sleep 3' && exit 1


x_dialog () {
  
  vmsessions="/var/lib/vmware/vmsessions"
  tmpdir="/tmp"
  menu=
  execute=
  slxgrp=$(echo ${slxgrp} | tr [A-Z] [a-z])
  slxgrptest=

  
  desktops=( `ls ${vmsessions}/*.desktop 2>/dev/null` )
  desktopsnr=$(echo "${#desktops[*]}")
  (( args=0 ))
  declare -i i=0


  while [ "${desktopsnr}" -gt "${args}" ]; do

    # check for slxgrp
    slxgrptest=$(grep -m 1 -i "slxgrp" ${desktops[${args}]} \
      | awk -F "=" '{print $2}' | tr [A-Z] [a-z])
    if [ -z "${slxgrp}" -o "${slxgrp}" = "${slxgrptest}" -o "${slxgrp}" = "default"  ]; \
      then

      # exec in .desktop
      execute[${i}]=$(grep -m 1 -i "exec" ${desktops[${args}]} \
        | awk -F "=" '{print $2}')
      menu="$menu \"\${execute[${i}]}\""
      i=${i}+1

      # name in .desktop
      execute[${i}]=$(grep -m 1 -i "name" ${desktops[${args}]} \
        | awk -F "=" '{print $2}')
      execute[${i}]=${execute[${i}]:-`echo ${execute[${i}-1]} | sed -e "s,-, ,g"`}
      menu="$menu \"\${execute[${i}]}\""
      i=${i}+1

      # comment in .desktop
      execute[${i}]=$(grep -m 1 -i "comment" ${desktops[${args}]} \
        | awk -F "=" '{print $2}')
      execute[${i}]="| VMware Image |
${execute[${i}]:-"No comment"}"
      menu="$menu \"\${execute[${i}]}\""
      i=${i}+1

    fi

    (( args=${args}+1 ))
  done

  # test if mwnu not empty?
  [ -z "${menu}" ] && Xdialog --infobox "No items found to display!!!" 10 30 3000 && exit 1

  # --stderr because of 1>/dev/null
  # echoing to file because Xdialog sux when used w/ quotes
  echo -e "Xdialog --rc-file /var/lib/openslx/themes/Xdialog/gtkrc \
          --title \"VMware Image Menu\" \
          --screen-center \
          --fill \
          --no-wrap \
          --stderr \
          --no-tags \
          --ok-label \"START\" \
          --item-help \
          --menubox \"Please choose the image you would like to run:\" 35 80 0 \
          $menu 1>/dev/null" \
  > ${tmpdir}/Xdialog
  
. ${tmpdir}/Xdialog
rm -f ${tmpdir}/Xdialog

}


args_dial=$(x_dialog 2>&1) # 2>&1, see function
exec ${args_dial}

exit 0