diff --git a/INSTALL b/INSTALL index e563e4b..7537ed4 100644 --- a/INSTALL +++ b/INSTALL @@ -1,15 +1,16 @@ Installation of Wicd should be done using your distribution package if one exists. If not, the installation is relatively straightforward, but there are a few dependencies: - 1. python (obviously) and pygtk + 1. python (>=2.4, <3.0) + 2. pygtk (>=2.10) 2. dbus and its glib and python bindings 3. a dhcp client (dhclient, dhcpcd, and pump are supported) 4. wireless-tools (iwlist, iwconfig, etcetera) 5. net-tools (ip, route, etcetera) 6. a graphical sudo application (gksu, kdesu, and ktsuss are supported), while optional, is strongly recommended - 7. urwid (if you want to use the curses client) - 8. pm-utils (optional for suspend/resume integration - needs version 1.2.4+) + 7. urwid (if you want to use the curses client - needs version >=0.9.8.3) + 8. pm-utils (optional for suspend/resume integration - needs version >=1.2.4) If you are installing from a bzr pull or beta/rc tarball and you want the native language translations, first run this: diff --git a/NEWS b/NEWS index 3b3c184..536b3f1 100644 --- a/NEWS +++ b/NEWS @@ -1,25 +1,34 @@ -MAIN CHANGES: -- New and improved tray icon and gui images. (Thanks to Martin Sagastume). -- Re-organized network list in the GUI to be easier to navigate. -- Added new experimental ioctl backend, which is more CPU friendly than the previous one. -- Added a curses client (Thanks to Andrew Psaltis). -- Added a right-click connection menu to the tray icon. -- Add options to specify a dns domain and search domain for static networks. -- Re-worked Preferences menu to be more in line with GNOME standards. -- Support for global scripts. -- Make it possible to have optional entries in encryption templates. +Wicd 1.6.x Branch + +Major Changes: +- Improved tray icon and gui images (thanks to Martin Sagastume) +- Reorganized network list in the gui for easier navigation +- New experimental ioctl backend, which is more cpu-friendly than the + previous one +- Added a curses client (thanks to Andrew Psaltis) +- Added a right-click connection menu to the tray icon +- Added options to specify a dns domain and search domain for static networks +- Reworked the Preferences menu to be more in line with GNOME standards +- Added support for global scripts +- Made it possible to have optional entries in encryption templates + +Minor Changes and Other Enchancements: +- Better autoconnection behavior +- Tray/GUI will survive the daemon being killed +- Reasons for connection failures will now bubble back to the GUI +- Add/Remove wired profile system is now more user-friendly +- Support for using resolvconf instead of directly editing /etc/resolv.conf +- Wicd won't blindly kill dhcp clients / wpa_supplicant any more +- Added an option to automatically switch from a wireless network to a wired + one as soon as a cable is plugged in +- Moved scanning to its own thread, which makes GUI and daemon more responsive + during scans +- Made it possible to specify macros in script entries +- The gui will now display the encryption entry dialog if you attempt to + connect to an encrypted network without entering a password +- Static gateway entry is now optional +- Passwords with leading or trailing whitespace are now stored properly +- Many init/config script, man page, and setup.py fixes/updates, including + better autodetection of file placement with regard to sleep hooks and + kde autostart files (thanks to Robby Workman) -SMALL CHANGES: -- Better autoconnection behavior. -- Tray/GUI will survive the daemon going down. -- Reasons for connection failures will now bubble back to the GUI. -- Add/Remove wired profile system is now more user-friendly. -- Support for using resolvconf instead of directly editing /etc/resolv.conf. -- Wicd won't blindly kill dhcp clients / wpa_supplicant anymore. -- Added an option to automatically switch from a wireless network to a wired one as soon as a cable is plugged in. -- Move scanning to its own thread, which makes GUI and daemon more responsive during scans. -- Make it possible to specify macros in script entries. -- GUI will now display the encryption entry dialog if you attempt to connect to an encrypted network without entering a password. -- Static gateway entry is now optional. -- Passwords with leading or trailing whitespace are now stored properly. -- Many init/config script, man page, and setup.py fixes/updates (Thanks to Robby Workman). diff --git a/wicd/configmanager.py b/wicd/configmanager.py index 24d8dd4..8862bc8 100644 --- a/wicd/configmanager.py +++ b/wicd/configmanager.py @@ -108,7 +108,7 @@ class ConfigManager(RawConfigParser): try: if not ret.startswith('0') or len(ret) == 1: ret = int(ret) - except (ValueError, TypeError): + except (ValueError, TypeError, AttributeError): ret = Noneify(ret) # This is a workaround for a python-dbus issue on 64-bit systems. if isinstance(ret, (int)): diff --git a/wicd/gui.py b/wicd/gui.py index 8db8b6f..e792579 100644 --- a/wicd/gui.py +++ b/wicd/gui.py @@ -148,7 +148,7 @@ class appGui(object): gladefile = os.path.join(wpath.share, "wicd.glade") self.wTree = gtk.glade.XML(gladefile) self.window = self.wTree.get_widget("window1") - self.window.set_icon_from_file(wpath.icons +'scalable/apps/wicd-client.svg') + self.window.set_icon_name("wicd-client") size = daemon.ReadWindowSize("main") width = size[0] height = size[1] diff --git a/wicd/netentry.py b/wicd/netentry.py index 460f387..a4cfa40 100644 --- a/wicd/netentry.py +++ b/wicd/netentry.py @@ -405,9 +405,9 @@ class WirelessSettingsDialog(AdvancedSettingsDialog): def save_settings(self, networkid): # Check encryption info + encrypt_info = self.encryption_info if self.chkbox_encryption.get_active(): print "setting encryption info..." - encrypt_info = self.encryption_info encrypt_methods = self.encrypt_types self.set_net_prop("enctype", encrypt_methods[self.combo_encryption.get_active()]['type']) @@ -432,7 +432,7 @@ class WirelessSettingsDialog(AdvancedSettingsDialog): print "no encryption specified..." self.set_net_prop("enctype", "None") for entry in encrypt_info.iterkeys(): - self.set_net_prop(entry[0].entry, "") + self.set_net_prop(entry[0], "") AdvancedSettingsDialog.save_settings(self) if self.chkbox_global_settings.get_active(): diff --git a/wicd/prefs.py b/wicd/prefs.py index 2c577ea..7a6d709 100644 --- a/wicd/prefs.py +++ b/wicd/prefs.py @@ -59,12 +59,9 @@ class PreferencesDialog(object): def _setup_external_app_radios(self, radio_list, get_method, set_method): """ Generic function for setting up external app radios. """ - def set_available(apps): - for app in apps: - app.set_sensitive(daemon.GetAppAvailable(app.get_label())) - # Disable radios for apps that aren't installed. - set_available(radio_list[1:]) + for app in radio_list[1:]: + app.set_sensitive(daemon.GetAppAvailable(app.get_label())) selected_app = get_method() # Make sure the app we want to select is actually available. if radio_list[selected_app].get_property("sensitive"): diff --git a/wicd/wicd-daemon.py b/wicd/wicd-daemon.py index 073d1b1..17f3e2d 100644 --- a/wicd/wicd-daemon.py +++ b/wicd/wicd-daemon.py @@ -1201,8 +1201,8 @@ class WirelessDaemon(dbus.service.Object): # We want to write the essid in addition to bssid # sections if global settings are enabled. + self.config.remove_section(essid_key) if cur_network["use_settings_globally"]: - self.config.remove_section(essid_key) self.config.add_section(essid_key) for x in cur_network: