diff options
| author | Michael Janczyk | 2006-10-03 19:09:46 +0200 |
|---|---|---|
| committer | Michael Janczyk | 2006-10-03 19:09:46 +0200 |
| commit | ff1ca78b89fc72f0d848e938fd31cbb4742d8202 (patch) | |
| tree | 759e3d3fcbd2a5d7c25a4187257bdf046bc2a4c2 /vmware/defaultwm | |
| parent | * added OpenSLX-header to all my files. (diff) | |
| download | core-ff1ca78b89fc72f0d848e938fd31cbb4742d8202.tar.gz core-ff1ca78b89fc72f0d848e938fd31cbb4742d8202.tar.xz core-ff1ca78b89fc72f0d848e938fd31cbb4742d8202.zip | |
now /w grouptest. checks machine-setup in which slxgrp a clinet is, and
only shows images for this group.
git-svn-id: http://svn.openslx.org/svn/openslx/trunk@435 95ad53e4-c205-0410-b2fa-d234c58c8868
Diffstat (limited to 'vmware/defaultwm')
| -rwxr-xr-x | vmware/defaultwm | 70 |
1 files changed, 45 insertions, 25 deletions
diff --git a/vmware/defaultwm b/vmware/defaultwm index d8834ef2..9ee81c3b 100755 --- a/vmware/defaultwm +++ b/vmware/defaultwm @@ -2,16 +2,17 @@ # # Description: Session chooser for kdm/gdm # -# Author(s): Michael Janczyk <mj0@uni-freiburg.de>, 12-09-2006 +# Author(s): Michael Janczyk <mj0@uni-freiburg.de>, 03-10-2006 # # Copyright: (c) 2003, 2006 - RZ Universitaet Freiburg # -# Version: 0.1.372 +# Version: 0.2.435 # ################################################################################ - +# read from machine-setup (for slxgrp) +. /etc/machine-setup # set X background @@ -24,6 +25,12 @@ else 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 () { xsessions="/usr/share/xsessions" @@ -31,7 +38,9 @@ x_dialog () { tmpdir="/tmp" menu= execute= - + slxgrp=$(echo ${slxgrp} | tr [A-Z] [a-z]) + slxgrptest= + xdesktopsnr=( `ls ${xsessions}/*.desktop | grep -v "default.*" \ | wc -l 2>/dev/null` ) @@ -39,11 +48,10 @@ x_dialog () { | sort -bf 2>/dev/null; \ ls ${vmsessions}/*.desktop | sort -bf 2>/dev/null` ) desktopsnr=$(echo "${#desktops[*]}") - - (( args=0 )) declare -i i=0 + while [ "${xdesktopsnr}" -gt "${args}" ]; do # exec in .desktop execute[${i}]=$(grep -m 1 -i "exec" ${desktops[${args}]} \ @@ -71,30 +79,41 @@ ${execute[${i}]:-"No comment"}" while [ "${desktopsnr}" -gt "${args}" ]; do - # 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 | + # 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 + menu="$menu \"\${execute[${i}]}\"" + i=${i}+1 + fi + (( args=${args}+1 )) done + # test if menu 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 \ @@ -114,6 +133,7 @@ ${execute[${i}]:-"No comment"}" rm -f ${tmpdir}/Xdialog } + args_dial=$(x_dialog 2>&1) # 2>&1, see function exec ${args_dial} |
