display_entry() {
. /etc/grml/script-functions
- check4progs grml-x >/dev/null
+ check4progs grml-x >/dev/null 2>&1
return $?
}
print_available_wm() {
. /etc/grml/script-functions
LEN=0
+ AVAILABLE_WM_COUNT=0
local line
for key value in ${(kv)wms} ; do
- if check4progs $value >/dev/null ; then
+ if check4progs $value >/dev/null 2>&1 ; then
available[$key]=$value
# test if word could be added to current line
if [ $((${(c)#value} + $LEN)) -ge $(($MAXLEN-9)) ] ; then
fi
line+="$(highlight_char $value $key) "
LEN=$((${(c)#value} + $LEN))
+ AVAILABLE_WM_COUNT=$(($AVAILABLE_WM_COUNT + 1))
fi
done
output+="$line"
# print windowm manager loop {{{
wm_menu() {
+ if [ $AVAILABLE_WM_COUNT == 1 ]; then
+ chgrp tty "$TTY"
+ chmod g+rw "$TTY"
+ run sudo -u grml grml-x
+ return
+ fi
echo
wm_heading
for line in ${output} ; do
get_key INPUT
case $INPUT in
[${(k)available}])
- run su grml -c "grml-x ${available[$INPUT]}"
+ chgrp tty "$TTY"
+ chmod g+rw "$TTY"
+ run sudo -u grml -c "grml-x ${available[$INPUT]}"
;;
esac
}