This is an automated email from the git hooks/post-receive script. x2go pushed a change to branch brokerclient in repository pyhoca-gui. from 7bd3d3a Move most code of the pyhoca-gui executable into a dedicated class named PyHocaGUI_Launcher. new 4e860ad Allow automatic image branding (splash, about image, tray icon) by setting another application name than the default. new 3cf6798 Make default cmdline option parameters overridable before the arg parser gets initialized. new 6d5481d some whitespace fixes new 2816490 Make SCRIPT_NAME in setup.py configurable (monkey-patchable). new cd95596 Make setup.py importable, only run setup() function on direct calls. new 6842f64 fix for commit cd95596 new 6f39441 line break fix new 715226e Don't refer to py2exe anymore in nsis_template's naming scheme. new a0a4c3a try moving setup_consolelog out of the PyHocaGUI_Launcher class new 73a0e37 fix pyhoca-gui imports new fe56933 call setup_consolelog() as early as possible new 062e7eb Move setup_win32log to a separate module file. new ae4d2d8 Move setup_win32log to a separate module namespace. new 29bd0bd Install more modules into setup.exe: hmac (for ecdsa). new fa62f0f NSIS script: empty installation destination before installing new files into $INSTDIR. new f5f5d06 rename occurrences of win32 to mswin new ac8cc88 typo fix new 47ea8d7 Allow appname based mini icons on About... windows. The 18 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Summary of changes: debian/changelog | 12 + icons/PyHoca/128x128/pyhoca-trayicon.png | Bin 19982 -> 0 bytes icons/PyHoca/128x128/pyhoca-winicon.png | Bin 19982 -> 0 bytes icons/PyHoca/16x16/pyhoca-trayicon.png | Bin 1099 -> 0 bytes icons/PyHoca/16x16/pyhoca-winicon.png | Bin 1099 -> 0 bytes icons/PyHoca/22x22/pyhoca-trayicon.png | Bin 1519 -> 0 bytes icons/PyHoca/22x22/pyhoca-winicon.png | Bin 1519 -> 0 bytes icons/PyHoca/32x32/pyhoca-trayicon.png | Bin 2621 -> 0 bytes icons/PyHoca/32x32/pyhoca-winicon.png | Bin 2621 -> 0 bytes icons/PyHoca/48x48/pyhoca-trayicon.png | Bin 5073 -> 0 bytes icons/PyHoca/48x48/pyhoca-winicon.png | Bin 5073 -> 0 bytes icons/PyHoca/64x64/pyhoca-trayicon.png | Bin 7923 -> 0 bytes icons/PyHoca/64x64/pyhoca-winicon.png | Bin 7923 -> 0 bytes icons/PyHoca/scalable/pyhoca-trayicon.svg | 568 ----------------------------- icons/PyHoca/scalable/pyhoca-winicon.svg | 568 ----------------------------- img/pythonx2go-about-logo.png | Bin 58603 -> 0 bytes nsis_template.py | 7 +- pyhoca-gui | 15 +- pyhoca/{ => mswin}/__init__.py | 0 pyhoca/mswin/mswin_logging.py | 58 +++ pyhoca/wxgui/about.py | 13 +- pyhoca/wxgui/defaults.py | 96 +++++ pyhoca/wxgui/frontend.py | 4 +- pyhoca/wxgui/launcher.py | 159 +++++--- pyhoca/wxgui/options.py | 109 ------ pyhoca/wxgui/splash.py | 6 +- pyhoca/wxgui/taskbar.py | 23 +- setup.py | 58 +-- 28 files changed, 351 insertions(+), 1345 deletions(-) delete mode 100644 icons/PyHoca/128x128/pyhoca-trayicon.png delete mode 100644 icons/PyHoca/128x128/pyhoca-winicon.png delete mode 100644 icons/PyHoca/16x16/pyhoca-trayicon.png delete mode 100644 icons/PyHoca/16x16/pyhoca-winicon.png delete mode 100644 icons/PyHoca/22x22/pyhoca-trayicon.png delete mode 100644 icons/PyHoca/22x22/pyhoca-winicon.png delete mode 100644 icons/PyHoca/32x32/pyhoca-trayicon.png delete mode 100644 icons/PyHoca/32x32/pyhoca-winicon.png delete mode 100644 icons/PyHoca/48x48/pyhoca-trayicon.png delete mode 100644 icons/PyHoca/48x48/pyhoca-winicon.png delete mode 100644 icons/PyHoca/64x64/pyhoca-trayicon.png delete mode 100644 icons/PyHoca/64x64/pyhoca-winicon.png delete mode 100644 icons/PyHoca/scalable/pyhoca-trayicon.svg delete mode 100644 icons/PyHoca/scalable/pyhoca-winicon.svg delete mode 100644 img/pythonx2go-about-logo.png copy pyhoca/{ => mswin}/__init__.py (100%) create mode 100644 pyhoca/mswin/mswin_logging.py create mode 100644 pyhoca/wxgui/defaults.py delete mode 100644 pyhoca/wxgui/options.py -- Alioth's /srv/git/_hooks_/post-receive-email on /srv/git/code.x2go.org/pyhoca-gui.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch brokerclient in repository pyhoca-gui. commit 6d5481daecb605f7ebf3f8393b35771d83bd3005 Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Date: Wed Feb 5 23:40:32 2014 +0100 some whitespace fixes --- setup.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/setup.py b/setup.py index ebb878b..f75e96e 100755 --- a/setup.py +++ b/setup.py @@ -316,8 +316,8 @@ setup( "dest_base": PROGRAM_NAME, }, ], - data_files=data_files, + data_files = data_files, zipfile = LIBRARY_ZIP, executables = executables, - options=cmd_options, + options = cmd_options, ) -- Alioth's /srv/git/_hooks_/post-receive-email on /srv/git/code.x2go.org/pyhoca-gui.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch brokerclient in repository pyhoca-gui. commit 6842f64667d2e43f55ec82d7d5a32c8671bbfb68 Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Date: Thu Feb 6 00:17:15 2014 +0100 fix for commit cd95596 --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 38431da..bf2e6bd 100755 --- a/setup.py +++ b/setup.py @@ -299,7 +299,7 @@ else: cmd_options={} -if __name__ == "main": +if __name__ == "__main__": setup( name = PROGRAM_NAME, version = PROGRAM_VERSION, -- Alioth's /srv/git/_hooks_/post-receive-email on /srv/git/code.x2go.org/pyhoca-gui.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch brokerclient in repository pyhoca-gui. commit 28164909c7bbbe1f015addd92769137d36bf21b6 Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Date: Thu Feb 6 00:05:21 2014 +0100 Make SCRIPT_NAME in setup.py configurable (monkey-patchable). --- debian/changelog | 1 + setup.py | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index dd42756..24e7b5f 100644 --- a/debian/changelog +++ b/debian/changelog @@ -7,6 +7,7 @@ pyhoca-gui (0.5.0.0-0x2go1) UNRELEASED; urgency=low setting another application name than the default. * Make default cmdline option parameters overridable before the arg parser gets initialized. + * Make SCRIPT_NAME in setup.py configurable (monkey-patchable). -- Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Wed, 08 Jan 2014 21:28:37 +0100 diff --git a/setup.py b/setup.py index f75e96e..6bb1e1b 100755 --- a/setup.py +++ b/setup.py @@ -23,6 +23,7 @@ import sys import os PROGRAM_NAME = 'PyHoca-GUI' +SCRIPT_NAME = 'pyhoca-gui' PROGRAM_DESC = '%s is a cross-platform (Windows, MacOS X, Linux) graphical X2Go client.' % PROGRAM_NAME for line in file(os.path.join('pyhoca', 'wxgui', '__init__.py')).readlines(): if (line.startswith('__VERSION__')): @@ -204,7 +205,7 @@ class build_installer_bbfreeze(build_installer, Freezer, Command): includes=self.includes, excludes=self.excludes, ) - self.addScript("pyhoca-gui", gui_only=True) + self.addScript(SCRIPT_NAME, gui_only=True) Freezer.__call__(self) if self.distribution.has_data_files(): print "*** copy data files ***" @@ -311,7 +312,7 @@ setup( cmdclass = cmd_class, windows = [ { - "script": "pyhoca-gui", + "script": SCRIPT_NAME, "icon_resources": [(0, os.path.normpath(PROGRAM_ICON))], "dest_base": PROGRAM_NAME, }, -- Alioth's /srv/git/_hooks_/post-receive-email on /srv/git/code.x2go.org/pyhoca-gui.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch brokerclient in repository pyhoca-gui. commit fe569337e43695299d257570f7cfd18c85dbddfe Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Date: Thu Feb 6 01:16:10 2014 +0100 call setup_consolelog() as early as possible --- pyhoca-gui | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pyhoca-gui b/pyhoca-gui index e0e587b..61c6240 100755 --- a/pyhoca-gui +++ b/pyhoca-gui @@ -22,13 +22,15 @@ import os import sys +from pyhoca.wxgui.launcher import setup_consolelog +setup_consolelog() + from pyhoca.wxgui import __VERSION__ -from pyhoca.wxgui.launcher import setup_consolelog, PyHocaGUI_Launcher +from pyhoca.wxgui.launcher import PyHocaGUI_Launcher __author__ = "Mike Gabriel, Dick Kniep" __version__ = __VERSION__ -setup_consolelog() if __name__ == '__main__': app = PyHocaGUI_Launcher() -- Alioth's /srv/git/_hooks_/post-receive-email on /srv/git/code.x2go.org/pyhoca-gui.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch brokerclient in repository pyhoca-gui. commit 6f394411ddb0d674525de56558617c685e47cb48 Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Date: Thu Feb 6 00:22:12 2014 +0100 line break fix --- setup.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/setup.py b/setup.py index bf2e6bd..f3d1839 100755 --- a/setup.py +++ b/setup.py @@ -103,7 +103,8 @@ class NSISScript(object): program_version = self.program_version, program_desc = self.program_desc, output_dir = self.dist_dir, - icon_location = os.path.join(self.dist_dir, self.icon_loc)) + icon_location = os.path.join(self.dist_dir, self.icon_loc) + ) with open(self.pathname, "w") as outfile: outfile.write(contents) -- Alioth's /srv/git/_hooks_/post-receive-email on /srv/git/code.x2go.org/pyhoca-gui.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch brokerclient in repository pyhoca-gui. commit 73a0e37c0efb7a25d1d12ad479ea7af8a5eacf18 Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Date: Fri Feb 7 13:25:00 2014 +0100 fix pyhoca-gui imports --- pyhoca-gui | 2 -- 1 file changed, 2 deletions(-) diff --git a/pyhoca-gui b/pyhoca-gui index 390ec14..e0e587b 100755 --- a/pyhoca-gui +++ b/pyhoca-gui @@ -22,9 +22,7 @@ import os import sys -from pyhoca.wxgui import * from pyhoca.wxgui import __VERSION__ - from pyhoca.wxgui.launcher import setup_consolelog, PyHocaGUI_Launcher __author__ = "Mike Gabriel, Dick Kniep" -- Alioth's /srv/git/_hooks_/post-receive-email on /srv/git/code.x2go.org/pyhoca-gui.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch brokerclient in repository pyhoca-gui. commit cd9559685dc24b9ca34e62c45cad9bfb325fb94b Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Date: Thu Feb 6 00:14:01 2014 +0100 Make setup.py importable, only run setup() function on direct calls. --- debian/changelog | 1 + setup.py | 50 ++++++++++++++++++++++++++------------------------ 2 files changed, 27 insertions(+), 24 deletions(-) diff --git a/debian/changelog b/debian/changelog index 24e7b5f..82d14cd 100644 --- a/debian/changelog +++ b/debian/changelog @@ -8,6 +8,7 @@ pyhoca-gui (0.5.0.0-0x2go1) UNRELEASED; urgency=low * Make default cmdline option parameters overridable before the arg parser gets initialized. * Make SCRIPT_NAME in setup.py configurable (monkey-patchable). + * Make setup.py importable, only run setup() function on direct calls. -- Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Wed, 08 Jan 2014 21:28:37 +0100 diff --git a/setup.py b/setup.py index 6bb1e1b..38431da 100755 --- a/setup.py +++ b/setup.py @@ -298,27 +298,29 @@ if platform.system() == 'Windows': else: cmd_options={} -setup( - name = PROGRAM_NAME, - version = PROGRAM_VERSION, - description = PROGRAM_DESC, - license = LICENSE, - author = AUTHOR, - url = URL, - namespace_packages = [ 'pyhoca', ], - packages = [ 'pyhoca.wxgui', ], - package_dir = {'': '.'}, - install_requires = [ 'setuptools', ], - cmdclass = cmd_class, - windows = [ - { - "script": SCRIPT_NAME, - "icon_resources": [(0, os.path.normpath(PROGRAM_ICON))], - "dest_base": PROGRAM_NAME, - }, - ], - data_files = data_files, - zipfile = LIBRARY_ZIP, - executables = executables, - options = cmd_options, -) + +if __name__ == "main": + setup( + name = PROGRAM_NAME, + version = PROGRAM_VERSION, + description = PROGRAM_DESC, + license = LICENSE, + author = AUTHOR, + url = URL, + namespace_packages = [ 'pyhoca', ], + packages = [ 'pyhoca.wxgui', ], + package_dir = {'': '.'}, + install_requires = [ 'setuptools', ], + cmdclass = cmd_class, + windows = [ + { + "script": SCRIPT_NAME, + "icon_resources": [(0, os.path.normpath(PROGRAM_ICON))], + "dest_base": PROGRAM_NAME, + }, + ], + data_files = data_files, + zipfile = LIBRARY_ZIP, + executables = executables, + options = cmd_options, + ) -- Alioth's /srv/git/_hooks_/post-receive-email on /srv/git/code.x2go.org/pyhoca-gui.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch brokerclient in repository pyhoca-gui. commit 062e7eb1208b510594d77f0a3da2bb8fd2613aad Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Date: Fri Feb 7 10:43:20 2014 +0100 Move setup_win32log to a separate module file. --- debian/changelog | 1 + pyhoca-gui | 6 +++-- pyhoca/wxgui/launcher.py | 35 ------------------------- pyhoca/wxgui/win32_logging.py | 58 +++++++++++++++++++++++++++++++++++++++++ 4 files changed, 63 insertions(+), 37 deletions(-) diff --git a/debian/changelog b/debian/changelog index 1e527d1..8e8e52b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -10,6 +10,7 @@ pyhoca-gui (0.5.0.0-0x2go1) UNRELEASED; urgency=low * Make SCRIPT_NAME in setup.py configurable (monkey-patchable). * Make setup.py importable, only run setup() function on direct calls. * Don't refer to py2exe anymore in nsis_template's naming scheme. + * Move setup_win32log to a separate module file. -- Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Wed, 08 Jan 2014 21:28:37 +0100 diff --git a/pyhoca-gui b/pyhoca-gui index 61c6240..d6e60b6 100755 --- a/pyhoca-gui +++ b/pyhoca-gui @@ -22,8 +22,9 @@ import os import sys -from pyhoca.wxgui.launcher import setup_consolelog -setup_consolelog() +PROG_NAME = "PyHoca-GUI" +from pyhoca.wxgui.win32_logging import setup_win32log +setup_win32log(PROG_NAME) from pyhoca.wxgui import __VERSION__ from pyhoca.wxgui.launcher import PyHocaGUI_Launcher @@ -35,6 +36,7 @@ __version__ = __VERSION__ if __name__ == '__main__': app = PyHocaGUI_Launcher() app.setup_process() + app.setup_progname(PROG_NAME) app.setup_devmode() args, logger, liblogger = app.parseargs() app.main(args=args, logger=logger, liblogger=liblogger) diff --git a/pyhoca/wxgui/launcher.py b/pyhoca/wxgui/launcher.py index 845aaf5..8dcb8f8 100644 --- a/pyhoca/wxgui/launcher.py +++ b/pyhoca/wxgui/launcher.py @@ -56,41 +56,6 @@ import defaults import basepath import taskbar -def setup_consolelog(self): - if hasattr(sys, 'frozen') and str(sys.frozen) in ("windows_exe", "console_exe", "1", ): - class Win32_Logging(object): - - softspace = 0 - _fname = os.path.join(os.environ['AppData'], self.PROG_NAME, '%s.log' % self.PROG_NAME) - _file = None - - def __init__(self, filemode='a'): - self._filemode = filemode - if os.path.isfile(self._fname) and self._filemode == "w+": - os.remove(self._fname) - - def write(self, text, **kwargs): - if self._file is None: - try: - try: - os.mkdir(os.path.dirname(self._fname)) - except: - pass - self._file = open(self._fname, self._filemode) - except: - pass - else: - self._file.write(text) - self._file.flush() - - def flush(self): - if self._file is not None: - self._file.flush() - - sys.stdout = Win32_Logging(filemode='w+') - sys.stderr = Win32_Logging(filemode='a') - del Win32_Logging - class PyHocaGUI_Launcher(object): diff --git a/pyhoca/wxgui/win32_logging.py b/pyhoca/wxgui/win32_logging.py new file mode 100644 index 0000000..b1be3ad --- /dev/null +++ b/pyhoca/wxgui/win32_logging.py @@ -0,0 +1,58 @@ +# -*- coding: utf-8 -*- + +# Copyright (C) 2010-2014 by Mike Gabriel <mike.gabriel@das-netzwerkteam.de> +# Copyright (C) 2010-2014 by Dick Kniep <dick.kniep@lindix.nl> +# +# PyHoca GUI is free software; you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# PyHoca GUI 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. + +import sys +import os + +def setup_win32log(PROG_NAME): + if hasattr(sys, 'frozen') and str(sys.frozen) in ("windows_exe", "console_exe", "1", ): + class Win32_Logging(object): + + softspace = 0 + _fname = os.path.join(os.environ['AppData'], PROG_NAME, '%s.log' % PROG_NAME) + _file = None + + def __init__(self, filemode='a'): + self._filemode = filemode + if os.path.isfile(self._fname) and self._filemode == "w+": + os.remove(self._fname) + + def write(self, text, **kwargs): + if self._file is None: + try: + try: + os.mkdir(os.path.dirname(self._fname)) + except: + pass + self._file = open(self._fname, self._filemode) + except: + pass + else: + self._file.write(text) + self._file.flush() + + def flush(self): + if self._file is not None: + self._file.flush() + + sys.stdout = Win32_Logging(filemode='w+') + sys.stderr = Win32_Logging(filemode='a') + del Win32_Logging + -- Alioth's /srv/git/_hooks_/post-receive-email on /srv/git/code.x2go.org/pyhoca-gui.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch brokerclient in repository pyhoca-gui. commit a0a4c3a9a3cdc1e512c33b3b836994fd755c2394 Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Date: Thu Feb 6 01:14:05 2014 +0100 try moving setup_consolelog out of the PyHocaGUI_Launcher class --- pyhoca-gui | 5 ++-- pyhoca/wxgui/launcher.py | 72 +++++++++++++++++++++++----------------------- 2 files changed, 39 insertions(+), 38 deletions(-) diff --git a/pyhoca-gui b/pyhoca-gui index 93c2c1e..390ec14 100755 --- a/pyhoca-gui +++ b/pyhoca-gui @@ -25,14 +25,15 @@ import sys from pyhoca.wxgui import * from pyhoca.wxgui import __VERSION__ +from pyhoca.wxgui.launcher import setup_consolelog, PyHocaGUI_Launcher + __author__ = "Mike Gabriel, Dick Kniep" __version__ = __VERSION__ +setup_consolelog() if __name__ == '__main__': app = PyHocaGUI_Launcher() - #app.setup_progname('MyProgramme') - app.setup_consolelog() app.setup_process() app.setup_devmode() args, logger, liblogger = app.parseargs() diff --git a/pyhoca/wxgui/launcher.py b/pyhoca/wxgui/launcher.py index 58d48dc..845aaf5 100644 --- a/pyhoca/wxgui/launcher.py +++ b/pyhoca/wxgui/launcher.py @@ -56,6 +56,42 @@ import defaults import basepath import taskbar +def setup_consolelog(self): + if hasattr(sys, 'frozen') and str(sys.frozen) in ("windows_exe", "console_exe", "1", ): + class Win32_Logging(object): + + softspace = 0 + _fname = os.path.join(os.environ['AppData'], self.PROG_NAME, '%s.log' % self.PROG_NAME) + _file = None + + def __init__(self, filemode='a'): + self._filemode = filemode + if os.path.isfile(self._fname) and self._filemode == "w+": + os.remove(self._fname) + + def write(self, text, **kwargs): + if self._file is None: + try: + try: + os.mkdir(os.path.dirname(self._fname)) + except: + pass + self._file = open(self._fname, self._filemode) + except: + pass + else: + self._file.write(text) + self._file.flush() + + def flush(self): + if self._file is not None: + self._file.flush() + + sys.stdout = Win32_Logging(filemode='w+') + sys.stderr = Win32_Logging(filemode='a') + del Win32_Logging + + class PyHocaGUI_Launcher(object): def __init__(self): @@ -105,42 +141,6 @@ VERSION: %s reload(basepath) reload(taskbar) - def setup_consolelog(self): - if hasattr(sys, 'frozen') and str(sys.frozen) in ("windows_exe", "console_exe", "1", ): - class Win32_Logging(object): - - softspace = 0 - _fname = os.path.join(os.environ['AppData'], self.PROG_NAME, '%s.log' % self.PROG_NAME) - _file = None - - def __init__(self, filemode='a'): - self._filemode = filemode - if os.path.isfile(self._fname) and self._filemode == "w+": - os.remove(self._fname) - - def write(self, text, **kwargs): - if self._file is None: - try: - try: - os.mkdir(os.path.dirname(self._fname)) - except: - pass - self._file = open(self._fname, self._filemode) - except: - pass - else: - self._file.write(text) - self._file.flush() - - def flush(self): - if self._file is not None: - self._file.flush() - - sys.stdout = Win32_Logging(filemode='w+') - sys.stderr = Win32_Logging(filemode='a') - del Win32_Logging - - def check_running(self): if X2GOCLIENT_OS in ('Linux', 'Mac'): -- Alioth's /srv/git/_hooks_/post-receive-email on /srv/git/code.x2go.org/pyhoca-gui.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch brokerclient in repository pyhoca-gui. commit 3cf6798f0b170c7580d901f2045f6f196d5ad7f9 Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Date: Wed Feb 5 12:41:06 2014 +0100 Make default cmdline option parameters overridable before the arg parser gets initialized. --- debian/changelog | 2 + pyhoca-gui | 3 +- pyhoca/wxgui/defaults.py | 96 +++++++++++++++++++++++++++++++++++++++ pyhoca/wxgui/launcher.py | 112 ++++++++++++++++++++++++++++++++++++++++++---- pyhoca/wxgui/options.py | 109 -------------------------------------------- 5 files changed, 203 insertions(+), 119 deletions(-) diff --git a/debian/changelog b/debian/changelog index e41afdf..dd42756 100644 --- a/debian/changelog +++ b/debian/changelog @@ -5,6 +5,8 @@ pyhoca-gui (0.5.0.0-0x2go1) UNRELEASED; urgency=low named PyHocaGUI_Launcher. * Allow automatic image branding (splash, about image, tray icon) by setting another application name than the default. + * Make default cmdline option parameters overridable before the + arg parser gets initialized. -- Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Wed, 08 Jan 2014 21:28:37 +0100 diff --git a/pyhoca-gui b/pyhoca-gui index cd6bcf4..93c2c1e 100755 --- a/pyhoca-gui +++ b/pyhoca-gui @@ -35,4 +35,5 @@ if __name__ == '__main__': app.setup_consolelog() app.setup_process() app.setup_devmode() - app.main() + args, logger, liblogger = app.parseargs() + app.main(args=args, logger=logger, liblogger=liblogger) diff --git a/pyhoca/wxgui/defaults.py b/pyhoca/wxgui/defaults.py new file mode 100644 index 0000000..c6f6615 --- /dev/null +++ b/pyhoca/wxgui/defaults.py @@ -0,0 +1,96 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +# Copyright (C) 2010-2013 by Mike Gabriel <mike.gabriel@das-netzwerkteam.de> +# Copyright (C) 2010-2013 by Dick Kniep <dick.kniep@lindix.nl> +# +# PyHoca GUI is free software; you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# PyHoca GUI 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. + +from x2go import X2GOCLIENT_OS +from x2go import BACKENDS + +_profiles_backend_default = BACKENDS['X2GoSessionProfiles']['default'] +_settings_backend_default = BACKENDS['X2GoClientSettings']['default'] +_printing_backend_default = BACKENDS['X2GoClientPrinting']['default'] + +if X2GOCLIENT_OS == 'Windows': + from x2go import X2GoClientXConfig + _x = X2GoClientXConfig() + _known_xservers = _x.known_xservers + _installed_xservers = _x.installed_xservers + +if X2GOCLIENT_OS == 'Windows': + _config_backends = ('FILE', 'WINREG') +elif X2GOCLIENT_OS == 'Linux': + _config_backends = ('FILE', 'GCONF') +else: + _config_backends = ('FILE') + +default_options = { + 'debug': False, + 'quiet': False, + 'libdebug': False, + 'libdebug_sftpxfer': False, + 'version': False, + + 'session_profile': '', + 'remember_username': False, + 'non_interactive': False, + 'auto_connect': False, + 'show_profile_metatypes': False, + 'single_session_profile': False, + 'tray_icon': '', + 'tray_icon_connecting': '', + 'restricted_trayicon': False, + 'add_to_known_hosts': False, + 'start_on_connect': False, + 'exit_on_disconnect': False, + 'resume_newest_on_connect': False, + 'resume_oldest_on_connect': False, + 'resume_all_on_connect': False, + 'disconnect_on_suspend': False, + 'disconnect_on_terminate': False, + 'splash_image': '', + 'about_image': '', + 'disable_splash': False, + 'disable_options': False, + 'disable_printingprefs': False, + 'disable_profilemanager': False, + 'disable_notifications': False, + 'display': '', + 'logon_window_position': False, + 'published_applications_no_submenus': 10, + 'backend_controlsession': '', + 'backend_terminalsession': '', + 'backend_serversessioninfo': '', + 'backend_serversessionlist': '', + 'backend_proxy': '', + 'backend_sessionprofiles': '', + 'backend_clientsettings': '', + 'backend_clientprinting': '', + 'client_rootdir': '', + 'sessions_rootdir': '', + 'ssh_rootdir': '', +} + +if X2GOCLIENT_OS == 'Windows': + default_options.update( + { 'lang': 'en', + 'start_xserver': False, + 'preferred_xserver': '', + 'start_pulseaudio': False, + } + ) diff --git a/pyhoca/wxgui/launcher.py b/pyhoca/wxgui/launcher.py index 42638f6..58d48dc 100644 --- a/pyhoca/wxgui/launcher.py +++ b/pyhoca/wxgui/launcher.py @@ -27,6 +27,7 @@ import shutil import argparse import gettext import subprocess +import copy import gevent.monkey gevent.monkey.patch_all() @@ -41,18 +42,19 @@ try: wxversion.select('2.8') except: pass +import wx from x2go import X2GOCLIENT_OS from x2go import CURRENT_LOCAL_USER +from x2go import BACKENDS from x2go import X2GoLogger -import basepath -import taskbar from pyhoca.wxgui import PyHocaGUI, __VERSION__ -from options import * from messages import PyHoca_MessageWindow_Ok -import wx +import defaults +import basepath +import taskbar class PyHocaGUI_Launcher(object): @@ -70,6 +72,8 @@ VERSION: %s """ % (self.PROG_NAME, self.PROG_PID, self.VERSION) + self.default_options = defaults.default_options + def setup_progname(self, pname): self.PROG_NAME = pname @@ -88,6 +92,11 @@ VERSION: %s from pyhoca.wxgui.basepath import nxproxy_binary os.environ.update({'NXPROXY_BINARY': nxproxy_binary, }) + def modify_default_option(self, option, value): + if self.default_options.has_key(option): + if type(self.default_options[option]) == type(value): + self.default_options[option] = value + def setup_devmode(self): if sys.argv[0].startswith('./') or sys.argv[0].startswith('python'): sys.path.insert(0, os.getcwd()) @@ -188,7 +197,7 @@ VERSION: %s # sometimes we have to fail... - def runtime_error(m, parser=None, exitcode=-1): + def runtime_error(self, m, parser=None, exitcode=-1): """\ STILL UNDOCUMENTED """ @@ -210,8 +219,94 @@ VERSION: %s def parseargs(self): - global DEBUG - global print_action_args + _profiles_backend_default = BACKENDS['X2GoSessionProfiles']['default'] + _settings_backend_default = BACKENDS['X2GoClientSettings']['default'] + _printing_backend_default = BACKENDS['X2GoClientPrinting']['default'] + + if X2GOCLIENT_OS == 'Windows': + from x2go import X2GoClientXConfig + _x = X2GoClientXConfig() + _known_xservers = _x.known_xservers + _installed_xservers = _x.installed_xservers + + if X2GOCLIENT_OS == 'Windows': + _config_backends = ('FILE', 'WINREG') + elif X2GOCLIENT_OS == 'Linux': + _config_backends = ('FILE', 'GCONF') + else: + _config_backends = ('FILE') + + _default_options = copy.deepcopy(self.default_options) + for key in _default_options.keys(): + if not _default_options[key]: + _default_options[key] = None + + # debug options... + debug_options = [ + {'args':['-d','--debug'], 'default': _default_options['debug'], 'action': 'store_true', 'help': 'enable application debugging code', }, + {'args':['--quiet'], 'default': _default_options['quiet'], 'action': 'store_true', 'help': 'disable any kind of log output', }, + {'args':['--libdebug'], 'default': _default_options['libdebug'], 'action': 'store_true', 'help': 'enable debugging code of the underlying Python X2Go module', }, + {'args':['--libdebug-sftpxfer'], 'default': _default_options['libdebug_sftpxfer'], 'action': 'store_true', 'help': 'enable debugging code of Python X2Go\'s sFTP server code (very verbose, and even promiscuous)', }, + {'args':['-V', '--version'], 'default': _default_options['version'], 'action': 'store_true', 'help': 'print version number and exit', }, + ] + x2go_gui_options = [ + {'args':['-P','--session-profile'], 'default': _default_options['session_profile'], 'metavar': '<profile-name>', 'help': 'directly connect to a session profile', }, + {'args':['--remember-username'], 'default': _default_options['remember_username'], 'action': 'store_true', 'help': 'for profiles with interactive authentication, remember the last-used username', }, + {'args':['--non-interactive'], 'default': _default_options['non_interactive'], 'action': 'store_true', 'help': 'run the session manager in non-interactive mode, this option sets the following options to true: --restricted-trayicon, --single_session_profile, --start-on-connect, --resume-all-on-connect, --exit-on-disconnect, --disconnect-on-suspend and --disconnect-on-terminate', }, + {'args':['--auto-connect'], 'default': _default_options['auto_connect'], 'action': 'store_true', 'help': 'connect sessions via SSH pubkey authentication if possible', }, + {'args':['--show-profile-metatypes'], 'default': _default_options['show_profile_metatypes'], 'action': 'store_true', 'help': 'show descriptive meta information on session profiles in menus (NOTE: this makes menus appear a bit more sluggish, use it mostly for debugging)', }, + {'args':['--single-session-profile'], 'default': _default_options['single_session_profile'], 'action': 'store_true', 'help': 'disable support of handling multiple session profiles', }, + {'args':['--tray-icon'], 'default': _default_options['tray_icon'], 'metavar': '<your-logo>', 'help': 'define an alternative system tray icon file (PNG files only, leave out file extension here, size 22x22 on Linux, 16x16 on Windows)', }, + {'args':['--tray-icon-connecting'], 'default': _default_options['tray_icon_connecting'], 'metavar': '<your-logo-while-connecting>', 'help': 'define an alternative system tray icon file while connecting to a server (PNG files only, leave out file extension here, size 22x22 on Linux, 16x16 on Windows)', }, + {'args':['--restricted-trayicon'], 'default': _default_options['restricted_trayicon'], 'action': 'store_true', 'help': 'restricts session manager\'s main icon functionality to information window and application exit; on left-click only a minimal session menu is shown', }, + {'args':['--add-to-known-hosts'], 'default': _default_options['add_to_known_hosts'], 'action': 'store_true', 'help': 'automatically add SSH host keys to the known_hosts files of the client-side user', }, + {'args':['--start-on-connect'], 'default': _default_options['start_on_connect'], 'action': 'store_true', 'help': 'This is now the hard-coded default. start a session directly after authentication if no session is currently running/suspended', }, + {'args':['--exit-on-disconnect'], 'default': _default_options['exit_on_disconnect'], 'action': 'store_true', 'help': 'exit the session manager after a server connection has died', }, + {'args':['--resume-newest-on-connect', '--resume-on-connect'], 'default': _default_options['resume_newest_on_connect'], 'action': 'store_true', 'help': 'This is now the hard-coded default. On connect auto-resume the newest suspended session', }, + {'args':['--resume-oldest-on-connect'], 'default': _default_options['resume_oldest_on_connect'], 'action': 'store_true', 'help': 'on connect auto-resume the oldest suspended session', }, + {'args':['--resume-all-on-connect'], 'default': _default_options['resume_all_on_connect'], 'action': 'store_true', 'help': 'auto-resume all suspended sessions on connect', }, + {'args':['--disconnect-on-suspend'], 'default': _default_options['disconnect_on_suspend'], 'action': 'store_true', 'help': 'disconnect a server if a session has been suspended', }, + {'args':['--disconnect-on-terminate'], 'default': _default_options['disconnect_on_terminate'], 'action': 'store_true', 'help': 'disconnect a server if a session has been terminated', }, + {'args':['--splash-image'], 'default': _default_options['splash_image'], 'metavar': '<your-splash-image>', 'help': 'define an alternative splash image that gets shown on application startup (PNG files only, full path or filename as found in <share>/img)', }, + {'args':['--about-image'], 'default': _default_options['about_image'], 'metavar': '<your-about-window-image>', 'help': 'define an alternative image for the application\'s ,,About\'\' window (PNG files only, full path or filename as found in <share>/img)', }, + {'args':['--disable-splash'], 'default': _default_options['disable_splash'], 'action': 'store_true', 'help': 'disable the applications splash screen', }, + {'args':['--disable-options'], 'default': _default_options['disable_options'], 'action': 'store_true', 'help': 'disable the client options configuration window', }, + {'args':['--disable-printingprefs'], 'default': _default_options['disable_printingprefs'], 'action': 'store_true', 'help': 'disable the client\'s printing preferences window', }, + {'args':['--disable-profilemanager'], 'default': _default_options['disable_profilemanager'], 'action': 'store_true', 'help': 'disable the session profile manager window', }, + {'args':['--disable-notifications'], 'default': _default_options['disable_notifications'], 'action': 'store_true', 'help': 'disable all applet notifications', }, + {'args':['--display'], 'default': _default_options['display'], 'metavar': '<hostname>:<screennumber>', 'help': 'set the DISPLAY environment variable to <hostname>:<screennumber>', }, + {'args':['--logon-window-position'], 'default': _default_options['logon_window_position'], 'metavar': '<x-pos>x<y-pos>', 'help': 'give a custom position for the logon window, use negative values to position relative to right/bottom border', }, + {'args':['--published-applications-no-submenus'], 'default': _default_options['published_applications_no_submenus'], 'metavar': '<number>', 'help': 'the number of published applications that will be rendered without submenus', }, + ] + + if X2GOCLIENT_OS == 'Windows': + x2go_gui_options.append( + {'args':['--lang'], 'default': _default_options['lang'], 'metavar': 'LANGUAGE', 'help': 'set the GUI language (currently available: en, de, nl, es)', }, + ) + + backend_options = [ + {'args':['--backend-controlsession'], 'default': _default_options['backend_controlsession'], 'metavar': '<CONTROLSESSION_BACKEND>', 'choices': BACKENDS['X2GoControlSession'].keys(), 'help': 'force usage of a certain CONTROLSESSION_BACKEND (do not use this unless you know exactly what you are doing)', }, + {'args':['--backend-terminalsession'], 'default': _default_options['backend_terminalsession'], 'metavar': '<TERMINALSESSION_BACKEND>', 'choices': BACKENDS['X2GoTerminalSession'].keys(), 'help': 'force usage of a certain TERMINALSESSION_BACKEND (do not use this unless you know exactly what you are doing)', }, + {'args':['--backend-serversessioninfo'], 'default': _default_options['backend_serversessioninfo'], 'metavar': '<SERVERSESSIONINFO_BACKEND>', 'choices': BACKENDS['X2GoServerSessionInfo'].keys(), 'help': 'force usage of a certain SERVERSESSIONINFO_BACKEND (do not use this unless you know exactly what you are doing)', }, + {'args':['--backend-serversessionlist'], 'default': _default_options['backend_serversessionlist'], 'metavar': '<SERVERSESSIONLIST_BACKEND>', 'choices': BACKENDS['X2GoServerSessionList'].keys(), 'help': 'force usage of a certain SERVERSESSIONLIST_BACKEND (do not use this unless you know exactly what you are doing)', }, + {'args':['--backend-proxy'], 'default': _default_options['backend_proxy'], 'metavar': '<PROXY_BACKEND>', 'choices': BACKENDS['X2GoProxy'].keys(), 'help': 'force usage of a certain PROXY_BACKEND (do not use this unless you know exactly what you are doing)', }, + {'args':['--backend-sessionprofiles'], 'default': _default_options['backend_sessionprofiles'], 'metavar': '<SESSIONPROFILES_BACKEND>', 'choices': _config_backends, 'help': 'use given backend for accessing session profiles, available backends on your system: %s (default: %s)' % (', '.join(_config_backends), _profiles_backend_default), }, + {'args':['--backend-clientsettings'], 'default': _default_options['backend_clientsettings'], 'metavar': '<CLIENTSETTINGS_BACKEND>', 'choices': _config_backends, 'help': 'use given backend for accessing the client settings configuration, available backends on your system: %s (default: %s)' % (', '.join(_config_backends), _settings_backend_default), }, + {'args':['--backend-clientprinting'], 'default': _default_options['backend_clientprinting'], 'metavar': '<CLIENTPRINTING_BACKEND>', 'choices': _config_backends, 'help': 'use given backend for accessing the client printing configuration, available backends on your system: %s (default: %s)' % (', '.join(_config_backends), _printing_backend_default), }, + ] + + if X2GOCLIENT_OS == 'Windows': + contrib_options = [ + {'args':['--start-xserver'], 'default': _default_options['start_xserver'], 'action': 'store_true', 'help': 'start the XServer before starting the session manager application, detect best XServer automatically, if more than one XServer is installed on your system', }, + {'args':['-X', '--preferred-xserver'], 'default': _default_options['preferred_xserver'], 'metavar': '<XSERVER>', 'choices': _known_xservers, 'help': 'start either of the currently supported XServers: %s -- make sure your preferred XServer is installed on your system' % _known_xservers, }, + {'args':['--start-pulseaudio'], 'default': _default_options['start_pulseaudio'], 'action': 'store_true', 'help': 'start the PulseAudio server before starting the session manager application', }, + ] + + portable_options = [ + {'args':['--client-rootdir'], 'default': _default_options['client_rootdir'], 'metavar': '</path/to/.x2goclient/dir>', 'help': 'define an alternative location where to find plain text config files (default: <HOME>/.x2goclient). This option will set ,,--backend-profiles FILE\'\', ,,--backend-clientsettings FILE\'\' and ,,--backend-clientprinting FILE\'\'', }, + {'args':['--sessions-rootdir'], 'default': _default_options['sessions_rootdir'], 'metavar': '</path/to/.x2go/dir>', 'help': 'define an alternative location for session runtime files'}, + {'args':['--ssh-rootdir'], 'default': _default_options['ssh_rootdir'], 'metavar': '</path/to/.ssh/dir>', 'help': 'define an alternative location for SSH files', }, + ] p = argparse.ArgumentParser(description='Graphical X2Go client implemented in (wx)Python.',\ formatter_class=argparse.RawDescriptionHelpFormatter, \ @@ -306,8 +401,7 @@ VERSION: %s return a, logger, liblogger - def main(self): - args, logger, liblogger = self.parseargs() + def main(self, args, logger=None, liblogger=None): if X2GOCLIENT_OS == 'Windows': if args.lang: lang = gettext.translation('PyHoca-GUI', localedir=basepath.locale_basepath, languages=[args.lang], ) diff --git a/pyhoca/wxgui/options.py b/pyhoca/wxgui/options.py deleted file mode 100644 index 3a79cce..0000000 --- a/pyhoca/wxgui/options.py +++ /dev/null @@ -1,109 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -# Copyright (C) 2010-2013 by Mike Gabriel <mike.gabriel@das-netzwerkteam.de> -# Copyright (C) 2010-2013 by Dick Kniep <dick.kniep@lindix.nl> -# -# PyHoca GUI is free software; you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as published by -# the Free Software Foundation; either version 3 of the License, or -# (at your option) any later version. -# -# PyHoca GUI 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 Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program; if not, write to the -# Free Software Foundation, Inc., -# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. - -from x2go import X2GOCLIENT_OS -from x2go import BACKENDS - -_profiles_backend_default = BACKENDS['X2GoSessionProfiles']['default'] -_settings_backend_default = BACKENDS['X2GoClientSettings']['default'] -_printing_backend_default = BACKENDS['X2GoClientPrinting']['default'] - -if X2GOCLIENT_OS == 'Windows': - from x2go import X2GoClientXConfig - _x = X2GoClientXConfig() - _known_xservers = _x.known_xservers - _installed_xservers = _x.installed_xservers - -if X2GOCLIENT_OS == 'Windows': - _config_backends = ('FILE', 'WINREG') -elif X2GOCLIENT_OS == 'Linux': - _config_backends = ('FILE', 'GCONF') -else: - _config_backends = ('FILE') - - -# debug options... -debug_options = [ - {'args':['-d','--debug'], 'default': False, 'action': 'store_true', 'help': 'enable application debugging code', }, - {'args':['--quiet'], 'default': False, 'action': 'store_true', 'help': 'disable any kind of log output', }, - {'args':['--libdebug'], 'default': False, 'action': 'store_true', 'help': 'enable debugging code of the underlying Python X2Go module', }, - {'args':['--libdebug-sftpxfer'], 'default': False, 'action': 'store_true', 'help': 'enable debugging code of Python X2Go\'s sFTP server code (very verbose, and even promiscuous)', }, - {'args':['-V', '--version'], 'default': False, 'action': 'store_true', 'help': 'print version number and exit', }, - ] -x2go_gui_options = [ - {'args':['-P','--session-profile'], 'default': None, 'metavar': '<profile-name>', 'help': 'directly connect to a session profile', }, - {'args':['--remember-username'], 'default': False, 'action': 'store_true', 'help': 'for profiles with interactive authentication, remember the last-used username', }, - {'args':['--non-interactive'], 'default': False, 'action': 'store_true', 'help': 'run the session manager in non-interactive mode, this option sets the following options to true: --restricted-trayicon, --single_session_profile, --start-on-connect, --resume-all-on-connect, --exit-on-disconnect, --disconnect-on-suspend and --disconnect-on-terminate', }, - {'args':['--auto-connect'], 'default': False, 'action': 'store_true', 'help': 'connect sessions via SSH pubkey authentication if possible', }, - {'args':['--show-profile-metatypes'], 'default': False, 'action': 'store_true', 'help': 'show descriptive meta information on session profiles in menus (NOTE: this makes menus appear a bit more sluggish, use it mostly for debugging)', }, - {'args':['--single-session-profile'], 'default': False, 'action': 'store_true', 'help': 'disable support of handling multiple session profiles', }, - {'args':['--tray-icon'], 'default': None, 'metavar': '<your-logo>', 'help': 'define an alternative system tray icon file (PNG files only, leave out file extension here, size 22x22 on Linux, 16x16 on Windows)', }, - {'args':['--tray-icon-connecting'], 'default': None, 'metavar': '<your-logo-while-connecting>', 'help': 'define an alternative system tray icon file while connecting to a server (PNG files only, leave out file extension here, size 22x22 on Linux, 16x16 on Windows)', }, - {'args':['--restricted-trayicon'], 'default': False, 'action': 'store_true', 'help': 'restricts session manager\'s main icon functionality to information window and application exit; on left-click only a minimal session menu is shown', }, - {'args':['--add-to-known-hosts'], 'default': False, 'action': 'store_true', 'help': 'automatically add SSH host keys to the known_hosts files of the client-side user', }, - {'args':['--start-on-connect'], 'default': False, 'action': 'store_true', 'help': 'This is now the hard-coded default. start a session directly after authentication if no session is currently running/suspended', }, - {'args':['--exit-on-disconnect'], 'default': False, 'action': 'store_true', 'help': 'exit the session manager after a server connection has died', }, - {'args':['--resume-newest-on-connect', '--resume-on-connect'], 'default': False, 'action': 'store_true', 'help': 'This is now the hard-coded default. On connect auto-resume the newest suspended session', }, - {'args':['--resume-oldest-on-connect'], 'default': False, 'action': 'store_true', 'help': 'on connect auto-resume the oldest suspended session', }, - {'args':['--resume-all-on-connect'], 'default': False, 'action': 'store_true', 'help': 'auto-resume all suspended sessions on connect', }, - {'args':['--disconnect-on-suspend'], 'default': False, 'action': 'store_true', 'help': 'disconnect a server if a session has been suspended', }, - {'args':['--disconnect-on-terminate'], 'default': False, 'action': 'store_true', 'help': 'disconnect a server if a session has been terminated', }, - {'args':['--splash-image'], 'default': None, 'metavar': '<your-splash-image>', 'help': 'define an alternative splash image that gets shown on application startup (PNG files only, full path or filename as found in <share>/img)', }, - {'args':['--about-image'], 'default': None, 'metavar': '<your-about-window-image>', 'help': 'define an alternative image for the application\'s ,,About\'\' window (PNG files only, full path or filename as found in <share>/img)', }, - {'args':['--disable-splash'], 'default': False, 'action': 'store_true', 'help': 'disable the applications splash screen', }, - {'args':['--disable-options'], 'default': False, 'action': 'store_true', 'help': 'disable the client options configuration window', }, - {'args':['--disable-printingprefs'], 'default': False, 'action': 'store_true', 'help': 'disable the client\'s printing preferences window', }, - {'args':['--disable-profilemanager'], 'default': False, 'action': 'store_true', 'help': 'disable the session profile manager window', }, - {'args':['--disable-notifications'], 'default': False, 'action': 'store_true', 'help': 'disable all applet notifications', }, - {'args':['--display'], 'default': None, 'metavar': '<hostname>:<screennumber>', 'help': 'set the DISPLAY environment variable to <hostname>:<screennumber>', }, - {'args':['--logon-window-position'], 'default': None, 'metavar': '<x-pos>x<y-pos>', 'help': 'give a custom position for the logon window, use negative values to position relative to right/bottom border', }, - {'args':['--published-applications-no-submenus'], 'default': 10, 'metavar': '<number>', 'help': 'the number of published applications that will be rendered without submenus', }, - ] -if X2GOCLIENT_OS == 'Windows': - x2go_gui_options.append( - {'args':['--lang'], 'default': None, 'metavar': 'LANGUAGE', 'help': 'set the GUI language (currently available: en, de, nl, es)', }, - ) - -backend_options = [ - {'args':['--backend-controlsession'], 'default': None, 'metavar': '<CONTROLSESSION_BACKEND>', 'choices': BACKENDS['X2GoControlSession'].keys(), 'help': 'force usage of a certain CONTROLSESSION_BACKEND (do not use this unless you know exactly what you are doing)', }, - {'args':['--backend-terminalsession'], 'default': None, 'metavar': '<TERMINALSESSION_BACKEND>', 'choices': BACKENDS['X2GoTerminalSession'].keys(), 'help': 'force usage of a certain TERMINALSESSION_BACKEND (do not use this unless you know exactly what you are doing)', }, - {'args':['--backend-serversessioninfo'], 'default': None, 'metavar': '<SERVERSESSIONINFO_BACKEND>', 'choices': BACKENDS['X2GoServerSessionInfo'].keys(), 'help': 'force usage of a certain SERVERSESSIONINFO_BACKEND (do not use this unless you know exactly what you are doing)', }, - {'args':['--backend-serversessionlist'], 'default': None, 'metavar': '<SERVERSESSIONLIST_BACKEND>', 'choices': BACKENDS['X2GoServerSessionList'].keys(), 'help': 'force usage of a certain SERVERSESSIONLIST_BACKEND (do not use this unless you know exactly what you are doing)', }, - {'args':['--backend-proxy'], 'default': None, 'metavar': '<PROXY_BACKEND>', 'choices': BACKENDS['X2GoProxy'].keys(), 'help': 'force usage of a certain PROXY_BACKEND (do not use this unless you know exactly what you are doing)', }, - {'args':['--backend-sessionprofiles'], 'default': None, 'metavar': '<SESSIONPROFILES_BACKEND>', 'choices': _config_backends, 'help': 'use given backend for accessing session profiles, available backends on your system: %s (default: %s)' % (', '.join(_config_backends), _profiles_backend_default), }, - {'args':['--backend-clientsettings'], 'default': None, 'metavar': '<CLIENTSETTINGS_BACKEND>', 'choices': _config_backends, 'help': 'use given backend for accessing the client settings configuration, available backends on your system: %s (default: %s)' % (', '.join(_config_backends), _settings_backend_default), }, - {'args':['--backend-clientprinting'], 'default': None, 'metavar': '<CLIENTPRINTING_BACKEND>', 'choices': _config_backends, 'help': 'use given backend for accessing the client printing configuration, available backends on your system: %s (default: %s)' % (', '.join(_config_backends), _printing_backend_default), }, - ] - -if X2GOCLIENT_OS == 'Windows': - contrib_options = [ - {'args':['--start-xserver'], 'default': False, 'action': 'store_true', 'help': 'start the XServer before starting the session manager application, detect best XServer automatically, if more than one XServer is installed on your system', }, - {'args':['-X', '--preferred-xserver'], 'default': None, 'metavar': '<XSERVER>', 'choices': _known_xservers, 'help': 'start either of the currently supported XServers: %s -- make sure your preferred XServer is installed on your system' % _known_xservers, }, - {'args':['--start-pulseaudio'], 'default': False, 'action': 'store_true', 'help': 'start the PulseAudio server before starting the session manager application', }, - ] - -portable_options = [ - {'args':['--client-rootdir'], 'default': None, 'metavar': '</path/to/.x2goclient/dir>', 'help': 'define an alternative location where to find plain text config files (default: <HOME>/.x2goclient). This option will set ,,--backend-profiles FILE\'\', ,,--backend-clientsettings FILE\'\' and ,,--backend-clientprinting FILE\'\'', }, - {'args':['--sessions-rootdir'], 'default': None, 'metavar': '</path/to/.x2go/dir>', 'help': 'define an alternative location for session runtime files'}, - {'args':['--ssh-rootdir'], 'default': None, 'metavar': '</path/to/.ssh/dir>', 'help': 'define an alternative location for SSH files', }, - ] - - -- Alioth's /srv/git/_hooks_/post-receive-email on /srv/git/code.x2go.org/pyhoca-gui.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch brokerclient in repository pyhoca-gui. commit 715226ebf0a3d939c0a6694214fad18b45757ec9 Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Date: Thu Feb 6 00:26:35 2014 +0100 Don't refer to py2exe anymore in nsis_template's naming scheme. --- debian/changelog | 1 + nsis_template.py | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index 82d14cd..1e527d1 100644 --- a/debian/changelog +++ b/debian/changelog @@ -9,6 +9,7 @@ pyhoca-gui (0.5.0.0-0x2go1) UNRELEASED; urgency=low arg parser gets initialized. * Make SCRIPT_NAME in setup.py configurable (monkey-patchable). * Make setup.py importable, only run setup() function on direct calls. + * Don't refer to py2exe anymore in nsis_template's naming scheme. -- Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Wed, 08 Jan 2014 21:28:37 +0100 diff --git a/nsis_template.py b/nsis_template.py index a148959..0daa456 100644 --- a/nsis_template.py +++ b/nsis_template.py @@ -32,7 +32,7 @@ Name "{program_name}" ; Sets the title bar text (although NSIS seems to append "Installer") Caption "{program_desc}" -!define py2exeOutputDirectory '{output_dir}' +!define distOutputDirectory '{output_dir}' ; The file to write OutFile "..\\{program_name}_${{VERSION}}_win32-setup.exe" @@ -244,7 +244,7 @@ Section "{program_name} ($REQUIRED)" SectionIn RO ; Set output path to the installation directory. SetOutPath "$INSTDIR" - File /r /x .svn /x .git "${{py2exeOutputDirectory}}\\*.*" + File /r /x .svn /x .git "${{distOutputDirectory}}\\*.*" ; Write the installation path into the registry WriteRegStr HKLM SOFTWARE\\{program_name} "Install_Dir" "$INSTDIR" -- Alioth's /srv/git/_hooks_/post-receive-email on /srv/git/code.x2go.org/pyhoca-gui.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch brokerclient in repository pyhoca-gui. commit 4e860ada8cd9dfc428f46c4741a2528bfbe41929 Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Date: Wed Feb 5 10:23:06 2014 +0100 Allow automatic image branding (splash, about image, tray icon) by setting another application name than the default. --- debian/changelog | 2 + icons/PyHoca/128x128/pyhoca-trayicon.png | Bin 19982 -> 0 bytes icons/PyHoca/128x128/pyhoca-winicon.png | Bin 19982 -> 0 bytes icons/PyHoca/16x16/pyhoca-trayicon.png | Bin 1099 -> 0 bytes icons/PyHoca/16x16/pyhoca-winicon.png | Bin 1099 -> 0 bytes icons/PyHoca/22x22/pyhoca-trayicon.png | Bin 1519 -> 0 bytes icons/PyHoca/22x22/pyhoca-winicon.png | Bin 1519 -> 0 bytes icons/PyHoca/32x32/pyhoca-trayicon.png | Bin 2621 -> 0 bytes icons/PyHoca/32x32/pyhoca-winicon.png | Bin 2621 -> 0 bytes icons/PyHoca/48x48/pyhoca-trayicon.png | Bin 5073 -> 0 bytes icons/PyHoca/48x48/pyhoca-winicon.png | Bin 5073 -> 0 bytes icons/PyHoca/64x64/pyhoca-trayicon.png | Bin 7923 -> 0 bytes icons/PyHoca/64x64/pyhoca-winicon.png | Bin 7923 -> 0 bytes icons/PyHoca/scalable/pyhoca-trayicon.svg | 568 ----------------------------- icons/PyHoca/scalable/pyhoca-winicon.svg | 568 ----------------------------- img/pythonx2go-about-logo.png | Bin 58603 -> 0 bytes pyhoca/wxgui/about.py | 6 +- pyhoca/wxgui/frontend.py | 4 +- pyhoca/wxgui/launcher.py | 14 +- pyhoca/wxgui/splash.py | 6 +- pyhoca/wxgui/taskbar.py | 23 +- 21 files changed, 33 insertions(+), 1158 deletions(-) diff --git a/debian/changelog b/debian/changelog index 86beb5d..e41afdf 100644 --- a/debian/changelog +++ b/debian/changelog @@ -3,6 +3,8 @@ pyhoca-gui (0.5.0.0-0x2go1) UNRELEASED; urgency=low * Adapt to new backend concept found in Python X2Go (>= 0.5.0.0). * Move most code of the pyhoca-gui executable into a dedicated class named PyHocaGUI_Launcher. + * Allow automatic image branding (splash, about image, tray icon) by + setting another application name than the default. -- Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Wed, 08 Jan 2014 21:28:37 +0100 diff --git a/icons/PyHoca/128x128/pyhoca-trayicon.png b/icons/PyHoca/128x128/pyhoca-trayicon.png deleted file mode 100644 index 3ab93b5..0000000 Binary files a/icons/PyHoca/128x128/pyhoca-trayicon.png and /dev/null differ diff --git a/icons/PyHoca/128x128/pyhoca-winicon.png b/icons/PyHoca/128x128/pyhoca-winicon.png deleted file mode 100644 index 3ab93b5..0000000 Binary files a/icons/PyHoca/128x128/pyhoca-winicon.png and /dev/null differ diff --git a/icons/PyHoca/16x16/pyhoca-trayicon.png b/icons/PyHoca/16x16/pyhoca-trayicon.png deleted file mode 100644 index 25bd64c..0000000 Binary files a/icons/PyHoca/16x16/pyhoca-trayicon.png and /dev/null differ diff --git a/icons/PyHoca/16x16/pyhoca-winicon.png b/icons/PyHoca/16x16/pyhoca-winicon.png deleted file mode 100644 index 25bd64c..0000000 Binary files a/icons/PyHoca/16x16/pyhoca-winicon.png and /dev/null differ diff --git a/icons/PyHoca/22x22/pyhoca-trayicon.png b/icons/PyHoca/22x22/pyhoca-trayicon.png deleted file mode 100644 index 03679bf..0000000 Binary files a/icons/PyHoca/22x22/pyhoca-trayicon.png and /dev/null differ diff --git a/icons/PyHoca/22x22/pyhoca-winicon.png b/icons/PyHoca/22x22/pyhoca-winicon.png deleted file mode 100644 index 03679bf..0000000 Binary files a/icons/PyHoca/22x22/pyhoca-winicon.png and /dev/null differ diff --git a/icons/PyHoca/32x32/pyhoca-trayicon.png b/icons/PyHoca/32x32/pyhoca-trayicon.png deleted file mode 100644 index 1cdd8ff..0000000 Binary files a/icons/PyHoca/32x32/pyhoca-trayicon.png and /dev/null differ diff --git a/icons/PyHoca/32x32/pyhoca-winicon.png b/icons/PyHoca/32x32/pyhoca-winicon.png deleted file mode 100644 index 1cdd8ff..0000000 Binary files a/icons/PyHoca/32x32/pyhoca-winicon.png and /dev/null differ diff --git a/icons/PyHoca/48x48/pyhoca-trayicon.png b/icons/PyHoca/48x48/pyhoca-trayicon.png deleted file mode 100644 index 5932207..0000000 Binary files a/icons/PyHoca/48x48/pyhoca-trayicon.png and /dev/null differ diff --git a/icons/PyHoca/48x48/pyhoca-winicon.png b/icons/PyHoca/48x48/pyhoca-winicon.png deleted file mode 100644 index 5932207..0000000 Binary files a/icons/PyHoca/48x48/pyhoca-winicon.png and /dev/null differ diff --git a/icons/PyHoca/64x64/pyhoca-trayicon.png b/icons/PyHoca/64x64/pyhoca-trayicon.png deleted file mode 100644 index aa87bc3..0000000 Binary files a/icons/PyHoca/64x64/pyhoca-trayicon.png and /dev/null differ diff --git a/icons/PyHoca/64x64/pyhoca-winicon.png b/icons/PyHoca/64x64/pyhoca-winicon.png deleted file mode 100644 index aa87bc3..0000000 Binary files a/icons/PyHoca/64x64/pyhoca-winicon.png and /dev/null differ diff --git a/icons/PyHoca/scalable/pyhoca-trayicon.svg b/icons/PyHoca/scalable/pyhoca-trayicon.svg deleted file mode 100644 index e1588b8..0000000 --- a/icons/PyHoca/scalable/pyhoca-trayicon.svg +++ /dev/null @@ -1,568 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!-- Created with Inkscape (http://www.inkscape.org/) --> - -<svg - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:cc="http://creativecommons.org/ns#" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:svg="http://www.w3.org/2000/svg" - xmlns="http://www.w3.org/2000/svg" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="48px" - height="48px" - id="svg7187" - sodipodi:version="0.32" - inkscape:version="0.47 r22583" - sodipodi:docname="auth_error.svg" - inkscape:output_extension="org.inkscape.output.svg.inkscape" - version="1.1"> - <defs - id="defs7189"> - <inkscape:perspective - sodipodi:type="inkscape:persp3d" - inkscape:vp_x="0 : 24 : 1" - inkscape:vp_y="0 : 1000 : 0" - inkscape:vp_z="48 : 24 : 1" - inkscape:persp3d-origin="24 : 16 : 1" - id="perspective3859" /> - <linearGradient - inkscape:collect="always" - id="linearGradient4873"> - <stop - style="stop-color:#ffffff;stop-opacity:1;" - offset="0" - id="stop4875" /> - <stop - style="stop-color:#ffffff;stop-opacity:0;" - offset="1" - id="stop4877" /> - </linearGradient> - <linearGradient - inkscape:collect="always" - xlink:href="#linearGradient4873" - id="linearGradient2704" - gradientUnits="userSpaceOnUse" - gradientTransform="matrix(2.3440063,0,0,2.3440063,-121.79862,31.22942)" - x1="62.745731" - y1="-13.444987" - x2="62.608765" - y2="7.1072145" /> - <linearGradient - id="linearGradient3811"> - <stop - id="stop3813" - offset="0" - style="stop-color:#a40000;stop-opacity:1" /> - <stop - id="stop3815" - offset="1" - style="stop-color:#c22f2f;stop-opacity:1" /> - </linearGradient> - <linearGradient - inkscape:collect="always" - xlink:href="#linearGradient3811" - id="linearGradient3927" - x1="15.046636" - y1="44.787998" - x2="15.046636" - y2="3.8851264" - gradientUnits="userSpaceOnUse" - gradientTransform="matrix(1.0805272,0,0,1.0805026,-1.508285,-3.3507596)" /> - <linearGradient - id="linearGradient5106"> - <stop - style="stop-color:#e78181;stop-opacity:1" - offset="0" - id="stop5108" /> - <stop - id="stop8208" - offset="0.25288007" - style="stop-color:#e15f5f;stop-opacity:1" /> - <stop - style="stop-color:#c22f2f;stop-opacity:1" - offset="0.68271071" - id="stop8210" /> - <stop - style="stop-color:#a40000;stop-opacity:1" - offset="1" - id="stop5110" /> - </linearGradient> - <radialGradient - inkscape:collect="always" - xlink:href="#linearGradient5106" - id="radialGradient2707" - gradientUnits="userSpaceOnUse" - gradientTransform="matrix(-7.565785,-6.219707e-7,3.9644633e-7,-4.8230546,494.60904,-26.555114)" - cx="62.202274" - cy="-5.7132163" - fx="62.202274" - fy="-5.7132163" - r="9.7552835" /> - <linearGradient - id="linearGradient10691" - inkscape:collect="always"> - <stop - id="stop10693" - offset="0" - style="stop-color:#000000;stop-opacity:1;" /> - <stop - id="stop10695" - offset="1" - style="stop-color:#000000;stop-opacity:0;" /> - </linearGradient> - <radialGradient - inkscape:collect="always" - xlink:href="#linearGradient10691" - id="radialGradient3080" - gradientUnits="userSpaceOnUse" - gradientTransform="scale(1.902215,0.525703)" - cx="6.702713" - cy="73.615715" - fx="6.702713" - fy="73.615715" - r="7.228416" /> - <inkscape:perspective - id="perspective3453" - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" - inkscape:vp_z="1 : 0.5 : 1" - inkscape:vp_y="0 : 1000 : 0" - inkscape:vp_x="0 : 0.5 : 1" - sodipodi:type="inkscape:persp3d" /> - <pattern - inkscape:stockid="Wavy" - id="Wavy" - height="5.1805778" - width="30.066020" - patternUnits="userSpaceOnUse" - inkscape:collect="always"> - <path - id="path5228" - d="M 7.597,0.061 C 5.079,-0.187 2.656,0.302 -0.01,1.788 L -0.01,3.061 C 2.773,1.431 5.173,1.052 7.472,1.280 C 9.770,1.508 11.969,2.361 14.253,3.218 C 18.820,4.931 23.804,6.676 30.066,3.061 L 30.062,1.788 C 23.622,5.497 19.246,3.770 14.691,2.061 C 12.413,1.207 10.115,0.311 7.597,0.061 z " - style="fill:black;stroke:none;" /> - </pattern> - <filter - color-interpolation-filters="sRGB" - inkscape:collect="always" - id="filter5442"> - <feGaussianBlur - inkscape:collect="always" - stdDeviation="0.57490299" - id="feGaussianBlur5444" /> - </filter> - <linearGradient - inkscape:collect="always" - xlink:href="#linearGradient5430" - id="linearGradient5436" - x1="185" - y1="1047.3622" - x2="185" - y2="796.36218" - gradientUnits="userSpaceOnUse" /> - <linearGradient - inkscape:collect="always" - id="linearGradient5430"> - <stop - style="stop-color:#906f6f;stop-opacity:1;" - offset="0" - id="stop5432" /> - <stop - style="stop-color:#906f6f;stop-opacity:0;" - offset="1" - id="stop5434" /> - </linearGradient> - <filter - color-interpolation-filters="sRGB" - inkscape:collect="always" - id="filter6083"> - <feGaussianBlur - inkscape:collect="always" - stdDeviation="3.312185" - id="feGaussianBlur6085" /> - </filter> - <radialGradient - inkscape:collect="always" - xlink:href="#linearGradient3785" - id="radialGradient5416" - gradientUnits="userSpaceOnUse" - gradientTransform="matrix(1.1160336,-4.3876452,5.2088758,1.3249203,-2874.6294,1237.254)" - cx="315.79904" - cy="584.86487" - fx="315.79904" - fy="584.86487" - r="65.742714" /> - <linearGradient - id="linearGradient3785"> - <stop - style="stop-color:#ffffff;stop-opacity:1;" - offset="0" - id="stop3787" /> - <stop - style="stop-color:#969696;stop-opacity:1;" - offset="1" - id="stop3789" /> - </linearGradient> - <linearGradient - inkscape:collect="always" - xlink:href="#linearGradient5937" - id="linearGradient5418" - gradientUnits="userSpaceOnUse" - gradientTransform="matrix(1.8933365,0,0,1.8933365,-105.31989,-495.37559)" - x1="310.53839" - y1="551.9931" - x2="324.48233" - y2="615.26996" /> - <linearGradient - inkscape:collect="always" - id="linearGradient5937"> - <stop - style="stop-color:#ffffff;stop-opacity:1;" - offset="0" - id="stop5939" /> - <stop - style="stop-color:#ffffff;stop-opacity:0;" - offset="1" - id="stop5941" /> - </linearGradient> - <filter - color-interpolation-filters="sRGB" - inkscape:collect="always" - id="filter6139"> - <feGaussianBlur - inkscape:collect="always" - stdDeviation="0.78400333" - id="feGaussianBlur6141" /> - </filter> - <linearGradient - inkscape:collect="always" - xlink:href="#linearGradient5947" - id="linearGradient5420" - gradientUnits="userSpaceOnUse" - gradientTransform="matrix(1.8933365,0,0,1.8933365,-105.31989,-495.37559)" - x1="261.17963" - y1="635.13214" - x2="261.17963" - y2="612.84375" /> - <linearGradient - inkscape:collect="always" - id="linearGradient5947"> - <stop - style="stop-color:#ffffff;stop-opacity:1;" - offset="0" - id="stop5949" /> - <stop - style="stop-color:#ffffff;stop-opacity:0;" - offset="1" - id="stop5951" /> - </linearGradient> - <linearGradient - inkscape:collect="always" - xlink:href="#linearGradient5937" - id="linearGradient5422" - gradientUnits="userSpaceOnUse" - gradientTransform="matrix(1.8933365,0,0,1.8933365,-105.31989,-495.37559)" - x1="387.78506" - y1="620.52393" - x2="378.39252" - y2="603.82446" /> - </defs> - <sodipodi:namedview - id="base" - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1.0" - inkscape:pageopacity="0.0" - inkscape:pageshadow="2" - inkscape:zoom="7" - inkscape:cx="23.859533" - inkscape:cy="34.916834" - inkscape:current-layer="layer1" - showgrid="true" - inkscape:grid-bbox="true" - inkscape:document-units="px" - inkscape:window-width="1024" - inkscape:window-height="571" - inkscape:window-x="0" - inkscape:window-y="6" - inkscape:window-maximized="1" /> - <metadata - id="metadata7192"> - <rdf:RDF> - <cc:Work - rdf:about=""> - <dc:format>image/svg+xml</dc:format> - <dc:type - rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> - <dc:title></dc:title> - </cc:Work> - </rdf:RDF> - </metadata> - <g - id="layer1" - inkscape:label="Layer 1" - inkscape:groupmode="layer"> - <g - transform="matrix(0.38132965,0,0,0.38132965,-60.655233,-353.27311)" - style="display:inline" - id="g3410" - inkscape:export-filename="/home/mike/MyDocuments/4projects/nwt-x2go/pyhoca-gui/trunk/icons/PyHoca/pyhoca-trayicon.png" - inkscape:export-xdpi="457.14001" - inkscape:export-ydpi="457.14001"> - <rect - y="926.42456" - x="159.0625" - height="125.87531" - width="125.87534" - id="rect2927" - style="fill:none;stroke:#000000;stroke-width:0.01776883;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> - <rect - y="932.37238" - x="165.00909" - height="114.98058" - width="114.98061" - id="rect5426" - style="fill:url(#Wavy);fill-opacity:1;stroke:none;filter:url(#filter5442)" - ry="14.010298" /> - <rect - ry="14.010298" - style="fill:url(#linearGradient5436);fill-opacity:1;stroke:#000000;stroke-width:2.01939631;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" - id="rect5424" - width="114.98061" - height="114.98058" - x="165.00909" - y="932.37238" /> - <g - inkscape:export-ydpi="510.97" - inkscape:export-xdpi="510.97" - inkscape:export-filename="/home/mike/MyDocuments/4projects/nwt-x2go/pyhoca-gui/trunk/icons/PyHoca/pyhoca-trayicon.png" - id="g5356" - transform="matrix(0.40396742,0,0,0.40396742,19.556638,743.47149)"> - <path - sodipodi:nodetypes="cscscscssccc" - id="path5358" - d="m 316.61834,524.71563 c 26.41286,-0.50329 59.97357,20.96914 59.97357,54.77527 0,3.59736 -0.19322,7.03227 -0.56789,10.30345 18.06989,6.26688 16.71273,32.24949 4.78688,32.70339 -5.47132,0.20824 -3.56548,-18.31078 -10.6487,-17.92457 -7.89714,13.75136 -23.13,29.30724 -43.89259,30.96552 -18.87348,1.5074 -26.67203,-2.56514 -36.54057,-8.85826 -3.46673,2.19939 -7.55736,6.26792 -11.8477,7.98433 -9.00177,3.60129 -18.6864,4.30272 -18.6864,-5.73669 0,-8.21915 4.89649,-15.13053 12.51148 [...] - style="fill:#000000;fill-opacity:1;stroke:#737373;stroke-width:0.97799999;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline;filter:url(#filter6083)" - transform="matrix(1.8933365,0,0,1.8933365,-105.31989,-495.37559)" /> - <path - style="fill:url(#radialGradient5416);fill-opacity:1;stroke:#737373;stroke-width:1.85168302;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline" - d="m 494.14518,498.08769 c 50.00843,-0.9529 113.55014,39.70163 113.55014,103.70802 0,6.81101 -0.36583,13.31445 -1.0752,19.50789 34.21238,11.86532 31.64282,61.05914 9.06317,61.91853 -10.35905,0.39427 -6.75065,-34.66848 -20.16157,-33.93724 -14.95194,26.03594 -43.79287,55.48846 -83.10344,58.62814 -35.73385,2.85402 -50.49914,-4.85667 -69.1836,-16.77167 -6.56369,4.16419 -14.30863,11.86728 -22.43168,15.11703 -17.04338,6.81846 -35.37965,8.1465 -35.37965,-10.86149 0,-15.56161 9.27071, [...] - id="path5360" - sodipodi:nodetypes="cscscscssccc" /> - <path - style="fill:url(#linearGradient5418);fill-opacity:1;stroke:none;display:inline" - d="m 490.31195,501.99861 c -60.00789,5.2168 -107.09001,72.04563 -87.91275,130.02861 3.24896,11.23668 7.4696,22.02332 11.76512,32.91665 -17.10352,2.3543 -30.64729,22.97 -22.60171,38.87257 9.92701,7.54432 25.07255,0.6534 34.73089,-4.85167 7.42667,-3.29797 14.4103,-16.70707 22.4242,-8.81585 27.77649,18.77637 65.82806,19.08025 95.67267,4.67417 20.86926,-11.02272 37.47189,-28.76927 48.93091,-49.34508 14.74215,-1.58804 16.27001,17.47813 18.99254,27.45338 0.40886,4.51328 3.3967,8.818 [...] - id="path5362" /> - <g - id="g5364" - style="filter:url(#filter6139)" - transform="matrix(1.8933365,0,0,1.8933365,-105.31989,-495.37559)"> - <path - style="fill:#000000" - d="m 298.82133,588.93345 c -2.29156,-1.78445 -2.67759,-2.6514 -2.36383,-5.30877 0.43402,-3.67579 2.33363,-6.95779 4.7302,-8.17246 2.89097,-1.46525 8.66145,0.59446 10.64667,3.80022 1.73266,2.79791 1.70055,3.08784 -0.64437,5.81654 -5.03306,5.85678 -8.44226,6.92196 -12.36867,3.86447 z m 0.41149,-3.50969 c -0.51028,-1.00681 -0.55336,-2.93153 -0.0957,-4.27716 0.75581,-2.22223 0.70222,-2.29827 -0.58439,-0.82916 -1.55776,1.77869 -1.11814,7.38176 0.55771,7.10826 0.59569,-0.0972 0.64 [...] - id="path5366" - sodipodi:nodetypes="cssssccsssccscccssssc" /> - <path - style="fill:#000000;fill-rule:evenodd;stroke:none" - d="m 326.7844,595.06579 c -2.46648,-3.36183 4.00801,-2.92998 8.50563,-3.66397 5.54213,-0.90445 8.50715,-10.28293 7.21632,-4.59151 -1.29085,5.69142 -3.73324,11.98871 -2.82879,17.53084 -7.35103,-10.17981 -10.42669,-5.91353 -12.89316,-9.27536 z" - id="path5368" - sodipodi:nodetypes="cszcz" /> - <path - style="fill:#000000;fill-rule:evenodd;stroke:none" - d="m 320.3929,612.59663 c 11.98871,3.73323 13.94857,-6.3862 19.66087,-8.09427 6.9752,-2.08571 11.6125,3.57202 16.25018,-2.87455 -4.63768,6.44657 -10.95623,2.5679 -16.296,5.78527 -5.18035,3.1213 -7.62634,8.91678 -19.61505,5.18355 z" - id="path5370" - sodipodi:nodetypes="cscsc" /> - <path - style="fill:#ffffff;stroke:none" - d="m 336.68588,599.4815 c 0.006,-0.2019 -0.36096,-0.64796 -0.42276,-1.47067 -0.29657,-3.94831 -6.1911,-6.21808 -7.25759,-3.43571 -0.24338,0.63493 0.58774,1.16912 1.89749,1.23685 1.26995,0.0657 3.17607,1.09972 4.23457,2.30131 1.09251,1.24015 1.53854,1.70469 1.54829,1.36822 z" - id="path5372" - sodipodi:nodetypes="cssssc" /> - <path - sodipodi:type="arc" - style="fill:#ffffff;stroke:#000000;stroke-opacity:1" - id="path5374" - sodipodi:cx="166.31445" - sodipodi:cy="123.08076" - sodipodi:rx="1.1335942" - sodipodi:ry="1.1335942" - d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z" - transform="translate(158.05541,475.03407)" /> - <path - transform="translate(162.2659,476.65349)" - d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z" - sodipodi:ry="1.1335942" - sodipodi:rx="1.1335942" - sodipodi:cy="123.08076" - sodipodi:cx="166.31445" - id="path5376" - style="fill:#ffffff;stroke:#000000;stroke-opacity:1" - sodipodi:type="arc" /> - <path - sodipodi:type="arc" - style="fill:#ffffff;stroke:#000000;stroke-opacity:1" - id="path5378" - sodipodi:cx="166.31445" - sodipodi:cy="123.08076" - sodipodi:rx="1.1335942" - sodipodi:ry="1.1335942" - d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z" - transform="translate(159.35094,479.24456)" /> - <path - transform="translate(178.4601,467.90862)" - d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z" - sodipodi:ry="1.1335942" - sodipodi:rx="1.1335942" - sodipodi:cy="123.08076" - sodipodi:cx="166.31445" - id="path5380" - style="fill:#ffffff;stroke:#000000;stroke-opacity:1" - sodipodi:type="arc" /> - <path - sodipodi:type="arc" - style="fill:#ffffff;stroke:#000000;stroke-opacity:1" - id="path5382" - sodipodi:cx="166.31445" - sodipodi:cy="123.08076" - sodipodi:rx="1.1335942" - sodipodi:ry="1.1335942" - d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z" - transform="translate(178.13622,471.79523)" /> - <path - transform="translate(182.02283,470.17581)" - d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z" - sodipodi:ry="1.1335942" - sodipodi:rx="1.1335942" - sodipodi:cy="123.08076" - sodipodi:cx="166.31445" - id="path5384" - style="fill:#ffffff;stroke:#000000;stroke-opacity:1" - sodipodi:type="arc" /> - <path - sodipodi:type="arc" - style="fill:#ffffff;stroke:#000000;stroke-opacity:1" - id="path5386" - sodipodi:cx="166.31445" - sodipodi:cy="123.08076" - sodipodi:rx="1.1335942" - sodipodi:ry="1.1335942" - d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z" - transform="translate(142.83286,441.9979)" /> - <path - transform="translate(163.88532,436.81576)" - d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z" - sodipodi:ry="1.1335942" - sodipodi:rx="1.1335942" - sodipodi:cy="123.08076" - sodipodi:cx="166.31445" - id="path5388" - style="fill:#ffffff;stroke:#000000;stroke-opacity:1" - sodipodi:type="arc" /> - </g> - <path - style="fill:#000000" - d="m 460.44944,619.67363 c -4.33869,-3.37857 -5.06957,-5.01999 -4.47552,-10.05129 0.82174,-6.9595 4.41835,-13.17343 8.95586,-15.47322 5.47358,-2.7742 16.39904,1.12552 20.15773,7.1951 3.28051,5.29739 3.21971,5.84632 -1.22001,11.01267 -9.52928,11.08886 -15.98404,13.1056 -23.41806,7.31674 z m 0.77909,-6.64502 c -0.96613,-1.90623 -1.0477,-5.55038 -0.18119,-8.09811 1.431,-4.20743 1.32954,-4.35139 -1.10644,-1.56987 -2.94937,3.36765 -2.11702,13.97616 1.05592,13.45832 1.12785,-0.18403 [...] - id="path5390" - sodipodi:nodetypes="cssssccsssccscccssssc" /> - <path - style="fill:#000000;fill-rule:evenodd;stroke:none" - d="m 543.50287,612.20201 c -1.0397,0.5283 -6.15268,10.84486 -14.02253,12.12919 -8.5155,1.38969 -20.76323,0.61661 -16.09335,6.98168 4.66985,6.36508 10.51789,-1.76044 24.43586,17.51336 -1.71242,-10.49311 2.881,-22.41678 5.32502,-33.19256 0.61099,-2.69393 0.70155,-3.60776 0.355,-3.43167 z M 521.552,627.99954 c 3.99071,0.0596 9.37648,3.73563 9.76251,8.87501 0.11701,1.55767 0.8397,2.39858 0.82834,2.78085 -0.0184,0.63705 -0.88985,-0.25532 -2.95834,-2.60335 -2.0041,-2.27501 -5.58307, [...] - id="path5392" /> - <path - style="fill:#000000;fill-rule:evenodd;stroke:none" - d="m 501.29168,664.476 c 22.69867,7.06826 26.40934,-12.09123 37.22465,-15.32518 13.2064,-3.94896 21.98637,6.76303 30.76706,-5.44249 -8.78069,12.20552 -20.74383,4.8619 -30.85381,10.95346 -9.80815,5.90967 -14.43923,16.88247 -37.1379,9.81421 z" - id="path5394" - sodipodi:nodetypes="cscsc" /> - <path - sodipodi:type="arc" - style="fill:none;stroke:#000000;stroke-opacity:1" - id="path5396" - sodipodi:cx="166.31445" - sodipodi:cy="123.08076" - sodipodi:rx="1.1335942" - sodipodi:ry="1.1335942" - d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z" - transform="matrix(1.8933365,0,0,1.8933365,193.93219,404.02378)" /> - <path - transform="matrix(1.8933365,0,0,1.8933365,201.90406,407.08988)" - d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z" - sodipodi:ry="1.1335942" - sodipodi:rx="1.1335942" - sodipodi:cy="123.08076" - sodipodi:cx="166.31445" - id="path5398" - style="fill:none;stroke:#000000;stroke-opacity:1" - sodipodi:type="arc" /> - <path - sodipodi:type="arc" - style="fill:none;stroke:#000000;stroke-opacity:1" - id="path5400" - sodipodi:cx="166.31445" - sodipodi:cy="123.08076" - sodipodi:rx="1.1335942" - sodipodi:ry="1.1335942" - d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z" - transform="matrix(1.8933365,0,0,1.8933365,196.38506,411.99565)" /> - <path - transform="matrix(1.8933365,0,0,1.8933365,232.56513,390.5329)" - d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z" - sodipodi:ry="1.1335942" - sodipodi:rx="1.1335942" - sodipodi:cy="123.08076" - sodipodi:cx="166.31445" - id="path5402" - style="fill:none;stroke:#000000;stroke-opacity:1" - sodipodi:type="arc" /> - <path - sodipodi:type="arc" - style="fill:none;stroke:#000000;stroke-opacity:1" - id="path5404" - sodipodi:cx="166.31445" - sodipodi:cy="123.08076" - sodipodi:rx="1.1335942" - sodipodi:ry="1.1335942" - d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z" - transform="matrix(1.8933365,0,0,1.8933365,231.95192,397.89157)" /> - <path - transform="matrix(1.8933365,0,0,1.8933365,239.31058,394.82545)" - d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z" - sodipodi:ry="1.1335942" - sodipodi:rx="1.1335942" - sodipodi:cy="123.08076" - sodipodi:cx="166.31445" - id="path5406" - style="fill:none;stroke:#000000;stroke-opacity:1" - sodipodi:type="arc" /> - <path - sodipodi:type="arc" - style="fill:none;stroke:#000000;stroke-opacity:1" - id="path5408" - sodipodi:cx="166.31445" - sodipodi:cy="123.08076" - sodipodi:rx="1.1335942" - sodipodi:ry="1.1335942" - d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z" - transform="matrix(1.8933365,0,0,1.8933365,165.11077,341.47519)" /> - <path - transform="matrix(1.8933365,0,0,1.8933365,204.97017,331.66365)" - d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z" - sodipodi:ry="1.1335942" - sodipodi:rx="1.1335942" - sodipodi:cy="123.08076" - sodipodi:cx="166.31445" - id="path5410" - style="fill:none;stroke:#000000;stroke-opacity:1" - sodipodi:type="arc" /> - <path - id="path5412" - d="m 414.16432,664.94387 c -17.10352,2.3543 -30.64729,22.97 -22.60171,38.87257 9.92701,7.54432 25.07255,0.6534 34.73089,-4.85167 7.42667,-3.29797 8.51536,-16.70707 16.52927,-8.81585 -12.5884,-9.64496 -22.24114,-11.62267 -28.65845,-25.20505 z" - style="fill:url(#linearGradient5420);fill-opacity:1;stroke:none;display:inline" - sodipodi:nodetypes="ccccc" /> - <path - id="path5414" - d="m 593.32128,645.47801 c 14.74215,-1.58804 16.27001,17.47813 18.99254,27.45338 0.40886,4.51328 3.3967,8.81801 7.98751,5.20668 14.08663,-11.21914 9.21231,-35.07831 -2.89918,-46.09092 -4.88828,-6.56095 -18.41674,-5.38103 -14.08168,-15.79752 l -9.99919,29.22838 z" - style="fill:url(#linearGradient5422);fill-opacity:1;stroke:none;display:inline" - sodipodi:nodetypes="cccccc" /> - </g> - </g> - </g> -</svg> diff --git a/icons/PyHoca/scalable/pyhoca-winicon.svg b/icons/PyHoca/scalable/pyhoca-winicon.svg deleted file mode 100644 index e1588b8..0000000 --- a/icons/PyHoca/scalable/pyhoca-winicon.svg +++ /dev/null @@ -1,568 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!-- Created with Inkscape (http://www.inkscape.org/) --> - -<svg - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:cc="http://creativecommons.org/ns#" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:svg="http://www.w3.org/2000/svg" - xmlns="http://www.w3.org/2000/svg" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="48px" - height="48px" - id="svg7187" - sodipodi:version="0.32" - inkscape:version="0.47 r22583" - sodipodi:docname="auth_error.svg" - inkscape:output_extension="org.inkscape.output.svg.inkscape" - version="1.1"> - <defs - id="defs7189"> - <inkscape:perspective - sodipodi:type="inkscape:persp3d" - inkscape:vp_x="0 : 24 : 1" - inkscape:vp_y="0 : 1000 : 0" - inkscape:vp_z="48 : 24 : 1" - inkscape:persp3d-origin="24 : 16 : 1" - id="perspective3859" /> - <linearGradient - inkscape:collect="always" - id="linearGradient4873"> - <stop - style="stop-color:#ffffff;stop-opacity:1;" - offset="0" - id="stop4875" /> - <stop - style="stop-color:#ffffff;stop-opacity:0;" - offset="1" - id="stop4877" /> - </linearGradient> - <linearGradient - inkscape:collect="always" - xlink:href="#linearGradient4873" - id="linearGradient2704" - gradientUnits="userSpaceOnUse" - gradientTransform="matrix(2.3440063,0,0,2.3440063,-121.79862,31.22942)" - x1="62.745731" - y1="-13.444987" - x2="62.608765" - y2="7.1072145" /> - <linearGradient - id="linearGradient3811"> - <stop - id="stop3813" - offset="0" - style="stop-color:#a40000;stop-opacity:1" /> - <stop - id="stop3815" - offset="1" - style="stop-color:#c22f2f;stop-opacity:1" /> - </linearGradient> - <linearGradient - inkscape:collect="always" - xlink:href="#linearGradient3811" - id="linearGradient3927" - x1="15.046636" - y1="44.787998" - x2="15.046636" - y2="3.8851264" - gradientUnits="userSpaceOnUse" - gradientTransform="matrix(1.0805272,0,0,1.0805026,-1.508285,-3.3507596)" /> - <linearGradient - id="linearGradient5106"> - <stop - style="stop-color:#e78181;stop-opacity:1" - offset="0" - id="stop5108" /> - <stop - id="stop8208" - offset="0.25288007" - style="stop-color:#e15f5f;stop-opacity:1" /> - <stop - style="stop-color:#c22f2f;stop-opacity:1" - offset="0.68271071" - id="stop8210" /> - <stop - style="stop-color:#a40000;stop-opacity:1" - offset="1" - id="stop5110" /> - </linearGradient> - <radialGradient - inkscape:collect="always" - xlink:href="#linearGradient5106" - id="radialGradient2707" - gradientUnits="userSpaceOnUse" - gradientTransform="matrix(-7.565785,-6.219707e-7,3.9644633e-7,-4.8230546,494.60904,-26.555114)" - cx="62.202274" - cy="-5.7132163" - fx="62.202274" - fy="-5.7132163" - r="9.7552835" /> - <linearGradient - id="linearGradient10691" - inkscape:collect="always"> - <stop - id="stop10693" - offset="0" - style="stop-color:#000000;stop-opacity:1;" /> - <stop - id="stop10695" - offset="1" - style="stop-color:#000000;stop-opacity:0;" /> - </linearGradient> - <radialGradient - inkscape:collect="always" - xlink:href="#linearGradient10691" - id="radialGradient3080" - gradientUnits="userSpaceOnUse" - gradientTransform="scale(1.902215,0.525703)" - cx="6.702713" - cy="73.615715" - fx="6.702713" - fy="73.615715" - r="7.228416" /> - <inkscape:perspective - id="perspective3453" - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" - inkscape:vp_z="1 : 0.5 : 1" - inkscape:vp_y="0 : 1000 : 0" - inkscape:vp_x="0 : 0.5 : 1" - sodipodi:type="inkscape:persp3d" /> - <pattern - inkscape:stockid="Wavy" - id="Wavy" - height="5.1805778" - width="30.066020" - patternUnits="userSpaceOnUse" - inkscape:collect="always"> - <path - id="path5228" - d="M 7.597,0.061 C 5.079,-0.187 2.656,0.302 -0.01,1.788 L -0.01,3.061 C 2.773,1.431 5.173,1.052 7.472,1.280 C 9.770,1.508 11.969,2.361 14.253,3.218 C 18.820,4.931 23.804,6.676 30.066,3.061 L 30.062,1.788 C 23.622,5.497 19.246,3.770 14.691,2.061 C 12.413,1.207 10.115,0.311 7.597,0.061 z " - style="fill:black;stroke:none;" /> - </pattern> - <filter - color-interpolation-filters="sRGB" - inkscape:collect="always" - id="filter5442"> - <feGaussianBlur - inkscape:collect="always" - stdDeviation="0.57490299" - id="feGaussianBlur5444" /> - </filter> - <linearGradient - inkscape:collect="always" - xlink:href="#linearGradient5430" - id="linearGradient5436" - x1="185" - y1="1047.3622" - x2="185" - y2="796.36218" - gradientUnits="userSpaceOnUse" /> - <linearGradient - inkscape:collect="always" - id="linearGradient5430"> - <stop - style="stop-color:#906f6f;stop-opacity:1;" - offset="0" - id="stop5432" /> - <stop - style="stop-color:#906f6f;stop-opacity:0;" - offset="1" - id="stop5434" /> - </linearGradient> - <filter - color-interpolation-filters="sRGB" - inkscape:collect="always" - id="filter6083"> - <feGaussianBlur - inkscape:collect="always" - stdDeviation="3.312185" - id="feGaussianBlur6085" /> - </filter> - <radialGradient - inkscape:collect="always" - xlink:href="#linearGradient3785" - id="radialGradient5416" - gradientUnits="userSpaceOnUse" - gradientTransform="matrix(1.1160336,-4.3876452,5.2088758,1.3249203,-2874.6294,1237.254)" - cx="315.79904" - cy="584.86487" - fx="315.79904" - fy="584.86487" - r="65.742714" /> - <linearGradient - id="linearGradient3785"> - <stop - style="stop-color:#ffffff;stop-opacity:1;" - offset="0" - id="stop3787" /> - <stop - style="stop-color:#969696;stop-opacity:1;" - offset="1" - id="stop3789" /> - </linearGradient> - <linearGradient - inkscape:collect="always" - xlink:href="#linearGradient5937" - id="linearGradient5418" - gradientUnits="userSpaceOnUse" - gradientTransform="matrix(1.8933365,0,0,1.8933365,-105.31989,-495.37559)" - x1="310.53839" - y1="551.9931" - x2="324.48233" - y2="615.26996" /> - <linearGradient - inkscape:collect="always" - id="linearGradient5937"> - <stop - style="stop-color:#ffffff;stop-opacity:1;" - offset="0" - id="stop5939" /> - <stop - style="stop-color:#ffffff;stop-opacity:0;" - offset="1" - id="stop5941" /> - </linearGradient> - <filter - color-interpolation-filters="sRGB" - inkscape:collect="always" - id="filter6139"> - <feGaussianBlur - inkscape:collect="always" - stdDeviation="0.78400333" - id="feGaussianBlur6141" /> - </filter> - <linearGradient - inkscape:collect="always" - xlink:href="#linearGradient5947" - id="linearGradient5420" - gradientUnits="userSpaceOnUse" - gradientTransform="matrix(1.8933365,0,0,1.8933365,-105.31989,-495.37559)" - x1="261.17963" - y1="635.13214" - x2="261.17963" - y2="612.84375" /> - <linearGradient - inkscape:collect="always" - id="linearGradient5947"> - <stop - style="stop-color:#ffffff;stop-opacity:1;" - offset="0" - id="stop5949" /> - <stop - style="stop-color:#ffffff;stop-opacity:0;" - offset="1" - id="stop5951" /> - </linearGradient> - <linearGradient - inkscape:collect="always" - xlink:href="#linearGradient5937" - id="linearGradient5422" - gradientUnits="userSpaceOnUse" - gradientTransform="matrix(1.8933365,0,0,1.8933365,-105.31989,-495.37559)" - x1="387.78506" - y1="620.52393" - x2="378.39252" - y2="603.82446" /> - </defs> - <sodipodi:namedview - id="base" - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1.0" - inkscape:pageopacity="0.0" - inkscape:pageshadow="2" - inkscape:zoom="7" - inkscape:cx="23.859533" - inkscape:cy="34.916834" - inkscape:current-layer="layer1" - showgrid="true" - inkscape:grid-bbox="true" - inkscape:document-units="px" - inkscape:window-width="1024" - inkscape:window-height="571" - inkscape:window-x="0" - inkscape:window-y="6" - inkscape:window-maximized="1" /> - <metadata - id="metadata7192"> - <rdf:RDF> - <cc:Work - rdf:about=""> - <dc:format>image/svg+xml</dc:format> - <dc:type - rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> - <dc:title></dc:title> - </cc:Work> - </rdf:RDF> - </metadata> - <g - id="layer1" - inkscape:label="Layer 1" - inkscape:groupmode="layer"> - <g - transform="matrix(0.38132965,0,0,0.38132965,-60.655233,-353.27311)" - style="display:inline" - id="g3410" - inkscape:export-filename="/home/mike/MyDocuments/4projects/nwt-x2go/pyhoca-gui/trunk/icons/PyHoca/pyhoca-trayicon.png" - inkscape:export-xdpi="457.14001" - inkscape:export-ydpi="457.14001"> - <rect - y="926.42456" - x="159.0625" - height="125.87531" - width="125.87534" - id="rect2927" - style="fill:none;stroke:#000000;stroke-width:0.01776883;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> - <rect - y="932.37238" - x="165.00909" - height="114.98058" - width="114.98061" - id="rect5426" - style="fill:url(#Wavy);fill-opacity:1;stroke:none;filter:url(#filter5442)" - ry="14.010298" /> - <rect - ry="14.010298" - style="fill:url(#linearGradient5436);fill-opacity:1;stroke:#000000;stroke-width:2.01939631;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" - id="rect5424" - width="114.98061" - height="114.98058" - x="165.00909" - y="932.37238" /> - <g - inkscape:export-ydpi="510.97" - inkscape:export-xdpi="510.97" - inkscape:export-filename="/home/mike/MyDocuments/4projects/nwt-x2go/pyhoca-gui/trunk/icons/PyHoca/pyhoca-trayicon.png" - id="g5356" - transform="matrix(0.40396742,0,0,0.40396742,19.556638,743.47149)"> - <path - sodipodi:nodetypes="cscscscssccc" - id="path5358" - d="m 316.61834,524.71563 c 26.41286,-0.50329 59.97357,20.96914 59.97357,54.77527 0,3.59736 -0.19322,7.03227 -0.56789,10.30345 18.06989,6.26688 16.71273,32.24949 4.78688,32.70339 -5.47132,0.20824 -3.56548,-18.31078 -10.6487,-17.92457 -7.89714,13.75136 -23.13,29.30724 -43.89259,30.96552 -18.87348,1.5074 -26.67203,-2.56514 -36.54057,-8.85826 -3.46673,2.19939 -7.55736,6.26792 -11.8477,7.98433 -9.00177,3.60129 -18.6864,4.30272 -18.6864,-5.73669 0,-8.21915 4.89649,-15.13053 12.51148 [...] - style="fill:#000000;fill-opacity:1;stroke:#737373;stroke-width:0.97799999;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline;filter:url(#filter6083)" - transform="matrix(1.8933365,0,0,1.8933365,-105.31989,-495.37559)" /> - <path - style="fill:url(#radialGradient5416);fill-opacity:1;stroke:#737373;stroke-width:1.85168302;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline" - d="m 494.14518,498.08769 c 50.00843,-0.9529 113.55014,39.70163 113.55014,103.70802 0,6.81101 -0.36583,13.31445 -1.0752,19.50789 34.21238,11.86532 31.64282,61.05914 9.06317,61.91853 -10.35905,0.39427 -6.75065,-34.66848 -20.16157,-33.93724 -14.95194,26.03594 -43.79287,55.48846 -83.10344,58.62814 -35.73385,2.85402 -50.49914,-4.85667 -69.1836,-16.77167 -6.56369,4.16419 -14.30863,11.86728 -22.43168,15.11703 -17.04338,6.81846 -35.37965,8.1465 -35.37965,-10.86149 0,-15.56161 9.27071, [...] - id="path5360" - sodipodi:nodetypes="cscscscssccc" /> - <path - style="fill:url(#linearGradient5418);fill-opacity:1;stroke:none;display:inline" - d="m 490.31195,501.99861 c -60.00789,5.2168 -107.09001,72.04563 -87.91275,130.02861 3.24896,11.23668 7.4696,22.02332 11.76512,32.91665 -17.10352,2.3543 -30.64729,22.97 -22.60171,38.87257 9.92701,7.54432 25.07255,0.6534 34.73089,-4.85167 7.42667,-3.29797 14.4103,-16.70707 22.4242,-8.81585 27.77649,18.77637 65.82806,19.08025 95.67267,4.67417 20.86926,-11.02272 37.47189,-28.76927 48.93091,-49.34508 14.74215,-1.58804 16.27001,17.47813 18.99254,27.45338 0.40886,4.51328 3.3967,8.818 [...] - id="path5362" /> - <g - id="g5364" - style="filter:url(#filter6139)" - transform="matrix(1.8933365,0,0,1.8933365,-105.31989,-495.37559)"> - <path - style="fill:#000000" - d="m 298.82133,588.93345 c -2.29156,-1.78445 -2.67759,-2.6514 -2.36383,-5.30877 0.43402,-3.67579 2.33363,-6.95779 4.7302,-8.17246 2.89097,-1.46525 8.66145,0.59446 10.64667,3.80022 1.73266,2.79791 1.70055,3.08784 -0.64437,5.81654 -5.03306,5.85678 -8.44226,6.92196 -12.36867,3.86447 z m 0.41149,-3.50969 c -0.51028,-1.00681 -0.55336,-2.93153 -0.0957,-4.27716 0.75581,-2.22223 0.70222,-2.29827 -0.58439,-0.82916 -1.55776,1.77869 -1.11814,7.38176 0.55771,7.10826 0.59569,-0.0972 0.64 [...] - id="path5366" - sodipodi:nodetypes="cssssccsssccscccssssc" /> - <path - style="fill:#000000;fill-rule:evenodd;stroke:none" - d="m 326.7844,595.06579 c -2.46648,-3.36183 4.00801,-2.92998 8.50563,-3.66397 5.54213,-0.90445 8.50715,-10.28293 7.21632,-4.59151 -1.29085,5.69142 -3.73324,11.98871 -2.82879,17.53084 -7.35103,-10.17981 -10.42669,-5.91353 -12.89316,-9.27536 z" - id="path5368" - sodipodi:nodetypes="cszcz" /> - <path - style="fill:#000000;fill-rule:evenodd;stroke:none" - d="m 320.3929,612.59663 c 11.98871,3.73323 13.94857,-6.3862 19.66087,-8.09427 6.9752,-2.08571 11.6125,3.57202 16.25018,-2.87455 -4.63768,6.44657 -10.95623,2.5679 -16.296,5.78527 -5.18035,3.1213 -7.62634,8.91678 -19.61505,5.18355 z" - id="path5370" - sodipodi:nodetypes="cscsc" /> - <path - style="fill:#ffffff;stroke:none" - d="m 336.68588,599.4815 c 0.006,-0.2019 -0.36096,-0.64796 -0.42276,-1.47067 -0.29657,-3.94831 -6.1911,-6.21808 -7.25759,-3.43571 -0.24338,0.63493 0.58774,1.16912 1.89749,1.23685 1.26995,0.0657 3.17607,1.09972 4.23457,2.30131 1.09251,1.24015 1.53854,1.70469 1.54829,1.36822 z" - id="path5372" - sodipodi:nodetypes="cssssc" /> - <path - sodipodi:type="arc" - style="fill:#ffffff;stroke:#000000;stroke-opacity:1" - id="path5374" - sodipodi:cx="166.31445" - sodipodi:cy="123.08076" - sodipodi:rx="1.1335942" - sodipodi:ry="1.1335942" - d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z" - transform="translate(158.05541,475.03407)" /> - <path - transform="translate(162.2659,476.65349)" - d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z" - sodipodi:ry="1.1335942" - sodipodi:rx="1.1335942" - sodipodi:cy="123.08076" - sodipodi:cx="166.31445" - id="path5376" - style="fill:#ffffff;stroke:#000000;stroke-opacity:1" - sodipodi:type="arc" /> - <path - sodipodi:type="arc" - style="fill:#ffffff;stroke:#000000;stroke-opacity:1" - id="path5378" - sodipodi:cx="166.31445" - sodipodi:cy="123.08076" - sodipodi:rx="1.1335942" - sodipodi:ry="1.1335942" - d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z" - transform="translate(159.35094,479.24456)" /> - <path - transform="translate(178.4601,467.90862)" - d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z" - sodipodi:ry="1.1335942" - sodipodi:rx="1.1335942" - sodipodi:cy="123.08076" - sodipodi:cx="166.31445" - id="path5380" - style="fill:#ffffff;stroke:#000000;stroke-opacity:1" - sodipodi:type="arc" /> - <path - sodipodi:type="arc" - style="fill:#ffffff;stroke:#000000;stroke-opacity:1" - id="path5382" - sodipodi:cx="166.31445" - sodipodi:cy="123.08076" - sodipodi:rx="1.1335942" - sodipodi:ry="1.1335942" - d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z" - transform="translate(178.13622,471.79523)" /> - <path - transform="translate(182.02283,470.17581)" - d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z" - sodipodi:ry="1.1335942" - sodipodi:rx="1.1335942" - sodipodi:cy="123.08076" - sodipodi:cx="166.31445" - id="path5384" - style="fill:#ffffff;stroke:#000000;stroke-opacity:1" - sodipodi:type="arc" /> - <path - sodipodi:type="arc" - style="fill:#ffffff;stroke:#000000;stroke-opacity:1" - id="path5386" - sodipodi:cx="166.31445" - sodipodi:cy="123.08076" - sodipodi:rx="1.1335942" - sodipodi:ry="1.1335942" - d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z" - transform="translate(142.83286,441.9979)" /> - <path - transform="translate(163.88532,436.81576)" - d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z" - sodipodi:ry="1.1335942" - sodipodi:rx="1.1335942" - sodipodi:cy="123.08076" - sodipodi:cx="166.31445" - id="path5388" - style="fill:#ffffff;stroke:#000000;stroke-opacity:1" - sodipodi:type="arc" /> - </g> - <path - style="fill:#000000" - d="m 460.44944,619.67363 c -4.33869,-3.37857 -5.06957,-5.01999 -4.47552,-10.05129 0.82174,-6.9595 4.41835,-13.17343 8.95586,-15.47322 5.47358,-2.7742 16.39904,1.12552 20.15773,7.1951 3.28051,5.29739 3.21971,5.84632 -1.22001,11.01267 -9.52928,11.08886 -15.98404,13.1056 -23.41806,7.31674 z m 0.77909,-6.64502 c -0.96613,-1.90623 -1.0477,-5.55038 -0.18119,-8.09811 1.431,-4.20743 1.32954,-4.35139 -1.10644,-1.56987 -2.94937,3.36765 -2.11702,13.97616 1.05592,13.45832 1.12785,-0.18403 [...] - id="path5390" - sodipodi:nodetypes="cssssccsssccscccssssc" /> - <path - style="fill:#000000;fill-rule:evenodd;stroke:none" - d="m 543.50287,612.20201 c -1.0397,0.5283 -6.15268,10.84486 -14.02253,12.12919 -8.5155,1.38969 -20.76323,0.61661 -16.09335,6.98168 4.66985,6.36508 10.51789,-1.76044 24.43586,17.51336 -1.71242,-10.49311 2.881,-22.41678 5.32502,-33.19256 0.61099,-2.69393 0.70155,-3.60776 0.355,-3.43167 z M 521.552,627.99954 c 3.99071,0.0596 9.37648,3.73563 9.76251,8.87501 0.11701,1.55767 0.8397,2.39858 0.82834,2.78085 -0.0184,0.63705 -0.88985,-0.25532 -2.95834,-2.60335 -2.0041,-2.27501 -5.58307, [...] - id="path5392" /> - <path - style="fill:#000000;fill-rule:evenodd;stroke:none" - d="m 501.29168,664.476 c 22.69867,7.06826 26.40934,-12.09123 37.22465,-15.32518 13.2064,-3.94896 21.98637,6.76303 30.76706,-5.44249 -8.78069,12.20552 -20.74383,4.8619 -30.85381,10.95346 -9.80815,5.90967 -14.43923,16.88247 -37.1379,9.81421 z" - id="path5394" - sodipodi:nodetypes="cscsc" /> - <path - sodipodi:type="arc" - style="fill:none;stroke:#000000;stroke-opacity:1" - id="path5396" - sodipodi:cx="166.31445" - sodipodi:cy="123.08076" - sodipodi:rx="1.1335942" - sodipodi:ry="1.1335942" - d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z" - transform="matrix(1.8933365,0,0,1.8933365,193.93219,404.02378)" /> - <path - transform="matrix(1.8933365,0,0,1.8933365,201.90406,407.08988)" - d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z" - sodipodi:ry="1.1335942" - sodipodi:rx="1.1335942" - sodipodi:cy="123.08076" - sodipodi:cx="166.31445" - id="path5398" - style="fill:none;stroke:#000000;stroke-opacity:1" - sodipodi:type="arc" /> - <path - sodipodi:type="arc" - style="fill:none;stroke:#000000;stroke-opacity:1" - id="path5400" - sodipodi:cx="166.31445" - sodipodi:cy="123.08076" - sodipodi:rx="1.1335942" - sodipodi:ry="1.1335942" - d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z" - transform="matrix(1.8933365,0,0,1.8933365,196.38506,411.99565)" /> - <path - transform="matrix(1.8933365,0,0,1.8933365,232.56513,390.5329)" - d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z" - sodipodi:ry="1.1335942" - sodipodi:rx="1.1335942" - sodipodi:cy="123.08076" - sodipodi:cx="166.31445" - id="path5402" - style="fill:none;stroke:#000000;stroke-opacity:1" - sodipodi:type="arc" /> - <path - sodipodi:type="arc" - style="fill:none;stroke:#000000;stroke-opacity:1" - id="path5404" - sodipodi:cx="166.31445" - sodipodi:cy="123.08076" - sodipodi:rx="1.1335942" - sodipodi:ry="1.1335942" - d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z" - transform="matrix(1.8933365,0,0,1.8933365,231.95192,397.89157)" /> - <path - transform="matrix(1.8933365,0,0,1.8933365,239.31058,394.82545)" - d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z" - sodipodi:ry="1.1335942" - sodipodi:rx="1.1335942" - sodipodi:cy="123.08076" - sodipodi:cx="166.31445" - id="path5406" - style="fill:none;stroke:#000000;stroke-opacity:1" - sodipodi:type="arc" /> - <path - sodipodi:type="arc" - style="fill:none;stroke:#000000;stroke-opacity:1" - id="path5408" - sodipodi:cx="166.31445" - sodipodi:cy="123.08076" - sodipodi:rx="1.1335942" - sodipodi:ry="1.1335942" - d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z" - transform="matrix(1.8933365,0,0,1.8933365,165.11077,341.47519)" /> - <path - transform="matrix(1.8933365,0,0,1.8933365,204.97017,331.66365)" - d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z" - sodipodi:ry="1.1335942" - sodipodi:rx="1.1335942" - sodipodi:cy="123.08076" - sodipodi:cx="166.31445" - id="path5410" - style="fill:none;stroke:#000000;stroke-opacity:1" - sodipodi:type="arc" /> - <path - id="path5412" - d="m 414.16432,664.94387 c -17.10352,2.3543 -30.64729,22.97 -22.60171,38.87257 9.92701,7.54432 25.07255,0.6534 34.73089,-4.85167 7.42667,-3.29797 8.51536,-16.70707 16.52927,-8.81585 -12.5884,-9.64496 -22.24114,-11.62267 -28.65845,-25.20505 z" - style="fill:url(#linearGradient5420);fill-opacity:1;stroke:none;display:inline" - sodipodi:nodetypes="ccccc" /> - <path - id="path5414" - d="m 593.32128,645.47801 c 14.74215,-1.58804 16.27001,17.47813 18.99254,27.45338 0.40886,4.51328 3.3967,8.81801 7.98751,5.20668 14.08663,-11.21914 9.21231,-35.07831 -2.89918,-46.09092 -4.88828,-6.56095 -18.41674,-5.38103 -14.08168,-15.79752 l -9.99919,29.22838 z" - style="fill:url(#linearGradient5422);fill-opacity:1;stroke:none;display:inline" - sodipodi:nodetypes="cccccc" /> - </g> - </g> - </g> -</svg> diff --git a/img/pythonx2go-about-logo.png b/img/pythonx2go-about-logo.png deleted file mode 100644 index 45afc23..0000000 Binary files a/img/pythonx2go-about-logo.png and /dev/null differ diff --git a/pyhoca/wxgui/about.py b/pyhoca/wxgui/about.py index 6744561..7e41e96 100644 --- a/pyhoca/wxgui/about.py +++ b/pyhoca/wxgui/about.py @@ -46,7 +46,7 @@ class PyHocaGUI_AboutFrame(wx.Frame): wxWidget displaying an ,,About'' window for this application. """ - def __init__(self, _PyHocaGUI, caller=None, about_image=None, icon_name='pyhoca-winicon', about_what=None, ): + def __init__(self, _PyHocaGUI, caller=None, about_image=None, icon_name='pyhoca-gui_winicon', about_what=None, ): """\ About window (constructor). @@ -65,10 +65,10 @@ class PyHocaGUI_AboutFrame(wx.Frame): self._PyHocaGUI = _PyHocaGUI self._pyhoca_logger = self._PyHocaGUI._pyhoca_logger - fallback_about_image = 'pyhoca-about-logo.png' + fallback_about_image = 'pyhoca-gui_about-logo.png' if about_image is None: - about_image = fallback_about_image + about_image = '{appname}_about-logo.png'.format(appname=_PyHocaGUI.appname) if not about_image.lower().endswith('.png'): about_image = '%s.png' % about_image diff --git a/pyhoca/wxgui/frontend.py b/pyhoca/wxgui/frontend.py index b7d4939..f55ef8d 100644 --- a/pyhoca/wxgui/frontend.py +++ b/pyhoca/wxgui/frontend.py @@ -228,7 +228,7 @@ class PyHocaGUI(wx.App, x2go.X2GoClient): #SetExitHandler(self._exit_handler) if not self.args.disable_splash: - splash.PyHocaGUI_SplashScreen(splash_image=self.args.splash_image) + splash.PyHocaGUI_SplashScreen(self, splash_image=self.args.splash_image) self.Bind(wx.EVT_IDLE, self.OnIdle) @@ -303,7 +303,7 @@ class PyHocaGUI(wx.App, x2go.X2GoClient): self.about = about.PyHocaGUI_AboutFrame(self, about_image=self.args.about_image) self.about.Show(False) - self.about_pythonx2go = about.PyHocaGUI_AboutFrame(self, about_image='pythonx2go-about-logo.png', about_what="Python X2Go") + self.about_pythonx2go = about.PyHocaGUI_AboutFrame(self, about_image='python-x2go_about-logo.png', about_what="Python X2Go") self.about_pythonx2go.Show(False) self.taskbar = taskbar.PyHocaGUI_TaskBarIcon(self.about) diff --git a/pyhoca/wxgui/launcher.py b/pyhoca/wxgui/launcher.py index 5d43a4d..42638f6 100644 --- a/pyhoca/wxgui/launcher.py +++ b/pyhoca/wxgui/launcher.py @@ -45,10 +45,13 @@ except: pass from x2go import X2GOCLIENT_OS from x2go import CURRENT_LOCAL_USER from x2go import X2GoLogger + +import basepath +import taskbar from pyhoca.wxgui import PyHocaGUI, __VERSION__ from options import * -from basepath import * from messages import PyHoca_MessageWindow_Ok + import wx class PyHocaGUI_Launcher(object): @@ -90,7 +93,8 @@ VERSION: %s sys.path.insert(0, os.getcwd()) os.environ['PYHOCAGUI_DEVELOPMENT'] = '1' print '### %s running in development mode ###' % self.PROG_NAME - + reload(basepath) + reload(taskbar) def setup_consolelog(self): if hasattr(sys, 'frozen') and str(sys.frozen) in ("windows_exe", "console_exe", "1", ): @@ -306,12 +310,12 @@ VERSION: %s args, logger, liblogger = self.parseargs() if X2GOCLIENT_OS == 'Windows': if args.lang: - lang = gettext.translation('PyHoca-GUI', localedir=locale_basepath, languages=[args.lang], ) + lang = gettext.translation('PyHoca-GUI', localedir=basepath.locale_basepath, languages=[args.lang], ) else: - lang = gettext.translation('PyHoca-GUI', localedir=locale_basepath, languages=['en'], ) + lang = gettext.translation('PyHoca-GUI', localedir=basepath.locale_basepath, languages=['en'], ) lang.install(unicode=True) else: - gettext.install('PyHoca-GUI', localedir=locale_basepath, unicode=True) + gettext.install('PyHoca-GUI', localedir=basepath.locale_basepath, unicode=True) if self.check_running(): sys.stderr.write("\n###############################\n### %s: already running for user %s\n###############################\n" % (self.PROG_NAME, CURRENT_LOCAL_USER)) diff --git a/pyhoca/wxgui/splash.py b/pyhoca/wxgui/splash.py index fb8744d..8ef4668 100644 --- a/pyhoca/wxgui/splash.py +++ b/pyhoca/wxgui/splash.py @@ -39,7 +39,7 @@ class PyHocaGUI_SplashScreen(wx.SplashScreen): L{PyHocaGUI} splash screen that gets shown an application startup. """ - def __init__(self, splash_image=None): + def __init__(self, _PyHocaGUI, splash_image=None): """ Splash screen (constructor). @@ -57,7 +57,9 @@ class PyHocaGUI_SplashScreen(wx.SplashScreen): splash_image = None if splash_image is None: - splash_image = os.path.join(basepath.images_basepath, 'pyhoca-splash.png') + splash_image = os.path.join(basepath.images_basepath, '{appname}_splash.png'.format(appname=_PyHocaGUI.appname)) + if not os.path.exists(splash_image): + splash_image = os.path.join(basepath.images_basepath, 'pyhoca-gui_splash.png') if os.path.isfile(str(splash_image)): splash_wximage = wx.Image(splash_image, wx.BITMAP_TYPE_PNG, ) diff --git a/pyhoca/wxgui/taskbar.py b/pyhoca/wxgui/taskbar.py index 5728ca7..b4e6244 100644 --- a/pyhoca/wxgui/taskbar.py +++ b/pyhoca/wxgui/taskbar.py @@ -50,7 +50,7 @@ import basepath _icons_location = basepath.icons_basepath -def MakeIcon(icon_name, fallback_name='pyhoca-trayicon'): +def MakeIcon(icon_name, fallback_name='pyhoca-gui_trayicon.png', appname="pyhoca-gui"): """\ The various platforms have different requirements for the icon size... @@ -59,6 +59,8 @@ def MakeIcon(icon_name, fallback_name='pyhoca-trayicon'): @type icon_name: C{str} @param fallback_name: a fallback icon file name in case C{icon_name} cannot be found @type fallback_name: C{str} + @param appname: name of this application, used to detect icon file + @type appname: C{str} """ if "wxMSW" in wx.PlatformInfo: @@ -69,18 +71,19 @@ def MakeIcon(icon_name, fallback_name='pyhoca-trayicon'): icon_size = '128x128' if icon_name is None: - icon_name = fallback_name + icon_name = '{appname}_trayicon'.format(appname=appname) icon_name = os.path.expanduser(icon_name) if not icon_name.lower().endswith('.png'): icon_name = '%s.png' % icon_name - icon_file = icon_name - if not (os.path.isfile(str(icon_file)) or os.path.islink(str(icon_file))): - icon_file = '%s/PyHoca/%s/%s' % (_icons_location, icon_size, icon_name) + icon_folder = 'PyHoca' + if os.path.isdir(os.path.join(_icons_location, appname)): + icon_folder = appname + icon_file = '%s/%s/%s/%s' % (_icons_location, icon_folder, icon_size, icon_name) if not (os.path.isfile(str(icon_file)) or os.path.islink(str(icon_file))): - icon_file = '%s/PyHoca/%s/%s.png' % (_icons_location, icon_size, fallback_name) + icon_file = '%s/%s/%s/%s' % (_icons_location, icon_folder, icon_size, fallback_name) img = wx.Image(icon_file) icon = wx.IconFromBitmap(img.ConvertToBitmap()) @@ -121,11 +124,11 @@ class PyHocaGUI_TaskBarIcon(wx.TaskBarIcon): """ if x2go.X2GOCLIENT_OS == 'Windows': icon_name = self._PyHocaGUI.tray_icon_connecting or self._PyHocaGUI.tray_icon - self.icon = MakeIcon(icon_name=icon_name, fallback_name='pyhoca-trayicon') + self.icon = MakeIcon(icon_name=icon_name, appname=self._PyHocaGUI.appname) self.SetIcon(self.icon, _(u"PyHoca-GUI\nConnecting you to ,,%s\'\'") % profile_name) else: icon_name = self._PyHocaGUI.tray_icon_connecting or self._PyHocaGUI.tray_icon - self.icon = MakeIcon(icon_name=icon_name, fallback_name='pyhoca-trayicon') + self.icon = MakeIcon(icon_name=icon_name, appname=self._PyHocaGUI.appname) self.SetIcon(self.icon, _(u"PyHoca-GUI (Python X2Go Client)\nCurrently connecting you to remote X2Go server ,,%s\'\'") % profile_name) def SetIconIdle(self): @@ -135,11 +138,11 @@ class PyHocaGUI_TaskBarIcon(wx.TaskBarIcon): """ if x2go.X2GOCLIENT_OS == 'Windows': icon_name = self._PyHocaGUI.tray_icon - self.icon = MakeIcon(icon_name=icon_name, fallback_name='pyhoca-trayicon') + self.icon = MakeIcon(icon_name=icon_name, appname=self._PyHocaGUI.appname) self.SetIcon(self.icon, _(u"PyHoca-GUI\nConnecting you to X2Go...")) else: icon_name = self._PyHocaGUI.tray_icon - self.icon = MakeIcon(icon_name=icon_name, fallback_name='pyhoca-trayicon') + self.icon = MakeIcon(icon_name=icon_name, appname=self._PyHocaGUI.appname) self.SetIcon(self.icon, _(u"PyHoca-GUI (Python X2Go Client)\nClient for connecting you to a remote X2Go server")) def CreateSessionManagerPopupMenu(self, evt): -- Alioth's /srv/git/_hooks_/post-receive-email on /srv/git/code.x2go.org/pyhoca-gui.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch brokerclient in repository pyhoca-gui. commit ac8cc88bace14b64dcfa4f28cfadf6131d90a5e5 Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Date: Fri Feb 7 12:09:19 2014 +0100 typo fix --- pyhoca/mswin/mswin_logging.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyhoca/mswin/mswin_logging.py b/pyhoca/mswin/mswin_logging.py index d0879ff..6e680ba 100644 --- a/pyhoca/mswin/mswin_logging.py +++ b/pyhoca/mswin/mswin_logging.py @@ -23,7 +23,7 @@ import os def setup_mswinlog(PROG_NAME): if hasattr(sys, 'frozen') and str(sys.frozen) in ("windows_exe", "console_exe", "1", ): - class MsWin_Logging(object): + class MSWin_Logging(object): softspace = 0 _fname = os.path.join(os.environ['AppData'], PROG_NAME, '%s.log' % PROG_NAME) -- Alioth's /srv/git/_hooks_/post-receive-email on /srv/git/code.x2go.org/pyhoca-gui.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch brokerclient in repository pyhoca-gui. commit ae4d2d8a0d7da625645df8d8cf008c950e8c0cae Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Date: Fri Feb 7 10:48:05 2014 +0100 Move setup_win32log to a separate module namespace. --- debian/changelog | 2 +- pyhoca-gui | 7 +++++-- pyhoca-gui => pyhoca/mswin/__init__.py | 22 ---------------------- pyhoca/{wxgui => mswin}/win32_logging.py | 0 4 files changed, 6 insertions(+), 25 deletions(-) diff --git a/debian/changelog b/debian/changelog index 8e8e52b..ed07aec 100644 --- a/debian/changelog +++ b/debian/changelog @@ -10,7 +10,7 @@ pyhoca-gui (0.5.0.0-0x2go1) UNRELEASED; urgency=low * Make SCRIPT_NAME in setup.py configurable (monkey-patchable). * Make setup.py importable, only run setup() function on direct calls. * Don't refer to py2exe anymore in nsis_template's naming scheme. - * Move setup_win32log to a separate module file. + * Move setup_win32log to a separate module namespace. -- Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Wed, 08 Jan 2014 21:28:37 +0100 diff --git a/pyhoca-gui b/pyhoca-gui index d6e60b6..bbd2b48 100755 --- a/pyhoca-gui +++ b/pyhoca-gui @@ -23,8 +23,11 @@ import os import sys PROG_NAME = "PyHoca-GUI" -from pyhoca.wxgui.win32_logging import setup_win32log -setup_win32log(PROG_NAME) +try: + from pyhoca.mswin.win32_logging import setup_win32log + setup_win32log(PROG_NAME) +except ImportError: + pass from pyhoca.wxgui import __VERSION__ from pyhoca.wxgui.launcher import PyHocaGUI_Launcher diff --git a/pyhoca-gui b/pyhoca/mswin/__init__.py old mode 100755 new mode 100644 similarity index 61% copy from pyhoca-gui copy to pyhoca/mswin/__init__.py index d6e60b6..f04d824 --- a/pyhoca-gui +++ b/pyhoca/mswin/__init__.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python # -*- coding: utf-8 -*- # Copyright (C) 2010-2013 by Mike Gabriel <mike.gabriel@das-netzwerkteam.de> @@ -19,24 +18,3 @@ # Free Software Foundation, Inc., # 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. -import os -import sys - -PROG_NAME = "PyHoca-GUI" -from pyhoca.wxgui.win32_logging import setup_win32log -setup_win32log(PROG_NAME) - -from pyhoca.wxgui import __VERSION__ -from pyhoca.wxgui.launcher import PyHocaGUI_Launcher - -__author__ = "Mike Gabriel, Dick Kniep" -__version__ = __VERSION__ - - -if __name__ == '__main__': - app = PyHocaGUI_Launcher() - app.setup_process() - app.setup_progname(PROG_NAME) - app.setup_devmode() - args, logger, liblogger = app.parseargs() - app.main(args=args, logger=logger, liblogger=liblogger) diff --git a/pyhoca/wxgui/win32_logging.py b/pyhoca/mswin/win32_logging.py similarity index 100% rename from pyhoca/wxgui/win32_logging.py rename to pyhoca/mswin/win32_logging.py -- Alioth's /srv/git/_hooks_/post-receive-email on /srv/git/code.x2go.org/pyhoca-gui.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch brokerclient in repository pyhoca-gui. commit f5f5d06cdb4216d2d91c6a7453fe501472f9a320 Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Date: Fri Feb 7 12:00:16 2014 +0100 rename occurrences of win32 to mswin --- debian/changelog | 2 +- pyhoca-gui | 4 ++-- .../mswin/{win32_logging.py => mswin_logging.py} | 10 +++++----- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/debian/changelog b/debian/changelog index 3072169..3362e86 100644 --- a/debian/changelog +++ b/debian/changelog @@ -10,7 +10,7 @@ pyhoca-gui (0.5.0.0-0x2go1) UNRELEASED; urgency=low * Make SCRIPT_NAME in setup.py configurable (monkey-patchable). * Make setup.py importable, only run setup() function on direct calls. * Don't refer to py2exe anymore in nsis_template's naming scheme. - * Move setup_win32log to a separate module namespace. + * Move setup_mswinlog to a separate module namespace. * Install more modules into setup.exe: hmac (for ecdsa). * NSIS script: empty installation destination before installing new files into $INSTDIR. diff --git a/pyhoca-gui b/pyhoca-gui index bbd2b48..6cba20a 100755 --- a/pyhoca-gui +++ b/pyhoca-gui @@ -24,8 +24,8 @@ import sys PROG_NAME = "PyHoca-GUI" try: - from pyhoca.mswin.win32_logging import setup_win32log - setup_win32log(PROG_NAME) + from pyhoca.mswin.mswin_logging import setup_mswinlog + setup_mswinlog(PROG_NAME) except ImportError: pass diff --git a/pyhoca/mswin/win32_logging.py b/pyhoca/mswin/mswin_logging.py similarity index 91% rename from pyhoca/mswin/win32_logging.py rename to pyhoca/mswin/mswin_logging.py index b1be3ad..d0879ff 100644 --- a/pyhoca/mswin/win32_logging.py +++ b/pyhoca/mswin/mswin_logging.py @@ -21,9 +21,9 @@ import sys import os -def setup_win32log(PROG_NAME): +def setup_mswinlog(PROG_NAME): if hasattr(sys, 'frozen') and str(sys.frozen) in ("windows_exe", "console_exe", "1", ): - class Win32_Logging(object): + class MsWin_Logging(object): softspace = 0 _fname = os.path.join(os.environ['AppData'], PROG_NAME, '%s.log' % PROG_NAME) @@ -52,7 +52,7 @@ def setup_win32log(PROG_NAME): if self._file is not None: self._file.flush() - sys.stdout = Win32_Logging(filemode='w+') - sys.stderr = Win32_Logging(filemode='a') - del Win32_Logging + sys.stdout = MSWin_Logging(filemode='w+') + sys.stderr = MSWin_Logging(filemode='a') + del MSWin_Logging -- Alioth's /srv/git/_hooks_/post-receive-email on /srv/git/code.x2go.org/pyhoca-gui.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch brokerclient in repository pyhoca-gui. commit 47ea8d71ce05da9ceb5af47968429f33a916799e Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Date: Fri Feb 7 12:32:18 2014 +0100 Allow appname based mini icons on About... windows. --- debian/changelog | 1 + pyhoca/wxgui/about.py | 9 ++++++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/debian/changelog b/debian/changelog index 3362e86..7b64f8b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -14,6 +14,7 @@ pyhoca-gui (0.5.0.0-0x2go1) UNRELEASED; urgency=low * Install more modules into setup.exe: hmac (for ecdsa). * NSIS script: empty installation destination before installing new files into $INSTDIR. + * Allow appname based mini icons on About... windows. -- Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Wed, 08 Jan 2014 21:28:37 +0100 diff --git a/pyhoca/wxgui/about.py b/pyhoca/wxgui/about.py index 7e41e96..5c0e6b8 100644 --- a/pyhoca/wxgui/about.py +++ b/pyhoca/wxgui/about.py @@ -46,7 +46,7 @@ class PyHocaGUI_AboutFrame(wx.Frame): wxWidget displaying an ,,About'' window for this application. """ - def __init__(self, _PyHocaGUI, caller=None, about_image=None, icon_name='pyhoca-gui_winicon', about_what=None, ): + def __init__(self, _PyHocaGUI, caller=None, about_image=None, icon_name=None, about_what=None, ): """\ About window (constructor). @@ -108,16 +108,19 @@ class PyHocaGUI_AboutFrame(wx.Frame): elif "wxMAC" in wx.PlatformInfo: icon_size = '128x128' + if icon_name is None: + icon_name = '{appname}_winicon.png'.format(appname=_PyHocaGUI.appname) + icon_name = os.path.expanduser(icon_name) if not icon_name.lower().endswith('.png'): icon_name = '%s.png' % icon_name icon_file = icon_name if not (os.path.isfile(str(icon_file)) or os.path.islink(str(icon_file))): - icon_file = '%s/PyHoca/%s/%s' % (basepath.icons_basepath, icon_size, icon_name) + icon_file = '%s/%s/%s/%s' % (basepath.icons_basepath, _PyHocaGUI.appname, icon_size, icon_name) if not (os.path.isfile(str(icon_file)) or os.path.islink(str(icon_file))): - icon_file = os.path.normpath('%s/PyHoca/%s/%s.png' % (basepath.icons_basepath, icon_size, 'pyhoca-winicon')) + icon_file = os.path.normpath('%s/PyHoca/%s/%s' % (basepath.icons_basepath, icon_size, 'pyhoca-gui_winicon.png')) img = wx.Image(icon_file) icon = wx.IconFromBitmap(img.ConvertToBitmap()) -- Alioth's /srv/git/_hooks_/post-receive-email on /srv/git/code.x2go.org/pyhoca-gui.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch brokerclient in repository pyhoca-gui. commit fa62f0f51e3ef98517d078f4fd0f39a15b632746 Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Date: Fri Feb 7 11:55:08 2014 +0100 NSIS script: empty installation destination before installing new files into $INSTDIR. --- debian/changelog | 2 ++ nsis_template.py | 3 +++ 2 files changed, 5 insertions(+) diff --git a/debian/changelog b/debian/changelog index f626033..3072169 100644 --- a/debian/changelog +++ b/debian/changelog @@ -12,6 +12,8 @@ pyhoca-gui (0.5.0.0-0x2go1) UNRELEASED; urgency=low * Don't refer to py2exe anymore in nsis_template's naming scheme. * Move setup_win32log to a separate module namespace. * Install more modules into setup.exe: hmac (for ecdsa). + * NSIS script: empty installation destination before installing new files + into $INSTDIR. -- Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Wed, 08 Jan 2014 21:28:37 +0100 diff --git a/nsis_template.py b/nsis_template.py index 0daa456..3adf94f 100644 --- a/nsis_template.py +++ b/nsis_template.py @@ -244,6 +244,9 @@ Section "{program_name} ($REQUIRED)" SectionIn RO ; Set output path to the installation directory. SetOutPath "$INSTDIR" + ; Empty $INSTDIR before writing new files to it. + RmDir /r "$INSTDIR\\*.*" + ; Install new files... File /r /x .svn /x .git "${{distOutputDirectory}}\\*.*" ; Write the installation path into the registry -- Alioth's /srv/git/_hooks_/post-receive-email on /srv/git/code.x2go.org/pyhoca-gui.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch brokerclient in repository pyhoca-gui. commit 29bd0bd52d691b58d08913d54d456eef3b3792e7 Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Date: Fri Feb 7 11:50:25 2014 +0100 Install more modules into setup.exe: hmac (for ecdsa). --- debian/changelog | 1 + setup.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index ed07aec..f626033 100644 --- a/debian/changelog +++ b/debian/changelog @@ -11,6 +11,7 @@ pyhoca-gui (0.5.0.0-0x2go1) UNRELEASED; urgency=low * Make setup.py importable, only run setup() function on direct calls. * Don't refer to py2exe anymore in nsis_template's naming scheme. * Move setup_win32log to a separate module namespace. + * Install more modules into setup.exe: hmac (for ecdsa). -- Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Wed, 08 Jan 2014 21:28:37 +0100 diff --git a/setup.py b/setup.py index f3d1839..a12cdfb 100755 --- a/setup.py +++ b/setup.py @@ -291,7 +291,7 @@ if platform.system() == 'Windows': 'optimize': 2, }, 'build_with_bbfreeze': { - 'includes': ['greenlet', 'gevent.core', 'gevent.ares', 'gevent._semaphore', 'gevent._util', 'gevent.resolver_thread', 'gevent.resolver_ares', 'gevent.server', 'gevent.socket', 'gevent.threadpool', 'gevent.select', 'gevent.subprocess', 'distutils.version', 'Crypto', 'Crypto.Random', 'Crypto.Hash', 'Crypto.PublicKey', 'Crypto.PublicKey.DSA', 'Crypto.PublicKey.RSA', 'Crypto.Cipher', 'Crypto.Cipher.AES', 'Crypto.Cipher.ARC4', 'Crypto.Cipher.Blowfish', 'Crypto.Cipher.DES3', 'Crypt [...] + 'includes': ['hmac', 'greenlet', 'gevent.core', 'gevent.ares', 'gevent._semaphore', 'gevent._util', 'gevent.resolver_thread', 'gevent.resolver_ares', 'gevent.server', 'gevent.socket', 'gevent.threadpool', 'gevent.select', 'gevent.subprocess', 'distutils.version', 'Crypto', 'Crypto.Random', 'Crypto.Hash', 'Crypto.PublicKey', 'Crypto.PublicKey.DSA', 'Crypto.PublicKey.RSA', 'Crypto.Cipher', 'Crypto.Cipher.AES', 'Crypto.Cipher.ARC4', 'Crypto.Cipher.Blowfish', 'Crypto.Cipher.DES3' [...] 'excludes': ['MSVCR90.dll', 'MSVCP90.dll', ], } } -- Alioth's /srv/git/_hooks_/post-receive-email on /srv/git/code.x2go.org/pyhoca-gui.git