--- service-discovery-applet-0.4.4.orig/debian/pycompat +++ service-discovery-applet-0.4.4/debian/pycompat @@ -0,0 +1 @@ +2 --- service-discovery-applet-0.4.4.orig/debian/rules +++ service-discovery-applet-0.4.4/debian/rules @@ -0,0 +1,14 @@ +#!/usr/bin/make -f + +include /usr/share/cdbs/1/rules/debhelper.mk +include /usr/share/cdbs/1/class/gnome.mk +include /usr/share/cdbs/1/rules/simple-patchsys.mk + +install/service-discovery-applet:: + for i in debian/service-discovery-applet/usr/lib/python*/*-packages/sdapplet ; do \ + cp -v debian/SimpleGladeApp.py $$i ; \ + done + +binary-install/service-discovery-applet:: + dh_pycentral -p$(cdbs_curpkg) + dh_python -p$(cdbs_curpkg) --- service-discovery-applet-0.4.4.orig/debian/control +++ service-discovery-applet-0.4.4/debian/control @@ -0,0 +1,19 @@ +Source: service-discovery-applet +Section: net +Priority: optional +Maintainer: Ubuntu Developers +XSBC-Original-Maintainer: Sebastian Dröge +Uploaders: Loic Minier +Build-Depends: cdbs (>> 0.4.43), debhelper (>= 5.0.37.2) +Build-Depends-Indep: python-central (>= 0.5), python-gtk2, python-glade2, python-gnome2, python-gnome2-desktop, python-dbus, python-avahi (>= 0.6.9), gconf2, libxml-parser-perl +Standards-Version: 3.7.3 +XS-Python-Version: >= 2.4 + +Package: service-discovery-applet +Architecture: all +Depends: ${python:Depends}, ${misc:Depends}, python-gtk2, python-glade2, python-gnome2, python-gnome2-desktop, python-dbus, python-avahi (>= 0.6.9), avahi-daemon, python-notify, notification-daemon +XB-Python-Version: ${python:Versions} +Description: service discovery applet based on avahi for the GNOME panel + The service discovery applet lists all available services which are + published through avahi/Rendezvous/Bonjour/ZeroConf and allows to run + actions on that service. --- service-discovery-applet-0.4.4.orig/debian/compat +++ service-discovery-applet-0.4.4/debian/compat @@ -0,0 +1 @@ +5 --- service-discovery-applet-0.4.4.orig/debian/copyright +++ service-discovery-applet-0.4.4/debian/copyright @@ -0,0 +1,29 @@ +This package was debianized by Sebastian Dröge on +Tue, 8 Sep 2005 15:12:41 +0200. + +It was downloaded from http://0pointer.de/~sebest/ + +Upstream Authors: Sebastien Estienne + Sebastian Dröge + +Copyright: + + Copyright (c) 2005 Sebastien Estienne + + sd-applet is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + sd-applet is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public + License for more details. + + You should have received a copy of the GNU General Public + License along with sd-applet; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. + + On Debian systems, the complete text of the GNU General Public + License, version 2, can be found in /usr/share/common-licenses/GPL-2. + --- service-discovery-applet-0.4.4.orig/debian/changelog +++ service-discovery-applet-0.4.4/debian/changelog @@ -0,0 +1,178 @@ +service-discovery-applet (0.4.4-3.1ubuntu3) lucid; urgency=low + + * debian/control: + - Drop superfluous dependecy on python-gnome2-extras. No modules + seem to be used from there, and this package has been split in + Ubuntu now + + -- Chris Coulson Tue, 15 Dec 2009 02:56:54 +0000 + +service-discovery-applet (0.4.4-3.1ubuntu2) jaunty; urgency=low + + * use *-packages instead of site-packages for python2.6. + + -- Loic Minier Thu, 02 Apr 2009 16:57:19 +0200 + +service-discovery-applet (0.4.4-3.1ubuntu1) jaunty; urgency=low + + * Drop version in notification-daemon dep to allow installation of + notify-osd. + + -- Loic Minier Thu, 02 Apr 2009 11:14:59 +0200 + +service-discovery-applet (0.4.4-3.1) unstable; urgency=low + + * Non-maintainer upload for "double build" release goal. + * Fix FTBFS when building twice, by not attempting to patch a file that is + generated anyway. (Closes: #424260) + + -- Simon McVittie Sun, 06 Apr 2008 00:54:19 +0000 + +service-discovery-applet (0.4.4-3) unstable; urgency=low + + * debian/rules, + debian/SimpleGladeApp.py, + debian/patches/02_simple-glade-app.patch: + + Ship SimpleGladeApp with the package as avahi-python doesn't provide + it anymore (Closes: #459925). + * debian/patches/06_sftp-no-terminal.patch: + + Don't use a terminal emulator for sftp, instead use + nautilus (Closes: #388709). + + -- Sebastian Dröge Tue, 22 Jan 2008 19:57:23 +0100 + +service-discovery-applet (0.4.4-2) unstable; urgency=low + + * Upload to unstable + * debian/patches/01_key-exception.diff: + + Fix KeyError exception in remove_service. Patch taken from upstream SVN. + * debian/patches/05_nautilus-open.diff: + + Fix the nautilus plugin to work again. + + -- Sebastian Dröge Mon, 16 Apr 2007 02:15:22 +0200 + +service-discovery-applet (0.4.4-1) experimental; urgency=low + + * New upstream release + * debian/control: + + Update to use my debian.org mail address + + Depend on python-notify + * debian/patches/01_sv.po.diff: + + Dropped, merged upstream + + -- Sebastian Dröge Mon, 5 Mar 2007 09:09:22 +0100 + +service-discovery-applet (0.4.3-3) unstable; urgency=low + + * debian/patches/04_pygtk-require.diff: + + Call pygtk.require('2.0') before importing gtk (Closes: #388710) + + -- Sebastian Dröge Tue, 17 Oct 2006 19:41:24 +0200 + +service-discovery-applet (0.4.3-2) unstable; urgency=low + + * debian/control: + + Add missing (build) dependencies on python2.4-glade2 + + Small fixes for the new python policy + * debian/patches/01_sv.po.diff: + + Added Swedish (Closes: #387187) + Thanks to Daniel Nylander for the patch + + -- Sebastian Dröge Wed, 13 Sep 2006 10:26:57 +0200 + +service-discovery-applet (0.4.3-1) unstable; urgency=low + + * New upstream release + * debian/patches/01_webdav-uri-scheme.diff, + debian/patches/02_sftp-handler.diff: + + Dropped, merged upstream + + -- Sebastian Dröge Sun, 27 Aug 2006 20:55:49 +0200 + +service-discovery-applet (0.4.1-5) unstable; urgency=low + + * Rebuild against new debhelper (Closes: #377767) + * debian/patches/02_sftp-handler.patch: + + Run sftp with the correct parameters (Closes: #377815) + Thanks to linlamer@cox.net for the patch + * debian/patches/03_pluginloader-shebang.diff: + + Remove the shebang from the pluginload to prevent a lintian warning + + -- Sebastian Dröge Wed, 12 Jul 2006 12:14:48 +0200 + +service-discovery-applet (0.4.1-4) unstable; urgency=low + + [ Sebastian Dröge ] + * debian/control: + + Changed the unversioned python-foo (Build-) Depends to python2.4-foo + according to the policy for packages that only work with one python + version + + Moved debhelper and cdbs to Build-Depends + + [ Loic Minier ] + * Add myself to Uploaders. + * Drop useless python-all-dev from Build-Deps-Indep. + + -- Loic Minier Sun, 9 Jul 2006 11:59:17 +0200 + +service-discovery-applet (0.4.1-3) unstable; urgency=low + + * debian/control: + + Add (build-) dependency on python-gnome2-desktop (Closes: #376498) + * debian/control, + debian/pycompat, + debian/rules: + + Make the package conform to the new Python Policy + + -- Sebastian Dröge Sun, 9 Jul 2006 01:49:48 +0200 + +service-discovery-applet (0.4.1-2) unstable; urgency=low + + * debian/patches/01_webdav-uri-scheme.diff: + + Use dav(s) instead of webdav(s) as the URI scheme as required by + gnomevfs + + -- Sebastian Dröge Thu, 20 Apr 2006 11:31:18 +0200 + +service-discovery-applet (0.4.1-1) unstable; urgency=low + + * New upstream release (Closes: #353276) + + -- Sebastian Dröge Sat, 1 Apr 2006 18:18:05 +0200 + +service-discovery-applet (0.4-1) unstable; urgency=low + + * New upstream release (Closes: #355556, #350758, #355559) + * 01_avahi0.6.diff, + 02_notification-daemon-new-api.diff: + - Dropped, both are upstream now + * Update to debhelper compat level 5 + + -- Sebastian Dröge Tue, 28 Mar 2006 22:40:15 +0200 + +service-discovery-applet (0.3.1-4) unstable; urgency=low + + * Depend on notification-daemon (>= 0.3.2) for the new API + * 02_notification-daemon-new-api.diff: + + Changes required to run with the latest notification daemon + + -- Sebastian Dröge Mon, 30 Jan 2006 21:13:42 +0100 + +service-discovery-applet (0.3.1-3) unstable; urgency=low + + * Upload to unstable + + -- Sebastian Dröge Tue, 17 Jan 2006 23:01:34 +0100 + +service-discovery-applet (0.3.1-2) experimental; urgency=low + + * 01_avahi0.6.diff: + + Changes from SVN for avahi 0.6. Still runs with older avahi + + -- Sebastian Dröge Wed, 21 Dec 2005 18:29:00 +0100 + +service-discovery-applet (0.3.1-1) experimental; urgency=low + + * Initial revision (Closes: #327221) + + -- Sebastian Dröge Mon, 21 Nov 2005 23:22:21 +0100 --- service-discovery-applet-0.4.4.orig/debian/SimpleGladeApp.py +++ service-discovery-applet-0.4.4/debian/SimpleGladeApp.py @@ -0,0 +1,341 @@ +""" + SimpleGladeApp.py + Module that provides an object oriented abstraction to pygtk and libglade. + Copyright (C) 2004 Sandino Flores Moreno +""" + +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 +# USA + +import os +import sys +import re + +import tokenize +import gtk +import gtk.glade +import weakref +import inspect + +__version__ = "1.0" +__author__ = 'Sandino "tigrux" Flores-Moreno' + +def bindtextdomain(app_name, locale_dir=None): + """ + Bind the domain represented by app_name to the locale directory locale_dir. + It has the effect of loading translations, enabling applications for different + languages. + + app_name: + a domain to look for translations, tipically the name of an application. + + locale_dir: + a directory with locales like locale_dir/lang_isocode/LC_MESSAGES/app_name.mo + If omitted or None, then the current binding for app_name is used. + """ + try: + import locale + import gettext + locale.setlocale(locale.LC_ALL, "") + gtk.glade.bindtextdomain(app_name, locale_dir) + gettext.install(app_name, locale_dir, unicode=1) + except (IOError,locale.Error), e: + print "Warning", app_name, e + __builtins__.__dict__["_"] = lambda x : x + + +class SimpleGladeApp: + + def __init__(self, path, root=None, domain=None, **kwargs): + """ + Load a glade file specified by glade_filename, using root as + root widget and domain as the domain for translations. + + If it receives extra named arguments (argname=value), then they are used + as attributes of the instance. + + path: + path to a glade filename. + If glade_filename cannot be found, then it will be searched in the + same directory of the program (sys.argv[0]) + + root: + the name of the widget that is the root of the user interface, + usually a window or dialog (a top level widget). + If None or ommited, the full user interface is loaded. + + domain: + A domain to use for loading translations. + If None or ommited, no translation is loaded. + + **kwargs: + a dictionary representing the named extra arguments. + It is useful to set attributes of new instances, for example: + glade_app = SimpleGladeApp("ui.glade", foo="some value", bar="another value") + sets two attributes (foo and bar) to glade_app. + """ + if os.path.isfile(path): + self.glade_path = path + else: + glade_dir = os.path.dirname( sys.argv[0] ) + self.glade_path = os.path.join(glade_dir, path) + for key, value in kwargs.items(): + try: + setattr(self, key, weakref.proxy(value) ) + except TypeError: + setattr(self, key, value) + self.glade = None + self.install_custom_handler(self.custom_handler) + self.glade = self.create_glade(self.glade_path, root, domain) + if root: + self.main_widget = self.get_widget(root) + else: + self.main_widget = None + self.normalize_names() + self.add_callbacks(self) + self.new() + + def __repr__(self): + class_name = self.__class__.__name__ + if self.main_widget: + root = gtk.Widget.get_name(self.main_widget) + repr = '%s(path="%s", root="%s")' % (class_name, self.glade_path, root) + else: + repr = '%s(path="%s")' % (class_name, self.glade_path) + return repr + + def new(self): + """ + Method called when the user interface is loaded and ready to be used. + At this moment, the widgets are loaded and can be refered as self.widget_name + """ + pass + + def add_callbacks(self, callbacks_proxy): + """ + It uses the methods of callbacks_proxy as callbacks. + The callbacks are specified by using: + Properties window -> Signals tab + in glade-2 (or any other gui designer like gazpacho). + + Methods of classes inheriting from SimpleGladeApp are used as + callbacks automatically. + + callbacks_proxy: + an instance with methods as code of callbacks. + It means it has methods like on_button1_clicked, on_entry1_activate, etc. + """ + self.glade.signal_autoconnect(callbacks_proxy) + + def normalize_names(self): + """ + It is internally used to normalize the name of the widgets. + It means a widget named foo:vbox-dialog in glade + is refered self.vbox_dialog in the code. + + It also sets a data "prefixes" with the list of + prefixes a widget has for each widget. + """ + for widget in self.get_widgets(): + widget_name = gtk.Widget.get_name(widget) + prefixes_name_l = widget_name.split(":") + prefixes = prefixes_name_l[ : -1] + widget_api_name = prefixes_name_l[-1] + widget_api_name = "_".join( re.findall(tokenize.Name, widget_api_name) ) + gtk.Widget.set_name(widget, widget_api_name) + if hasattr(self, widget_api_name): + raise AttributeError("instance %s already has an attribute %s" % (self,widget_api_name)) + else: + setattr(self, widget_api_name, widget) + if prefixes: + gtk.Widget.set_data(widget, "prefixes", prefixes) + + def add_prefix_actions(self, prefix_actions_proxy): + """ + By using a gui designer (glade-2, gazpacho, etc) + widgets can have a prefix in theirs names + like foo:entry1 or foo:label3 + It means entry1 and label3 has a prefix action named foo. + + Then, prefix_actions_proxy must have a method named prefix_foo which + is called everytime a widget with prefix foo is found, using the found widget + as argument. + + prefix_actions_proxy: + An instance with methods as prefix actions. + It means it has methods like prefix_foo, prefix_bar, etc. + """ + prefix_s = "prefix_" + prefix_pos = len(prefix_s) + + is_method = lambda t : callable( t[1] ) + is_prefix_action = lambda t : t[0].startswith(prefix_s) + drop_prefix = lambda (k,w): (k[prefix_pos:],w) + + members_t = inspect.getmembers(prefix_actions_proxy) + methods_t = filter(is_method, members_t) + prefix_actions_t = filter(is_prefix_action, methods_t) + prefix_actions_d = dict( map(drop_prefix, prefix_actions_t) ) + + for widget in self.get_widgets(): + prefixes = gtk.Widget.get_data(widget, "prefixes") + if prefixes: + for prefix in prefixes: + if prefix in prefix_actions_d: + prefix_action = prefix_actions_d[prefix] + prefix_action(widget) + + def custom_handler(self, + glade, function_name, widget_name, + str1, str2, int1, int2): + """ + Generic handler for creating custom widgets, internally used to + enable custom widgets (custom widgets of glade). + + The custom widgets have a creation function specified in design time. + Those creation functions are always called with str1,str2,int1,int2 as + arguments, that are values specified in design time. + + Methods of classes inheriting from SimpleGladeApp are used as + creation functions automatically. + + If a custom widget has create_foo as creation function, then the + method named create_foo is called with str1,str2,int1,int2 as arguments. + """ + try: + handler = getattr(self, function_name) + return handler(str1, str2, int1, int2) + except AttributeError: + return None + + def gtk_widget_show(self, widget, *args): + """ + Predefined callback. + The widget is showed. + Equivalent to widget.show() + """ + widget.show() + + def gtk_widget_hide(self, widget, *args): + """ + Predefined callback. + The widget is hidden. + Equivalent to widget.hide() + """ + widget.hide() + + def gtk_widget_grab_focus(self, widget, *args): + """ + Predefined callback. + The widget grabs the focus. + Equivalent to widget.grab_focus() + """ + widget.grab_focus() + + def gtk_widget_destroy(self, widget, *args): + """ + Predefined callback. + The widget is destroyed. + Equivalent to widget.destroy() + """ + widget.destroy() + + def gtk_window_activate_default(self, window, *args): + """ + Predefined callback. + The default widget of the window is activated. + Equivalent to window.activate_default() + """ + widget.activate_default() + + def gtk_true(self, *args): + """ + Predefined callback. + Equivalent to return True in a callback. + Useful for stopping propagation of signals. + """ + return True + + def gtk_false(self, *args): + """ + Predefined callback. + Equivalent to return False in a callback. + """ + return False + + def gtk_main_quit(self, *args): + """ + Predefined callback. + Equivalent to self.quit() + """ + self.quit() + + def main(self): + """ + Starts the main loop of processing events. + The default implementation calls gtk.main() + + Useful for applications that needs a non gtk main loop. + For example, applications based on gstreamer needs to override + this method with gst.main() + + Do not directly call this method in your programs. + Use the method run() instead. + """ + gtk.main() + + def quit(self): + """ + Quit processing events. + The default implementation calls gtk.main_quit() + + Useful for applications that needs a non gtk main loop. + For example, applications based on gstreamer needs to override + this method with gst.main_quit() + """ + gtk.main_quit() + + def run(self): + """ + Starts the main loop of processing events checking for Control-C. + + The default implementation checks wheter a Control-C is pressed, + then calls on_keyboard_interrupt(). + + Use this method for starting programs. + """ + try: + self.main() + except KeyboardInterrupt: + self.on_keyboard_interrupt() + + def on_keyboard_interrupt(self): + """ + This method is called by the default implementation of run() + after a program is finished by pressing Control-C. + """ + pass + + def install_custom_handler(self, custom_handler): + gtk.glade.set_custom_handler(custom_handler) + + def create_glade(self, glade_path, root, domain): + return gtk.glade.XML(self.glade_path, root, domain) + + def get_widget(self, widget_name): + return self.glade.get_widget(widget_name) + + def get_widgets(self): + return self.glade.get_widget_prefix("") --- service-discovery-applet-0.4.4.orig/debian/patches/04_pygtk-require.diff +++ service-discovery-applet-0.4.4/debian/patches/04_pygtk-require.diff @@ -0,0 +1,28 @@ +--- src/service-discovery-config.in.old 2006-10-17 19:39:32.690776750 +0200 ++++ src/service-discovery-config.in 2006-10-17 19:40:08.829035250 +0200 +@@ -29,6 +29,8 @@ + gettext.bindtextdomain("@GETTEXT_PACKAGE@", "@LOCALEDIR@") + gettext.textdomain("@GETTEXT_PACKAGE@") + _ = gettext.gettext ++ import pygtk ++ pygtk.require('2.0') + import gtk + import gtk.glade + gtk.glade.bindtextdomain("@GETTEXT_PACKAGE@", "@LOCALEDIR@") +--- tools/exec_wrapper.in.old 2006-10-17 19:40:02.700652250 +0200 ++++ tools/exec_wrapper.in 2006-10-17 19:40:06.664900000 +0200 +@@ -16,13 +16,13 @@ + import sys + import os + import pygtk ++pygtk.require('2.0') + import gtk + + + from subprocess import * + from string import join, replace + +-pygtk.require('2.0') + + def error_msg(msg): + d = gtk.MessageDialog(parent=None, flags=gtk.DIALOG_MODAL, --- service-discovery-applet-0.4.4.orig/debian/patches/03_pluginloader-shebang.diff +++ service-discovery-applet-0.4.4/debian/patches/03_pluginloader-shebang.diff @@ -0,0 +1,7 @@ +--- src/modules/pluginloader.py.in.old 2006-07-12 12:26:13.443085000 +0200 ++++ src/modules/pluginloader.py.in 2006-07-12 12:26:19.099438500 +0200 +@@ -1,4 +1,3 @@ +-#!@PYTHON@ + # -*- coding: UTF-8 -*- + # -*- python -*- + # Copyright (C) 2005 by Sebastien Estienne --- service-discovery-applet-0.4.4.orig/debian/patches/06_sftp-no-terminal.patch +++ service-discovery-applet-0.4.4/debian/patches/06_sftp-no-terminal.patch @@ -0,0 +1,11 @@ +--- plugins/gconfterminal.py.in.old 2008-01-22 19:59:42.000000000 +0100 ++++ plugins/gconfterminal.py.in 2008-01-22 19:59:55.000000000 +0100 +@@ -34,7 +34,7 @@ + + class plugin_gnometerminal: + def __init__(self): +- self.service_type = ["_ssh._tcp", "_sftp-ssh._tcp" ] ++ self.service_type = ["_ssh._tcp" ] + self.author = "Sébastien Estienne" + + def enter_callback(self, widget, win): --- service-discovery-applet-0.4.4.orig/debian/patches/01_key-exception.diff +++ service-discovery-applet-0.4.4/debian/patches/01_key-exception.diff @@ -0,0 +1,24 @@ +--- trunk/src/service-discovery-applet.in 2007/02/27 11:28:20 131 ++++ trunk/src/service-discovery-applet.in 2007/03/19 11:53:01 136 +@@ -271,7 +271,10 @@ + + txts = avahi.txt_array_to_string_array(txt) + txts = sdapplet.pluginutils.pair_to_dict(txts) +- self.plugin.plugins[type][0].connect(self.use_host_names, name, type, host, address, port, txts) ++ try: ++ self.plugin.plugins[type][0].connect(self.use_host_names, name, type, host, address, port, txts) ++ except KeyError,e: ++ error_msg("No plugin to handle %s" % type) + + def print_error(self, err): + # FIXME we should use notifications +@@ -328,7 +331,7 @@ + self.zc_types[type].remove(self.zc_services[(interface, protocol, name, type, domain)]) + self.display_service_notification(False, name, type) + +- if self.zc_types[type].get_children() == []: ++ if self.zc_types.has_key(type) and self.zc_types[type].get_children() == []: + self.service_menu.remove(self.zc_types[type].get_attach_widget()) + del self.zc_types[type] + + --- service-discovery-applet-0.4.4.orig/debian/patches/02_simple-glade-app.patch +++ service-discovery-applet-0.4.4/debian/patches/02_simple-glade-app.patch @@ -0,0 +1,11 @@ +--- src/service-discovery-config.in.old 2008-01-22 19:54:19.000000000 +0100 ++++ src/service-discovery-config.in 2008-01-22 19:54:58.000000000 +0100 +@@ -41,7 +41,7 @@ + error_msg(_("A required python module is missing!\n%s") % (e)) + sys.exit() + +-from avahi.SimpleGladeApp import SimpleGladeApp ++from sdapplet.SimpleGladeApp import SimpleGladeApp + + ( + COLUMN_ENABLED, --- service-discovery-applet-0.4.4.orig/debian/patches/05_nautilus-open.diff +++ service-discovery-applet-0.4.4/debian/patches/05_nautilus-open.diff @@ -0,0 +1,27 @@ +Index: plugins/nautilus.py.in +=================================================================== +--- plugins/nautilus.py.in (révision 136) ++++ plugins/nautilus.py.in (révision 138) +@@ -13,9 +13,8 @@ + # + + from sdapplet.pluginutils import * ++import subprocess + +-import gnome +- + class plugin_nautilus: + def __init__(self): + self.service_type = ["_http._tcp", "_ftp._tcp" , "_https._tcp", "_ftps._tcp" , "_webdav._tcp", "_webdavs._tcp", "_sftp-ssh._tcp"] +@@ -43,8 +42,9 @@ + url = build_url("dav",address,port, path, username,password) + if stype == "_webdavs._tcp": + url = build_url("davs",address,port, path, username,password) +- gnome.url_show(url) + ++ cmdline = ["nautilus", url ] ++ subprocess.Popen(cmdline).wait() + + def load(): + return plugin_nautilus() +