X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=usr_sbin%2Fgrml-quickconfig;h=e3293f71e95818655ceeb56595b868bc49368381;hb=3ea919536020cb5fcfac3e044bddf9b720d0ee04;hp=2896c69046f37c81174ea1740b2c32665453ae1f;hpb=576384ece0819ffd0a1833833065cec654e45e02;p=grml-scripts.git diff --git a/usr_sbin/grml-quickconfig b/usr_sbin/grml-quickconfig index 2896c69..e3293f7 100755 --- a/usr_sbin/grml-quickconfig +++ b/usr_sbin/grml-quickconfig @@ -4,7 +4,7 @@ # Authors: Michael Schierl , Alexander Wirt # Bug-Reports: see http://grml.org/bugs/ # License: This file is licensed under the GPL v2. -# Latest change: Don Apr 12 13:47:04 CEST 2007 [mika] +# Latest change: Fre Jun 22 23:05:01 CEST 2007 [mika] ################################################################################ # menu with quick config options @@ -56,8 +56,8 @@ $HLINE=$B."x".$N; # A single horizontal line drawing character v => 'fvwm', 2 => 'fvwm2', c => 'fvwm-crystal', - i => 'ion3', j => 'jwm', + o => 'openbox', p => 'pekwm', 3 => 'pwm3', r => 'ratpoison', @@ -99,15 +99,15 @@ while(1) { EOF print "Press a key: ".$M; ReadMode 4; # Turn off controls keys - while (not defined ($x = ReadKey(-1))) { - # No key yet - } + $flags = fcntl(STDIN, F_GETFL, 0) or die "Can't get flags for STDIN: $!\n"; + $flags = fcntl(STDIN, F_SETFL, $flags & ~O_NONBLOCK) or die "Can't set flags for STDIN: $!\n"; + while (not defined ($x = ReadKey(0))) {} ReadMode 0; # Reset tty mode before exiting print $N.$/.$/; if (defined($menu_commands{$x})) { $command = $menu_commands{$x}; - } elsif ($x eq "\n") { + } elsif ($x eq "\n" || $x eq ' ') { $command= 'exit'; } elsif ($x eq "x") { print <<"EOF"; @@ -116,24 +116,25 @@ EOF $HLINE Select a window manager (unsorted list): $HLINE $HLINE Press any other key to return to the main menu. $HLINE ${B}tqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqu${N} - $HLINE ${W}d${N}wm ${W}e${N}vilwm ${W}f${N}luxbox f${W}v${N}wm fvwm${W}2${N} fvwm-${W}c${N}rystal ion${W}3 ${N}$HLINE - $HLINE ${W}j${N}wm pe${W}k${N}wm ${W}p${N}wm3 ${W}t${N}wm ${W}r${N}atpoison w${W}9${N}wm ${W}w${N}indowlab ${N}$HLINE + $HLINE ${W}d${N}wm ${W}e${N}vilwm ${W}f${N}luxbox f${W}v${N}wm fvwm${W}2${N} fvwm-${W}c${N}rystal ${W}d${N}wm ${N}$HLINE + $HLINE ${W}o${N}penbox pe${W}k${N}wm ${W}p${N}wm3 ${W}t${N}wm ${W}r${N}atpoison w${W}9${N}wm ${W}w${N}indowlab ${N}$HLINE $HLINE wm${W}i${N}i wmi-${W}n${N}g ${N}$HLINE ${B}mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj${N} EOF print "Press a key: ".$M; ReadMode 4; # Turn off controls keys - while (not defined ($x = ReadKey(-1))) { - # No key yet - } + $flags = fcntl(STDIN, F_GETFL, 0) or die "Can't get flags for STDIN: $!\n"; + $flags = fcntl(STDIN, F_SETFL, $flags & ~O_NONBLOCK) or die "Can't set flags for STDIN: $!\n"; + while (not defined ($x = ReadKey(0))) {} ReadMode 0; # Reset tty mode before exiting print $N.$/.$/; if (defined($windowmanagers{$x})) { $command = "su - grml -c 'grml-x ".$windowmanagers{$x}."'"; } else { - print "Unknown key. Returning to main menu.\n"; + print "Unknown key, not bound to a windowmanager.\n"; + print "Returning to main menu.\n"; } } else { print "Unknown key.\n";