summaryrefslogtreecommitdiffstats
path: root/usr.sbin/bsdconfig/console
diff options
context:
space:
mode:
authordteske <dteske@FreeBSD.org>2013-04-22 05:52:06 +0000
committerdteske <dteske@FreeBSD.org>2013-04-22 05:52:06 +0000
commit8f385d0e89111ca1716767f7dc0bdffe3225b3d0 (patch)
treecbdec6b0e95d9d7f693f2585627e66aaf3fa13ff /usr.sbin/bsdconfig/console
parent2cbbbe9342ffd4b6a5fc07b551f747bfb7d8172c (diff)
downloadFreeBSD-src-8f385d0e89111ca1716767f7dc0bdffe3225b3d0.zip
FreeBSD-src-8f385d0e89111ca1716767f7dc0bdffe3225b3d0.tar.gz
UI improvements. First, implement --default-item whenever and wherever
possible to save keystrokes. Second, overhaul startup/rcdelete for much improved performance. Last, but not least, kill-off useage of --clear and implement --keep-tite in harmony to minimize jarring transitions. Also, fix local variable names where necessary while we're here with other minor comment-enhancements/typo-corrections.
Diffstat (limited to 'usr.sbin/bsdconfig/console')
-rwxr-xr-xusr.sbin/bsdconfig/console/console16
-rwxr-xr-xusr.sbin/bsdconfig/console/font22
-rwxr-xr-xusr.sbin/bsdconfig/console/keymap80
-rwxr-xr-xusr.sbin/bsdconfig/console/repeat14
-rwxr-xr-xusr.sbin/bsdconfig/console/saver21
-rwxr-xr-xusr.sbin/bsdconfig/console/screenmap14
-rwxr-xr-xusr.sbin/bsdconfig/console/ttys2
7 files changed, 150 insertions, 19 deletions
diff --git a/usr.sbin/bsdconfig/console/console b/usr.sbin/bsdconfig/console/console
index 2352559..e2387f5 100755
--- a/usr.sbin/bsdconfig/console/console
+++ b/usr.sbin/bsdconfig/console/console
@@ -71,16 +71,18 @@ dialog_menu_main()
local dialog_menu
dialog_menu=$( eval $DIALOG \
- --clear --title \"\$DIALOG_TITLE\" \
- --backtitle \"\$DIALOG_BACKTITLE\" \
- --hline \"\$hline\" \
- --ok-label \"\$msg_ok\" \
- --cancel-label \"\$msg_cancel\" \
- --menu \"\$prompt\" $size \
- $menu_list \
+ --title \"\$DIALOG_TITLE\" \
+ --backtitle \"\$DIALOG_BACKTITLE\" \
+ --hline \"\$hline\" \
+ --ok-label \"\$msg_ok\" \
+ --cancel-label \"\$msg_cancel\" \
+ --default-item \"\$DEFAULTITEM_$$\" \
+ --menu \"\$prompt\" $size \
+ $menu_list \
2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
)
local retval=$?
+ setvar DEFAULTITEM_$$ "$dialog_menu"
setvar DIALOG_MENU_$$ "$dialog_menu"
return $retval
}
diff --git a/usr.sbin/bsdconfig/console/font b/usr.sbin/bsdconfig/console/font
index 763a94c..9363ffd 100755
--- a/usr.sbin/bsdconfig/console/font
+++ b/usr.sbin/bsdconfig/console/font
@@ -49,7 +49,7 @@ ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" )
#
dialog_menu_main()
{
- local menu_list size
+ local menu_list size defaultitem=
local hline="$hline_choose_a_font"
local prompt="$msg_font_menu_text"
@@ -77,13 +77,31 @@ dialog_menu_main()
\"\$hline\" \
$menu_list )
+ case "$( f_sysrc_get font8x8 )" in
+ [Nn][Oo]|'') defaultitem="1 $msg_none";;
+ cp437-8x8) defaultitem="2 $msg_ibm_437";;
+ cp850-8x8) defaultitem="3 $msg_ibm_850";;
+ cp865-8x8) defaultitem="4 $msg_ibm_865";;
+ cp866-8x8) defaultitem="5 $msg_ibm_866";;
+ cp866u-8x8) defaultitem="6 $msg_ibm_866u";;
+ cp1251-8x8) defaultitem="7 $msg_ibm_1251";;
+ iso-8x8) defaultitem="8 $msg_iso_8859_1";;
+ iso02-8x8) defaultitem="9 $msg_iso_8859_2";;
+ iso04-8x8) defaultitem="a $msg_iso_8859_4";;
+ iso07-8x8) defaultitem="b $msg_iso_8859_7";;
+ iso08-8x8) defaultitem="c $msg_iso_8859_8";;
+ iso15-8x8) defaultitem="d $msg_iso_8859_15";;
+ swiss-8x8) defaultitem="e $msg_swiss";;
+ esac
+
local dialog_menu
dialog_menu=$( eval $DIALOG \
- --clear --title \"\$DIALOG_TITLE\" \
+ --title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
--hline \"\$hline\" \
--ok-label \"\$msg_ok\" \
--cancel-label \"\$msg_cancel\" \
+ --default-item \"\$defaultitem\" \
--menu \"\$prompt\" $size \
$menu_list \
2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
diff --git a/usr.sbin/bsdconfig/console/keymap b/usr.sbin/bsdconfig/console/keymap
index f10b79e..e343db9 100755
--- a/usr.sbin/bsdconfig/console/keymap
+++ b/usr.sbin/bsdconfig/console/keymap
@@ -77,7 +77,7 @@ KEYMAP_NAMES="
#
dialog_menu_main()
{
- local menu_list size
+ local menu_list size defaultitem=
local hline="$hline_choose_a_keyboard_map"
local prompt="$msg_keymap_menu_text"
@@ -117,13 +117,89 @@ dialog_menu_main()
\"\$hline\" \
$menu_list )
+ case "$( f_sysrc_get keymap )" in
+ be.iso) defaultitem="$msg_belgian";;
+ br275.cp850) defaultitem="$msg_brazil_cp850";;
+ br275.iso) defaultitem="$msg_brazil_iso";;
+ br275.iso.acc) defaultitem="$msg_brazil_iso_accent";;
+ bg.bds.ctrlcaps) defaultitem="$msg_bulgarian_bds";;
+ bg.phonetic.ctrlcaps) defaultitem="$msg_bulgarian_phonetic";;
+ ce.iso2) defaultitem="$msg_central_european_iso";;
+ hr.iso) defaultitem="$msg_croatian_iso";;
+ cs.latin2.qwertz) defaultitem="$msg_czech_iso_accent";;
+ danish.cp865) defaultitem="$msg_danish_cp865";;
+ danish.iso) defaultitem="$msg_danish_iso";;
+ estonian.cp850) defaultitem="$msg_estonian_cp850";;
+ estonian.iso) defaultitem="$msg_estonian_iso";;
+ estonian.iso15) defaultitem="$msg_estonian_iso_15";;
+ finnish.cp850) defaultitem="$msg_finnish_cp850";;
+ finnish.iso) defaultitem="$msg_finnish_iso";;
+ fr.iso) defaultitem="$msg_french_iso";;
+ fr.iso.acc) defaultitem="$msg_french_iso_accent";;
+ fr.macbook.acc) defaultitem="$msg_french_iso_macbook";;
+ german.cp850) defaultitem="$msg_german_cp850";;
+ german.iso) defaultitem="$msg_german_iso";;
+ gr.us101.acc) defaultitem="$msg_greek_101";;
+ el.iso07) defaultitem="$msg_greek_104";;
+ gr.elot.acc) defaultitem="$msg_greek_elot";;
+ hu.iso2.101keys) defaultitem="$msg_hungarian_101";;
+ hu.iso2.102keys) defaultitem="$msg_hungarian_102";;
+ icelandic.iso) defaultitem="$msg_icelandic";;
+ icelandic.iso.acc) defaultitem="$msg_icelandic_accent";;
+ it.iso) defaultitem="$msg_italian";;
+ jp.106) defaultitem="$msg_japanese_106";;
+ latinamerican) defaultitem="$msg_latin_american";;
+ latinamerican.iso.acc) defaultitem="$msg_latin_american_accent";;
+ norwegian.iso) defaultitem="$msg_norway_iso";;
+ pl_PL.ISO8859-2) defaultitem="$msg_polish_iso";;
+ pt.iso) defaultitem="$msg_portuguese";;
+ pt.iso.acc) defaultitem="$msg_portuguese_accent";;
+ ru.koi8-r) defaultitem="$msg_russia_koi8_r";;
+ sk.iso2) defaultitem="$msg_slovak";;
+ si.iso) defaultitem="$msg_slovenian";;
+ spanish.iso) defaultitem="$msg_spanish";;
+ spanish.iso.acc) defaultitem="$msg_spanish_accent";;
+ swedish.cp850) defaultitem="$msg_swedish_cp850";;
+ swedish.iso) defaultitem="$msg_swedish_iso";;
+ swissfrench.cp850) defaultitem="$msg_swiss_french_cp850";;
+ swissfrench.iso) defaultitem="$msg_swiss_french_iso";;
+ swissfrench.iso.acc) defaultitem="$msg_swiss_french_iso_accent";;
+ swissgerman.cp850) defaultitem="$msg_swiss_german_cp850";;
+ swissgerman.iso) defaultitem="$msg_swiss_german_iso";;
+ swissgerman.iso.acc) defaultitem="$msg_swiss_german_iso_accent";;
+ uk.cp850) defaultitem="$msg_uk_cp850";;
+ uk.iso) defaultitem="$msg_uk_iso";;
+ ua.koi8-u) defaultitem="$msg_ukrainian_koi8_u";;
+ ua.koi8-u.shift.alt) defaultitem="$msg_ukrainian_koi8_u_koi8_r";;
+ us.pc-ctrl) defaultitem="$msg_usa_capslock_ctrl";;
+ us.dvorak) defaultitem="$msg_usa_dvorak";;
+ us.dvorakl) defaultitem="$msg_usa_dvorak_left";;
+ us.dvorakr) defaultitem="$msg_usa_dvorak_right";;
+ us.emacs) defaultitem="$msg_usa_emacs";;
+ us.iso) defaultitem="$msg_usa_iso";;
+ us.unix) defaultitem="$msg_usa_unix";;
+ esac
+
+ # The defaultitem may have to be indented to match the menu_list
+ if [ "$defaultitem" ]; then
+ ( eval set -- $menu_list
+ while [ $# -gt 0 ]; do
+ [ "$defaultitem" = "$1" ] && break
+ [ " $defaultitem" = "$1" ] && exit 0
+ shift 2 # tag/item
+ done
+ exit 1 # No modification needed
+ ) && defaultitem=" $defaultitem"
+ fi
+
local dialog_menu
dialog_menu=$( eval $DIALOG \
- --clear --title \"\$DIALOG_TITLE\" \
+ --title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
--hline \"\$hline\" \
--ok-label \"\$msg_ok\" \
--cancel-label \"\$msg_cancel\" \
+ --default-item \"\$defaultitem\" \
--menu \"\$prompt\" $size \
$menu_list \
2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
diff --git a/usr.sbin/bsdconfig/console/repeat b/usr.sbin/bsdconfig/console/repeat
index face69e..b426d36 100755
--- a/usr.sbin/bsdconfig/console/repeat
+++ b/usr.sbin/bsdconfig/console/repeat
@@ -49,15 +49,15 @@ ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" )
#
dialog_menu_main()
{
- local menu_list size
+ local menu_list size defaultitem=
local hline="$hline_choose_a_keyboard_repeat_rate"
local prompt="$msg_repeat_menu_text"
menu_list="
+ '$msg_default' '$msg_default_desc'
'$msg_slow' '$msg_slow_desc'
'$msg_normal' '$msg_normal_desc'
'$msg_fast' '$msg_fast_desc'
- '$msg_default' '$msg_default_desc'
" # END-QUOTE
size=$( eval f_dialog_menu_size \
@@ -67,13 +67,21 @@ dialog_menu_main()
\"\$hline\" \
$menu_list )
+ case "$( f_sysrc_get keyrate )" in
+ slow) defaultitem="$msg_slow";;
+ normal) defaultitem="$msg_normal";;
+ fast) defaultitem="$msg_fast";;
+ [Nn][Oo]|'') defaultitem="$msg_default";;
+ esac
+
local dialog_menu
dialog_menu=$( eval $DIALOG \
- --clear --title \"\$DIALOG_TITLE\" \
+ --title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
--hline \"\$hline\" \
--ok-label \"\$msg_ok\" \
--cancel-label \"\$msg_cancel\" \
+ --default-item \"\$defaultitem\" \
--menu \"\$prompt\" $size \
$menu_list \
2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
diff --git a/usr.sbin/bsdconfig/console/saver b/usr.sbin/bsdconfig/console/saver
index 1036b20..bea046e 100755
--- a/usr.sbin/bsdconfig/console/saver
+++ b/usr.sbin/bsdconfig/console/saver
@@ -49,7 +49,7 @@ ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" )
#
dialog_menu_main()
{
- local menu_list size
+ local menu_list size defaultitem=
local hline="$hline_choose_a_screen_saver"
local prompt="$msg_saver_menu_text"
@@ -77,13 +77,30 @@ dialog_menu_main()
\"\$hline\" \
$menu_list )
+ case "$( f_sysrc_get saver )" in
+ blank) defaultitem="1 $msg_blank" ;;
+ beastie) defaultitem="2 $msg_beastie";;
+ daemon) defaultitem="3 $msg_daemon" ;;
+ dragon) defaultitem="4 $msg_dragon" ;;
+ fade) defaultitem="5 $msg_fade" ;;
+ fire) defaultitem="6 $msg_fire" ;;
+ green) defaultitem="7 $msg_green" ;;
+ logo) defaultitem="8 $msg_logo" ;;
+ rain) defaultitem="9 $msg_rain" ;;
+ snake) defaultitem="a $msg_snake" ;;
+ star) defaultitem="b $msg_star" ;;
+ warp) defaultitem="c $msg_warp" ;;
+ [Nn][Oo]|'') defaultitem="d $msg_none" ;;
+ esac
+
local dialog_menu
dialog_menu=$( eval $DIALOG \
- --clear --title \"\$DIALOG_TITLE\" \
+ --title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
--hline \"\$hline\" \
--ok-label \"\$msg_ok\" \
--cancel-label \"\$msg_cancel\" \
+ --default-item \"\$defaultitem\" \
--menu \"\$prompt\" $size \
$menu_list \
2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
diff --git a/usr.sbin/bsdconfig/console/screenmap b/usr.sbin/bsdconfig/console/screenmap
index 27ce53c..17de356 100755
--- a/usr.sbin/bsdconfig/console/screenmap
+++ b/usr.sbin/bsdconfig/console/screenmap
@@ -49,7 +49,7 @@ ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" )
#
dialog_menu_main()
{
- local menu_list size
+ local menu_list size defaultitem=
local hline="$hline_choose_a_screen_map"
local prompt="$msg_screenmap_menu_text"
@@ -69,13 +69,23 @@ dialog_menu_main()
\"\$hline\" \
$menu_list )
+ case "$( f_sysrc_get scrnmap )" in
+ [Nn][Oo]|'') defaultitem="1 $msg_none" ;;
+ iso-8859-1_to_cp437) defaultitem="2 $msg_iso_8859_1_to_ibm437" ;;
+ iso-8859-7_to_cp437) defaultitem="3 $msg_iso_8859_7_to_ibm437" ;;
+ us-ascii_to_cp437) defaultitem="4 $msg_us_ascii_to_ibm327" ;;
+ koi8-r2cp866) defaultitem="5 $msg_koi8_r_to_ibm866" ;;
+ koi8-u2cp866u) defaultitem="6 $msg_koi8_u_to_ibm866u" ;;
+ esac
+
local dialog_menu
dialog_menu=$( eval $DIALOG \
- --clear --title \"\$DIALOG_TITLE\" \
+ --title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
--hline \"\$hline\" \
--ok-label \"\$msg_ok\" \
--cancel-label \"\$msg_cancel\" \
+ --default-item \"\$defaultitem\" \
--menu \"\$prompt\" $size \
$menu_list \
2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
diff --git a/usr.sbin/bsdconfig/console/ttys b/usr.sbin/bsdconfig/console/ttys
index e06a2a7..ad7a9c4 100755
--- a/usr.sbin/bsdconfig/console/ttys
+++ b/usr.sbin/bsdconfig/console/ttys
@@ -85,7 +85,7 @@ dialog_menu_main()
local dialog_menu
dialog_menu=$( eval $DIALOG \
- --clear --title \"\$DIALOG_TITLE\" \
+ --title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
--hline \"\$hline\" \
--ok-label \"\$msg_ok\" \
OpenPOWER on IntegriCloud