diff options
-rw-r--r-- | Makefile.am | 2 | ||||
-rw-r--r-- | configure.ac | 9 | ||||
-rw-r--r-- | plugins/Makefile.am | 29 | ||||
-rw-r--r-- | plugins/ekiga.py.in (renamed from plugins/ekiga.py) | 2 | ||||
-rw-r--r-- | plugins/gconfterminal.py.in (renamed from plugins/gconfterminal.py) | 4 | ||||
-rw-r--r-- | plugins/nautilus.py.in (renamed from plugins/nautilus.py) | 0 | ||||
-rw-r--r-- | plugins/xvncviewer.py.in (renamed from plugins/xvncviewer.py) | 2 | ||||
-rw-r--r-- | po/POTFILES.in | 10 | ||||
-rw-r--r-- | po/service-discovery-applet.pot | 176 | ||||
-rw-r--r-- | tools/Makefile.am | 14 | ||||
-rw-r--r-- | tools/exec_wrapper.in | 58 |
11 files changed, 119 insertions, 187 deletions
diff --git a/Makefile.am b/Makefile.am index 38eb740..653a6c0 100644 --- a/Makefile.am +++ b/Makefile.am @@ -5,8 +5,10 @@ SUBDIRS = \ schemas \ servers \ plugins \ + tools \ po EXTRA_DIST = README INSTALL AUTHORS COPYING TODO \ intltool-extract.in intltool-merge.in intltool-update.in + DISTCLEANFILES = intltool-extract intltool-merge intltool-update diff --git a/configure.ac b/configure.ac index 7675f91..3de47f0 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ AC_PREREQ(2.59) -AC_INIT([service-discovery-applet],[0.4.1],[sebastien (dot) estienne (at) gmail (dot) com]) +AC_INIT([service-discovery-applet],[0.4.2],[sebastien (dot) estienne (at) gmail (dot) com]) AC_CONFIG_SRCDIR([src/service-discovery-applet.in]) AM_INIT_AUTOMAKE([foreign 1.9 -Wall]) AC_CONFIG_MACRO_DIR([common]) @@ -27,6 +27,12 @@ PLUGINSDIR="\$(pkgdatadir)/plugins/" AC_SUBST(PLUGINSDIR) dnl ======================================================== +dnl Directory where services' tools will be installed +dnl ======================================================== +TOOLSDIR="\$(pkgdatadir)/tools/" +AC_SUBST(TOOLSDIR) + +dnl ======================================================== dnl Directory where services' icons will be installed dnl ======================================================== ICONSDIR="\$(pkgdatadir)/icons/" @@ -68,6 +74,7 @@ AC_CONFIG_FILES([ src/Makefile src/modules/Makefile plugins/Makefile + tools/Makefile po/Makefile.in ]) AC_OUTPUT diff --git a/plugins/Makefile.am b/plugins/Makefile.am index d0b4e7b..893cc07 100644 --- a/plugins/Makefile.am +++ b/plugins/Makefile.am @@ -1,10 +1,37 @@ pluginsdir = $(PLUGINSDIR) +plugins = \ + gconfterminal.py.in \ + nautilus.py.in \ + xvncviewer.py.in \ + ekiga.py.in + plugins_DATA = \ gconfterminal.py \ nautilus.py \ xvncviewer.py \ ekiga.py +gconfterminal.py: gconfterminal.py.in + sed \ + -e 's,@toolsdir\@,$(TOOLSDIR),g' \ + $< > $@ + +nautilus.py: nautilus.py.in + sed \ + -e 's,@toolsdir\@,$(TOOLSDIR),g' \ + $< > $@ + +xvncviewer.py: xvncviewer.py.in + sed \ + -e 's,@toolsdir\@,$(TOOLSDIR),g' \ + $< > $@ + +ekiga.py: ekiga.py.in + sed \ + -e 's,@toolsdir\@,$(TOOLSDIR),g' \ + $< > $@ + +EXTRA_DIST = $(plugins) -EXTRA_DIST = $(plugins_DATA) +CLEANFILES = $(plugins_DATA) diff --git a/plugins/ekiga.py b/plugins/ekiga.py.in index 7b920e4..26b37fa 100644 --- a/plugins/ekiga.py +++ b/plugins/ekiga.py.in @@ -25,7 +25,7 @@ class plugin_ekiga: if use_host_names == True: address = hostname print "connecting using ekiga" - cmdline = ["ekiga"] + cmdline = ["@toolsdir@/exec_wrapper", "ekiga"] if stype == "_sip._udp": cmdline += ["-c", "sip:%s:%s" % (address, port)] else: diff --git a/plugins/gconfterminal.py b/plugins/gconfterminal.py.in index 92b9abb..8dbaef8 100644 --- a/plugins/gconfterminal.py +++ b/plugins/gconfterminal.py.in @@ -113,9 +113,9 @@ class plugin_gnometerminal: if stype == "_ssh._tcp": - scheme = "ssh -X" + scheme = "@toolsdir@/exec_wrapper ssh -X" else: - scheme = "sftp" + scheme = "@toolsdir@/exec_wrapper sftp" if username == None: return elif username != "": diff --git a/plugins/nautilus.py b/plugins/nautilus.py.in index 6783bbe..6783bbe 100644 --- a/plugins/nautilus.py +++ b/plugins/nautilus.py.in diff --git a/plugins/xvncviewer.py b/plugins/xvncviewer.py.in index ee51d54..a6e614d 100644 --- a/plugins/xvncviewer.py +++ b/plugins/xvncviewer.py.in @@ -23,7 +23,7 @@ class plugin_xvncviewer: def connect(self, use_host_names, name, stype, hostname, address, port, txts): print "connecting using xvncviewer" - cmdline = ["xvncviewer", "-xrm", "*passwordDialog:true", hostname ] + cmdline = ["@toolsdir@/exec_wrapper", "xvncviewer", "-xrm", "*passwordDialog:true", hostname ] print cmdline pid = subprocess.Popen(cmdline, close_fds=True).pid diff --git a/po/POTFILES.in b/po/POTFILES.in index b58afe6..9f82a30 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -2,12 +2,12 @@ # List of source files containing translatable strings. # Please keep this file sorted alphabetically. -plugins/ekiga.py -plugins/gconfterminal.py -plugins/nautilus.py -plugins/xvncviewer.py +plugins/ekiga.py.in +plugins/gconfterminal.py.in +plugins/nautilus.py.in +plugins/xvncviewer.py.in schemas/service-discovery-applet.schemas.in -servers/GNOME_ServiceDiscoveryApplet.server.in +servers/GNOME_ServiceDiscoveryApplet.server.in.in src/service-discovery-applet.in src/service-discovery-config.glade src/service-discovery-config.in diff --git a/po/service-discovery-applet.pot b/po/service-discovery-applet.pot deleted file mode 100644 index 8a5cc33..0000000 --- a/po/service-discovery-applet.pot +++ /dev/null @@ -1,176 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-06-29 23:12+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=CHARSET\n" -"Content-Transfer-Encoding: 8bit\n" - -#: ../plugins/gconfterminal.py:31 ../src/service-discovery-applet.in:50 -#: ../src/service-discovery-config.in:41 -#, c-format, python-format -msgid "" -"A required python module is missing!\n" -"%s" -msgstr "" - -#: ../plugins/gconfterminal.py:43 -msgid "SSH Connection" -msgstr "" - -#: ../plugins/gconfterminal.py:53 -#, python-format -msgid "" -"Connecting to <b>%s</b>.\n" -"Please enter your <b>login</b>:" -msgstr "" - -#: ../schemas/service-discovery-applet.schemas.in.h:1 -msgid "Browse for your own services" -msgstr "" - -#: ../schemas/service-discovery-applet.schemas.in.h:2 -msgid "Display notifications" -msgstr "" - -#: ../schemas/service-discovery-applet.schemas.in.h:3 -msgid "First time you start the app?" -msgstr "" - -#: ../schemas/service-discovery-applet.schemas.in.h:4 -msgid "" -"Use the notification deamon to notify the user when a service is discovered" -msgstr "" - -#: ../servers/GNOME_ServiceDiscoveryApplet.server.in.h:1 -msgid "" -"Show Zeroconf Services on your local network and allow accessing them easily" -msgstr "" - -#: ../servers/GNOME_ServiceDiscoveryApplet.server.in.h:2 -#: ../src/service-discovery-applet.in:174 -#: ../src/service-discovery-applet.in:215 -#: ../src/service-discovery-applet.in:398 -#: ../src/service-discovery-applet.in:520 -msgid "Zeroconf Service Discovery" -msgstr "" - -#: ../src/service-discovery-applet.in:105 -#: ../src/service-discovery-applet.in:422 -msgid "You need at least avahi 0.6.9" -msgstr "" - -#: ../src/service-discovery-applet.in:162 -#, c-format -msgid "" -"<b>Name :</b> %s\n" -"<b>Type : </b> %s <i>(%s)</i>" -msgstr "" - -#: ../src/service-discovery-applet.in:165 -msgid "New service found" -msgstr "" - -#: ../src/service-discovery-applet.in:167 -msgid "Service disappeared" -msgstr "" - -#: ../src/service-discovery-applet.in:228 -msgid "_About" -msgstr "" - -#: ../src/service-discovery-applet.in:228 -msgid "_Preferences" -msgstr "" - -#: ../src/service-discovery-applet.in:385 -msgid "No services found" -msgstr "" - -#: ../src/service-discovery-applet.in:399 -msgid "Copyright (C) 2005 Sebastien Estienne" -msgstr "" - -#: ../src/service-discovery-applet.in:400 -msgid "" -"Shows Zeroconf Services on your local network and allows accessing them " -"easily" -msgstr "" - -#: ../src/service-discovery-applet.in:402 -msgid "translator-credits" -msgstr "" - -#: ../src/service-discovery-applet.in:416 -msgid "Already Discovering" -msgstr "" - -#: ../src/service-discovery-applet.in:426 -msgid "Error Detected!" -msgstr "" - -#: ../src/service-discovery-applet.in:426 -msgid "Check that the Avahi daemon is running!" -msgstr "" - -#: ../src/service-discovery-applet.in:429 -msgid "Starting discovery" -msgstr "" - -#: ../src/service-discovery-applet.in:444 -msgid "Discovery already stopped" -msgstr "" - -#: ../src/service-discovery-applet.in:450 -msgid "Discovery stopped" -msgstr "" - -#: ../src/service-discovery-config.glade.h:1 -msgid "<b>Advanced options:</b>" -msgstr "" - -#: ../src/service-discovery-config.glade.h:2 -msgid "<b>Service types that will be browsed:</b>" -msgstr "" - -#: ../src/service-discovery-config.glade.h:3 -msgid "Advanced" -msgstr "" - -#: ../src/service-discovery-config.glade.h:4 -msgid "Services" -msgstr "" - -#: ../src/service-discovery-config.glade.h:5 -msgid "Zeroconf Service Discovery Preferences" -msgstr "" - -#: ../src/service-discovery-config.glade.h:6 -msgid "_Browse services published on this machine" -msgstr "" - -#: ../src/service-discovery-config.glade.h:7 -msgid "_Display notifications" -msgstr "" - -#: ../src/service-discovery-config.glade.h:8 -msgid "services informations" -msgstr "" - -#: ../src/service-discovery-config.in:95 -msgid "Enabled" -msgstr "" - -#: ../src/service-discovery-config.in:107 -msgid "Service type" -msgstr "" diff --git a/tools/Makefile.am b/tools/Makefile.am new file mode 100644 index 0000000..3cd6b4e --- /dev/null +++ b/tools/Makefile.am @@ -0,0 +1,14 @@ +toolsdir = $(TOOLSDIR) + +tools_SCRIPTS = \ + exec_wrapper + +exec_wrapper: exec_wrapper.in + sed \ + -e 's,@PYTHON\@,$(PYTHON),g' \ + $< > $@ + chmod +x $@ + +EXTRA_DIST = exec_wrapper.in + +CLEANFILES = exec_wrapper diff --git a/tools/exec_wrapper.in b/tools/exec_wrapper.in new file mode 100644 index 0000000..c9d85ac --- /dev/null +++ b/tools/exec_wrapper.in @@ -0,0 +1,58 @@ +#!@PYTHON@ +# -*- coding: UTF-8 -*- +# -*- python -*- +# Copyright (C) 2006 by Sebastien Estienne +# +# This file may be distributed and/or modified under the terms of +# the GNU General Public License version 2 as published by +# the Free Software Foundation. +# This file is distributed without any warranty; without even the implied +# warranty of merchantability or fitness for a particular purpose. +# See "COPYING" in the source distribution for more information. +# +# $Id$ +# + +import sys +import os +import pygtk +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, + type=gtk.MESSAGE_ERROR, buttons=gtk.BUTTONS_OK) + d.set_markup(msg) + d.show_all() + d.run() + d.destroy() + +def remove_markup(msg): + msg = replace(msg, "&" , "&") + msg = replace(msg, "<" , "<") + msg = replace(msg, ">" , ">") + return msg + +def main(argv): + if len(argv) < 2: + print "Not enought arguments." + sys.exit(1) + + argv.pop(0) + + try: + p = Popen(argv, close_fds=True, stderr = PIPE) + except OSError, e: + error_msg("<b>An error has occured!</b>\n\nCommand: %s\nError: %s" % (join(argv, " "), e)) + else: + status = os.waitpid(p.pid, 0) + if status[1] != 0: + error_msg(remove_markup(p.stderr.read())) + +if __name__ == "__main__": + main(sys.argv) |