projects
/
grml-quickconfig.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Bump Standards-Version to 3.9.6
[grml-quickconfig.git]
/
grml-quickconfig
diff --git
a/grml-quickconfig
b/grml-quickconfig
index
52a22ac
..
26d0ca9
100755
(executable)
--- a/
grml-quickconfig
+++ b/
grml-quickconfig
@@
-6,7
+6,9
@@
# License: This file is licensed under the GPL v2.
################################################################################
# License: This file is licensed under the GPL v2.
################################################################################
-. /etc/grml/sh-lib
+set -e
+
+. /etc/grml/script-functions
if ! checkbootparam 'nocolor'; then
. /etc/grml_colors
fi
if ! checkbootparam 'nocolor'; then
. /etc/grml_colors
fi
@@
-25,13
+27,16
@@
typeset -A keymap
HLINE="$B x $N"
VLINE=$(repeat $MAXLEN echo -n q)
HLINE="$B x $N"
VLINE=$(repeat $MAXLEN echo -n q)
-HILIGHT="$GREEN"
-HILIGHT_NAME="$MAGENTA"
+HI
GH
LIGHT="$GREEN"
+HI
GH
LIGHT_NAME="$MAGENTA"
SCRIPTDIR="/usr/share/grml-quickconfig/"
# enable alternate console fonts
echo -n "
\e
(B
\e
)0"
SCRIPTDIR="/usr/share/grml-quickconfig/"
# enable alternate console fonts
echo -n "
\e
(B
\e
)0"
+
+# set zsh options
+setopt no_nomatch
# }}}
# }}}
@@
-56,8
+61,8
@@
print_delim() {
echo $B ${BLUE}t"$VLINE"u${NORMAL} $N
}
echo $B ${BLUE}t"$VLINE"u${NORMAL} $N
}
-hilight_char() {
- echo $1 | sed -e "s/$2/$HILIGHT$2$NORMAL/"
+hi
gh
light_char() {
+ echo $1 | sed -e "s/$2/$HI
GH
LIGHT$2$NORMAL/"
}
print_menu() {
}
print_menu() {
@@
-75,20
+80,28
@@
run() {
}
get_key() {
}
get_key() {
- stty -echo ; read -kq $1?"Press a key: "
+ stty -echo ; read -k ${1}?"Press a key: "
+}
+
+bailout() {
+ [ -n "$1" ] && RC=$1 || RC=0
+ [ -n "$2" ] && print "$2" >&2
+ exit $RC
}
# }}}
}
# }}}
+trap bailout 1 2 3 3 6 9 14 15
+
# check boot parameter {{{
get_menu_dir() {
local TARGET="$1"
# check boot parameter {{{
get_menu_dir() {
local TARGET="$1"
- if [ -d "$TARGET" ] ; then
- MENUDIR="$TARGET"
+ if [ -d "
./
$TARGET" ] ; then
+ MENUDIR="
./
$TARGET"
elif [ -d "$SCRIPTDIR/$TARGET" ] ; then
MENUDIR="$SCRIPTDIR/$TARGET"
fi
}
elif [ -d "$SCRIPTDIR/$TARGET" ] ; then
MENUDIR="$SCRIPTDIR/$TARGET"
fi
}
-BOOT_PARAM=$(getbootparam menu)
+BOOT_PARAM=$(getbootparam menu)
|| true
if [ -n "$TARGET" ] ; then
get_menu_dir "$BOOT_PARAM"
fi
if [ -n "$TARGET" ] ; then
get_menu_dir "$BOOT_PARAM"
fi
@@
-97,22
+110,33
@@
if [ -n "$1" ] ; then
fi
if [ -z "$MENUDIR" ] ; then
fi
if [ -z "$MENUDIR" ] ; then
- MENUDIR="$SCRIPTDIR"
+ if [ -d "$SCRIPTDIR/local" ] ; then
+ MENUDIR="$SCRIPTDIR/local"
+
+ else
+ MENUDIR="$SCRIPTDIR"
+ fi
fi
# }}}
# load modules {{{
fi
# }}}
# load modules {{{
-for file in "$MENUDIR"/*.sh ; do
+if ! ls "$MENUDIR"/*.sh &>/dev/null ; then
+ bailout 1 "Error: $MENUDIR is empty, exiting."
+fi
+ls ${MENUDIR}/*.sh &>/dev/null || exit 1
+for file in ${MENUDIR}/*.sh ; do
LINE=""
KEY=""
FUNCTION=""
NAME=""
LINE=""
KEY=""
FUNCTION=""
NAME=""
- [ ! -e "$file" ] && break
. $file
if display_entry ; then
setopt noglob
if [ -n "$LINE" ] ; then
. $file
if display_entry ; then
setopt noglob
if [ -n "$LINE" ] ; then
+ LINE=$(echo "$LINE" | sed 's#\([^\]\)/\([[:alnum:]_-]*\)/#\1${HIGHLIGHT_NAME}\2${NORMAL}#g')
+ LINE=$(echo "$LINE" | sed 's#\([^\]\)^\([[:alnum:]]\)#\1${HIGHLIGHT}\2${NORMAL}#g')
+ LINE=$(echo "$LINE" | sed 's#\\\([^/]\)#\1#g')
info+="$(eval $LINE)"
fi
info+="$(eval $LINE)"
fi
@@
-126,7
+150,7
@@
done
# }}}
if [ -z "$info" ] ; then
# }}}
if [ -z "$info" ] ; then
-
exi
t 1
+
bailou
t 1
fi
# mainloop {{{
while : ; do
fi
# mainloop {{{
while : ; do
@@
-135,12
+159,13
@@
while : ; do
echo
get_key INPUT
case $INPUT in
echo
get_key INPUT
case $INPUT in
- [q
|Q|
$'\n'])
- echo
+ [q
Q
$'\n'])
+ echo
$INPUT
break
;;
[${(k)keys}])
break
;;
[${(k)keys}])
- eval ${keymap[$INPUT]}
+ echo $INPUT
+ eval ${keymap[$INPUT]} || true
;;
*)
echo "Unknown key"
;;
*)
echo "Unknown key"
@@
-150,7
+175,6
@@
while : ; do
esac
done
esac
done
-echo "Happy Hacking"
# }}}
## END OF FILE #################################################################
# }}}
## END OF FILE #################################################################