diff --git a/curses/README b/curses/README index 377b764..3e5df9d 100644 --- a/curses/README +++ b/curses/README @@ -44,8 +44,7 @@ What is wicd-curses? Why didn't you call it wicd-urwid? There is a hachoir-urwid package out there. I first called this "urwicd". However, due to the relative obscurity of the urwid package, and the fact that many more people know what "curses" - is, I named it wicd-curses. After all, it _does_ use curses (by default, - anyway). + is, I named it wicd-curses. Why don't you support lower-case keybindings for most of the commands? I was trying to prevent mass chaos from happening because of mashing keys. diff --git a/curses/netentry_curses.py b/curses/netentry_curses.py index 52f89cc..0beed28 100644 --- a/curses/netentry_curses.py +++ b/curses/netentry_curses.py @@ -26,11 +26,7 @@ from curses_misc import TextDialog,DynWrap,MaskingEdit,ComboBox,error import wicd.misc as misc from wicd.misc import noneToString, stringToNone, noneToBlankString, to_bool - - from wicd.translations import language -for i in language.keys(): - language[i] = language[i].decode('utf8') daemon = None wired = None @@ -194,11 +190,16 @@ class AdvancedSettingsDialog(urwid.WidgetWrap): self.overlay.mouse_event( dim, event, button, col, row, focus=True) - k = self.overlay.keypress(dim, k) - if k in ('up','page up'): - self._w.set_focus('body') - elif k in ('down','page down'): - self._w.set_focus('footer') + else: + k = self.overlay.keypress(dim, k) + if k in ('up','page up'): + self._w.set_focus('body') + # Until I figure out a better way to do this, then this will + # have to do. + self._w.body.get_focus()[0].get_focus()._invalidate() + #self._w.body.keypress(dim,'down') + elif k in ('down','page down'): + self._w.set_focus('footer') if "window resize" in keys: dim = ui.get_cols_rows() diff --git a/curses/prefs_curses.py b/curses/prefs_curses.py old mode 100755 new mode 100644 index c13d756..20d45d2 --- a/curses/prefs_curses.py +++ b/curses/prefs_curses.py @@ -29,8 +29,6 @@ wireless = None wired = None from wicd.translations import language -for i in language.keys(): - language[i] = language[i].decode('utf8') class PrefsDialog(urwid.WidgetWrap): def __init__(self,body,pos,ui,dbus=None): diff --git a/curses/wicd-curses.py b/curses/wicd-curses.py old mode 100644 new mode 100755 index cc4dce3..323d7e8 --- a/curses/wicd-curses.py +++ b/curses/wicd-curses.py @@ -866,12 +866,13 @@ def main(): # Import the screen based on whatever the user picked. # The raw_display will have some features that may be useful to users # later - if options.rawscreen: + if options.screen == 'raw': import urwid.raw_display ui = urwid.raw_display.Screen() - else: + elif options.screen is 'curses': import urwid.curses_display ui = urwid.curses_display.Screen() + # Default Color scheme. # Other potential color schemes can be found at: # http://excess.org/urwid/wiki/RecommendedPalette @@ -953,8 +954,10 @@ setup_dbus() ######################################## if __name__ == '__main__': parser = OptionParser(version="wicd-curses-%s (using wicd %s)" % (CURSES_REVNO,daemon.Hello())) - parser.add_option("-r", "--raw-screen",action="store_true",dest='rawscreen', - help="use urwid's raw screen controller") + parser.set_defaults(screen='raw') + parser.add_option("-r", "--raw-screen",action="store_const",const='raw' + ,dest='screen',help="use urwid's raw screen controller (default)") + parser.add_option("-c", "--curses-screen",action="store_const",const='curses',dest='screen',help="use urwid's curses screen controller") (options,args) = parser.parse_args() main() # Make sure that the terminal does not try to overwrite the last line of diff --git a/in/man=wicd-curses.8.in b/in/man=wicd-curses.8.in index 9e0e549..99cfd68 100644 --- a/in/man=wicd-curses.8.in +++ b/in/man=wicd-curses.8.in @@ -1,5 +1,5 @@ .\" First revision was r203 -.TH WICD-CURSES "8" "January 2009" "wicd-curses-%CURSES_REVNO%" +.TH WICD-CURSES "8" "February 2009" "wicd-curses-%CURSES_REVNO%" .SH NAME .B wicd-curses \- curses-based wicd(8) controller @@ -12,7 +12,14 @@ This man page only documents the current status of wicd-curses. This may/may no .SH "ARGUMENTS" .TP .BR "\-r" , " \-\-raw\-screen" -Use Urwid's raw console display, instead of the (faster) curses-based one. This may be useful if you are experiencing unicode problems. +Use Urwid's raw console display. This is the default, and has several +advantages over the faster curses display, inculding fully functional unicode +and internationalization support. +.TP +.BR "\-c" , " \-\-curses\-screen" +Use Urwid's curses display. This may be faster than the default raw +display, but it lacks proper unicode support. This is fine to use if your +language of choice only uses Latin characters. .SH CONTROLS All of these are case sensitive. .TP diff --git a/in/scripts=wicd-client.in b/in/scripts=wicd-client.in index a451b88..871b930 100755 --- a/in/scripts=wicd-client.in +++ b/in/scripts=wicd-client.in @@ -10,18 +10,19 @@ fi if [ -e "%VARLIB%WHEREAREMYFILES" ] && [ ! -L "$HOME/.wicd/WHEREAREMYFILES" ]; then ln -s "%VARLIB%WHEREAREMYFILES" "$HOME/.wicd/WHEREAREMYFILES" fi -if [ "$DISPLAY" = "" ] && [ -x "%BIN%wicd-curses" ]; then - if [ ! -f "$HOME/.wicd/CLIENT_CURSES_WARNING" ]; then - printf "NOTICE: You do not have an X server active on this console, \n" - printf "so ${BOLD}${BLUE}wicd-curses${NC} will be started instead. \n" - printf "Please see the wicd-client and/or wicd-curses manual pages \n" - printf "for more information about this error and resulting message. \n" - printf "\n" - printf "This message will not be displayed again. \n" - printf "Press enter to continue... \n" +if [ "$DISPLAY" = "" ]; then + if [ -x "%BIN%wicd-curses" ]; then + if [ ! -f "$HOME/.wicd/CLIENT_CURSES_WARNING" ]; then + printf "NOTICE: You do not have an X server active on this console, \n" + printf "so ${BOLD}${BLUE}wicd-curses${NC} will be started instead. \n" + printf "Please see the wicd-client and/or wicd-curses manual pages \n" + printf "for more information about this error and resulting message. \n" + printf "\n" + printf "This message will not be displayed again. \n" + printf "Press enter to continue... \n" - read _junk - cat >> "$HOME/.wicd/CLIENT_CURSES_WARNING" << EOF + read _junk + cat >> "$HOME/.wicd/CLIENT_CURSES_WARNING" << EOF The wicd-client script checks for the existence of this file to determine whether it should warn the user before launching wicd-curses instead, in the event of the gui client being launched outside of the X Window environment. @@ -29,8 +30,16 @@ the event of the gui client being launched outside of the X Window environment. If you delete this file, then wicd-client will print the warning if it is launched outside of X (and then recreate this file again). EOF - fi - exec %BIN%wicd-curses -fi + fi + exec %BIN%wicd-curses + + else + printf "NOTICE: You do not have an X server active on this console, \n" + printf "but you do not appear to have ${BOLD}${BLUE}wicd-curses${NC}\n" + printf "installed on this system. We'd normally be running it here.\n" + printf "Please see the wicd-client manual page for more information.\n" -exec python -O %LIB%wicd-client.py $@ + fi +else + exec python -O %LIB%wicd-client.py $@ +fi diff --git a/setup.py b/setup.py index a880da2..f7c6e3a 100755 --- a/setup.py +++ b/setup.py @@ -28,7 +28,7 @@ import subprocess VERSION_NUM = '1.6.0a1' # REVISION_NUM is automatically updated REVISION_NUM = 'unknown' -CURSES_REVNO = 'r277' +CURSES_REVNO = 'r279' try: if not os.path.exists('vcsinfo.py'): diff --git a/wicd/translations.py b/wicd/translations.py index e9523b1..397236c 100644 --- a/wicd/translations.py +++ b/wicd/translations.py @@ -1,6 +1,5 @@ #!/usr/bin/env python # -* coding: utf-8 -*- -# ^^ why do I need this? # # Copyright (C) 2007 - 2009 Adam Blackburn