[X2Go-Commits] python-x2go.git - build-baikal (branch) updated: 0.0.38.0-69-g30f60e3

X2Go dev team git-admin at x2go.org
Wed Jan 8 15:28:09 CET 2014


The branch, build-baikal has been updated
       via  30f60e3f41153910472c95716759ccf4380a1714 (commit)
      from  4a081cdf413c8653e53f7336ca2f483bb5e1a6c7 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
-----------------------------------------------------------------------

Summary of changes:
 debian/changelog                                   |    2 +-
 doc/html/api-objects.txt                           |   33 +-
 doc/html/class-tree.html                           |    8 +-
 doc/html/help.html                                 |    2 +-
 doc/html/identifier-index.html                     |  414 ++++-----
 doc/html/module-tree.html                          |    2 +-
 doc/html/redirect.html                             |    2 +-
 doc/html/toc-everything.html                       |   10 +-
 doc/html/toc-x2go.utils-module.html                |    3 +-
 doc/html/toc-x2go.x2go_exceptions-module.html      |    7 +-
 doc/html/x2go-module.html                          |    4 +-
 doc/html/x2go-pysrc.html                           |    4 +-
 doc/html/x2go.backends-module.html                 |    2 +-
 doc/html/x2go.backends-pysrc.html                  |    2 +-
 doc/html/x2go.backends.control-module.html         |    2 +-
 doc/html/x2go.backends.control-pysrc.html          |    2 +-
 doc/html/x2go.backends.control._stdout-module.html |    2 +-
 doc/html/x2go.backends.control._stdout-pysrc.html  |    2 +-
 ...rol._stdout.X2goControlSessionSTDOUT-class.html |    2 +-
 doc/html/x2go.backends.info-module.html            |    2 +-
 doc/html/x2go.backends.info-pysrc.html             |    2 +-
 doc/html/x2go.backends.info._stdout-module.html    |    2 +-
 doc/html/x2go.backends.info._stdout-pysrc.html     |    2 +-
 ...._stdout.X2goServerSessionInfoSTDOUT-class.html |    2 +-
 ...._stdout.X2goServerSessionListSTDOUT-class.html |    2 +-
 doc/html/x2go.backends.printing-module.html        |    2 +-
 doc/html/x2go.backends.printing-pysrc.html         |    2 +-
 doc/html/x2go.backends.printing._file-module.html  |    2 +-
 doc/html/x2go.backends.printing._file-pysrc.html   |  373 +++++---
 ...rinting._file.X2goClientPrintingFILE-class.html |   91 +-
 doc/html/x2go.backends.printing._gconf-module.html |    2 +-
 doc/html/x2go.backends.printing._gconf-pysrc.html  |  159 ++--
 ...nting._gconf.X2goClientPrintingGCONF-class.html |    5 +-
 .../x2go.backends.printing._winreg-module.html     |    2 +-
 doc/html/x2go.backends.printing._winreg-pysrc.html |  155 ++--
 ...ing._winreg.X2goClientPrintingWINREG-class.html |    5 +-
 doc/html/x2go.backends.profiles-module.html        |    2 +-
 doc/html/x2go.backends.profiles-pysrc.html         |    2 +-
 doc/html/x2go.backends.profiles._file-module.html  |    2 +-
 doc/html/x2go.backends.profiles._file-pysrc.html   |    2 +-
 ...ofiles._file.X2goSessionProfilesFILE-class.html |    3 +-
 doc/html/x2go.backends.profiles._gconf-module.html |    2 +-
 doc/html/x2go.backends.profiles._gconf-pysrc.html  |    2 +-
 ...iles._gconf.X2goSessionProfilesGCONF-class.html |    3 +-
 ...x2go.backends.profiles._httpsbroker-module.html |    2 +-
 .../x2go.backends.profiles._httpsbroker-pysrc.html |    2 +-
 ...roker.X2goSessionProfilesHTTPSBROKER-class.html |    3 +-
 .../x2go.backends.profiles._winreg-module.html     |    2 +-
 doc/html/x2go.backends.profiles._winreg-pysrc.html |    2 +-
 ...es._winreg.X2goSessionProfilesWINREG-class.html |    3 +-
 doc/html/x2go.backends.proxy-module.html           |    2 +-
 doc/html/x2go.backends.proxy-pysrc.html            |    2 +-
 doc/html/x2go.backends.proxy._nx3-module.html      |    2 +-
 doc/html/x2go.backends.proxy._nx3-pysrc.html       |    2 +-
 ...2go.backends.proxy._nx3.X2goProxyNX3-class.html |    2 +-
 doc/html/x2go.backends.proxy.base-module.html      |    2 +-
 doc/html/x2go.backends.proxy.base-pysrc.html       |    2 +-
 ...go.backends.proxy.base.X2goProxyBASE-class.html |    2 +-
 doc/html/x2go.backends.settings-module.html        |    2 +-
 doc/html/x2go.backends.settings-pysrc.html         |    2 +-
 doc/html/x2go.backends.settings._file-module.html  |    2 +-
 doc/html/x2go.backends.settings._file-pysrc.html   |    2 +-
 ...ettings._file.X2goClientSettingsFILE-class.html |    3 +-
 doc/html/x2go.backends.settings._gconf-module.html |    2 +-
 doc/html/x2go.backends.settings._gconf-pysrc.html  |    2 +-
 ...tings._gconf.X2goClientSettingsGCONF-class.html |    3 +-
 .../x2go.backends.settings._winreg-module.html     |    2 +-
 doc/html/x2go.backends.settings._winreg-pysrc.html |    2 +-
 ...ngs._winreg.X2goClientSettingsWINREG-class.html |    3 +-
 doc/html/x2go.backends.terminal-module.html        |    2 +-
 doc/html/x2go.backends.terminal-pysrc.html         |    2 +-
 .../x2go.backends.terminal._stdout-module.html     |    2 +-
 doc/html/x2go.backends.terminal._stdout-pysrc.html |    2 +-
 ...s.terminal._stdout.X2goSessionParams-class.html |    2 +-
 ...al._stdout.X2goTerminalSessionSTDOUT-class.html |    6 +-
 doc/html/x2go.cache-module.html                    |    2 +-
 doc/html/x2go.cache-pysrc.html                     |    2 +-
 .../x2go.cache.X2goListSessionsCache-class.html    |    2 +-
 doc/html/x2go.checkhosts-module.html               |    2 +-
 doc/html/x2go.checkhosts-pysrc.html                |    2 +-
 ....checkhosts.X2goInteractiveAddPolicy-class.html |    2 +-
 doc/html/x2go.cleanup-module.html                  |    2 +-
 doc/html/x2go.cleanup-pysrc.html                   |    2 +-
 doc/html/x2go.client-module.html                   |    2 +-
 doc/html/x2go.client-pysrc.html                    |    6 +-
 doc/html/x2go.client.X2goClient-class.html         |    3 +-
 doc/html/x2go.defaults-module.html                 |    6 +-
 doc/html/x2go.defaults-pysrc.html                  |  310 +++----
 ...2go.defaults.OSNotSupportedException-class.html |    2 +-
 doc/html/x2go.dropbox-module.html                  |    2 +-
 doc/html/x2go.dropbox-pysrc.html                   |    2 +-
 doc/html/x2go.dropbox.X2goDropboxJob-class.html    |    2 +-
 doc/html/x2go.dropbox.X2goDropboxQueue-class.html  |    2 +-
 doc/html/x2go.dropboxactions-module.html           |    2 +-
 doc/html/x2go.dropboxactions-pysrc.html            |    2 +-
 ...2go.dropboxactions.X2goDropboxAction-class.html |    2 +-
 ...dropboxactions.X2goDropboxActionOPEN-class.html |    2 +-
 ...boxactions.X2goDropboxActionOPENWITH-class.html |    2 +-
 ...opboxactions.X2goDropboxActionSAVEAS-class.html |    2 +-
 doc/html/x2go.forward-module.html                  |    2 +-
 doc/html/x2go.forward-pysrc.html                   |    2 +-
 doc/html/x2go.forward.X2goFwServer-class.html      |    2 +-
 doc/html/x2go.gevent_subprocess-module.html        |    2 +-
 doc/html/x2go.gevent_subprocess-pysrc.html         |    2 +-
 doc/html/x2go.gevent_subprocess.Popen-class.html   |    2 +-
 doc/html/x2go.guardian-module.html                 |    2 +-
 doc/html/x2go.guardian-pysrc.html                  |    2 +-
 .../x2go.guardian.X2goSessionGuardian-class.html   |    2 +-
 doc/html/x2go.inifiles-module.html                 |    2 +-
 doc/html/x2go.inifiles-pysrc.html                  |  377 ++++----
 doc/html/x2go.inifiles.X2goIniFile-class.html      |   19 +-
 doc/html/x2go.log-module.html                      |    2 +-
 doc/html/x2go.log-pysrc.html                       |    2 +-
 doc/html/x2go.log.X2goLogger-class.html            |    2 +-
 doc/html/x2go.printactions-module.html             |    2 +-
 doc/html/x2go.printactions-pysrc.html              |  912 ++++++++++----------
 .../x2go.printactions.X2goPrintAction-class.html   |    2 +-
 ...o.printactions.X2goPrintActionDIALOG-class.html |    2 +-
 ....printactions.X2goPrintActionPDFSAVE-class.html |    2 +-
 ....printactions.X2goPrintActionPDFVIEW-class.html |    2 +-
 ...go.printactions.X2goPrintActionPRINT-class.html |    2 +-
 ...printactions.X2goPrintActionPRINTCMD-class.html |    2 +-
 doc/html/x2go.printqueue-module.html               |    2 +-
 doc/html/x2go.printqueue-pysrc.html                |    2 +-
 doc/html/x2go.printqueue.X2goPrintJob-class.html   |    2 +-
 doc/html/x2go.printqueue.X2goPrintQueue-class.html |    2 +-
 doc/html/x2go.pulseaudio-module.html               |    2 +-
 doc/html/x2go.pulseaudio-pysrc.html                |    2 +-
 doc/html/x2go.pulseaudio.X2goPulseAudio-class.html |    2 +-
 doc/html/x2go.registry-module.html                 |    2 +-
 doc/html/x2go.registry-pysrc.html                  |    2 +-
 .../x2go.registry.X2goSessionRegistry-class.html   |    2 +-
 doc/html/x2go.rforward-module.html                 |    2 +-
 doc/html/x2go.rforward-pysrc.html                  |    2 +-
 ...x2go.rforward.X2goRevFwChannelThread-class.html |    2 +-
 doc/html/x2go.rforward.X2goRevFwTunnel-class.html  |    2 +-
 doc/html/x2go.session-module.html                  |    2 +-
 doc/html/x2go.session-pysrc.html                   |    2 +-
 doc/html/x2go.session.X2goSession-class.html       |    2 +-
 doc/html/x2go.sftpserver-module.html               |    2 +-
 doc/html/x2go.sftpserver-pysrc.html                |    2 +-
 ...ftpserver.X2goRevFwSFTPChannelThread-class.html |    2 +-
 ...2go.sftpserver.X2goRevFwTunnelToSFTP-class.html |    2 +-
 doc/html/x2go.sshproxy-module.html                 |    2 +-
 doc/html/x2go.sshproxy-pysrc.html                  |    2 +-
 doc/html/x2go.sshproxy.X2goSSHProxy-class.html     |    2 +-
 doc/html/x2go.utils-module.html                    |   18 +-
 doc/html/x2go.utils-pysrc.html                     |  539 ++++++------
 doc/html/x2go.x2go_exceptions-module.html          |   23 +-
 doc/html/x2go.x2go_exceptions-pysrc.html           |   47 +-
 .../x2go.x2go_exceptions.WindowsError-class.html   |    2 +-
 ....x2go_exceptions.X2goClientException-class.html |    2 +-
 ...ceptions.X2goControlSessionException-class.html |    2 +-
 ...2go_exceptions.X2goFwTunnelException-class.html |    2 +-
 ...x2go_exceptions.X2goHostKeyException-class.html |    2 +-
 ...tions.X2goNotImplementedYetException-class.html |    2 +-
 ..._exceptions.X2goPrintActionException-class.html |    2 +-
 ...o.x2go_exceptions.X2goPrintException-class.html |    2 +-
 ...o_exceptions.X2goPrintQueueException-class.html |    2 +-
 ...x2go_exceptions.X2goProfileException-class.html |    2 +-
 ..._exceptions.X2goRevFwTunnelException-class.html |    2 +-
 ....X2goSSHProxyAuthenticationException-class.html |    2 +-
 ...2go_exceptions.X2goSSHProxyException-class.html |    2 +-
 ...eptions.X2goSSHProxyHostKeyException-class.html |    2 +-
 ...exceptions.X2goSessionCacheException-class.html |    2 +-
 ...x2go_exceptions.X2goSessionException-class.html |    2 +-
 ...eptions.X2goSessionRegistryException-class.html |    2 +-
 ...2go_exceptions.X2goSettingsException-class.html |  178 ----
 ...eptions.X2goTerminalSessionException-class.html |    2 +-
 ...go.x2go_exceptions.X2goUserException-class.html |    2 +-
 doc/html/x2go.xserver-module.html                  |    2 +-
 doc/html/x2go.xserver-pysrc.html                   |    2 +-
 doc/html/x2go.xserver.X2goClientXConfig-class.html |    3 +-
 doc/html/x2go.xserver.X2goXServer-class.html       |    2 +-
 doc/pdf/Python-X2go_API.pdf                        |  Bin 1002091 -> 1007321 bytes
 175 files changed, 2081 insertions(+), 1936 deletions(-)
 delete mode 100644 doc/html/x2go.x2go_exceptions.X2goSettingsException-class.html

The diff of changes is:
diff --git a/debian/changelog b/debian/changelog
index 4674472..e055d31 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -3,7 +3,7 @@ python-x2go (0.0.39.0-0~nwt1) natty lucid maverick stable testing unstable; urge
   * new upstream features (0.0.39.0):
       - re-worked infrastructure for providing a printing preferences dialog 
 
- -- Mike Gabriel <mike.gabriel at das-netzwerkteam.de>  Tue, 1 Mar 2011 00:20:00 +0100
+ -- Mike Gabriel <mike.gabriel at das-netzwerkteam.de>  Tue, 1 Mar 2011 00:32:00 +0100
 
 python-x2go (0.0.38.0-0~nwt1) natty lucid maverick stable testing unstable; urgency=low
 
diff --git a/doc/html/api-objects.txt b/doc/html/api-objects.txt
index fc6f142..2bab1f6 100644
--- a/doc/html/api-objects.txt
+++ b/doc/html/api-objects.txt
@@ -1,7 +1,7 @@
 x2go	x2go-module.html
 x2go.__VERSION__	x2go-module.html#__VERSION__
-x2go.x2go_cleanup	x2go.cleanup-module.html#x2go_cleanup
 x2go.__NAME__	x2go-module.html#__NAME__
+x2go.x2go_cleanup	x2go.cleanup-module.html#x2go_cleanup
 x2go.__package__	x2go-module.html#__package__
 x2go.backends	x2go.backends-module.html
 x2go.backends.__package__	x2go.backends-module.html#__package__
@@ -21,10 +21,11 @@ x2go.backends.printing	x2go.backends.printing-module.html
 x2go.backends.printing.__package__	x2go.backends.printing-module.html#__package__
 x2go.backends.printing._file	x2go.backends.printing._file-module.html
 x2go.backends.printing._file.__package__	x2go.backends.printing._file-module.html#__package__
+x2go.backends.printing._file._print_property_map	x2go.backends.printing._file-module.html#_print_property_map
 x2go.backends.printing._file.__NAME__	x2go.backends.printing._file-module.html#__NAME__
 x2go.backends.printing._gconf	x2go.backends.printing._gconf-module.html
-x2go.backends.printing._gconf.__NAME__	x2go.backends.printing._gconf-module.html#__NAME__
 x2go.backends.printing._gconf.__package__	x2go.backends.printing._gconf-module.html#__package__
+x2go.backends.printing._gconf.__NAME__	x2go.backends.printing._gconf-module.html#__NAME__
 x2go.backends.printing._winreg	x2go.backends.printing._winreg-module.html
 x2go.backends.printing._winreg.__package__	x2go.backends.printing._winreg-module.html#__package__
 x2go.backends.printing._winreg.__NAME__	x2go.backends.printing._winreg-module.html#__NAME__
@@ -190,8 +191,8 @@ x2go.pulseaudio	x2go.pulseaudio-module.html
 x2go.pulseaudio.__package__	x2go.pulseaudio-module.html#__package__
 x2go.pulseaudio.__NAME__	x2go.pulseaudio-module.html#__NAME__
 x2go.registry	x2go.registry-module.html
-x2go.registry.__NAME__	x2go.registry-module.html#__NAME__
 x2go.registry.__package__	x2go.registry-module.html#__package__
+x2go.registry.__NAME__	x2go.registry-module.html#__NAME__
 x2go.rforward	x2go.rforward-module.html
 x2go.rforward.x2go_transport_tcp_handler	x2go.rforward-module.html#x2go_transport_tcp_handler
 x2go.rforward.x2go_rev_forward_channel_handler	x2go.rforward-module.html#x2go_rev_forward_channel_handler
@@ -207,8 +208,8 @@ x2go.sftpserver.x2go_rev_forward_sftpchannel_handler	x2go.sftpserver-module.html
 x2go.sftpserver.__package__	x2go.sftpserver-module.html#__package__
 x2go.sftpserver.__NAME__	x2go.sftpserver-module.html#__NAME__
 x2go.sshproxy	x2go.sshproxy-module.html
-x2go.sshproxy.__NAME__	x2go.sshproxy-module.html#__NAME__
 x2go.sshproxy.__package__	x2go.sshproxy-module.html#__package__
+x2go.sshproxy.__NAME__	x2go.sshproxy-module.html#__NAME__
 x2go.utils	x2go.utils-module.html
 x2go.utils.get_encoding	x2go.utils-module.html#get_encoding
 x2go.utils.session_names_by_timestamp	x2go.utils-module.html#session_names_by_timestamp
@@ -220,6 +221,7 @@ x2go.utils._genSessionProfileId	x2go.utils-module.html#_genSessionProfileId
 x2go.utils._convert_SessionProfileOptions_2_SessionParams	x2go.utils-module.html#_convert_SessionProfileOptions_2_SessionParams
 x2go.utils.__package__	x2go.utils-module.html#__package__
 x2go.utils.find_session_line_in_x2golistsessions	x2go.utils-module.html#find_session_line_in_x2golistsessions
+x2go.utils.is_abs_path	x2go.utils-module.html#is_abs_path
 x2go.utils._checkSessionProfileDefaults	x2go.utils-module.html#_checkSessionProfileDefaults
 x2go.utils.is_in_nx3packmethods	x2go.utils-module.html#is_in_nx3packmethods
 x2go.utils.__NAME__	x2go.utils-module.html#__NAME__
@@ -227,8 +229,8 @@ x2go.utils.unique	x2go.utils-module.html#unique
 x2go.utils.patiently_remove_file	x2go.utils-module.html#patiently_remove_file
 x2go.utils.slugify	x2go.utils-module.html#slugify
 x2go.x2go_exceptions	x2go.x2go_exceptions-module.html
-x2go.x2go_exceptions.__NAME__	x2go.x2go_exceptions-module.html#__NAME__
 x2go.x2go_exceptions.__package__	x2go.x2go_exceptions-module.html#__package__
+x2go.x2go_exceptions.__NAME__	x2go.x2go_exceptions-module.html#__NAME__
 x2go.xserver	x2go.xserver-module.html
 x2go.xserver.__package__	x2go.xserver-module.html#__package__
 x2go.xserver.__NAME__	x2go.xserver-module.html#__NAME__
@@ -275,8 +277,11 @@ x2go.backends.info._stdout.X2goServerSessionListSTDOUT.get_session_info	x2go.bac
 x2go.backends.info._stdout.X2goServerSessionListSTDOUT.__call__	x2go.backends.info._stdout.X2goServerSessionListSTDOUT-class.html#__call__
 x2go.backends.info._stdout.X2goServerSessionListSTDOUT.__init__	x2go.backends.info._stdout.X2goServerSessionListSTDOUT-class.html#__init__
 x2go.backends.printing._file.X2goClientPrintingFILE	x2go.backends.printing._file.X2goClientPrintingFILE-class.html
+x2go.backends.printing._file.X2goClientPrintingFILE.get_property	x2go.backends.printing._file.X2goClientPrintingFILE-class.html#get_property
+x2go.inifiles.X2goIniFile.load	x2go.inifiles.X2goIniFile-class.html#load
 x2go.inifiles.X2goIniFile.printable_config_file	x2go.inifiles.X2goIniFile-class.html#printable_config_file
 x2go.inifiles.X2goIniFile.write_user_config	x2go.inifiles.X2goIniFile-class.html#write_user_config
+x2go.backends.printing._file.X2goClientPrintingFILE.defaultValues	x2go.backends.printing._file.X2goClientPrintingFILE-class.html#defaultValues
 x2go.inifiles.X2goIniFile.get_type	x2go.inifiles.X2goIniFile-class.html#get_type
 x2go.backends.printing._file.X2goClientPrintingFILE._detect_print_action	x2go.backends.printing._file.X2goClientPrintingFILE-class.html#_detect_print_action
 x2go.backends.printing._file.X2goClientPrintingFILE.__init__	x2go.backends.printing._file.X2goClientPrintingFILE-class.html#__init__
@@ -285,15 +290,18 @@ x2go.inifiles.X2goIniFile.write	x2go.inifiles.X2goIniFile-class.html#write
 x2go.inifiles.X2goIniFile.__call__	x2go.inifiles.X2goIniFile-class.html#__call__
 x2go.inifiles.X2goIniFile.update_value	x2go.inifiles.X2goIniFile-class.html#update_value
 x2go.inifiles.X2goIniFile.get	x2go.inifiles.X2goIniFile-class.html#get
-x2go.backends.printing._file.X2goClientPrintingFILE.defaultValues	x2go.backends.printing._file.X2goClientPrintingFILE-class.html#defaultValues
 x2go.backends.printing._file.X2goClientPrintingFILE._print_action	x2go.backends.printing._file.X2goClientPrintingFILE-class.html#_print_action
 x2go.backends.printing._file.X2goClientPrintingFILE.config_files	x2go.backends.printing._file.X2goClientPrintingFILE-class.html#config_files
 x2go.inifiles.X2goIniFile._storeValue	x2go.inifiles.X2goIniFile-class.html#_storeValue
+x2go.backends.printing._file.X2goClientPrintingFILE.get_print_action	x2go.backends.printing._file.X2goClientPrintingFILE-class.html#get_print_action
 x2go.inifiles.X2goIniFile._fill_defaults	x2go.inifiles.X2goIniFile-class.html#_fill_defaults
 x2go.inifiles.X2goIniFile.user_config_file	x2go.inifiles.X2goIniFile-class.html#user_config_file
 x2go.inifiles.X2goIniFile.__repr__	x2go.inifiles.X2goIniFile-class.html#__repr__
+x2go.backends.printing._file.X2goClientPrintingFILE.store_print_action	x2go.backends.printing._file.X2goClientPrintingFILE-class.html#store_print_action
 x2go.backends.printing._file.X2goClientPrintingFILE.print_action	x2go.backends.printing._file.X2goClientPrintingFILE-class.html#print_action
+x2go.backends.printing._file.X2goClientPrintingFILE.set_property	x2go.backends.printing._file.X2goClientPrintingFILE-class.html#set_property
 x2go.backends.printing._gconf.X2goClientPrintingGCONF	x2go.backends.printing._gconf.X2goClientPrintingGCONF-class.html
+x2go.inifiles.X2goIniFile.load	x2go.inifiles.X2goIniFile-class.html#load
 x2go.inifiles.X2goIniFile.printable_config_file	x2go.inifiles.X2goIniFile-class.html#printable_config_file
 x2go.inifiles.X2goIniFile.write_user_config	x2go.inifiles.X2goIniFile-class.html#write_user_config
 x2go.inifiles.X2goIniFile.get_type	x2go.inifiles.X2goIniFile-class.html#get_type
@@ -311,6 +319,7 @@ x2go.inifiles.X2goIniFile._fill_defaults	x2go.inifiles.X2goIniFile-class.html#_f
 x2go.inifiles.X2goIniFile.user_config_file	x2go.inifiles.X2goIniFile-class.html#user_config_file
 x2go.inifiles.X2goIniFile.__repr__	x2go.inifiles.X2goIniFile-class.html#__repr__
 x2go.backends.printing._winreg.X2goClientPrintingWINREG	x2go.backends.printing._winreg.X2goClientPrintingWINREG-class.html
+x2go.inifiles.X2goIniFile.load	x2go.inifiles.X2goIniFile-class.html#load
 x2go.inifiles.X2goIniFile.printable_config_file	x2go.inifiles.X2goIniFile-class.html#printable_config_file
 x2go.inifiles.X2goIniFile.write_user_config	x2go.inifiles.X2goIniFile-class.html#write_user_config
 x2go.inifiles.X2goIniFile.get_type	x2go.inifiles.X2goIniFile-class.html#get_type
@@ -328,6 +337,7 @@ x2go.inifiles.X2goIniFile._fill_defaults	x2go.inifiles.X2goIniFile-class.html#_f
 x2go.inifiles.X2goIniFile.user_config_file	x2go.inifiles.X2goIniFile-class.html#user_config_file
 x2go.inifiles.X2goIniFile.__repr__	x2go.inifiles.X2goIniFile-class.html#__repr__
 x2go.backends.profiles._file.X2goSessionProfilesFILE	x2go.backends.profiles._file.X2goSessionProfilesFILE-class.html
+x2go.inifiles.X2goIniFile.load	x2go.inifiles.X2goIniFile-class.html#load
 x2go.inifiles.X2goIniFile.printable_config_file	x2go.inifiles.X2goIniFile-class.html#printable_config_file
 x2go.inifiles.X2goIniFile.write_user_config	x2go.inifiles.X2goIniFile-class.html#write_user_config
 x2go.inifiles.X2goIniFile.defaultValues	x2go.inifiles.X2goIniFile-class.html#defaultValues
@@ -361,6 +371,7 @@ x2go.inifiles.X2goIniFile.user_config_file	x2go.inifiles.X2goIniFile-class.html#
 x2go.inifiles.X2goIniFile.__repr__	x2go.inifiles.X2goIniFile-class.html#__repr__
 x2go.backends.profiles._file.X2goSessionProfilesFILE.to_session_params	x2go.backends.profiles._file.X2goSessionProfilesFILE-class.html#to_session_params
 x2go.backends.profiles._gconf.X2goSessionProfilesGCONF	x2go.backends.profiles._gconf.X2goSessionProfilesGCONF-class.html
+x2go.inifiles.X2goIniFile.load	x2go.inifiles.X2goIniFile-class.html#load
 x2go.inifiles.X2goIniFile.printable_config_file	x2go.inifiles.X2goIniFile-class.html#printable_config_file
 x2go.inifiles.X2goIniFile.write_user_config	x2go.inifiles.X2goIniFile-class.html#write_user_config
 x2go.inifiles.X2goIniFile.get_type	x2go.inifiles.X2goIniFile-class.html#get_type
@@ -378,6 +389,7 @@ x2go.inifiles.X2goIniFile._fill_defaults	x2go.inifiles.X2goIniFile-class.html#_f
 x2go.inifiles.X2goIniFile.user_config_file	x2go.inifiles.X2goIniFile-class.html#user_config_file
 x2go.inifiles.X2goIniFile.__repr__	x2go.inifiles.X2goIniFile-class.html#__repr__
 x2go.backends.profiles._httpsbroker.X2goSessionProfilesHTTPSBROKER	x2go.backends.profiles._httpsbroker.X2goSessionProfilesHTTPSBROKER-class.html
+x2go.inifiles.X2goIniFile.load	x2go.inifiles.X2goIniFile-class.html#load
 x2go.inifiles.X2goIniFile.printable_config_file	x2go.inifiles.X2goIniFile-class.html#printable_config_file
 x2go.inifiles.X2goIniFile.write_user_config	x2go.inifiles.X2goIniFile-class.html#write_user_config
 x2go.inifiles.X2goIniFile.get_type	x2go.inifiles.X2goIniFile-class.html#get_type
@@ -395,6 +407,7 @@ x2go.inifiles.X2goIniFile._fill_defaults	x2go.inifiles.X2goIniFile-class.html#_f
 x2go.inifiles.X2goIniFile.user_config_file	x2go.inifiles.X2goIniFile-class.html#user_config_file
 x2go.inifiles.X2goIniFile.__repr__	x2go.inifiles.X2goIniFile-class.html#__repr__
 x2go.backends.profiles._winreg.X2goSessionProfilesWINREG	x2go.backends.profiles._winreg.X2goSessionProfilesWINREG-class.html
+x2go.inifiles.X2goIniFile.load	x2go.inifiles.X2goIniFile-class.html#load
 x2go.inifiles.X2goIniFile.printable_config_file	x2go.inifiles.X2goIniFile-class.html#printable_config_file
 x2go.inifiles.X2goIniFile.write_user_config	x2go.inifiles.X2goIniFile-class.html#write_user_config
 x2go.inifiles.X2goIniFile.get_type	x2go.inifiles.X2goIniFile-class.html#get_type
@@ -446,6 +459,7 @@ x2go.backends.proxy.base.X2goProxyBASE.stop_thread	x2go.backends.proxy.base.X2go
 x2go.backends.proxy.base.X2goProxyBASE._generate_cmdline	x2go.backends.proxy.base.X2goProxyBASE-class.html#_generate_cmdline
 x2go.backends.proxy.base.X2goProxyBASE.fw_tunnel	x2go.backends.proxy.base.X2goProxyBASE-class.html#fw_tunnel
 x2go.backends.settings._file.X2goClientSettingsFILE	x2go.backends.settings._file.X2goClientSettingsFILE-class.html
+x2go.inifiles.X2goIniFile.load	x2go.inifiles.X2goIniFile-class.html#load
 x2go.inifiles.X2goIniFile.printable_config_file	x2go.inifiles.X2goIniFile-class.html#printable_config_file
 x2go.inifiles.X2goIniFile.write_user_config	x2go.inifiles.X2goIniFile-class.html#write_user_config
 x2go.inifiles.X2goIniFile.get_type	x2go.inifiles.X2goIniFile-class.html#get_type
@@ -461,6 +475,7 @@ x2go.inifiles.X2goIniFile._fill_defaults	x2go.inifiles.X2goIniFile-class.html#_f
 x2go.inifiles.X2goIniFile.user_config_file	x2go.inifiles.X2goIniFile-class.html#user_config_file
 x2go.inifiles.X2goIniFile.__repr__	x2go.inifiles.X2goIniFile-class.html#__repr__
 x2go.backends.settings._gconf.X2goClientSettingsGCONF	x2go.backends.settings._gconf.X2goClientSettingsGCONF-class.html
+x2go.inifiles.X2goIniFile.load	x2go.inifiles.X2goIniFile-class.html#load
 x2go.inifiles.X2goIniFile.printable_config_file	x2go.inifiles.X2goIniFile-class.html#printable_config_file
 x2go.inifiles.X2goIniFile.write_user_config	x2go.inifiles.X2goIniFile-class.html#write_user_config
 x2go.inifiles.X2goIniFile.get_type	x2go.inifiles.X2goIniFile-class.html#get_type
@@ -476,6 +491,7 @@ x2go.inifiles.X2goIniFile._fill_defaults	x2go.inifiles.X2goIniFile-class.html#_f
 x2go.inifiles.X2goIniFile.user_config_file	x2go.inifiles.X2goIniFile-class.html#user_config_file
 x2go.inifiles.X2goIniFile.__repr__	x2go.inifiles.X2goIniFile-class.html#__repr__
 x2go.backends.settings._winreg.X2goClientSettingsWINREG	x2go.backends.settings._winreg.X2goClientSettingsWINREG-class.html
+x2go.inifiles.X2goIniFile.load	x2go.inifiles.X2goIniFile-class.html#load
 x2go.inifiles.X2goIniFile.printable_config_file	x2go.inifiles.X2goIniFile-class.html#printable_config_file
 x2go.inifiles.X2goIniFile.write_user_config	x2go.inifiles.X2goIniFile-class.html#write_user_config
 x2go.inifiles.X2goIniFile.get_type	x2go.inifiles.X2goIniFile-class.html#get_type
@@ -775,6 +791,7 @@ x2go.guardian.X2goSessionGuardian.__init__	x2go.guardian.X2goSessionGuardian-cla
 x2go.guardian.X2goSessionGuardian.guardian	x2go.guardian.X2goSessionGuardian-class.html#guardian
 x2go.guardian.X2goSessionGuardian.stop_thread	x2go.guardian.X2goSessionGuardian-class.html#stop_thread
 x2go.inifiles.X2goIniFile	x2go.inifiles.X2goIniFile-class.html
+x2go.inifiles.X2goIniFile.load	x2go.inifiles.X2goIniFile-class.html#load
 x2go.inifiles.X2goIniFile.printable_config_file	x2go.inifiles.X2goIniFile-class.html#printable_config_file
 x2go.inifiles.X2goIniFile.write_user_config	x2go.inifiles.X2goIniFile-class.html#write_user_config
 x2go.inifiles.X2goIniFile.get_type	x2go.inifiles.X2goIniFile-class.html#get_type
@@ -1028,6 +1045,8 @@ x2go.sshproxy.X2goSSHProxy.stop_thread	x2go.sshproxy.X2goSSHProxy-class.html#sto
 x2go.sshproxy.X2goSSHProxy.fw_tunnel	x2go.sshproxy.X2goSSHProxy-class.html#fw_tunnel
 x2go.x2go_exceptions.WindowsError	x2go.x2go_exceptions.WindowsError-class.html
 x2go.x2go_exceptions.X2goClientException	x2go.x2go_exceptions.X2goClientException-class.html
+x2go.x2go_exceptions.X2goClientPrintingException	x2go.x2go_exceptions.X2goClientPrintingException-class.html
+x2go.x2go_exceptions.X2goClientSettingsException	x2go.x2go_exceptions.X2goClientSettingsException-class.html
 x2go.x2go_exceptions.X2goControlSessionException	x2go.x2go_exceptions.X2goControlSessionException-class.html
 x2go.x2go_exceptions.X2goFwTunnelException	x2go.x2go_exceptions.X2goFwTunnelException-class.html
 x2go.x2go_exceptions.X2goHostKeyException	x2go.x2go_exceptions.X2goHostKeyException-class.html
@@ -1043,11 +1062,11 @@ x2go.x2go_exceptions.X2goSSHProxyHostKeyException	x2go.x2go_exceptions.X2goSSHPr
 x2go.x2go_exceptions.X2goSessionCacheException	x2go.x2go_exceptions.X2goSessionCacheException-class.html
 x2go.x2go_exceptions.X2goSessionException	x2go.x2go_exceptions.X2goSessionException-class.html
 x2go.x2go_exceptions.X2goSessionRegistryException	x2go.x2go_exceptions.X2goSessionRegistryException-class.html
-x2go.x2go_exceptions.X2goSettingsException	x2go.x2go_exceptions.X2goSettingsException-class.html
 x2go.x2go_exceptions.X2goTerminalSessionException	x2go.x2go_exceptions.X2goTerminalSessionException-class.html
 x2go.x2go_exceptions.X2goUserException	x2go.x2go_exceptions.X2goUserException-class.html
 x2go.xserver.X2goClientXConfig	x2go.xserver.X2goClientXConfig-class.html
 x2go.xserver.X2goClientXConfig.running_xservers	x2go.xserver.X2goClientXConfig-class.html#running_xservers
+x2go.inifiles.X2goIniFile.load	x2go.inifiles.X2goIniFile-class.html#load
 x2go.inifiles.X2goIniFile.printable_config_file	x2go.inifiles.X2goIniFile-class.html#printable_config_file
 x2go.inifiles.X2goIniFile.write_user_config	x2go.inifiles.X2goIniFile-class.html#write_user_config
 x2go.xserver.X2goClientXConfig.defaultValues	x2go.xserver.X2goClientXConfig-class.html#defaultValues
diff --git a/doc/html/class-tree.html b/doc/html/class-tree.html
index b5381d4..3677c45 100644
--- a/doc/html/class-tree.html
+++ b/doc/html/class-tree.html
@@ -72,6 +72,10 @@
     </li>
     <li> <strong class="uidlink"><a href="x2go.x2go_exceptions.X2goClientException-class.html">x2go.x2go_exceptions.X2goClientException</a></strong>
     </li>
+    <li> <strong class="uidlink"><a href="x2go.x2go_exceptions.X2goClientPrintingException-class.html">x2go.x2go_exceptions.X2goClientPrintingException</a></strong>
+    </li>
+    <li> <strong class="uidlink"><a href="x2go.x2go_exceptions.X2goClientSettingsException-class.html">x2go.x2go_exceptions.X2goClientSettingsException</a></strong>
+    </li>
     <li> <strong class="uidlink"><a href="x2go.x2go_exceptions.X2goControlSessionException-class.html">x2go.x2go_exceptions.X2goControlSessionException</a></strong>
     </li>
     <li> <strong class="uidlink"><a href="x2go.x2go_exceptions.X2goFwTunnelException-class.html">x2go.x2go_exceptions.X2goFwTunnelException</a></strong>
@@ -102,8 +106,6 @@
     </li>
     <li> <strong class="uidlink"><a href="x2go.x2go_exceptions.X2goSessionRegistryException-class.html">x2go.x2go_exceptions.X2goSessionRegistryException</a></strong>
     </li>
-    <li> <strong class="uidlink"><a href="x2go.x2go_exceptions.X2goSettingsException-class.html">x2go.x2go_exceptions.X2goSettingsException</a></strong>
-    </li>
     <li> <strong class="uidlink"><a href="x2go.x2go_exceptions.X2goTerminalSessionException-class.html">x2go.x2go_exceptions.X2goTerminalSessionException</a></strong>
     </li>
     <li> <strong class="uidlink"><a href="x2go.x2go_exceptions.X2goUserException-class.html">x2go.x2go_exceptions.X2goUserException</a></strong>
@@ -385,7 +387,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:23 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/help.html b/doc/html/help.html
index c5eb2a1..d714506 100644
--- a/doc/html/help.html
+++ b/doc/html/help.html
@@ -254,7 +254,7 @@ page was last updated. </p>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:23 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/identifier-index.html b/doc/html/identifier-index.html
index a4e2815..6750250 100644
--- a/doc/html/identifier-index.html
+++ b/doc/html/identifier-index.html
@@ -461,77 +461,93 @@
 <tr>
 <td width="33%" class="link-index"><a href="x2go.checkhosts.X2goInteractiveAddPolicy-class.html#get_client">get_client()</a><br />
 <span class="index-where">(in <a href="x2go.checkhosts.X2goInteractiveAddPolicy-class.html">X2goInteractiveAddPolicy</a>)</span></td>
-<td width="33%" class="link-index"><a href="x2go.client.X2goClient-class.html#get_profile_config">get_profile_config()</a><br />
-<span class="index-where">(in <a href="x2go.client.X2goClient-class.html">X2goClient</a>)</span></td>
-<td width="33%" class="link-index"><a href="x2go.backends.profiles._file.X2goSessionProfilesFILE-class.html#get_session_param">get_session_param()</a><br />
+<td width="33%" class="link-index"><a href="x2go.backends.profiles._file.X2goSessionProfilesFILE-class.html#get_profile_config">get_profile_config()</a><br />
 <span class="index-where">(in <a href="x2go.backends.profiles._file.X2goSessionProfilesFILE-class.html">X2goSessionProfilesFILE</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.session.X2goSession-class.html#get_session_name">get_session_name()</a><br />
+<span class="index-where">(in <a href="x2go.session.X2goSession-class.html">X2goSession</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="x2go.client.X2goClient-class.html#get_client_printing">get_client_printing()</a><br />
 <span class="index-where">(in <a href="x2go.client.X2goClient-class.html">X2goClient</a>)</span></td>
-<td width="33%" class="link-index"><a href="x2go.registry.X2goSessionRegistry-class.html#get_profile_id">get_profile_id()</a><br />
-<span class="index-where">(in <a href="x2go.registry.X2goSessionRegistry-class.html">X2goSessionRegistry</a>)</span></td>
-<td width="33%" class="link-index"><a href="x2go.client.X2goClient-class.html#get_session_profile_id">get_session_profile_id()</a><br />
+<td width="33%" class="link-index"><a href="x2go.client.X2goClient-class.html#get_profile_config">get_profile_config()</a><br />
 <span class="index-where">(in <a href="x2go.client.X2goClient-class.html">X2goClient</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.registry.X2goSessionRegistry-class.html#get_session_of_session_name">get_session_of_session_name()</a><br />
+<span class="index-where">(in <a href="x2go.registry.X2goSessionRegistry-class.html">X2goSessionRegistry</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="x2go.client.X2goClient-class.html#get_client_rootdir">get_client_rootdir()</a><br />
 <span class="index-where">(in <a href="x2go.client.X2goClient-class.html">X2goClient</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.registry.X2goSessionRegistry-class.html#get_profile_id">get_profile_id()</a><br />
+<span class="index-where">(in <a href="x2go.registry.X2goSessionRegistry-class.html">X2goSessionRegistry</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.backends.profiles._file.X2goSessionProfilesFILE-class.html#get_session_param">get_session_param()</a><br />
+<span class="index-where">(in <a href="x2go.backends.profiles._file.X2goSessionProfilesFILE-class.html">X2goSessionProfilesFILE</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="x2go.client.X2goClient-class.html#get_client_settings">get_client_settings()</a><br />
+<span class="index-where">(in <a href="x2go.client.X2goClient-class.html">X2goClient</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.session.X2goSession-class.html#get_profile_id">get_profile_id()</a><br />
 <span class="index-where">(in <a href="x2go.session.X2goSession-class.html">X2goSession</a>)</span></td>
-<td width="33%" class="link-index"><a href="x2go.client.X2goClient-class.html#get_session_profile_name">get_session_profile_name()</a><br />
+<td width="33%" class="link-index"><a href="x2go.client.X2goClient-class.html#get_session_profile_id">get_session_profile_id()</a><br />
 <span class="index-where">(in <a href="x2go.client.X2goClient-class.html">X2goClient</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="x2go.client.X2goClient-class.html#get_client_settings">get_client_settings()</a><br />
-<span class="index-where">(in <a href="x2go.client.X2goClient-class.html">X2goClient</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.session.X2goSession-class.html#get_control_session">get_control_session()</a><br />
+<span class="index-where">(in <a href="x2go.session.X2goSession-class.html">X2goSession</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.backends.profiles._file.X2goSessionProfilesFILE-class.html#get_profile_metatype">get_profile_metatype()</a><br />
 <span class="index-where">(in <a href="x2go.backends.profiles._file.X2goSessionProfilesFILE-class.html">X2goSessionProfilesFILE</a>)</span></td>
-<td width="33%" class="link-index"><a href="x2go.client.X2goClient-class.html#get_session_server_peername">get_session_server_peername()</a><br />
+<td width="33%" class="link-index"><a href="x2go.client.X2goClient-class.html#get_session_profile_name">get_session_profile_name()</a><br />
 <span class="index-where">(in <a href="x2go.client.X2goClient-class.html">X2goClient</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="x2go.session.X2goSession-class.html#get_control_session">get_control_session()</a><br />
-<span class="index-where">(in <a href="x2go.session.X2goSession-class.html">X2goSession</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.backends.terminal._stdout.X2goTerminalSessionSTDOUT-class.html#get_dropbox_spooldir">get_dropbox_spooldir()</a><br />
+<span class="index-where">(in <a href="x2go.backends.terminal._stdout.X2goTerminalSessionSTDOUT-class.html">X2goTerminalSessionSTDOUT</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.client.X2goClient-class.html#get_profile_metatype">get_profile_metatype()</a><br />
 <span class="index-where">(in <a href="x2go.client.X2goClient-class.html">X2goClient</a>)</span></td>
-<td width="33%" class="link-index"><a href="x2go.client.X2goClient-class.html#get_session_summary">get_session_summary()</a><br />
+<td width="33%" class="link-index"><a href="x2go.client.X2goClient-class.html#get_session_server_peername">get_session_server_peername()</a><br />
 <span class="index-where">(in <a href="x2go.client.X2goClient-class.html">X2goClient</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="x2go.backends.terminal._stdout.X2goTerminalSessionSTDOUT-class.html#get_dropbox_spooldir">get_dropbox_spooldir()</a><br />
-<span class="index-where">(in <a href="x2go.backends.terminal._stdout.X2goTerminalSessionSTDOUT-class.html">X2goTerminalSessionSTDOUT</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.utils-module.html#get_encoding">get_encoding()</a><br />
+<span class="index-where">(in <a href="x2go.utils-module.html">x2go.utils</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.registry.X2goSessionRegistry-class.html#get_profile_name">get_profile_name()</a><br />
 <span class="index-where">(in <a href="x2go.registry.X2goSessionRegistry-class.html">X2goSessionRegistry</a>)</span></td>
-<td width="33%" class="link-index"><a href="x2go.client.X2goClient-class.html#get_session_username">get_session_username()</a><br />
+<td width="33%" class="link-index"><a href="x2go.client.X2goClient-class.html#get_session_summary">get_session_summary()</a><br />
 <span class="index-where">(in <a href="x2go.client.X2goClient-class.html">X2goClient</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="x2go.utils-module.html#get_encoding">get_encoding()</a><br />
-<span class="index-where">(in <a href="x2go.utils-module.html">x2go.utils</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.checkhosts.X2goInteractiveAddPolicy-class.html#get_hostname">get_hostname()</a><br />
+<span class="index-where">(in <a href="x2go.checkhosts.X2goInteractiveAddPolicy-class.html">X2goInteractiveAddPolicy</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.session.X2goSession-class.html#get_profile_name">get_profile_name()</a><br />
 <span class="index-where">(in <a href="x2go.session.X2goSession-class.html">X2goSession</a>)</span></td>
-<td width="33%" class="link-index"><a href="x2go.client.X2goClient-class.html#get_sessions_rootdir">get_sessions_rootdir()</a><br />
+<td width="33%" class="link-index"><a href="x2go.client.X2goClient-class.html#get_session_username">get_session_username()</a><br />
 <span class="index-where">(in <a href="x2go.client.X2goClient-class.html">X2goClient</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="x2go.checkhosts.X2goInteractiveAddPolicy-class.html#get_hostname">get_hostname()</a><br />
+<td width="33%" class="link-index"><a href="x2go.checkhosts.X2goInteractiveAddPolicy-class.html#get_hostname_name">get_hostname_name()</a><br />
 <span class="index-where">(in <a href="x2go.checkhosts.X2goInteractiveAddPolicy-class.html">X2goInteractiveAddPolicy</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.backends.profiles._file.X2goSessionProfilesFILE-class.html#get_profile_option_type">get_profile_option_type()</a><br />
 <span class="index-where">(in <a href="x2go.backends.profiles._file.X2goSessionProfilesFILE-class.html">X2goSessionProfilesFILE</a>)</span></td>
-<td width="33%" class="link-index"><a href="x2go.client.X2goClient-class.html#get_ssh_rootdir">get_ssh_rootdir()</a><br />
+<td width="33%" class="link-index"><a href="x2go.client.X2goClient-class.html#get_sessions_rootdir">get_sessions_rootdir()</a><br />
 <span class="index-where">(in <a href="x2go.client.X2goClient-class.html">X2goClient</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="x2go.checkhosts.X2goInteractiveAddPolicy-class.html#get_hostname_name">get_hostname_name()</a><br />
+<td width="33%" class="link-index"><a href="x2go.checkhosts.X2goInteractiveAddPolicy-class.html#get_hostname_port">get_hostname_port()</a><br />
 <span class="index-where">(in <a href="x2go.checkhosts.X2goInteractiveAddPolicy-class.html">X2goInteractiveAddPolicy</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.client.X2goClient-class.html#get_profiles">get_profiles()</a><br />
 <span class="index-where">(in <a href="x2go.client.X2goClient-class.html">X2goClient</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.client.X2goClient-class.html#get_ssh_rootdir">get_ssh_rootdir()</a><br />
+<span class="index-where">(in <a href="x2go.client.X2goClient-class.html">X2goClient</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="x2go.checkhosts.X2goInteractiveAddPolicy-class.html#get_key">get_key()</a><br />
+<span class="index-where">(in <a href="x2go.checkhosts.X2goInteractiveAddPolicy-class.html">X2goInteractiveAddPolicy</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.backends.printing._file.X2goClientPrintingFILE-class.html#get_property">get_property()</a><br />
+<span class="index-where">(in <a href="x2go.backends.printing._file.X2goClientPrintingFILE-class.html">X2goClientPrintingFILE</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.session.X2goSession-class.html#get_terminal_session">get_terminal_session()</a><br />
 <span class="index-where">(in <a href="x2go.session.X2goSession-class.html">X2goSession</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="x2go.checkhosts.X2goInteractiveAddPolicy-class.html#get_hostname_port">get_hostname_port()</a><br />
+<td width="33%" class="link-index"><a href="x2go.checkhosts.X2goInteractiveAddPolicy-class.html#get_key_fingerprint">get_key_fingerprint()</a><br />
 <span class="index-where">(in <a href="x2go.checkhosts.X2goInteractiveAddPolicy-class.html">X2goInteractiveAddPolicy</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.session.X2goSession-class.html#get_server_hostname">get_server_hostname()</a><br />
 <span class="index-where">(in <a href="x2go.session.X2goSession-class.html">X2goSession</a>)</span></td>
@@ -539,7 +555,7 @@
 <span class="index-where">(in <a href="x2go.inifiles.X2goIniFile-class.html">X2goIniFile</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="x2go.checkhosts.X2goInteractiveAddPolicy-class.html#get_key">get_key()</a><br />
+<td width="33%" class="link-index"><a href="x2go.checkhosts.X2goInteractiveAddPolicy-class.html#get_key_fingerprint_with_colons">get_key_fingerprint_with_colons()</a><br />
 <span class="index-where">(in <a href="x2go.checkhosts.X2goInteractiveAddPolicy-class.html">X2goInteractiveAddPolicy</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.session.X2goSession-class.html#get_server_peername">get_server_peername()</a><br />
 <span class="index-where">(in <a href="x2go.session.X2goSession-class.html">X2goSession</a>)</span></td>
@@ -547,7 +563,7 @@
 <span class="index-where">(in <a href="x2go.session.X2goSession-class.html">X2goSession</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="x2go.checkhosts.X2goInteractiveAddPolicy-class.html#get_key_fingerprint">get_key_fingerprint()</a><br />
+<td width="33%" class="link-index"><a href="x2go.checkhosts.X2goInteractiveAddPolicy-class.html#get_key_name">get_key_name()</a><br />
 <span class="index-where">(in <a href="x2go.checkhosts.X2goInteractiveAddPolicy-class.html">X2goInteractiveAddPolicy</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.session.X2goSession-class.html#get_server_port">get_server_port()</a><br />
 <span class="index-where">(in <a href="x2go.session.X2goSession-class.html">X2goSession</a>)</span></td>
@@ -555,59 +571,45 @@
 <span class="index-where">(in <a href="x2go.session.X2goSession-class.html">X2goSession</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="x2go.checkhosts.X2goInteractiveAddPolicy-class.html#get_key_fingerprint_with_colons">get_key_fingerprint_with_colons()</a><br />
-<span class="index-where">(in <a href="x2go.checkhosts.X2goInteractiveAddPolicy-class.html">X2goInteractiveAddPolicy</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.sshproxy.X2goSSHProxy-class.html#get_local_proxy_port">get_local_proxy_port()</a><br />
+<span class="index-where">(in <a href="x2go.sshproxy.X2goSSHProxy-class.html">X2goSSHProxy</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.client.X2goClient-class.html#get_session">get_session()</a><br />
 <span class="index-where">(in <a href="x2go.client.X2goClient-class.html">X2goClient</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.inifiles.X2goIniFile-class.html#get_value">get_value()</a><br />
 <span class="index-where">(in <a href="x2go.inifiles.X2goIniFile-class.html">X2goIniFile</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="x2go.checkhosts.X2goInteractiveAddPolicy-class.html#get_key_name">get_key_name()</a><br />
-<span class="index-where">(in <a href="x2go.checkhosts.X2goInteractiveAddPolicy-class.html">X2goInteractiveAddPolicy</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.log.X2goLogger-class.html#get_loglevel">get_loglevel()</a><br />
+<span class="index-where">(in <a href="x2go.log.X2goLogger-class.html">X2goLogger</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.session.X2goSession-class.html#get_session_cmd">get_session_cmd()</a><br />
 <span class="index-where">(in <a href="x2go.session.X2goSession-class.html">X2goSession</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.xserver.X2goClientXConfig-class.html#get_xserver_config">get_xserver_config()</a><br />
 <span class="index-where">(in <a href="x2go.xserver.X2goClientXConfig-class.html">X2goClientXConfig</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="x2go.sshproxy.X2goSSHProxy-class.html#get_local_proxy_port">get_local_proxy_port()</a><br />
-<span class="index-where">(in <a href="x2go.sshproxy.X2goSSHProxy-class.html">X2goSSHProxy</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.session.X2goSession-class.html#get_password">get_password()</a><br />
+<span class="index-where">(in <a href="x2go.session.X2goSession-class.html">X2goSession</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.backends.info._stdout.X2goServerSessionListSTDOUT-class.html#get_session_info">get_session_info()</a><br />
 <span class="index-where">(in <a href="x2go.backends.info._stdout.X2goServerSessionListSTDOUT-class.html">X2goServerSessionListSTDOUT</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.gevent_subprocess-module.html">gevent_subprocess</a><br />
 <span class="index-where">(in <a href="x2go-module.html">x2go</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="x2go.log.X2goLogger-class.html#get_loglevel">get_loglevel()</a><br />
-<span class="index-where">(in <a href="x2go.log.X2goLogger-class.html">X2goLogger</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.backends.printing._file.X2goClientPrintingFILE-class.html#get_print_action">get_print_action()</a><br />
+<span class="index-where">(in <a href="x2go.backends.printing._file.X2goClientPrintingFILE-class.html">X2goClientPrintingFILE</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.backends.terminal._stdout.X2goTerminalSessionSTDOUT-class.html#get_session_name">get_session_name()</a><br />
 <span class="index-where">(in <a href="x2go.backends.terminal._stdout.X2goTerminalSessionSTDOUT-class.html">X2goTerminalSessionSTDOUT</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.guardian-module.html">guardian</a><br />
 <span class="index-where">(in <a href="x2go-module.html">x2go</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="x2go.session.X2goSession-class.html#get_password">get_password()</a><br />
-<span class="index-where">(in <a href="x2go.session.X2goSession-class.html">X2goSession</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.backends.terminal._stdout.X2goTerminalSessionSTDOUT-class.html#get_printing_spooldir">get_printing_spooldir()</a><br />
+<span class="index-where">(in <a href="x2go.backends.terminal._stdout.X2goTerminalSessionSTDOUT-class.html">X2goTerminalSessionSTDOUT</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.client.X2goClient-class.html#get_session_name">get_session_name()</a><br />
 <span class="index-where">(in <a href="x2go.client.X2goClient-class.html">X2goClient</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.guardian.X2goSessionGuardian-class.html#guardian">guardian()</a><br />
 <span class="index-where">(in <a href="x2go.guardian.X2goSessionGuardian-class.html">X2goSessionGuardian</a>)</span></td>
 </tr>
-<tr>
-<td width="33%" class="link-index"><a href="x2go.backends.terminal._stdout.X2goTerminalSessionSTDOUT-class.html#get_printing_spooldir">get_printing_spooldir()</a><br />
-<span class="index-where">(in <a href="x2go.backends.terminal._stdout.X2goTerminalSessionSTDOUT-class.html">X2goTerminalSessionSTDOUT</a>)</span></td>
-<td width="33%" class="link-index"><a href="x2go.session.X2goSession-class.html#get_session_name">get_session_name()</a><br />
-<span class="index-where">(in <a href="x2go.session.X2goSession-class.html">X2goSession</a>)</span></td>
-<td width="33%" class="link-index"> </td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="x2go.backends.profiles._file.X2goSessionProfilesFILE-class.html#get_profile_config">get_profile_config()</a><br />
-<span class="index-where">(in <a href="x2go.backends.profiles._file.X2goSessionProfilesFILE-class.html">X2goSessionProfilesFILE</a>)</span></td>
-<td width="33%" class="link-index"><a href="x2go.registry.X2goSessionRegistry-class.html#get_session_of_session_name">get_session_of_session_name()</a><br />
-<span class="index-where">(in <a href="x2go.registry.X2goSessionRegistry-class.html">X2goSessionRegistry</a>)</span></td>
-<td width="33%" class="link-index"> </td>
-</tr>
 </table>
 </td></tr>
 <tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="H">H</a></h2></td>
@@ -717,46 +719,54 @@
 <tr>
 <td width="33%" class="link-index"><a href="x2go.defaults-module.html#i">i</a><br />
 <span class="index-where">(in <a href="x2go.defaults-module.html">x2go.defaults</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.cache.X2goListSessionsCache-class.html#is_cached">is_cached()</a><br />
+<span class="index-where">(in <a href="x2go.cache.X2goListSessionsCache-class.html">X2goListSessionsCache</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.client.X2goClient-class.html#is_session_connected">is_session_connected()</a><br />
+<span class="index-where">(in <a href="x2go.client.X2goClient-class.html">X2goClient</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="x2go.backends.info-module.html">info</a><br />
+<span class="index-where">(in <a href="x2go.backends-module.html">x2go.backends</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.backends.control._stdout.X2goControlSessionSTDOUT-class.html#is_connected">is_connected()</a><br />
 <span class="index-where">(in <a href="x2go.backends.control._stdout.X2goControlSessionSTDOUT-class.html">X2goControlSessionSTDOUT</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.client.X2goClient-class.html#is_session_running">is_session_running()</a><br />
 <span class="index-where">(in <a href="x2go.client.X2goClient-class.html">X2goClient</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="x2go.backends.info-module.html">info</a><br />
-<span class="index-where">(in <a href="x2go.backends-module.html">x2go.backends</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.inifiles-module.html">inifiles</a><br />
+<span class="index-where">(in <a href="x2go-module.html">x2go</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.backends.terminal._stdout.X2goTerminalSessionSTDOUT-class.html#is_connected">is_connected()</a><br />
 <span class="index-where">(in <a href="x2go.backends.terminal._stdout.X2goTerminalSessionSTDOUT-class.html">X2goTerminalSessionSTDOUT</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.client.X2goClient-class.html#is_session_suspended">is_session_suspended()</a><br />
 <span class="index-where">(in <a href="x2go.client.X2goClient-class.html">X2goClient</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="x2go.inifiles-module.html">inifiles</a><br />
-<span class="index-where">(in <a href="x2go-module.html">x2go</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.session.X2goSession-class.html#init_control_session">init_control_session()</a><br />
+<span class="index-where">(in <a href="x2go.session.X2goSession-class.html">X2goSession</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.session.X2goSession-class.html#is_connected">is_connected()</a><br />
 <span class="index-where">(in <a href="x2go.session.X2goSession-class.html">X2goSession</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.backends.control._stdout.X2goControlSessionSTDOUT-class.html#is_suspended">is_suspended()</a><br />
 <span class="index-where">(in <a href="x2go.backends.control._stdout.X2goControlSessionSTDOUT-class.html">X2goControlSessionSTDOUT</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="x2go.session.X2goSession-class.html#init_control_session">init_control_session()</a><br />
-<span class="index-where">(in <a href="x2go.session.X2goSession-class.html">X2goSession</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.backends.info._stdout.X2goServerSessionInfoSTDOUT-class.html#initialize">initialize()</a><br />
+<span class="index-where">(in <a href="x2go.backends.info._stdout.X2goServerSessionInfoSTDOUT-class.html">X2goServerSessionInfoSTDOUT</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.utils-module.html#is_in_nx3packmethods">is_in_nx3packmethods()</a><br />
 <span class="index-where">(in <a href="x2go.utils-module.html">x2go.utils</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.backends.info._stdout.X2goServerSessionInfoSTDOUT-class.html#is_suspended">is_suspended()</a><br />
 <span class="index-where">(in <a href="x2go.backends.info._stdout.X2goServerSessionInfoSTDOUT-class.html">X2goServerSessionInfoSTDOUT</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="x2go.backends.info._stdout.X2goServerSessionInfoSTDOUT-class.html#initialize">initialize()</a><br />
-<span class="index-where">(in <a href="x2go.backends.info._stdout.X2goServerSessionInfoSTDOUT-class.html">X2goServerSessionInfoSTDOUT</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.xserver.X2goClientXConfig-class.html#installed_xservers">installed_xservers</a><br />
+<span class="index-where">(in <a href="x2go.xserver.X2goClientXConfig-class.html">X2goClientXConfig</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.backends.control._stdout.X2goControlSessionSTDOUT-class.html#is_running">is_running()</a><br />
 <span class="index-where">(in <a href="x2go.backends.control._stdout.X2goControlSessionSTDOUT-class.html">X2goControlSessionSTDOUT</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.backends.terminal._stdout.X2goTerminalSessionSTDOUT-class.html#is_suspended">is_suspended()</a><br />
 <span class="index-where">(in <a href="x2go.backends.terminal._stdout.X2goTerminalSessionSTDOUT-class.html">X2goTerminalSessionSTDOUT</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="x2go.xserver.X2goClientXConfig-class.html#installed_xservers">installed_xservers</a><br />
-<span class="index-where">(in <a href="x2go.xserver.X2goClientXConfig-class.html">X2goClientXConfig</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.utils-module.html#is_abs_path">is_abs_path()</a><br />
+<span class="index-where">(in <a href="x2go.utils-module.html">x2go.utils</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.backends.info._stdout.X2goServerSessionInfoSTDOUT-class.html#is_running">is_running()</a><br />
 <span class="index-where">(in <a href="x2go.backends.info._stdout.X2goServerSessionInfoSTDOUT-class.html">X2goServerSessionInfoSTDOUT</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.session.X2goSession-class.html#is_suspended">is_suspended()</a><br />
@@ -777,13 +787,6 @@
 <span class="index-where">(in <a href="x2go.session.X2goSession-class.html">X2goSession</a>)</span></td>
 <td width="33%" class="link-index"> </td>
 </tr>
-<tr>
-<td width="33%" class="link-index"><a href="x2go.cache.X2goListSessionsCache-class.html#is_cached">is_cached()</a><br />
-<span class="index-where">(in <a href="x2go.cache.X2goListSessionsCache-class.html">X2goListSessionsCache</a>)</span></td>
-<td width="33%" class="link-index"><a href="x2go.client.X2goClient-class.html#is_session_connected">is_session_connected()</a><br />
-<span class="index-where">(in <a href="x2go.client.X2goClient-class.html">X2goClient</a>)</span></td>
-<td width="33%" class="link-index"> </td>
-</tr>
 </table>
 </td></tr>
 <tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="J">J</a></h2></td>
@@ -820,7 +823,7 @@
 <span class="index-where">(in <a href="x2go.log.X2goLogger-class.html">X2goLogger</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.defaults-module.html#LOCAL_HOME">LOCAL_HOME</a><br />
 <span class="index-where">(in <a href="x2go.defaults-module.html">x2go.defaults</a>)</span></td>
-<td width="33%" class="link-index"><a href="x2go.log-module.html#loglevel_ERROR">loglevel_ERROR</a><br />
+<td width="33%" class="link-index"><a href="x2go.log-module.html#loglevel_INFO">loglevel_INFO</a><br />
 <span class="index-where">(in <a href="x2go.log-module.html">x2go.log</a>)</span></td>
 </tr>
 <tr>
@@ -828,7 +831,7 @@
 <span class="index-where">(in <a href="x2go.backends.control._stdout.X2goControlSessionSTDOUT-class.html">X2goControlSessionSTDOUT</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.log-module.html">log</a><br />
 <span class="index-where">(in <a href="x2go-module.html">x2go</a>)</span></td>
-<td width="33%" class="link-index"><a href="x2go.log-module.html#loglevel_INFO">loglevel_INFO</a><br />
+<td width="33%" class="link-index"><a href="x2go.log-module.html#loglevel_NONE">loglevel_NONE</a><br />
 <span class="index-where">(in <a href="x2go.log-module.html">x2go.log</a>)</span></td>
 </tr>
 <tr>
@@ -836,7 +839,7 @@
 <span class="index-where">(in <a href="x2go.cache.X2goListSessionsCache-class.html">X2goListSessionsCache</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.log-module.html#loglevel_DEBUG">loglevel_DEBUG</a><br />
 <span class="index-where">(in <a href="x2go.log-module.html">x2go.log</a>)</span></td>
-<td width="33%" class="link-index"><a href="x2go.log-module.html#loglevel_NONE">loglevel_NONE</a><br />
+<td width="33%" class="link-index"><a href="x2go.log-module.html#loglevel_NOTICE">loglevel_NOTICE</a><br />
 <span class="index-where">(in <a href="x2go.log-module.html">x2go.log</a>)</span></td>
 </tr>
 <tr>
@@ -844,7 +847,7 @@
 <span class="index-where">(in <a href="x2go.client.X2goClient-class.html">X2goClient</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.log-module.html#loglevel_DEBUG_SFTPXFER">loglevel_DEBUG_SFTPXFER</a><br />
 <span class="index-where">(in <a href="x2go.log-module.html">x2go.log</a>)</span></td>
-<td width="33%" class="link-index"><a href="x2go.log-module.html#loglevel_NOTICE">loglevel_NOTICE</a><br />
+<td width="33%" class="link-index"><a href="x2go.log-module.html#loglevel_WARN">loglevel_WARN</a><br />
 <span class="index-where">(in <a href="x2go.log-module.html">x2go.log</a>)</span></td>
 </tr>
 <tr>
@@ -852,8 +855,14 @@
 <span class="index-where">(in <a href="x2go.session.X2goSession-class.html">X2goSession</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.log-module.html#loglevel_DEFAULT">loglevel_DEFAULT</a><br />
 <span class="index-where">(in <a href="x2go.log-module.html">x2go.log</a>)</span></td>
-<td width="33%" class="link-index"><a href="x2go.log-module.html#loglevel_WARN">loglevel_WARN</a><br />
+<td width="33%" class="link-index"> </td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="x2go.inifiles.X2goIniFile-class.html#load">load()</a><br />
+<span class="index-where">(in <a href="x2go.inifiles.X2goIniFile-class.html">X2goIniFile</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.log-module.html#loglevel_ERROR">loglevel_ERROR</a><br />
 <span class="index-where">(in <a href="x2go.log-module.html">x2go.log</a>)</span></td>
+<td width="33%" class="link-index"> </td>
 </tr>
 </table>
 </td></tr>
@@ -1093,21 +1102,13 @@
 <tr>
 <td width="33%" class="link-index"><a href="x2go.printactions.X2goPrintActionPDFSAVE-class.html#save_to_folder">save_to_folder</a><br />
 <span class="index-where">(in <a href="x2go.printactions.X2goPrintActionPDFSAVE-class.html">X2goPrintActionPDFSAVE</a>)</span></td>
-<td width="33%" class="link-index"><a href="x2go.log.X2goLogger-class.html#set_loglevel_warn">set_loglevel_warn()</a><br />
-<span class="index-where">(in <a href="x2go.log.X2goLogger-class.html">X2goLogger</a>)</span></td>
-<td width="33%" class="link-index"><a href="x2go.backends.terminal._stdout.X2goTerminalSessionSTDOUT-class.html#start_sound">start_sound()</a><br />
-<span class="index-where">(in <a href="x2go.backends.terminal._stdout.X2goTerminalSessionSTDOUT-class.html">X2goTerminalSessionSTDOUT</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="x2go.client.X2goClient-class.html#server_has_running_session_of_name">server_has_running_session_of_name</a><br />
-<span class="index-where">(in <a href="x2go.client.X2goClient-class.html">X2goClient</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.backends.terminal._stdout.X2goTerminalSessionSTDOUT-class.html#set_print_action">set_print_action()</a><br />
 <span class="index-where">(in <a href="x2go.backends.terminal._stdout.X2goTerminalSessionSTDOUT-class.html">X2goTerminalSessionSTDOUT</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.backends.terminal._stdout.X2goTerminalSessionSTDOUT-class.html#start_sshfs">start_sshfs()</a><br />
 <span class="index-where">(in <a href="x2go.backends.terminal._stdout.X2goTerminalSessionSTDOUT-class.html">X2goTerminalSessionSTDOUT</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="x2go.client.X2goClient-class.html#server_has_running_sessions">server_has_running_sessions</a><br />
+<td width="33%" class="link-index"><a href="x2go.client.X2goClient-class.html#server_has_running_session_of_name">server_has_running_session_of_name</a><br />
 <span class="index-where">(in <a href="x2go.client.X2goClient-class.html">X2goClient</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.printqueue.X2goPrintQueue-class.html#set_print_action">set_print_action()</a><br />
 <span class="index-where">(in <a href="x2go.printqueue.X2goPrintQueue-class.html">X2goPrintQueue</a>)</span></td>
@@ -1115,7 +1116,7 @@
 <span class="index-where">(in <a href="x2go.gevent_subprocess-module.html">x2go.gevent_subprocess</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="x2go.client.X2goClient-class.html#server_has_suspended_session_of_name">server_has_suspended_session_of_name</a><br />
+<td width="33%" class="link-index"><a href="x2go.client.X2goClient-class.html#server_has_running_sessions">server_has_running_sessions</a><br />
 <span class="index-where">(in <a href="x2go.client.X2goClient-class.html">X2goClient</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.session.X2goSession-class.html#set_print_action">set_print_action()</a><br />
 <span class="index-where">(in <a href="x2go.session.X2goSession-class.html">X2goSession</a>)</span></td>
@@ -1123,7 +1124,7 @@
 <span class="index-where">(in <a href="x2go.backends.terminal._stdout.X2goTerminalSessionSTDOUT-class.html">X2goTerminalSessionSTDOUT</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="x2go.client.X2goClient-class.html#server_has_suspended_sessions">server_has_suspended_sessions</a><br />
+<td width="33%" class="link-index"><a href="x2go.client.X2goClient-class.html#server_has_suspended_session_of_name">server_has_suspended_session_of_name</a><br />
 <span class="index-where">(in <a href="x2go.client.X2goClient-class.html">X2goClient</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.backends.control._stdout.X2goControlSessionSTDOUT-class.html#set_profile_name">set_profile_name()</a><br />
 <span class="index-where">(in <a href="x2go.backends.control._stdout.X2goControlSessionSTDOUT-class.html">X2goControlSessionSTDOUT</a>)</span></td>
@@ -1131,7 +1132,7 @@
 <span class="index-where">(in <a href="x2go.forward-module.html">x2go.forward</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="x2go.client.X2goClient-class.html#server_is_alive">server_is_alive()</a><br />
+<td width="33%" class="link-index"><a href="x2go.client.X2goClient-class.html#server_has_suspended_sessions">server_has_suspended_sessions</a><br />
 <span class="index-where">(in <a href="x2go.client.X2goClient-class.html">X2goClient</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.session.X2goSession-class.html#set_profile_name">set_profile_name()</a><br />
 <span class="index-where">(in <a href="x2go.session.X2goSession-class.html">X2goSession</a>)</span></td>
@@ -1139,11 +1140,19 @@
 <span class="index-where">(in <a href="x2go.backends.terminal._stdout.X2goTerminalSessionSTDOUT-class.html">X2goTerminalSessionSTDOUT</a>)</span></td>
 </tr>
 <tr>
+<td width="33%" class="link-index"><a href="x2go.client.X2goClient-class.html#server_is_alive">server_is_alive()</a><br />
+<span class="index-where">(in <a href="x2go.client.X2goClient-class.html">X2goClient</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.backends.printing._file.X2goClientPrintingFILE-class.html#set_property">set_property()</a><br />
+<span class="index-where">(in <a href="x2go.backends.printing._file.X2goClientPrintingFILE-class.html">X2goClientPrintingFILE</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.backends.terminal._stdout.X2goTerminalSessionSTDOUT-class.html#stop_sound">stop_sound()</a><br />
+<span class="index-where">(in <a href="x2go.backends.terminal._stdout.X2goTerminalSessionSTDOUT-class.html">X2goTerminalSessionSTDOUT</a>)</span></td>
+</tr>
+<tr>
 <td width="33%" class="link-index"><a href="x2go.client.X2goClient-class.html#server_running_sessions">server_running_sessions()</a><br />
 <span class="index-where">(in <a href="x2go.client.X2goClient-class.html">X2goClient</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.session.X2goSession-class.html#set_server">set_server()</a><br />
 <span class="index-where">(in <a href="x2go.session.X2goSession-class.html">X2goSession</a>)</span></td>
-<td width="33%" class="link-index"><a href="x2go.backends.terminal._stdout.X2goTerminalSessionSTDOUT-class.html#stop_sound">stop_sound()</a><br />
+<td width="33%" class="link-index"><a href="x2go.backends.terminal._stdout.X2goTerminalSessionSTDOUT-class.html#stop_sshfs">stop_sshfs()</a><br />
 <span class="index-where">(in <a href="x2go.backends.terminal._stdout.X2goTerminalSessionSTDOUT-class.html">X2goTerminalSessionSTDOUT</a>)</span></td>
 </tr>
 <tr>
@@ -1151,72 +1160,72 @@
 <span class="index-where">(in <a href="x2go.client.X2goClient-class.html">X2goClient</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.client.X2goClient-class.html#set_session_print_action">set_session_print_action()</a><br />
 <span class="index-where">(in <a href="x2go.client.X2goClient-class.html">X2goClient</a>)</span></td>
-<td width="33%" class="link-index"><a href="x2go.backends.terminal._stdout.X2goTerminalSessionSTDOUT-class.html#stop_sshfs">stop_sshfs()</a><br />
-<span class="index-where">(in <a href="x2go.backends.terminal._stdout.X2goTerminalSessionSTDOUT-class.html">X2goTerminalSessionSTDOUT</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.backends.proxy.base.X2goProxyBASE-class.html#stop_thread">stop_thread()</a><br />
+<span class="index-where">(in <a href="x2go.backends.proxy.base.X2goProxyBASE-class.html">X2goProxyBASE</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="x2go.client.X2goClient-class.html#server_valid_x2gouser">server_valid_x2gouser()</a><br />
 <span class="index-where">(in <a href="x2go.client.X2goClient-class.html">X2goClient</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.client.X2goClient-class.html#set_session_username">set_session_username()</a><br />
 <span class="index-where">(in <a href="x2go.client.X2goClient-class.html">X2goClient</a>)</span></td>
-<td width="33%" class="link-index"><a href="x2go.backends.proxy.base.X2goProxyBASE-class.html#stop_thread">stop_thread()</a><br />
-<span class="index-where">(in <a href="x2go.backends.proxy.base.X2goProxyBASE-class.html">X2goProxyBASE</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.dropbox.X2goDropboxQueue-class.html#stop_thread">stop_thread()</a><br />
+<span class="index-where">(in <a href="x2go.dropbox.X2goDropboxQueue-class.html">X2goDropboxQueue</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="x2go.session-module.html">session</a><br />
 <span class="index-where">(in <a href="x2go-module.html">x2go</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.backends.settings-module.html">settings</a><br />
 <span class="index-where">(in <a href="x2go.backends-module.html">x2go.backends</a>)</span></td>
-<td width="33%" class="link-index"><a href="x2go.dropbox.X2goDropboxQueue-class.html#stop_thread">stop_thread()</a><br />
-<span class="index-where">(in <a href="x2go.dropbox.X2goDropboxQueue-class.html">X2goDropboxQueue</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.guardian.X2goSessionGuardian-class.html#stop_thread">stop_thread()</a><br />
+<span class="index-where">(in <a href="x2go.guardian.X2goSessionGuardian-class.html">X2goSessionGuardian</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="x2go.session.X2goSession-class.html#session_cleanup">session_cleanup()</a><br />
 <span class="index-where">(in <a href="x2go.session.X2goSession-class.html">X2goSession</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.sftpserver-module.html">sftpserver</a><br />
 <span class="index-where">(in <a href="x2go-module.html">x2go</a>)</span></td>
-<td width="33%" class="link-index"><a href="x2go.guardian.X2goSessionGuardian-class.html#stop_thread">stop_thread()</a><br />
-<span class="index-where">(in <a href="x2go.guardian.X2goSessionGuardian-class.html">X2goSessionGuardian</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.printqueue.X2goPrintQueue-class.html#stop_thread">stop_thread()</a><br />
+<span class="index-where">(in <a href="x2go.printqueue.X2goPrintQueue-class.html">X2goPrintQueue</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="x2go.backends.proxy.base.X2goProxyBASE-class.html#session_info">session_info</a><br />
 <span class="index-where">(in <a href="x2go.backends.proxy.base.X2goProxyBASE-class.html">X2goProxyBASE</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.backends.terminal._stdout.X2goTerminalSessionSTDOUT-class.html#share_local_folder">share_local_folder()</a><br />
 <span class="index-where">(in <a href="x2go.backends.terminal._stdout.X2goTerminalSessionSTDOUT-class.html">X2goTerminalSessionSTDOUT</a>)</span></td>
-<td width="33%" class="link-index"><a href="x2go.printqueue.X2goPrintQueue-class.html#stop_thread">stop_thread()</a><br />
-<span class="index-where">(in <a href="x2go.printqueue.X2goPrintQueue-class.html">X2goPrintQueue</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.pulseaudio.X2goPulseAudio-class.html#stop_thread">stop_thread()</a><br />
+<span class="index-where">(in <a href="x2go.pulseaudio.X2goPulseAudio-class.html">X2goPulseAudio</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="x2go.backends.proxy.base.X2goProxyBASE-class.html#session_log_stderr">session_log_stderr</a><br />
 <span class="index-where">(in <a href="x2go.backends.proxy.base.X2goProxyBASE-class.html">X2goProxyBASE</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.session.X2goSession-class.html#share_local_folder">share_local_folder()</a><br />
 <span class="index-where">(in <a href="x2go.session.X2goSession-class.html">X2goSession</a>)</span></td>
-<td width="33%" class="link-index"><a href="x2go.pulseaudio.X2goPulseAudio-class.html#stop_thread">stop_thread()</a><br />
-<span class="index-where">(in <a href="x2go.pulseaudio.X2goPulseAudio-class.html">X2goPulseAudio</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.rforward.X2goRevFwTunnel-class.html#stop_thread">stop_thread()</a><br />
+<span class="index-where">(in <a href="x2go.rforward.X2goRevFwTunnel-class.html">X2goRevFwTunnel</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="x2go.backends.proxy.base.X2goProxyBASE-class.html#session_log_stdout">session_log_stdout</a><br />
 <span class="index-where">(in <a href="x2go.backends.proxy.base.X2goProxyBASE-class.html">X2goProxyBASE</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.client.X2goClient-class.html#share_local_folder_with_session">share_local_folder_with_session()</a><br />
 <span class="index-where">(in <a href="x2go.client.X2goClient-class.html">X2goClient</a>)</span></td>
-<td width="33%" class="link-index"><a href="x2go.rforward.X2goRevFwTunnel-class.html#stop_thread">stop_thread()</a><br />
-<span class="index-where">(in <a href="x2go.rforward.X2goRevFwTunnel-class.html">X2goRevFwTunnel</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.sshproxy.X2goSSHProxy-class.html#stop_thread">stop_thread()</a><br />
+<span class="index-where">(in <a href="x2go.sshproxy.X2goSSHProxy-class.html">X2goSSHProxy</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="x2go.utils-module.html#session_names_by_timestamp">session_names_by_timestamp()</a><br />
 <span class="index-where">(in <a href="x2go.utils-module.html">x2go.utils</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.utils-module.html#slugify">slugify()</a><br />
 <span class="index-where">(in <a href="x2go.utils-module.html">x2go.utils</a>)</span></td>
-<td width="33%" class="link-index"><a href="x2go.sshproxy.X2goSSHProxy-class.html#stop_thread">stop_thread()</a><br />
-<span class="index-where">(in <a href="x2go.sshproxy.X2goSSHProxy-class.html">X2goSSHProxy</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.xserver.X2goXServer-class.html#stop_thread">stop_thread()</a><br />
+<span class="index-where">(in <a href="x2go.xserver.X2goXServer-class.html">X2goXServer</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="x2go.client.X2goClient-class.html#session_ok">session_ok()</a><br />
 <span class="index-where">(in <a href="x2go.client.X2goClient-class.html">X2goClient</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.printqueue.X2goPrintQueue-class.html#spooldir">spooldir</a><br />
 <span class="index-where">(in <a href="x2go.printqueue.X2goPrintQueue-class.html">X2goPrintQueue</a>)</span></td>
-<td width="33%" class="link-index"><a href="x2go.xserver.X2goXServer-class.html#stop_thread">stop_thread()</a><br />
-<span class="index-where">(in <a href="x2go.xserver.X2goXServer-class.html">X2goXServer</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.backends.printing._file.X2goClientPrintingFILE-class.html#store_print_action">store_print_action()</a><br />
+<span class="index-where">(in <a href="x2go.backends.printing._file.X2goClientPrintingFILE-class.html">X2goClientPrintingFILE</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="x2go.session.X2goSession-class.html#session_ok">session_ok()</a><br />
@@ -1298,6 +1307,13 @@
 <td width="33%" class="link-index"><a href="x2go.registry.X2goSessionRegistry-class.html#suspended_sessions_of_profile_name">suspended_sessions_of_profile_name()</a><br />
 <span class="index-where">(in <a href="x2go.registry.X2goSessionRegistry-class.html">X2goSessionRegistry</a>)</span></td>
 </tr>
+<tr>
+<td width="33%" class="link-index"><a href="x2go.log.X2goLogger-class.html#set_loglevel_warn">set_loglevel_warn()</a><br />
+<span class="index-where">(in <a href="x2go.log.X2goLogger-class.html">X2goLogger</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.backends.terminal._stdout.X2goTerminalSessionSTDOUT-class.html#start_sound">start_sound()</a><br />
+<span class="index-where">(in <a href="x2go.backends.terminal._stdout.X2goTerminalSessionSTDOUT-class.html">X2goTerminalSessionSTDOUT</a>)</span></td>
+<td width="33%" class="link-index"> </td>
+</tr>
 </table>
 </td></tr>
 <tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="T">T</a></h2></td>
@@ -1432,21 +1448,37 @@
 <table class="link-index" width="100%" border="1">
 <tr>
 <td width="33%" class="link-index"><a href="x2go-module.html">x2go</a></td>
+<td width="33%" class="link-index"><a href="x2go.backends.printing._gconf.X2goClientPrintingGCONF-class.html">X2goClientPrintingGCONF</a><br />
+<span class="index-where">(in <a href="x2go.backends.printing._gconf-module.html" onclick="show_private();">x2go.backends.printing._gconf</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.x2go_exceptions.X2goProfileException-class.html">X2goProfileException</a><br />
+<span class="index-where">(in <a href="x2go.x2go_exceptions-module.html">x2go.x2go_exceptions</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="x2go.cleanup-module.html#x2go_cleanup">x2go_cleanup()</a><br />
+<span class="index-where">(in <a href="x2go.cleanup-module.html">x2go.cleanup</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.backends.printing._winreg.X2goClientPrintingWINREG-class.html">X2goClientPrintingWINREG</a><br />
 <span class="index-where">(in <a href="x2go.backends.printing._winreg-module.html" onclick="show_private();">x2go.backends.printing._winreg</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.backends.proxy.base.X2goProxyBASE-class.html">X2goProxyBASE</a><br />
+<span class="index-where">(in <a href="x2go.backends.proxy.base-module.html">x2go.backends.proxy.base</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="x2go.defaults-module.html#X2GO_CLIENT_ROOTDIR">X2GO_CLIENT_ROOTDIR</a><br />
+<span class="index-where">(in <a href="x2go.defaults-module.html">x2go.defaults</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.x2go_exceptions.X2goClientSettingsException-class.html">X2goClientSettingsException</a><br />
+<span class="index-where">(in <a href="x2go.x2go_exceptions-module.html">x2go.x2go_exceptions</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.backends.proxy._nx3.X2goProxyNX3-class.html">X2goProxyNX3</a><br />
 <span class="index-where">(in <a href="x2go.backends.proxy._nx3-module.html" onclick="show_private();">x2go.backends.proxy._nx3</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="x2go.cleanup-module.html#x2go_cleanup">x2go_cleanup()</a><br />
-<span class="index-where">(in <a href="x2go.cleanup-module.html">x2go.cleanup</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.defaults-module.html#X2GO_CLIENTPRINTING_DEFAULTS">X2GO_CLIENTPRINTING_DEFAULTS</a><br />
+<span class="index-where">(in <a href="x2go.defaults-module.html">x2go.defaults</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.backends.settings._file.X2goClientSettingsFILE-class.html">X2goClientSettingsFILE</a><br />
 <span class="index-where">(in <a href="x2go.backends.settings._file-module.html" onclick="show_private();">x2go.backends.settings._file</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.pulseaudio.X2goPulseAudio-class.html">X2goPulseAudio</a><br />
 <span class="index-where">(in <a href="x2go.pulseaudio-module.html">x2go.pulseaudio</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="x2go.defaults-module.html#X2GO_CLIENT_ROOTDIR">X2GO_CLIENT_ROOTDIR</a><br />
+<td width="33%" class="link-index"><a href="x2go.defaults-module.html#X2GO_CLIENTSETTINGS_DEFAULTS">X2GO_CLIENTSETTINGS_DEFAULTS</a><br />
 <span class="index-where">(in <a href="x2go.defaults-module.html">x2go.defaults</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.backends.settings._gconf.X2goClientSettingsGCONF-class.html">X2goClientSettingsGCONF</a><br />
 <span class="index-where">(in <a href="x2go.backends.settings._gconf-module.html" onclick="show_private();">x2go.backends.settings._gconf</a>)</span></td>
@@ -1454,7 +1486,7 @@
 <span class="index-where">(in <a href="x2go.rforward-module.html">x2go.rforward</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="x2go.defaults-module.html#X2GO_CLIENTPRINTING_DEFAULTS">X2GO_CLIENTPRINTING_DEFAULTS</a><br />
+<td width="33%" class="link-index"><a href="x2go.defaults-module.html#X2GO_CLIENTXCONFIG_DEFAULTS">X2GO_CLIENTXCONFIG_DEFAULTS</a><br />
 <span class="index-where">(in <a href="x2go.defaults-module.html">x2go.defaults</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.backends.settings._winreg.X2goClientSettingsWINREG-class.html">X2goClientSettingsWINREG</a><br />
 <span class="index-where">(in <a href="x2go.backends.settings._winreg-module.html" onclick="show_private();">x2go.backends.settings._winreg</a>)</span></td>
@@ -1462,7 +1494,7 @@
 <span class="index-where">(in <a href="x2go.sftpserver-module.html">x2go.sftpserver</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="x2go.defaults-module.html#X2GO_CLIENTSETTINGS_DEFAULTS">X2GO_CLIENTSETTINGS_DEFAULTS</a><br />
+<td width="33%" class="link-index"><a href="x2go.defaults-module.html#X2GO_DESKTOPSESSIONS">X2GO_DESKTOPSESSIONS</a><br />
 <span class="index-where">(in <a href="x2go.defaults-module.html">x2go.defaults</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.xserver.X2goClientXConfig-class.html">X2goClientXConfig</a><br />
 <span class="index-where">(in <a href="x2go.xserver-module.html">x2go.xserver</a>)</span></td>
@@ -1470,7 +1502,7 @@
 <span class="index-where">(in <a href="x2go.rforward-module.html">x2go.rforward</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="x2go.defaults-module.html#X2GO_CLIENTXCONFIG_DEFAULTS">X2GO_CLIENTXCONFIG_DEFAULTS</a><br />
+<td width="33%" class="link-index"><a href="x2go.defaults-module.html#X2GO_DROPBOX_ACTIONS">X2GO_DROPBOX_ACTIONS</a><br />
 <span class="index-where">(in <a href="x2go.defaults-module.html">x2go.defaults</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.x2go_exceptions.X2goControlSessionException-class.html">X2goControlSessionException</a><br />
 <span class="index-where">(in <a href="x2go.x2go_exceptions-module.html">x2go.x2go_exceptions</a>)</span></td>
@@ -1478,47 +1510,47 @@
 <span class="index-where">(in <a href="x2go.x2go_exceptions-module.html">x2go.x2go_exceptions</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="x2go.defaults-module.html#X2GO_DESKTOPSESSIONS">X2GO_DESKTOPSESSIONS</a><br />
-<span class="index-where">(in <a href="x2go.defaults-module.html">x2go.defaults</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.dropbox-module.html#x2go_dropboxjob_handler">x2go_dropboxjob_handler()</a><br />
+<span class="index-where">(in <a href="x2go.dropbox-module.html">x2go.dropbox</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.backends.control._stdout.X2goControlSessionSTDOUT-class.html">X2goControlSessionSTDOUT</a><br />
 <span class="index-where">(in <a href="x2go.backends.control._stdout-module.html" onclick="show_private();">x2go.backends.control._stdout</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.sftpserver.X2goRevFwTunnelToSFTP-class.html">X2goRevFwTunnelToSFTP</a><br />
 <span class="index-where">(in <a href="x2go.sftpserver-module.html">x2go.sftpserver</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="x2go.defaults-module.html#X2GO_DROPBOX_ACTIONS">X2GO_DROPBOX_ACTIONS</a><br />
-<span class="index-where">(in <a href="x2go.defaults-module.html">x2go.defaults</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.x2go_exceptions-module.html">x2go_exceptions</a><br />
+<span class="index-where">(in <a href="x2go-module.html">x2go</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.dropboxactions.X2goDropboxAction-class.html">X2goDropboxAction</a><br />
 <span class="index-where">(in <a href="x2go.dropboxactions-module.html">x2go.dropboxactions</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.backends.info._stdout.X2goServerSessionInfoSTDOUT-class.html">X2goServerSessionInfoSTDOUT</a><br />
 <span class="index-where">(in <a href="x2go.backends.info._stdout-module.html" onclick="show_private();">x2go.backends.info._stdout</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="x2go.dropbox-module.html#x2go_dropboxjob_handler">x2go_dropboxjob_handler()</a><br />
-<span class="index-where">(in <a href="x2go.dropbox-module.html">x2go.dropbox</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.forward.X2goFwServer-class.html#x2go_forward_tunnel_handle">x2go_forward_tunnel_handle()</a><br />
+<span class="index-where">(in <a href="x2go.forward.X2goFwServer-class.html">X2goFwServer</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.dropboxactions.X2goDropboxActionOPEN-class.html">X2goDropboxActionOPEN</a><br />
 <span class="index-where">(in <a href="x2go.dropboxactions-module.html">x2go.dropboxactions</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.backends.info._stdout.X2goServerSessionListSTDOUT-class.html">X2goServerSessionListSTDOUT</a><br />
 <span class="index-where">(in <a href="x2go.backends.info._stdout-module.html" onclick="show_private();">x2go.backends.info._stdout</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="x2go.x2go_exceptions-module.html">x2go_exceptions</a><br />
-<span class="index-where">(in <a href="x2go-module.html">x2go</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.defaults-module.html#X2GO_GENERIC_APPLICATIONS">X2GO_GENERIC_APPLICATIONS</a><br />
+<span class="index-where">(in <a href="x2go.defaults-module.html">x2go.defaults</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.dropboxactions.X2goDropboxActionOPENWITH-class.html">X2goDropboxActionOPENWITH</a><br />
 <span class="index-where">(in <a href="x2go.dropboxactions-module.html">x2go.dropboxactions</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.session.X2goSession-class.html">X2goSession</a><br />
 <span class="index-where">(in <a href="x2go.session-module.html">x2go.session</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="x2go.forward.X2goFwServer-class.html#x2go_forward_tunnel_handle">x2go_forward_tunnel_handle()</a><br />
-<span class="index-where">(in <a href="x2go.forward.X2goFwServer-class.html">X2goFwServer</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.cache.X2goListSessionsCache-class.html#x2go_listsessions_cache">x2go_listsessions_cache</a><br />
+<span class="index-where">(in <a href="x2go.cache.X2goListSessionsCache-class.html">X2goListSessionsCache</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.dropboxactions.X2goDropboxActionSAVEAS-class.html">X2goDropboxActionSAVEAS</a><br />
 <span class="index-where">(in <a href="x2go.dropboxactions-module.html">x2go.dropboxactions</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.x2go_exceptions.X2goSessionCacheException-class.html">X2goSessionCacheException</a><br />
 <span class="index-where">(in <a href="x2go.x2go_exceptions-module.html">x2go.x2go_exceptions</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="x2go.defaults-module.html#X2GO_GENERIC_APPLICATIONS">X2GO_GENERIC_APPLICATIONS</a><br />
+<td width="33%" class="link-index"><a href="x2go.defaults-module.html#X2GO_PRINT_ACTIONS">X2GO_PRINT_ACTIONS</a><br />
 <span class="index-where">(in <a href="x2go.defaults-module.html">x2go.defaults</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.dropbox.X2goDropboxJob-class.html">X2goDropboxJob</a><br />
 <span class="index-where">(in <a href="x2go.dropbox-module.html">x2go.dropbox</a>)</span></td>
@@ -1526,15 +1558,15 @@
 <span class="index-where">(in <a href="x2go.x2go_exceptions-module.html">x2go.x2go_exceptions</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="x2go.cache.X2goListSessionsCache-class.html#x2go_listsessions_cache">x2go_listsessions_cache</a><br />
-<span class="index-where">(in <a href="x2go.cache.X2goListSessionsCache-class.html">X2goListSessionsCache</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.defaults-module.html#X2GO_PRINTING_CONFIGFILES">X2GO_PRINTING_CONFIGFILES</a><br />
+<span class="index-where">(in <a href="x2go.defaults-module.html">x2go.defaults</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.dropbox.X2goDropboxQueue-class.html">X2goDropboxQueue</a><br />
 <span class="index-where">(in <a href="x2go.dropbox-module.html">x2go.dropbox</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.guardian.X2goSessionGuardian-class.html">X2goSessionGuardian</a><br />
 <span class="index-where">(in <a href="x2go.guardian-module.html">x2go.guardian</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="x2go.defaults-module.html#X2GO_PRINT_ACTIONS">X2GO_PRINT_ACTIONS</a><br />
+<td width="33%" class="link-index"><a href="x2go.defaults-module.html#X2GO_PRINTING_FILENAME">X2GO_PRINTING_FILENAME</a><br />
 <span class="index-where">(in <a href="x2go.defaults-module.html">x2go.defaults</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.forward.X2goFwServer-class.html">X2goFwServer</a><br />
 <span class="index-where">(in <a href="x2go.forward-module.html">x2go.forward</a>)</span></td>
@@ -1542,47 +1574,47 @@
 <span class="index-where">(in <a href="x2go.backends.terminal._stdout-module.html" onclick="show_private();">x2go.backends.terminal._stdout</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="x2go.defaults-module.html#X2GO_PRINTING_CONFIGFILES">X2GO_PRINTING_CONFIGFILES</a><br />
-<span class="index-where">(in <a href="x2go.defaults-module.html">x2go.defaults</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.printqueue-module.html#x2go_printjob_handler">x2go_printjob_handler()</a><br />
+<span class="index-where">(in <a href="x2go.printqueue-module.html">x2go.printqueue</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.x2go_exceptions.X2goFwTunnelException-class.html">X2goFwTunnelException</a><br />
 <span class="index-where">(in <a href="x2go.x2go_exceptions-module.html">x2go.x2go_exceptions</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.backends.profiles._file.X2goSessionProfilesFILE-class.html">X2goSessionProfilesFILE</a><br />
 <span class="index-where">(in <a href="x2go.backends.profiles._file-module.html" onclick="show_private();">x2go.backends.profiles._file</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="x2go.defaults-module.html#X2GO_PRINTING_FILENAME">X2GO_PRINTING_FILENAME</a><br />
-<span class="index-where">(in <a href="x2go.defaults-module.html">x2go.defaults</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.rforward-module.html#x2go_rev_forward_channel_handler">x2go_rev_forward_channel_handler()</a><br />
+<span class="index-where">(in <a href="x2go.rforward-module.html">x2go.rforward</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.x2go_exceptions.X2goHostKeyException-class.html">X2goHostKeyException</a><br />
 <span class="index-where">(in <a href="x2go.x2go_exceptions-module.html">x2go.x2go_exceptions</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.backends.profiles._gconf.X2goSessionProfilesGCONF-class.html">X2goSessionProfilesGCONF</a><br />
 <span class="index-where">(in <a href="x2go.backends.profiles._gconf-module.html" onclick="show_private();">x2go.backends.profiles._gconf</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="x2go.printqueue-module.html#x2go_printjob_handler">x2go_printjob_handler()</a><br />
-<span class="index-where">(in <a href="x2go.printqueue-module.html">x2go.printqueue</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.sftpserver-module.html#x2go_rev_forward_sftpchannel_handler">x2go_rev_forward_sftpchannel_handler()</a><br />
+<span class="index-where">(in <a href="x2go.sftpserver-module.html">x2go.sftpserver</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.inifiles.X2goIniFile-class.html">X2goIniFile</a><br />
 <span class="index-where">(in <a href="x2go.inifiles-module.html">x2go.inifiles</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.backends.profiles._httpsbroker.X2goSessionProfilesHTTPSBROKER-class.html">X2goSessionProfilesHTTPSBROKER</a><br />
 <span class="index-where">(in <a href="x2go.backends.profiles._httpsbroker-module.html" onclick="show_private();">x2go.backends.profiles._httpsbroker</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="x2go.rforward-module.html#x2go_rev_forward_channel_handler">x2go_rev_forward_channel_handler()</a><br />
-<span class="index-where">(in <a href="x2go.rforward-module.html">x2go.rforward</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.defaults-module.html#X2GO_SESSIONPROFILE_DEFAULTS">X2GO_SESSIONPROFILE_DEFAULTS</a><br />
+<span class="index-where">(in <a href="x2go.defaults-module.html">x2go.defaults</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.checkhosts.X2goInteractiveAddPolicy-class.html">X2goInteractiveAddPolicy</a><br />
 <span class="index-where">(in <a href="x2go.checkhosts-module.html">x2go.checkhosts</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.backends.profiles._winreg.X2goSessionProfilesWINREG-class.html">X2goSessionProfilesWINREG</a><br />
 <span class="index-where">(in <a href="x2go.backends.profiles._winreg-module.html" onclick="show_private();">x2go.backends.profiles._winreg</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="x2go.sftpserver-module.html#x2go_rev_forward_sftpchannel_handler">x2go_rev_forward_sftpchannel_handler()</a><br />
-<span class="index-where">(in <a href="x2go.sftpserver-module.html">x2go.sftpserver</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.defaults-module.html#X2GO_SESSIONPROFILES_CONFIGFILES">X2GO_SESSIONPROFILES_CONFIGFILES</a><br />
+<span class="index-where">(in <a href="x2go.defaults-module.html">x2go.defaults</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.cache.X2goListSessionsCache-class.html">X2goListSessionsCache</a><br />
 <span class="index-where">(in <a href="x2go.cache-module.html">x2go.cache</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.registry.X2goSessionRegistry-class.html">X2goSessionRegistry</a><br />
 <span class="index-where">(in <a href="x2go.registry-module.html">x2go.registry</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="x2go.defaults-module.html#X2GO_SESSIONPROFILE_DEFAULTS">X2GO_SESSIONPROFILE_DEFAULTS</a><br />
+<td width="33%" class="link-index"><a href="x2go.defaults-module.html#X2GO_SESSIONPROFILES_FILENAME">X2GO_SESSIONPROFILES_FILENAME</a><br />
 <span class="index-where">(in <a href="x2go.defaults-module.html">x2go.defaults</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.log.X2goLogger-class.html">X2goLogger</a><br />
 <span class="index-where">(in <a href="x2go.log-module.html">x2go.log</a>)</span></td>
@@ -1590,115 +1622,100 @@
 <span class="index-where">(in <a href="x2go.x2go_exceptions-module.html">x2go.x2go_exceptions</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="x2go.defaults-module.html#X2GO_SESSIONPROFILES_CONFIGFILES">X2GO_SESSIONPROFILES_CONFIGFILES</a><br />
+<td width="33%" class="link-index"><a href="x2go.defaults-module.html#X2GO_SESSIONS_ROOTDIR">X2GO_SESSIONS_ROOTDIR</a><br />
 <span class="index-where">(in <a href="x2go.defaults-module.html">x2go.defaults</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.x2go_exceptions.X2goNotImplementedYetException-class.html">X2goNotImplementedYetException</a><br />
 <span class="index-where">(in <a href="x2go.x2go_exceptions-module.html">x2go.x2go_exceptions</a>)</span></td>
-<td width="33%" class="link-index"><a href="x2go.x2go_exceptions.X2goSettingsException-class.html">X2goSettingsException</a><br />
-<span class="index-where">(in <a href="x2go.x2go_exceptions-module.html">x2go.x2go_exceptions</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.sshproxy.X2goSSHProxy-class.html">X2goSSHProxy</a><br />
+<span class="index-where">(in <a href="x2go.sshproxy-module.html">x2go.sshproxy</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="x2go.defaults-module.html#X2GO_SESSIONPROFILES_FILENAME">X2GO_SESSIONPROFILES_FILENAME</a><br />
+<td width="33%" class="link-index"><a href="x2go.defaults-module.html#X2GO_SETTINGS_CONFIGFILES">X2GO_SETTINGS_CONFIGFILES</a><br />
 <span class="index-where">(in <a href="x2go.defaults-module.html">x2go.defaults</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.printactions.X2goPrintAction-class.html">X2goPrintAction</a><br />
 <span class="index-where">(in <a href="x2go.printactions-module.html">x2go.printactions</a>)</span></td>
-<td width="33%" class="link-index"><a href="x2go.sshproxy.X2goSSHProxy-class.html">X2goSSHProxy</a><br />
-<span class="index-where">(in <a href="x2go.sshproxy-module.html">x2go.sshproxy</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.x2go_exceptions.X2goSSHProxyAuthenticationException-class.html">X2goSSHProxyAuthenticationException</a><br />
+<span class="index-where">(in <a href="x2go.x2go_exceptions-module.html">x2go.x2go_exceptions</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="x2go.defaults-module.html#X2GO_SESSIONS_ROOTDIR">X2GO_SESSIONS_ROOTDIR</a><br />
+<td width="33%" class="link-index"><a href="x2go.defaults-module.html#X2GO_SETTINGS_FILENAME">X2GO_SETTINGS_FILENAME</a><br />
 <span class="index-where">(in <a href="x2go.defaults-module.html">x2go.defaults</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.printactions.X2goPrintActionDIALOG-class.html">X2goPrintActionDIALOG</a><br />
 <span class="index-where">(in <a href="x2go.printactions-module.html">x2go.printactions</a>)</span></td>
-<td width="33%" class="link-index"><a href="x2go.x2go_exceptions.X2goSSHProxyAuthenticationException-class.html">X2goSSHProxyAuthenticationException</a><br />
+<td width="33%" class="link-index"><a href="x2go.x2go_exceptions.X2goSSHProxyException-class.html">X2goSSHProxyException</a><br />
 <span class="index-where">(in <a href="x2go.x2go_exceptions-module.html">x2go.x2go_exceptions</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="x2go.defaults-module.html#X2GO_SETTINGS_CONFIGFILES">X2GO_SETTINGS_CONFIGFILES</a><br />
+<td width="33%" class="link-index"><a href="x2go.defaults-module.html#X2GO_SSH_ROOTDIR">X2GO_SSH_ROOTDIR</a><br />
 <span class="index-where">(in <a href="x2go.defaults-module.html">x2go.defaults</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.x2go_exceptions.X2goPrintActionException-class.html">X2goPrintActionException</a><br />
 <span class="index-where">(in <a href="x2go.x2go_exceptions-module.html">x2go.x2go_exceptions</a>)</span></td>
-<td width="33%" class="link-index"><a href="x2go.x2go_exceptions.X2goSSHProxyException-class.html">X2goSSHProxyException</a><br />
+<td width="33%" class="link-index"><a href="x2go.x2go_exceptions.X2goSSHProxyHostKeyException-class.html">X2goSSHProxyHostKeyException</a><br />
 <span class="index-where">(in <a href="x2go.x2go_exceptions-module.html">x2go.x2go_exceptions</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="x2go.defaults-module.html#X2GO_SETTINGS_FILENAME">X2GO_SETTINGS_FILENAME</a><br />
-<span class="index-where">(in <a href="x2go.defaults-module.html">x2go.defaults</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.rforward-module.html#x2go_transport_tcp_handler">x2go_transport_tcp_handler()</a><br />
+<span class="index-where">(in <a href="x2go.rforward-module.html">x2go.rforward</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.printactions.X2goPrintActionPDFSAVE-class.html">X2goPrintActionPDFSAVE</a><br />
 <span class="index-where">(in <a href="x2go.printactions-module.html">x2go.printactions</a>)</span></td>
-<td width="33%" class="link-index"><a href="x2go.x2go_exceptions.X2goSSHProxyHostKeyException-class.html">X2goSSHProxyHostKeyException</a><br />
+<td width="33%" class="link-index"><a href="x2go.x2go_exceptions.X2goTerminalSessionException-class.html">X2goTerminalSessionException</a><br />
 <span class="index-where">(in <a href="x2go.x2go_exceptions-module.html">x2go.x2go_exceptions</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="x2go.defaults-module.html#X2GO_SSH_ROOTDIR">X2GO_SSH_ROOTDIR</a><br />
+<td width="33%" class="link-index"><a href="x2go.defaults-module.html#X2GO_XCONFIG_CONFIGFILES">X2GO_XCONFIG_CONFIGFILES</a><br />
 <span class="index-where">(in <a href="x2go.defaults-module.html">x2go.defaults</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.printactions.X2goPrintActionPDFVIEW-class.html">X2goPrintActionPDFVIEW</a><br />
 <span class="index-where">(in <a href="x2go.printactions-module.html">x2go.printactions</a>)</span></td>
-<td width="33%" class="link-index"><a href="x2go.x2go_exceptions.X2goTerminalSessionException-class.html">X2goTerminalSessionException</a><br />
-<span class="index-where">(in <a href="x2go.x2go_exceptions-module.html">x2go.x2go_exceptions</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="x2go.rforward-module.html#x2go_transport_tcp_handler">x2go_transport_tcp_handler()</a><br />
-<span class="index-where">(in <a href="x2go.rforward-module.html">x2go.rforward</a>)</span></td>
-<td width="33%" class="link-index"><a href="x2go.printactions.X2goPrintActionPRINT-class.html">X2goPrintActionPRINT</a><br />
-<span class="index-where">(in <a href="x2go.printactions-module.html">x2go.printactions</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.backends.terminal._stdout.X2goTerminalSessionSTDOUT-class.html">X2goTerminalSessionSTDOUT</a><br />
 <span class="index-where">(in <a href="x2go.backends.terminal._stdout-module.html" onclick="show_private();">x2go.backends.terminal._stdout</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="x2go.defaults-module.html#X2GO_XCONFIG_CONFIGFILES">X2GO_XCONFIG_CONFIGFILES</a><br />
+<td width="33%" class="link-index"><a href="x2go.defaults-module.html#X2GO_XCONFIG_FILENAME">X2GO_XCONFIG_FILENAME</a><br />
 <span class="index-where">(in <a href="x2go.defaults-module.html">x2go.defaults</a>)</span></td>
-<td width="33%" class="link-index"><a href="x2go.printactions.X2goPrintActionPRINTCMD-class.html">X2goPrintActionPRINTCMD</a><br />
+<td width="33%" class="link-index"><a href="x2go.printactions.X2goPrintActionPRINT-class.html">X2goPrintActionPRINT</a><br />
 <span class="index-where">(in <a href="x2go.printactions-module.html">x2go.printactions</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.x2go_exceptions.X2goUserException-class.html">X2goUserException</a><br />
 <span class="index-where">(in <a href="x2go.x2go_exceptions-module.html">x2go.x2go_exceptions</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="x2go.defaults-module.html#X2GO_XCONFIG_FILENAME">X2GO_XCONFIG_FILENAME</a><br />
-<span class="index-where">(in <a href="x2go.defaults-module.html">x2go.defaults</a>)</span></td>
-<td width="33%" class="link-index"><a href="x2go.x2go_exceptions.X2goPrintException-class.html">X2goPrintException</a><br />
-<span class="index-where">(in <a href="x2go.x2go_exceptions-module.html">x2go.x2go_exceptions</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.client.X2goClient-class.html">X2goClient</a><br />
+<span class="index-where">(in <a href="x2go.client-module.html">x2go.client</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.printactions.X2goPrintActionPRINTCMD-class.html">X2goPrintActionPRINTCMD</a><br />
+<span class="index-where">(in <a href="x2go.printactions-module.html">x2go.printactions</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.xserver.X2goXServer-class.html">X2goXServer</a><br />
 <span class="index-where">(in <a href="x2go.xserver-module.html">x2go.xserver</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="x2go.client.X2goClient-class.html">X2goClient</a><br />
-<span class="index-where">(in <a href="x2go.client-module.html">x2go.client</a>)</span></td>
-<td width="33%" class="link-index"><a href="x2go.printqueue.X2goPrintJob-class.html">X2goPrintJob</a><br />
-<span class="index-where">(in <a href="x2go.printqueue-module.html">x2go.printqueue</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.defaults-module.html#X2GOCLIENT_OS">X2GOCLIENT_OS</a><br />
+<span class="index-where">(in <a href="x2go.defaults-module.html">x2go.defaults</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.x2go_exceptions.X2goPrintException-class.html">X2goPrintException</a><br />
+<span class="index-where">(in <a href="x2go.x2go_exceptions-module.html">x2go.x2go_exceptions</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.xserver-module.html">xserver</a><br />
 <span class="index-where">(in <a href="x2go-module.html">x2go</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="x2go.defaults-module.html#X2GOCLIENT_OS">X2GOCLIENT_OS</a><br />
-<span class="index-where">(in <a href="x2go.defaults-module.html">x2go.defaults</a>)</span></td>
-<td width="33%" class="link-index"><a href="x2go.printqueue.X2goPrintQueue-class.html">X2goPrintQueue</a><br />
+<td width="33%" class="link-index"><a href="x2go.x2go_exceptions.X2goClientException-class.html">X2goClientException</a><br />
+<span class="index-where">(in <a href="x2go.x2go_exceptions-module.html">x2go.x2go_exceptions</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.printqueue.X2goPrintJob-class.html">X2goPrintJob</a><br />
 <span class="index-where">(in <a href="x2go.printqueue-module.html">x2go.printqueue</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.xserver.X2goClientXConfig-class.html#xserver_launch_needed">xserver_launch_needed</a><br />
 <span class="index-where">(in <a href="x2go.xserver.X2goClientXConfig-class.html">X2goClientXConfig</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="x2go.x2go_exceptions.X2goClientException-class.html">X2goClientException</a><br />
-<span class="index-where">(in <a href="x2go.x2go_exceptions-module.html">x2go.x2go_exceptions</a>)</span></td>
-<td width="33%" class="link-index"><a href="x2go.x2go_exceptions.X2goPrintQueueException-class.html">X2goPrintQueueException</a><br />
+<td width="33%" class="link-index"><a href="x2go.x2go_exceptions.X2goClientPrintingException-class.html">X2goClientPrintingException</a><br />
 <span class="index-where">(in <a href="x2go.x2go_exceptions-module.html">x2go.x2go_exceptions</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.printqueue.X2goPrintQueue-class.html">X2goPrintQueue</a><br />
+<span class="index-where">(in <a href="x2go.printqueue-module.html">x2go.printqueue</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.xserver.X2goClientXConfig-class.html#xserver_launch_possible">xserver_launch_possible</a><br />
 <span class="index-where">(in <a href="x2go.xserver.X2goClientXConfig-class.html">X2goClientXConfig</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="x2go.backends.printing._file.X2goClientPrintingFILE-class.html">X2goClientPrintingFILE</a><br />
 <span class="index-where">(in <a href="x2go.backends.printing._file-module.html" onclick="show_private();">x2go.backends.printing._file</a>)</span></td>
-<td width="33%" class="link-index"><a href="x2go.x2go_exceptions.X2goProfileException-class.html">X2goProfileException</a><br />
+<td width="33%" class="link-index"><a href="x2go.x2go_exceptions.X2goPrintQueueException-class.html">X2goPrintQueueException</a><br />
 <span class="index-where">(in <a href="x2go.x2go_exceptions-module.html">x2go.x2go_exceptions</a>)</span></td>
 <td width="33%" class="link-index"> </td>
 </tr>
-<tr>
-<td width="33%" class="link-index"><a href="x2go.backends.printing._gconf.X2goClientPrintingGCONF-class.html">X2goClientPrintingGCONF</a><br />
-<span class="index-where">(in <a href="x2go.backends.printing._gconf-module.html" onclick="show_private();">x2go.backends.printing._gconf</a>)</span></td>
-<td width="33%" class="link-index"><a href="x2go.backends.proxy.base.X2goProxyBASE-class.html">X2goProxyBASE</a><br />
-<span class="index-where">(in <a href="x2go.backends.proxy.base-module.html">x2go.backends.proxy.base</a>)</span></td>
-<td width="33%" class="link-index"> </td>
-</tr>
 </table>
 </td></tr>
 <tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="_">_</a></h2></td>
@@ -2157,71 +2174,71 @@
 <span class="index-where">(in <a href="x2go.printactions.X2goPrintActionPDFVIEW-class.html">X2goPrintActionPDFVIEW</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.backends.printing-module.html#__package__">__package__</a><br />
 <span class="index-where">(in <a href="x2go.backends.printing-module.html">x2go.backends.printing</a>)</span></td>
-<td width="33%" class="link-index"><a href="x2go.guardian-module.html#_sigterm_received">_sigterm_received</a><br />
-<span class="index-where">(in <a href="x2go.guardian-module.html">x2go.guardian</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.backends.printing._file-module.html#_print_property_map">_print_property_map</a><br />
+<span class="index-where">(in <a href="x2go.backends.printing._file-module.html" onclick="show_private();">x2go.backends.printing._file</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="x2go.printactions.X2goPrintActionPRINT-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in <a href="x2go.printactions.X2goPrintActionPRINT-class.html">X2goPrintActionPRINT</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.backends.printing._file-module.html#__package__">__package__</a><br />
 <span class="index-where">(in <a href="x2go.backends.printing._file-module.html" onclick="show_private();">x2go.backends.printing._file</a>)</span></td>
-<td width="33%" class="link-index"><a href="x2go.backends.control._stdout-module.html">_stdout</a><br />
-<span class="index-where">(in <a href="x2go.backends.control-module.html">x2go.backends.control</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.guardian-module.html#_sigterm_received">_sigterm_received</a><br />
+<span class="index-where">(in <a href="x2go.guardian-module.html">x2go.guardian</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="x2go.printactions.X2goPrintActionPRINTCMD-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in <a href="x2go.printactions.X2goPrintActionPRINTCMD-class.html">X2goPrintActionPRINTCMD</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.backends.printing._gconf-module.html#__package__">__package__</a><br />
 <span class="index-where">(in <a href="x2go.backends.printing._gconf-module.html" onclick="show_private();">x2go.backends.printing._gconf</a>)</span></td>
-<td width="33%" class="link-index"><a href="x2go.backends.info._stdout-module.html">_stdout</a><br />
-<span class="index-where">(in <a href="x2go.backends.info-module.html">x2go.backends.info</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.backends.control._stdout-module.html">_stdout</a><br />
+<span class="index-where">(in <a href="x2go.backends.control-module.html">x2go.backends.control</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="x2go.printqueue.X2goPrintJob-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in <a href="x2go.printqueue.X2goPrintJob-class.html">X2goPrintJob</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.backends.printing._winreg-module.html#__package__">__package__</a><br />
 <span class="index-where">(in <a href="x2go.backends.printing._winreg-module.html" onclick="show_private();">x2go.backends.printing._winreg</a>)</span></td>
-<td width="33%" class="link-index"><a href="x2go.backends.terminal._stdout-module.html">_stdout</a><br />
-<span class="index-where">(in <a href="x2go.backends.terminal-module.html">x2go.backends.terminal</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.backends.info._stdout-module.html">_stdout</a><br />
+<span class="index-where">(in <a href="x2go.backends.info-module.html">x2go.backends.info</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="x2go.printqueue.X2goPrintQueue-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in <a href="x2go.printqueue.X2goPrintQueue-class.html">X2goPrintQueue</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.backends.profiles-module.html#__package__">__package__</a><br />
 <span class="index-where">(in <a href="x2go.backends.profiles-module.html">x2go.backends.profiles</a>)</span></td>
-<td width="33%" class="link-index"><a href="x2go.backends.printing._winreg-module.html">_winreg</a><br />
-<span class="index-where">(in <a href="x2go.backends.printing-module.html">x2go.backends.printing</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.backends.terminal._stdout-module.html">_stdout</a><br />
+<span class="index-where">(in <a href="x2go.backends.terminal-module.html">x2go.backends.terminal</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="x2go.pulseaudio.X2goPulseAudio-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in <a href="x2go.pulseaudio.X2goPulseAudio-class.html">X2goPulseAudio</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.backends.profiles._file-module.html#__package__">__package__</a><br />
 <span class="index-where">(in <a href="x2go.backends.profiles._file-module.html" onclick="show_private();">x2go.backends.profiles._file</a>)</span></td>
-<td width="33%" class="link-index"><a href="x2go.backends.profiles._winreg-module.html">_winreg</a><br />
-<span class="index-where">(in <a href="x2go.backends.profiles-module.html">x2go.backends.profiles</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.backends.printing._winreg-module.html">_winreg</a><br />
+<span class="index-where">(in <a href="x2go.backends.printing-module.html">x2go.backends.printing</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="x2go.registry.X2goSessionRegistry-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in <a href="x2go.registry.X2goSessionRegistry-class.html">X2goSessionRegistry</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.backends.profiles._gconf-module.html#__package__">__package__</a><br />
 <span class="index-where">(in <a href="x2go.backends.profiles._gconf-module.html" onclick="show_private();">x2go.backends.profiles._gconf</a>)</span></td>
-<td width="33%" class="link-index"><a href="x2go.backends.settings._winreg-module.html">_winreg</a><br />
-<span class="index-where">(in <a href="x2go.backends.settings-module.html">x2go.backends.settings</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.backends.profiles._winreg-module.html">_winreg</a><br />
+<span class="index-where">(in <a href="x2go.backends.profiles-module.html">x2go.backends.profiles</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="x2go.rforward.X2goRevFwChannelThread-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in <a href="x2go.rforward.X2goRevFwChannelThread-class.html">X2goRevFwChannelThread</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.backends.profiles._httpsbroker-module.html#__package__">__package__</a><br />
 <span class="index-where">(in <a href="x2go.backends.profiles._httpsbroker-module.html" onclick="show_private();">x2go.backends.profiles._httpsbroker</a>)</span></td>
-<td width="33%" class="link-index"><a href="x2go.session-module.html#_X2GO_SESSION_PARAMS">_X2GO_SESSION_PARAMS</a><br />
-<span class="index-where">(in <a href="x2go.session-module.html">x2go.session</a>)</span></td>
+<td width="33%" class="link-index"><a href="x2go.backends.settings._winreg-module.html">_winreg</a><br />
+<span class="index-where">(in <a href="x2go.backends.settings-module.html">x2go.backends.settings</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="x2go.rforward.X2goRevFwTunnel-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in <a href="x2go.rforward.X2goRevFwTunnel-class.html">X2goRevFwTunnel</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.backends.profiles._winreg-module.html#__package__">__package__</a><br />
 <span class="index-where">(in <a href="x2go.backends.profiles._winreg-module.html" onclick="show_private();">x2go.backends.profiles._winreg</a>)</span></td>
-<td width="33%" class="link-index"><a href="x2go.session-module.html#_X2GO_SSHPROXY_PARAMS">_X2GO_SSHPROXY_PARAMS</a><br />
+<td width="33%" class="link-index"><a href="x2go.session-module.html#_X2GO_SESSION_PARAMS">_X2GO_SESSION_PARAMS</a><br />
 <span class="index-where">(in <a href="x2go.session-module.html">x2go.session</a>)</span></td>
 </tr>
 <tr>
@@ -2229,7 +2246,8 @@
 <span class="index-where">(in <a href="x2go.session.X2goSession-class.html">X2goSession</a>)</span></td>
 <td width="33%" class="link-index"><a href="x2go.backends.proxy-module.html#__package__">__package__</a><br />
 <span class="index-where">(in <a href="x2go.backends.proxy-module.html">x2go.backends.proxy</a>)</span></td>
-<td width="33%" class="link-index"> </td>
+<td width="33%" class="link-index"><a href="x2go.session-module.html#_X2GO_SSHPROXY_PARAMS">_X2GO_SSHPROXY_PARAMS</a><br />
+<span class="index-where">(in <a href="x2go.session-module.html">x2go.session</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="x2go.sftpserver.X2goRevFwTunnelToSFTP-class.html#__init__">__init__()</a><br />
@@ -2272,7 +2290,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:23 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/module-tree.html b/doc/html/module-tree.html
index b54e33b..794ab97 100644
--- a/doc/html/module-tree.html
+++ b/doc/html/module-tree.html
@@ -218,7 +218,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:23 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/redirect.html b/doc/html/redirect.html
index 1a81f93..33bcbc8 100644
--- a/doc/html/redirect.html
+++ b/doc/html/redirect.html
@@ -7,7 +7,7 @@
 <body>
 <script type="text/javascript">
 <!--
-var pages = ["x2go.backends.profiles._httpsbroker.X2goSessionProfilesHTTPSBROKER-c", "x2go.backends.profiles._winreg.X2goSessionProfilesWINREG-c", "x2go.backends.terminal._stdout.X2goTerminalSessionSTDOUT-c", "x2go.x2go_exceptions.X2goSSHProxyAuthenticationException-c", "x2go.backends.printing._winreg.X2goClientPrintingWINREG-c", "x2go.backends.settings._winreg.X2goClientSettingsWINREG-c", "x2go.backends.control._stdout.X2goControlSessionSTDOUT-c", "x2go.backends.info._stdout.X2goServerSessionInfoSTDOUT-c", "x2go.backends.info._stdout.X2goServerSessionListSTDOUT-c", "x2go.backends.profiles._gconf.X2goSessionProfilesGCONF-c", "x2go.backends.printing._gconf.X2goClientPrintingGCONF-c", "x2go.backends.settings._gconf.X2goClientSettingsGCONF-c", "x2go.backends.profiles._file.X2goSessionProfilesFILE-c", "x2go.backends.printing._file.X2goClientPrintingFILE-c", "x2go.backends.settings._file.X2goClientSettingsFILE-c", "x2go.x2go_exceptions.X2goNotImplementedYetException-c", "x2go.x2g
 o_except
 ions.X2goSSHProxyHostKeyException-c", "x2go.x2go_exceptions.X2goSessionRegistryException-c", "x2go.x2go_exceptions.X2goTerminalSessionException-c", "x2go.backends.terminal._stdout.X2goSessionParams-c", "x2go.x2go_exceptions.X2goControlSessionException-c", "x2go.x2go_exceptions.X2goSessionCacheException-c", "x2go.dropboxactions.X2goDropboxActionOPENWITH-c", "x2go.x2go_exceptions.X2goPrintActionException-c", "x2go.x2go_exceptions.X2goRevFwTunnelException-c", "x2go.x2go_exceptions.X2goPrintQueueException-c", "x2go.dropboxactions.X2goDropboxActionSAVEAS-c", "x2go.sftpserver.X2goRevFwSFTPChannelThread-c", "x2go.x2go_exceptions.X2goFwTunnelException-c", "x2go.x2go_exceptions.X2goSSHProxyException-c", "x2go.x2go_exceptions.X2goSettingsException-c", "x2go.dropboxactions.X2goDropboxActionOPEN-c", "x2go.printactions.X2goPrintActionPRINTCMD-c", "x2go.x2go_exceptions.X2goHostKeyException-c", "x2go.x2go_exceptions.X2goProfileException-c", "x2go.x2go_exceptions.X2goSessionException-c", "x
 2go.chec
 khosts.X2goInteractiveAddPolicy-c", "x2go.printactions.X2goPrintActionPDFSAVE-c", "x2go.printactions.X2goPrintActionPDFVIEW-c", "x2go.x2go_exceptions.X2goClientException-c", "x2go.printactions.X2goPrintActionDIALOG-c", "x2go.x2go_exceptions.X2goPrintException-c", "x2go.backends.proxy.base.X2goProxyBASE-c", "x2go.printactions.X2goPrintActionPRINT-c", "x2go.x2go_exceptions.X2goUserException-c", "x2go.backends.proxy._nx3.X2goProxyNX3-c", "x2go.defaults.OSNotSupportedException-c", "x2go.dropboxactions.X2goDropboxAction-c", "x2go.sftpserver.X2goRevFwTunnelToSFTP-c", "x2go.rforward.X2goRevFwChannelThread-c", "x2go.backends.profiles._httpsbroker-m", "x2go.guardian.X2goSessionGuardian-c", "x2go.printactions.X2goPrintAction-c", "x2go.registry.X2goSessionRegistry-c", "x2go.x2go_exceptions.WindowsError-c", "x2go.cache.X2goListSessionsCache-c", "x2go.backends.printing._winreg-m", "x2go.backends.profiles._winreg-m", "x2go.backends.settings._winreg-m", "x2go.backends.terminal._stdout-m", 
 "x2go.pr
 intqueue.X2goPrintQueue-c", "x2go.pulseaudio.X2goPulseAudio-c", "x2go.xserver.X2goClientXConfig-c", "x2go.backends.control._stdout-m", "x2go.backends.printing._gconf-m", "x2go.backends.profiles._gconf-m", "x2go.backends.settings._gconf-m", "x2go.dropbox.X2goDropboxQueue-c", "x2go.rforward.X2goRevFwTunnel-c", "x2go.backends.printing._file-m", "x2go.backends.profiles._file-m", "x2go.backends.settings._file-m", "x2go.gevent_subprocess.Popen-c", "x2go.printqueue.X2goPrintJob-c", "x2go.dropbox.X2goDropboxJob-c", "x2go.backends.info._stdout-m", "x2go.sshproxy.X2goSSHProxy-c", "x2go.forward.X2goFwServer-c", "x2go.inifiles.X2goIniFile-c", "x2go.backends.proxy._nx3-m", "x2go.backends.proxy.base-m", "x2go.session.X2goSession-c", "x2go.xserver.X2goXServer-c", "x2go.backends.printing-m", "x2go.backends.profiles-m", "x2go.backends.settings-m", "x2go.backends.terminal-m", "x2go.gevent_subprocess-m", "x2go.client.X2goClient-c", "x2go.backends.control-m", "x2go.x2go_exceptions-m", "x2go.bac
 kends.pr
 oxy-m", "x2go.dropboxactions-m", "x2go.log.X2goLogger-c", "x2go.backends.info-m", "x2go.printactions-m", "x2go.checkhosts-m", "x2go.printqueue-m", "x2go.pulseaudio-m", "x2go.sftpserver-m", "x2go.backends-m", "x2go.defaults-m", "x2go.guardian-m", "x2go.inifiles-m", "x2go.registry-m", "x2go.rforward-m", "x2go.sshproxy-m", "x2go.cleanup-m", "x2go.dropbox-m", "x2go.forward-m", "x2go.session-m", "x2go.xserver-m", "x2go.client-m", "x2go.cache-m", "x2go.utils-m", "x2go.log-m", "x2go-m"];
+var pages = ["x2go.backends.profiles._httpsbroker.X2goSessionProfilesHTTPSBROKER-c", "x2go.backends.profiles._winreg.X2goSessionProfilesWINREG-c", "x2go.backends.terminal._stdout.X2goTerminalSessionSTDOUT-c", "x2go.x2go_exceptions.X2goSSHProxyAuthenticationException-c", "x2go.backends.printing._winreg.X2goClientPrintingWINREG-c", "x2go.backends.settings._winreg.X2goClientSettingsWINREG-c", "x2go.backends.control._stdout.X2goControlSessionSTDOUT-c", "x2go.backends.info._stdout.X2goServerSessionInfoSTDOUT-c", "x2go.backends.info._stdout.X2goServerSessionListSTDOUT-c", "x2go.backends.profiles._gconf.X2goSessionProfilesGCONF-c", "x2go.backends.printing._gconf.X2goClientPrintingGCONF-c", "x2go.backends.settings._gconf.X2goClientSettingsGCONF-c", "x2go.backends.profiles._file.X2goSessionProfilesFILE-c", "x2go.backends.printing._file.X2goClientPrintingFILE-c", "x2go.backends.settings._file.X2goClientSettingsFILE-c", "x2go.x2go_exceptions.X2goNotImplementedYetException-c", "x2go.x2g
 o_except
 ions.X2goSSHProxyHostKeyException-c", "x2go.x2go_exceptions.X2goSessionRegistryException-c", "x2go.x2go_exceptions.X2goTerminalSessionException-c", "x2go.backends.terminal._stdout.X2goSessionParams-c", "x2go.x2go_exceptions.X2goClientPrintingException-c", "x2go.x2go_exceptions.X2goClientSettingsException-c", "x2go.x2go_exceptions.X2goControlSessionException-c", "x2go.x2go_exceptions.X2goSessionCacheException-c", "x2go.dropboxactions.X2goDropboxActionOPENWITH-c", "x2go.x2go_exceptions.X2goPrintActionException-c", "x2go.x2go_exceptions.X2goRevFwTunnelException-c", "x2go.x2go_exceptions.X2goPrintQueueException-c", "x2go.dropboxactions.X2goDropboxActionSAVEAS-c", "x2go.sftpserver.X2goRevFwSFTPChannelThread-c", "x2go.x2go_exceptions.X2goFwTunnelException-c", "x2go.x2go_exceptions.X2goSSHProxyException-c", "x2go.dropboxactions.X2goDropboxActionOPEN-c", "x2go.printactions.X2goPrintActionPRINTCMD-c", "x2go.x2go_exceptions.X2goHostKeyException-c", "x2go.x2go_exceptions.X2goProfileExc
 eption-c
 ", "x2go.x2go_exceptions.X2goSessionException-c", "x2go.checkhosts.X2goInteractiveAddPolicy-c", "x2go.printactions.X2goPrintActionPDFSAVE-c", "x2go.printactions.X2goPrintActionPDFVIEW-c", "x2go.x2go_exceptions.X2goClientException-c", "x2go.printactions.X2goPrintActionDIALOG-c", "x2go.x2go_exceptions.X2goPrintException-c", "x2go.backends.proxy.base.X2goProxyBASE-c", "x2go.printactions.X2goPrintActionPRINT-c", "x2go.x2go_exceptions.X2goUserException-c", "x2go.backends.proxy._nx3.X2goProxyNX3-c", "x2go.defaults.OSNotSupportedException-c", "x2go.dropboxactions.X2goDropboxAction-c", "x2go.sftpserver.X2goRevFwTunnelToSFTP-c", "x2go.rforward.X2goRevFwChannelThread-c", "x2go.backends.profiles._httpsbroker-m", "x2go.guardian.X2goSessionGuardian-c", "x2go.printactions.X2goPrintAction-c", "x2go.registry.X2goSessionRegistry-c", "x2go.x2go_exceptions.WindowsError-c", "x2go.cache.X2goListSessionsCache-c", "x2go.backends.printing._winreg-m", "x2go.backends.profiles._winreg-m", "x2go.backen
 ds.setti
 ngs._winreg-m", "x2go.backends.terminal._stdout-m", "x2go.printqueue.X2goPrintQueue-c", "x2go.pulseaudio.X2goPulseAudio-c", "x2go.xserver.X2goClientXConfig-c", "x2go.backends.control._stdout-m", "x2go.backends.printing._gconf-m", "x2go.backends.profiles._gconf-m", "x2go.backends.settings._gconf-m", "x2go.dropbox.X2goDropboxQueue-c", "x2go.rforward.X2goRevFwTunnel-c", "x2go.backends.printing._file-m", "x2go.backends.profiles._file-m", "x2go.backends.settings._file-m", "x2go.gevent_subprocess.Popen-c", "x2go.printqueue.X2goPrintJob-c", "x2go.dropbox.X2goDropboxJob-c", "x2go.backends.info._stdout-m", "x2go.sshproxy.X2goSSHProxy-c", "x2go.forward.X2goFwServer-c", "x2go.inifiles.X2goIniFile-c", "x2go.backends.proxy._nx3-m", "x2go.backends.proxy.base-m", "x2go.session.X2goSession-c", "x2go.xserver.X2goXServer-c", "x2go.backends.printing-m", "x2go.backends.profiles-m", "x2go.backends.settings-m", "x2go.backends.terminal-m", "x2go.gevent_subprocess-m", "x2go.client.X2goClient-c", "x
 2go.back
 ends.control-m", "x2go.x2go_exceptions-m", "x2go.backends.proxy-m", "x2go.dropboxactions-m", "x2go.log.X2goLogger-c", "x2go.backends.info-m", "x2go.printactions-m", "x2go.checkhosts-m", "x2go.printqueue-m", "x2go.pulseaudio-m", "x2go.sftpserver-m", "x2go.backends-m", "x2go.defaults-m", "x2go.guardian-m", "x2go.inifiles-m", "x2go.registry-m", "x2go.rforward-m", "x2go.sshproxy-m", "x2go.cleanup-m", "x2go.dropbox-m", "x2go.forward-m", "x2go.session-m", "x2go.xserver-m", "x2go.client-m", "x2go.cache-m", "x2go.utils-m", "x2go.log-m", "x2go-m"];
 var dottedName = get_anchor();
 if (dottedName) {
     var target = redirect_url(dottedName);
diff --git a/doc/html/toc-everything.html b/doc/html/toc-everything.html
index a1ea71f..b6c667c 100644
--- a/doc/html/toc-everything.html
+++ b/doc/html/toc-everything.html
@@ -47,7 +47,9 @@
      >x2go.sftpserver.X2goRevFwTunnelToSFTP</a><br />    <a target="mainFrame" href="x2go.sshproxy.X2goSSHProxy-class.html"
      >x2go.sshproxy.X2goSSHProxy</a><br />    <a target="mainFrame" href="x2go.x2go_exceptions.WindowsError-class.html"
      >x2go.x2go_exceptions.WindowsError</a><br />    <a target="mainFrame" href="x2go.x2go_exceptions.X2goClientException-class.html"
-     >x2go.x2go_exceptions.X2goClientException</a><br />    <a target="mainFrame" href="x2go.x2go_exceptions.X2goControlSessionException-class.html"
+     >x2go.x2go_exceptions.X2goClientException</a><br />    <a target="mainFrame" href="x2go.x2go_exceptions.X2goClientPrintingException-class.html"
+     >x2go.x2go_exceptions.X2goClientPrintingException</a><br />    <a target="mainFrame" href="x2go.x2go_exceptions.X2goClientSettingsException-class.html"
+     >x2go.x2go_exceptions.X2goClientSettingsException</a><br />    <a target="mainFrame" href="x2go.x2go_exceptions.X2goControlSessionException-class.html"
      >x2go.x2go_exceptions.X2goControlSessionException</a><br />    <a target="mainFrame" href="x2go.x2go_exceptions.X2goFwTunnelException-class.html"
      >x2go.x2go_exceptions.X2goFwTunnelException</a><br />    <a target="mainFrame" href="x2go.x2go_exceptions.X2goHostKeyException-class.html"
      >x2go.x2go_exceptions.X2goHostKeyException</a><br />    <a target="mainFrame" href="x2go.x2go_exceptions.X2goNotImplementedYetException-class.html"
@@ -62,8 +64,7 @@
      >x2go.x2go_exceptions.X2goSSHProxyHostKeyException</a><br />    <a target="mainFrame" href="x2go.x2go_exceptions.X2goSessionCacheException-class.html"
      >x2go.x2go_exceptions.X2goSessionCacheException</a><br />    <a target="mainFrame" href="x2go.x2go_exceptions.X2goSessionException-class.html"
      >x2go.x2go_exceptions.X2goSessionException</a><br />    <a target="mainFrame" href="x2go.x2go_exceptions.X2goSessionRegistryException-class.html"
-     >x2go.x2go_exceptions.X2goSessionRegistryException</a><br />    <a target="mainFrame" href="x2go.x2go_exceptions.X2goSettingsException-class.html"
-     >x2go.x2go_exceptions.X2goSettingsException</a><br />    <a target="mainFrame" href="x2go.x2go_exceptions.X2goTerminalSessionException-class.html"
+     >x2go.x2go_exceptions.X2goSessionRegistryException</a><br />    <a target="mainFrame" href="x2go.x2go_exceptions.X2goTerminalSessionException-class.html"
      >x2go.x2go_exceptions.X2goTerminalSessionException</a><br />    <a target="mainFrame" href="x2go.x2go_exceptions.X2goUserException-class.html"
      >x2go.x2go_exceptions.X2goUserException</a><br />    <a target="mainFrame" href="x2go.xserver.X2goClientXConfig-class.html"
      >x2go.xserver.X2goClientXConfig</a><br />    <a target="mainFrame" href="x2go.xserver.X2goXServer-class.html"
@@ -80,7 +81,8 @@
      >x2go.sftpserver.x2go_rev_forward_sftpchannel_handler</a><br />    <a target="mainFrame" href="x2go.utils-module.html#detect_unused_port"
      >x2go.utils.detect_unused_port</a><br />    <a target="mainFrame" href="x2go.utils-module.html#find_session_line_in_x2golistsessions"
      >x2go.utils.find_session_line_in_x2golistsessions</a><br />    <a target="mainFrame" href="x2go.utils-module.html#get_encoding"
-     >x2go.utils.get_encoding</a><br />    <a target="mainFrame" href="x2go.utils-module.html#is_in_nx3packmethods"
+     >x2go.utils.get_encoding</a><br />    <a target="mainFrame" href="x2go.utils-module.html#is_abs_path"
+     >x2go.utils.is_abs_path</a><br />    <a target="mainFrame" href="x2go.utils-module.html#is_in_nx3packmethods"
      >x2go.utils.is_in_nx3packmethods</a><br />    <a target="mainFrame" href="x2go.utils-module.html#known_encodings"
      >x2go.utils.known_encodings</a><br />    <a target="mainFrame" href="x2go.utils-module.html#patiently_remove_file"
      >x2go.utils.patiently_remove_file</a><br />    <a target="mainFrame" href="x2go.utils-module.html#session_names_by_timestamp"
diff --git a/doc/html/toc-x2go.utils-module.html b/doc/html/toc-x2go.utils-module.html
index f935c9e..7be3f60 100644
--- a/doc/html/toc-x2go.utils-module.html
+++ b/doc/html/toc-x2go.utils-module.html
@@ -16,7 +16,8 @@
     <a target="mainFrame" href="x2go.utils-module.html#detect_unused_port"
      >detect_unused_port</a><br />    <a target="mainFrame" href="x2go.utils-module.html#find_session_line_in_x2golistsessions"
      >find_session_line_in_x2golistsessions</a><br />    <a target="mainFrame" href="x2go.utils-module.html#get_encoding"
-     >get_encoding</a><br />    <a target="mainFrame" href="x2go.utils-module.html#is_in_nx3packmethods"
+     >get_encoding</a><br />    <a target="mainFrame" href="x2go.utils-module.html#is_abs_path"
+     >is_abs_path</a><br />    <a target="mainFrame" href="x2go.utils-module.html#is_in_nx3packmethods"
      >is_in_nx3packmethods</a><br />    <a target="mainFrame" href="x2go.utils-module.html#known_encodings"
      >known_encodings</a><br />    <a target="mainFrame" href="x2go.utils-module.html#patiently_remove_file"
      >patiently_remove_file</a><br />    <a target="mainFrame" href="x2go.utils-module.html#session_names_by_timestamp"
diff --git a/doc/html/toc-x2go.x2go_exceptions-module.html b/doc/html/toc-x2go.x2go_exceptions-module.html
index ebf7283..0064b87 100644
--- a/doc/html/toc-x2go.x2go_exceptions-module.html
+++ b/doc/html/toc-x2go.x2go_exceptions-module.html
@@ -15,7 +15,9 @@
   <h2 class="toc">Classes</h2>
     <a target="mainFrame" href="x2go.x2go_exceptions.WindowsError-class.html"
      >WindowsError</a><br />    <a target="mainFrame" href="x2go.x2go_exceptions.X2goClientException-class.html"
-     >X2goClientException</a><br />    <a target="mainFrame" href="x2go.x2go_exceptions.X2goControlSessionException-class.html"
+     >X2goClientException</a><br />    <a target="mainFrame" href="x2go.x2go_exceptions.X2goClientPrintingException-class.html"
+     >X2goClientPrintingException</a><br />    <a target="mainFrame" href="x2go.x2go_exceptions.X2goClientSettingsException-class.html"
+     >X2goClientSettingsException</a><br />    <a target="mainFrame" href="x2go.x2go_exceptions.X2goControlSessionException-class.html"
      >X2goControlSessionException</a><br />    <a target="mainFrame" href="x2go.x2go_exceptions.X2goFwTunnelException-class.html"
      >X2goFwTunnelException</a><br />    <a target="mainFrame" href="x2go.x2go_exceptions.X2goHostKeyException-class.html"
      >X2goHostKeyException</a><br />    <a target="mainFrame" href="x2go.x2go_exceptions.X2goNotImplementedYetException-class.html"
@@ -30,8 +32,7 @@
      >X2goSSHProxyHostKeyException</a><br />    <a target="mainFrame" href="x2go.x2go_exceptions.X2goSessionCacheException-class.html"
      >X2goSessionCacheException</a><br />    <a target="mainFrame" href="x2go.x2go_exceptions.X2goSessionException-class.html"
      >X2goSessionException</a><br />    <a target="mainFrame" href="x2go.x2go_exceptions.X2goSessionRegistryException-class.html"
-     >X2goSessionRegistryException</a><br />    <a target="mainFrame" href="x2go.x2go_exceptions.X2goSettingsException-class.html"
-     >X2goSettingsException</a><br />    <a target="mainFrame" href="x2go.x2go_exceptions.X2goTerminalSessionException-class.html"
+     >X2goSessionRegistryException</a><br />    <a target="mainFrame" href="x2go.x2go_exceptions.X2goTerminalSessionException-class.html"
      >X2goTerminalSessionException</a><br />    <a target="mainFrame" href="x2go.x2go_exceptions.X2goUserException-class.html"
      >X2goUserException</a><br />  <h2 class="toc">Variables</h2>
     <a target="mainFrame" href="x2go.x2go_exceptions-module.html#__NAME__"
diff --git a/doc/html/x2go-module.html b/doc/html/x2go-module.html
index 7a10462..bde2408 100644
--- a/doc/html/x2go-module.html
+++ b/doc/html/x2go-module.html
@@ -381,7 +381,7 @@
     <td width="15%" align="right" valign="top" class="summary">
       <span class="summary-type"> </span>
     </td><td class="summary">
-        <a name="__VERSION__"></a><span class="summary-name">__VERSION__</span> = <code title="'0.0.38.0'"><code class="variable-quote">'</code><code class="variable-string">0.0.38.0</code><code class="variable-quote">'</code></code>
+        <a name="__VERSION__"></a><span class="summary-name">__VERSION__</span> = <code title="'0.0.39.0'"><code class="variable-quote">'</code><code class="variable-string">0.0.39.0</code><code class="variable-quote">'</code></code>
     </td>
   </tr>
 <tr>
@@ -423,7 +423,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go-pysrc.html b/doc/html/x2go-pysrc.html
index b1c7993..ee3e75e 100644
--- a/doc/html/x2go-pysrc.html
+++ b/doc/html/x2go-pysrc.html
@@ -249,7 +249,7 @@ x2go.sshproxy.__NAME__
 x2go.utils.__NAME__
 x2go.x2go_exceptions.__NAME__
 x2go.xserver.__NAME__" class="py-name" href="#" onclick="return doclink('link-0', '__NAME__', 'link-0');">__NAME__</a></tt>    <tt class="py-op">=</tt> <tt class="py-string">'python-x2go'</tt> </tt>
-<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line"><tt id="link-1" class="py-name" targets="Variable x2go.__VERSION__=x2go-module.html#__VERSION__"><a title="x2go.__VERSION__" class="py-name" href="#" onclick="return doclink('link-1', '__VERSION__', 'link-1');">__VERSION__</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'0.0.38.0'</tt> </tt>
+<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line"><tt id="link-1" class="py-name" targets="Variable x2go.__VERSION__=x2go-module.html#__VERSION__"><a title="x2go.__VERSION__" class="py-name" href="#" onclick="return doclink('link-1', '__VERSION__', 'link-1');">__VERSION__</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'0.0.39.0'</tt> </tt>
 <a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line"> </tt>
 <a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">gevent</tt> <tt class="py-keyword">import</tt> <tt class="py-name">monkey</tt> </tt>
 <a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line"><tt class="py-name">monkey</tt><tt class="py-op">.</tt><tt class="py-name">patch_all</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
@@ -322,7 +322,7 @@ expandto(location.href);
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:34 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:25 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.backends-module.html b/doc/html/x2go.backends-module.html
index 9f2019b..868c69c 100644
--- a/doc/html/x2go.backends-module.html
+++ b/doc/html/x2go.backends-module.html
@@ -189,7 +189,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.backends-pysrc.html b/doc/html/x2go.backends-pysrc.html
index c5985bc..c95f295 100644
--- a/doc/html/x2go.backends-pysrc.html
+++ b/doc/html/x2go.backends-pysrc.html
@@ -115,7 +115,7 @@ expandto(location.href);
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:35 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:25 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.backends.control-module.html b/doc/html/x2go.backends.control-module.html
index c208bb5..6eabed3 100644
--- a/doc/html/x2go.backends.control-module.html
+++ b/doc/html/x2go.backends.control-module.html
@@ -123,7 +123,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.backends.control-pysrc.html b/doc/html/x2go.backends.control-pysrc.html
index b93a462..7b2c7d9 100644
--- a/doc/html/x2go.backends.control-pysrc.html
+++ b/doc/html/x2go.backends.control-pysrc.html
@@ -124,7 +124,7 @@ expandto(location.href);
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:34 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:25 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.backends.control._stdout-module.html b/doc/html/x2go.backends.control._stdout-module.html
index 0ba75e5..146649a 100644
--- a/doc/html/x2go.backends.control._stdout-module.html
+++ b/doc/html/x2go.backends.control._stdout-module.html
@@ -137,7 +137,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.backends.control._stdout-pysrc.html b/doc/html/x2go.backends.control._stdout-pysrc.html
index 98756dd..789c6b2 100644
--- a/doc/html/x2go.backends.control._stdout-pysrc.html
+++ b/doc/html/x2go.backends.control._stdout-pysrc.html
@@ -1096,7 +1096,7 @@ expandto(location.href);
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:34 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:25 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.backends.control._stdout.X2goControlSessionSTDOUT-class.html b/doc/html/x2go.backends.control._stdout.X2goControlSessionSTDOUT-class.html
index a33ea24..affb744 100644
--- a/doc/html/x2go.backends.control._stdout.X2goControlSessionSTDOUT-class.html
+++ b/doc/html/x2go.backends.control._stdout.X2goControlSessionSTDOUT-class.html
@@ -955,7 +955,7 @@ paramiko.SSHClient --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.backends.info-module.html b/doc/html/x2go.backends.info-module.html
index 43b6197..a230cc6 100644
--- a/doc/html/x2go.backends.info-module.html
+++ b/doc/html/x2go.backends.info-module.html
@@ -123,7 +123,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.backends.info-pysrc.html b/doc/html/x2go.backends.info-pysrc.html
index b6969a6..6420168 100644
--- a/doc/html/x2go.backends.info-pysrc.html
+++ b/doc/html/x2go.backends.info-pysrc.html
@@ -129,7 +129,7 @@ expandto(location.href);
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:26 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.backends.info._stdout-module.html b/doc/html/x2go.backends.info._stdout-module.html
index f30d525..bd017d5 100644
--- a/doc/html/x2go.backends.info._stdout-module.html
+++ b/doc/html/x2go.backends.info._stdout-module.html
@@ -153,7 +153,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.backends.info._stdout-pysrc.html b/doc/html/x2go.backends.info._stdout-pysrc.html
index d7ebfa6..8a92052 100644
--- a/doc/html/x2go.backends.info._stdout-pysrc.html
+++ b/doc/html/x2go.backends.info._stdout-pysrc.html
@@ -381,7 +381,7 @@ expandto(location.href);
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:35 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:25 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.backends.info._stdout.X2goServerSessionInfoSTDOUT-class.html b/doc/html/x2go.backends.info._stdout.X2goServerSessionInfoSTDOUT-class.html
index 2abb504..74527d9 100644
--- a/doc/html/x2go.backends.info._stdout.X2goServerSessionInfoSTDOUT-class.html
+++ b/doc/html/x2go.backends.info._stdout.X2goServerSessionInfoSTDOUT-class.html
@@ -392,7 +392,7 @@ object --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.backends.info._stdout.X2goServerSessionListSTDOUT-class.html b/doc/html/x2go.backends.info._stdout.X2goServerSessionListSTDOUT-class.html
index 76fafb6..14c4b29 100644
--- a/doc/html/x2go.backends.info._stdout.X2goServerSessionListSTDOUT-class.html
+++ b/doc/html/x2go.backends.info._stdout.X2goServerSessionListSTDOUT-class.html
@@ -244,7 +244,7 @@ object --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.backends.printing-module.html b/doc/html/x2go.backends.printing-module.html
index 213c611..bf3ec4b 100644
--- a/doc/html/x2go.backends.printing-module.html
+++ b/doc/html/x2go.backends.printing-module.html
@@ -133,7 +133,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.backends.printing-pysrc.html b/doc/html/x2go.backends.printing-pysrc.html
index c682ebc..5c6e9d8 100644
--- a/doc/html/x2go.backends.printing-pysrc.html
+++ b/doc/html/x2go.backends.printing-pysrc.html
@@ -130,7 +130,7 @@ expandto(location.href);
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:35 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:25 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.backends.printing._file-module.html b/doc/html/x2go.backends.printing._file-module.html
index d8bb7d9..6fc9e96 100644
--- a/doc/html/x2go.backends.printing._file-module.html
+++ b/doc/html/x2go.backends.printing._file-module.html
@@ -145,7 +145,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.backends.printing._file-pysrc.html b/doc/html/x2go.backends.printing._file-pysrc.html
index 5ddbb95..11b3f55 100644
--- a/doc/html/x2go.backends.printing._file-pysrc.html
+++ b/doc/html/x2go.backends.printing._file-pysrc.html
@@ -61,35 +61,34 @@
 </table>
 <h1 class="epydoc">Source Code for <a href="x2go.backends.printing._file-module.html" onclick="show_private();">Module x2go.backends.printing._file</a></h1>
 <pre class="py-src">
-<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
-<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-comment"># -*- coding: utf-8 -*-</tt> </tt>
-<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"> </tt>
-<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-comment"># Copyright (C) 2010-2011 by Mike Gabriel <m.gabriel at das-netzwerkteam.de></tt> </tt>
-<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-comment"># Python X2go is free software; you can redistribute it and/or modify</tt> </tt>
-<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-comment"># it under the terms of the GNU General Public License as published by</tt> </tt>
-<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-comment"># the Free Software Foundation; either version 3 of the License, or</tt> </tt>
-<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-comment"># (at your option) any later version.</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-comment"># Python X2go is distributed in the hope that it will be useful,</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-comment"># but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-comment"># MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-comment"># GNU General Public License for more details.</tt> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU General Public License</tt> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-comment"># along with this program; if not, write to the</tt> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-comment"># Free Software Foundation, Inc.,</tt> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-comment"># 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.</tt> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-docstring">"""\</tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"><tt class="py-docstring">L{X2goClientPrintingFILE} class is one of Python X2go's public API classes. </tt> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"><tt class="py-docstring">Retrieve an instance of this class from your L{X2goClient} instance.</tt> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"><tt class="py-docstring">Use this class in your Python X2go based applications to access the »printing« </tt> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"><tt class="py-docstring">configuration of your X2go client application.</tt> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line"><tt id="link-0" class="py-name" targets="Variable x2go.__NAME__=x2go-module.html#__NAME__,Variable x2go.backends.control._stdout.__NAME__=x2go.backends.control._stdout-module.html#__NAME__,Variable x2go.backends.info._stdout.__NAME__=x2go.backends.info._stdout-module.html#__NAME__,Variable x2go.backends.printing._file.__NAME__=x2go.backends.printing._file-module.html#__NAME__,Variable x2go.backends.printing._gconf.__NAME__=x2go.backends.printing._gconf-module.html#__NAME__,Variable x2go.backends.printing._winreg.__NAME__=x2go.backends.printing._winreg-module.html#__NAME__,Variable x2go.backends.profiles._file.__NAME__=x2go.backends.profiles._file-module.html#__NAME__,Variable x2go.backends.profiles._gconf.__NAME__=x2go.backends.profiles._gconf-module.html#__NAME__,Variable x2go.backends.profiles._httpsbroker.__NAME__=x2go.backends.profiles._httpsbroker-module.html#__NAME__,Variable x2go.backends.profiles._
 winreg._
 _NAME__=x2go.backends.profiles._winreg-module.html#__NAME__,Variable x2go.backends.proxy._nx3.__NAME__=x2go.backends.proxy._nx3-module.html#__NAME__,Variable x2go.backends.proxy.base.__NAME__=x2go.backends.proxy.base-module.html#__NAME__,Variable x2go.backends.settings._file.__NAME__=x2go.backends.settings._file-module.html#__NAME__,Variable x2go.backends.settings._gconf.__NAME__=x2go.backends.settings._gconf-module.html#__NAME__,Variable x2go.backends.settings._winreg.__NAME__=x2go.backends.settings._winreg-module.html#__NAME__,Variable x2go.backends.terminal._stdout.__NAME__=x2go.backends.terminal._stdout-module.html#__NAME__,Variable x2go.cache.__NAME__=x2go.cache-module.html#__NAME__,Variable x2go.checkhosts.__NAME__=x2go.checkhosts-module.html#__NAME__,Variable x2go.client.__NAME__=x2go.client-module.html#__NAME__,Variable x2go.defaults.__NAME__=x2go.defaults-module.html#__NAME__,Variable x2go.dropbox.__NAME__=x2go.dropbox-module.html#__NAME__,Variable x2go.dropboxactio
 ns.__NAM
 E__=x2go.dropboxactions-module.html#__NAME__,Variable x2go.forward.__NAME__=x2go.forward-module.html#__NAME__,Variable x2go.guardian.__NAME__=x2go.guardian-module.html#__NAME__,Variable x2go.inifiles.__NAME__=x2go.inifiles-module.html#__NAME__,Variable x2go.log.__NAME__=x2go.log-module.html#__NAME__,Variable x2go.printactions.__NAME__=x2go.printactions-module.html#__NAME__,Variable x2go.printqueue.__NAME__=x2go.printqueue-module.html#__NAME__,Variable x2go.pulseaudio.__NAME__=x2go.pulseaudio-module.html#__NAME__,Variable x2go.registry.__NAME__=x2go.registry-module.html#__NAME__,Variable x2go.rforward.__NAME__=x2go.rforward-module.html#__NAME__,Variable x2go.session.__NAME__=x2go.session-module.html#__NAME__,Variable x2go.sftpserver.__NAME__=x2go.sftpserver-module.html#__NAME__,Variable x2go.sshproxy.__NAME__=x2go.sshproxy-module.html#__NAME__,Variable x2go.utils.__NAME__=x2go.utils-module.html#__NAME__,Variable x2go.x2go_exceptions.__NAME__=x2go.x2go_exceptions-module.html#_
 _NAME__,
 Variable x2go.xserver.__NAME__=x2go.xserver-module.html#__NAME__"><a title="x2go.__NAME__
+<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment"># -*- coding: utf-8 -*-</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"> </tt>
+<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-comment"># Copyright (C) 2010-2011 by Mike Gabriel <m.gabriel at das-netzwerkteam.de></tt> </tt>
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
+<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-comment"># Python X2go is free software; you can redistribute it and/or modify</tt> </tt>
+<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-comment"># it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-comment"># the Free Software Foundation; either version 3 of the License, or</tt> </tt>
+<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-comment"># (at your option) any later version.</tt> </tt>
+<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-comment"># Python X2go is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-comment"># but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-comment"># MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-comment"># GNU General Public License for more details.</tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-comment"># along with this program; if not, write to the</tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-comment"># Free Software Foundation, Inc.,</tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-comment"># 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.</tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-docstring">"""\</tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-docstring">L{X2goClientPrintingFILE} class is one of Python X2go's public API classes. </tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-docstring">Retrieve an instance of this class from your L{X2goClient} instance.</tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"><tt class="py-docstring">Use this class in your Python X2go based applications to access the »printing« </tt> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"><tt class="py-docstring">configuration of your X2go client application.</tt> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"><tt id="link-0" class="py-name" targets="Variable x2go.__NAME__=x2go-module.html#__NAME__,Variable x2go.backends.control._stdout.__NAME__=x2go.backends.control._stdout-module.html#__NAME__,Variable x2go.backends.info._stdout.__NAME__=x2go.backends.info._stdout-module.html#__NAME__,Variable x2go.backends.printing._file.__NAME__=x2go.backends.printing._file-module.html#__NAME__,Variable x2go.backends.printing._gconf.__NAME__=x2go.backends.printing._gconf-module.html#__NAME__,Variable x2go.backends.printing._winreg.__NAME__=x2go.backends.printing._winreg-module.html#__NAME__,Variable x2go.backends.profiles._file.__NAME__=x2go.backends.profiles._file-module.html#__NAME__,Variable x2go.backends.profiles._gconf.__NAME__=x2go.backends.profiles._gconf-module.html#__NAME__,Variable x2go.backends.profiles._httpsbroker.__NAME__=x2go.backends.profiles._httpsbroker-module.html#__NAME__,Variable x2go.backends.profiles._
 winreg._
 _NAME__=x2go.backends.profiles._winreg-module.html#__NAME__,Variable x2go.backends.proxy._nx3.__NAME__=x2go.backends.proxy._nx3-module.html#__NAME__,Variable x2go.backends.proxy.base.__NAME__=x2go.backends.proxy.base-module.html#__NAME__,Variable x2go.backends.settings._file.__NAME__=x2go.backends.settings._file-module.html#__NAME__,Variable x2go.backends.settings._gconf.__NAME__=x2go.backends.settings._gconf-module.html#__NAME__,Variable x2go.backends.settings._winreg.__NAME__=x2go.backends.settings._winreg-module.html#__NAME__,Variable x2go.backends.terminal._stdout.__NAME__=x2go.backends.terminal._stdout-module.html#__NAME__,Variable x2go.cache.__NAME__=x2go.cache-module.html#__NAME__,Variable x2go.checkhosts.__NAME__=x2go.checkhosts-module.html#__NAME__,Variable x2go.client.__NAME__=x2go.client-module.html#__NAME__,Variable x2go.defaults.__NAME__=x2go.defaults-module.html#__NAME__,Variable x2go.dropbox.__NAME__=x2go.dropbox-module.html#__NAME__,Variable x2go.dropboxactio
 ns.__NAM
 E__=x2go.dropboxactions-module.html#__NAME__,Variable x2go.forward.__NAME__=x2go.forward-module.html#__NAME__,Variable x2go.guardian.__NAME__=x2go.guardian-module.html#__NAME__,Variable x2go.inifiles.__NAME__=x2go.inifiles-module.html#__NAME__,Variable x2go.log.__NAME__=x2go.log-module.html#__NAME__,Variable x2go.printactions.__NAME__=x2go.printactions-module.html#__NAME__,Variable x2go.printqueue.__NAME__=x2go.printqueue-module.html#__NAME__,Variable x2go.pulseaudio.__NAME__=x2go.pulseaudio-module.html#__NAME__,Variable x2go.registry.__NAME__=x2go.registry-module.html#__NAME__,Variable x2go.rforward.__NAME__=x2go.rforward-module.html#__NAME__,Variable x2go.session.__NAME__=x2go.session-module.html#__NAME__,Variable x2go.sftpserver.__NAME__=x2go.sftpserver-module.html#__NAME__,Variable x2go.sshproxy.__NAME__=x2go.sshproxy-module.html#__NAME__,Variable x2go.utils.__NAME__=x2go.utils-module.html#__NAME__,Variable x2go.x2go_exceptions.__NAME__=x2go.x2go_exceptions-module.html#_
 _NAME__,
 Variable x2go.xserver.__NAME__=x2go.xserver-module.html#__NAME__"><a title="x2go.__NAME__
 x2go.backends.control._stdout.__NAME__
 x2go.backends.info._stdout.__NAME__
 x2go.backends.printing._file.__NAME__
@@ -126,65 +125,85 @@ x2go.sshproxy.__NAME__
 x2go.utils.__NAME__
 x2go.x2go_exceptions.__NAME__
 x2go.xserver.__NAME__" class="py-name" href="#" onclick="return doclink('link-0', '__NAME__', 'link-0');">__NAME__</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'x2goprinting-pylib'</tt> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line"> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line"><tt class="py-comment"># modules</tt> </tt>
-<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">types</tt> </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">ConfigParser</tt> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line"> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line"><tt class="py-comment"># Python X2go modules</tt> </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-1" class="py-name" targets="Package x2go=x2go-module.html"><a title="x2go" class="py-name" href="#" onclick="return doclink('link-1', 'x2go', 'link-1');">x2go</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module x2go.log=x2go.log-module.html"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-2', 'log', 'link-2');">log</a></tt> <tt class="py-keyword">as</tt> <tt id="link-3" class="py-name"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-3', 'log', 'link-2');">log</a></tt> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-4" class="py-name"><a title="x2go" class="py-name" href="#" onclick="return doclink('link-4', 'x2go', 'link-1');">x2go</a></tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Module x2go.printactions=x2go.printactions-module.html"><a title="x2go.printactions" class="py-name" href="#" onclick="return doclink('link-5', 'printactions', 'link-5');">printactions</a></tt> <tt class="py-keyword">as</tt> <tt id="link-6" class="py-name"><a title="x2go.printactions" class="py-name" href="#" onclick="return doclink('link-6', 'printactions', 'link-5');">printactions</a></tt> </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line"><tt class="py-comment"># we hide the default values from epydoc (that's why we transform them to _UNDERSCORE variables)</tt> </tt>
-<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-7" class="py-name"><a title="x2go" class="py-name" href="#" onclick="return doclink('link-7', 'x2go', 'link-1');">x2go</a></tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Module x2go.defaults=x2go.defaults-module.html"><a title="x2go.defaults" class="py-name" href="#" onclick="return doclink('link-8', 'defaults', 'link-8');">defaults</a></tt> <tt class="py-keyword">import</tt> <tt id="link-9" class="py-name" targets="Variable x2go.defaults.X2GO_CLIENTPRINTING_DEFAULTS=x2go.defaults-module.html#X2GO_CLIENTPRINTING_DEFAULTS"><a title="x2go.defaults.X2GO_CLIENTPRINTING_DEFAULTS" class="py-name" href="#" onclick="return doclink('link-9', 'X2GO_CLIENTPRINTING_DEFAULTS', 'link-9');">X2GO_CLIENTPRINTING_DEFAULTS</a></tt> <tt class="py-keyword">as</tt> <tt class="py-name">_X2GO_CLIENTPRINTING_DEFAULTS</tt> </tt>
-<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-10" class="py-name"><a title="x2go" class="py-name" href="#" onclick="return doclink('link-10', 'x2go', 'link-1');">x2go</a></tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="x2go.defaults" class="py-name" href="#" onclick="return doclink('link-11', 'defaults', 'link-8');">defaults</a></tt> <tt class="py-keyword">import</tt> <tt id="link-12" class="py-name" targets="Variable x2go.defaults.X2GO_PRINTING_CONFIGFILES=x2go.defaults-module.html#X2GO_PRINTING_CONFIGFILES"><a title="x2go.defaults.X2GO_PRINTING_CONFIGFILES" class="py-name" href="#" onclick="return doclink('link-12', 'X2GO_PRINTING_CONFIGFILES', 'link-12');">X2GO_PRINTING_CONFIGFILES</a></tt> <tt class="py-keyword">as</tt> <tt class="py-name">_X2GO_PRINTING_CONFIGFILES</tt> </tt>
-<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-13" class="py-name"><a title="x2go" class="py-name" href="#" onclick="return doclink('link-13', 'x2go', 'link-1');">x2go</a></tt><tt class="py-op">.</tt><tt id="link-14" class="py-name" targets="Module x2go.inifiles=x2go.inifiles-module.html"><a title="x2go.inifiles" class="py-name" href="#" onclick="return doclink('link-14', 'inifiles', 'link-14');">inifiles</a></tt> <tt class="py-keyword">as</tt> <tt id="link-15" class="py-name"><a title="x2go.inifiles" class="py-name" href="#" onclick="return doclink('link-15', 'inifiles', 'link-14');">inifiles</a></tt> </tt>
-<a name="X2goClientPrintingFILE"></a><div id="X2goClientPrintingFILE-def"><a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line"> </tt>
-<a name="L43"></a><tt class="py-lineno"> 43</tt> <a class="py-toggle" href="#" id="X2goClientPrintingFILE-toggle" onclick="return toggle('X2goClientPrintingFILE');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="x2go.backends.printing._file.X2goClientPrintingFILE-class.html">X2goClientPrintingFILE</a><tt class="py-op">(</tt><tt class="py-base-class">inifiles</tt><tt class="py-op">.</tt><tt class="py-base-class">X2goIniFile</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="X2goClientPrintingFILE-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="X2goClientPrintingFILE-expanded"><a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">    <tt class="py-docstring">"""\</tt> </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line"><tt class="py-docstring">    L{X2goClientPrinting} provides access to the X2go ini-like file</tt> </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line"><tt class="py-docstring">    »printing« as stored in C{~/.x2goclient/printing} resp. globally</tt> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line"><tt class="py-docstring">    C{/etc/x2goclient/printing}.</tt> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line"><tt class="py-docstring">    An instance of L{X2goClientPrinting} is created on each incoming</tt> </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line"><tt class="py-docstring">    print job. This facilitates that on every print job the print action</tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line"><tt class="py-docstring">    for this job is derived from the »printing« configuration file.</tt> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line"><tt class="py-docstring">    Thus, changes on the file are active for the next incoming print job.</tt> </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">    <tt id="link-16" class="py-name" targets="Variable x2go.backends.printing._file.X2goClientPrintingFILE.config_files=x2go.backends.printing._file.X2goClientPrintingFILE-class.html#config_files,Variable x2go.backends.printing._gconf.X2goClientPrintingGCONF.config_files=x2go.backends.printing._gconf.X2goClientPrintingGCONF-class.html#config_files,Variable x2go.backends.printing._winreg.X2goClientPrintingWINREG.config_files=x2go.backends.printing._winreg.X2goClientPrintingWINREG-class.html#config_files"><a title="x2go.backends.printing._file.X2goClientPrintingFILE.config_files
+<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line"> </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line"><tt class="py-comment"># modules</tt> </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">types</tt> </tt>
+<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">ConfigParser</tt> </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line"> </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line"><tt class="py-comment"># Python X2go modules</tt> </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-1" class="py-name" targets="Package x2go=x2go-module.html"><a title="x2go" class="py-name" href="#" onclick="return doclink('link-1', 'x2go', 'link-1');">x2go</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module x2go.log=x2go.log-module.html"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-2', 'log', 'link-2');">log</a></tt> <tt class="py-keyword">as</tt> <tt id="link-3" class="py-name"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-3', 'log', 'link-2');">log</a></tt> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-4" class="py-name"><a title="x2go" class="py-name" href="#" onclick="return doclink('link-4', 'x2go', 'link-1');">x2go</a></tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Module x2go.printactions=x2go.printactions-module.html"><a title="x2go.printactions" class="py-name" href="#" onclick="return doclink('link-5', 'printactions', 'link-5');">printactions</a></tt> <tt class="py-keyword">as</tt> <tt id="link-6" class="py-name"><a title="x2go.printactions" class="py-name" href="#" onclick="return doclink('link-6', 'printactions', 'link-5');">printactions</a></tt> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line"><tt class="py-comment"># we hide the default values from epydoc (that's why we transform them to _UNDERSCORE variables)</tt> </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-7" class="py-name"><a title="x2go" class="py-name" href="#" onclick="return doclink('link-7', 'x2go', 'link-1');">x2go</a></tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Module x2go.defaults=x2go.defaults-module.html"><a title="x2go.defaults" class="py-name" href="#" onclick="return doclink('link-8', 'defaults', 'link-8');">defaults</a></tt> <tt class="py-keyword">import</tt> <tt id="link-9" class="py-name" targets="Variable x2go.defaults.X2GO_CLIENTPRINTING_DEFAULTS=x2go.defaults-module.html#X2GO_CLIENTPRINTING_DEFAULTS"><a title="x2go.defaults.X2GO_CLIENTPRINTING_DEFAULTS" class="py-name" href="#" onclick="return doclink('link-9', 'X2GO_CLIENTPRINTING_DEFAULTS', 'link-9');">X2GO_CLIENTPRINTING_DEFAULTS</a></tt> <tt class="py-keyword">as</tt> <tt class="py-name">_X2GO_CLIENTPRINTING_DEFAULTS</tt> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-10" class="py-name"><a title="x2go" class="py-name" href="#" onclick="return doclink('link-10', 'x2go', 'link-1');">x2go</a></tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="x2go.defaults" class="py-name" href="#" onclick="return doclink('link-11', 'defaults', 'link-8');">defaults</a></tt> <tt class="py-keyword">import</tt> <tt id="link-12" class="py-name" targets="Variable x2go.defaults.X2GO_PRINTING_CONFIGFILES=x2go.defaults-module.html#X2GO_PRINTING_CONFIGFILES"><a title="x2go.defaults.X2GO_PRINTING_CONFIGFILES" class="py-name" href="#" onclick="return doclink('link-12', 'X2GO_PRINTING_CONFIGFILES', 'link-12');">X2GO_PRINTING_CONFIGFILES</a></tt> <tt class="py-keyword">as</tt> <tt class="py-name">_X2GO_PRINTING_CONFIGFILES</tt> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-13" class="py-name"><a title="x2go" class="py-name" href="#" onclick="return doclink('link-13', 'x2go', 'link-1');">x2go</a></tt><tt class="py-op">.</tt><tt id="link-14" class="py-name" targets="Module x2go.inifiles=x2go.inifiles-module.html"><a title="x2go.inifiles" class="py-name" href="#" onclick="return doclink('link-14', 'inifiles', 'link-14');">inifiles</a></tt> <tt class="py-keyword">as</tt> <tt id="link-15" class="py-name"><a title="x2go.inifiles" class="py-name" href="#" onclick="return doclink('link-15', 'inifiles', 'link-14');">inifiles</a></tt> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-16" class="py-name"><a title="x2go" class="py-name" href="#" onclick="return doclink('link-16', 'x2go', 'link-1');">x2go</a></tt><tt class="py-op">.</tt><tt id="link-17" class="py-name" targets="Module x2go.x2go_exceptions=x2go.x2go_exceptions-module.html"><a title="x2go.x2go_exceptions" class="py-name" href="#" onclick="return doclink('link-17', 'x2go_exceptions', 'link-17');">x2go_exceptions</a></tt> <tt class="py-keyword">as</tt> <tt id="link-18" class="py-name"><a title="x2go.x2go_exceptions" class="py-name" href="#" onclick="return doclink('link-18', 'x2go_exceptions', 'link-17');">x2go_exceptions</a></tt> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line"> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line"><tt id="link-19" class="py-name" targets="Variable x2go.backends.printing._file._print_property_map=x2go.backends.printing._file-module.html#_print_property_map"><a title="x2go.backends.printing._file._print_property_map" class="py-name" href="#" onclick="return doclink('link-19', '_print_property_map', 'link-19');">_print_property_map</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">        <tt class="py-string">'pdfview_cmd'</tt><tt class="py-op">:</tt> <tt class="py-op">{</tt> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line">            <tt class="py-string">'ini_section'</tt><tt class="py-op">:</tt> <tt class="py-string">'view'</tt><tt class="py-op">,</tt>  </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">            <tt class="py-string">'ini_option'</tt><tt class="py-op">:</tt> <tt class="py-string">'command'</tt><tt class="py-op">,</tt> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">        <tt class="py-op">}</tt><tt class="py-op">,</tt> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">        <tt class="py-string">'save_to_folder'</tt><tt class="py-op">:</tt> <tt class="py-op">{</tt> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">            <tt class="py-string">'ini_section'</tt><tt class="py-op">:</tt> <tt class="py-string">'save'</tt><tt class="py-op">,</tt>  </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">            <tt class="py-string">'ini_option'</tt><tt class="py-op">:</tt> <tt class="py-string">'folder'</tt><tt class="py-op">,</tt> </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">        <tt class="py-op">}</tt><tt class="py-op">,</tt> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">        <tt class="py-string">'printer'</tt><tt class="py-op">:</tt> <tt class="py-op">{</tt> </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">            <tt class="py-string">'ini_section'</tt><tt class="py-op">:</tt> <tt class="py-string">'CUPS'</tt><tt class="py-op">,</tt>  </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">            <tt class="py-string">'ini_option'</tt><tt class="py-op">:</tt> <tt class="py-string">'defaultprinter'</tt><tt class="py-op">,</tt> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">        <tt class="py-op">}</tt><tt class="py-op">,</tt> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">        <tt class="py-string">'print_cmd'</tt><tt class="py-op">:</tt> <tt class="py-op">{</tt> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">            <tt class="py-string">'ini_section'</tt><tt class="py-op">:</tt> <tt class="py-string">'print'</tt><tt class="py-op">,</tt>  </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">            <tt class="py-string">'ini_option'</tt><tt class="py-op">:</tt> <tt class="py-string">'command'</tt><tt class="py-op">,</tt> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">        <tt class="py-op">}</tt><tt class="py-op">,</tt> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line"><tt class="py-op">}</tt> </tt>
+<a name="X2goClientPrintingFILE"></a><div id="X2goClientPrintingFILE-def"><a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line"> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt> <a class="py-toggle" href="#" id="X2goClientPrintingFILE-toggle" onclick="return toggle('X2goClientPrintingFILE');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="x2go.backends.printing._file.X2goClientPrintingFILE-class.html">X2goClientPrintingFILE</a><tt class="py-op">(</tt><tt class="py-base-class">inifiles</tt><tt class="py-op">.</tt><tt class="py-base-class">X2goIniFile</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="X2goClientPrintingFILE-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="X2goClientPrintingFILE-expanded"><a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">    <tt class="py-docstring">"""\</tt> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line"><tt class="py-docstring">    L{X2goClientPrinting} provides access to the X2go ini-like file</tt> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line"><tt class="py-docstring">    »printing« as stored in C{~/.x2goclient/printing} resp. globally</tt> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line"><tt class="py-docstring">    C{/etc/x2goclient/printing}.</tt> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line"><tt class="py-docstring">    An instance of L{X2goClientPrinting} is created on each incoming</tt> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line"><tt class="py-docstring">    print job. This facilitates that on every print job the print action</tt> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line"><tt class="py-docstring">    for this job is derived from the »printing« configuration file.</tt> </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line"><tt class="py-docstring">    Thus, changes on the file are active for the next incoming print job.</tt> </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">    <tt id="link-20" class="py-name" targets="Variable x2go.backends.printing._file.X2goClientPrintingFILE.config_files=x2go.backends.printing._file.X2goClientPrintingFILE-class.html#config_files,Variable x2go.backends.printing._gconf.X2goClientPrintingGCONF.config_files=x2go.backends.printing._gconf.X2goClientPrintingGCONF-class.html#config_files,Variable x2go.backends.printing._winreg.X2goClientPrintingWINREG.config_files=x2go.backends.printing._winreg.X2goClientPrintingWINREG-class.html#config_files"><a title="x2go.backends.printing._file.X2goClientPrintingFILE.config_files
 x2go.backends.printing._gconf.X2goClientPrintingGCONF.config_files
-x2go.backends.printing._winreg.X2goClientPrintingWINREG.config_files" class="py-name" href="#" onclick="return doclink('link-16', 'config_files', 'link-16');">config_files</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">    <tt id="link-17" class="py-name" targets="Variable x2go.backends.printing._file.X2goClientPrintingFILE._print_action=x2go.backends.printing._file.X2goClientPrintingFILE-class.html#_print_action,Variable x2go.backends.printing._gconf.X2goClientPrintingGCONF._print_action=x2go.backends.printing._gconf.X2goClientPrintingGCONF-class.html#_print_action,Variable x2go.backends.printing._winreg.X2goClientPrintingWINREG._print_action=x2go.backends.printing._winreg.X2goClientPrintingWINREG-class.html#_print_action"><a title="x2go.backends.printing._file.X2goClientPrintingFILE._print_action
+x2go.backends.printing._winreg.X2goClientPrintingWINREG.config_files" class="py-name" href="#" onclick="return doclink('link-20', 'config_files', 'link-20');">config_files</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">    <tt id="link-21" class="py-name" targets="Variable x2go.backends.printing._file.X2goClientPrintingFILE._print_action=x2go.backends.printing._file.X2goClientPrintingFILE-class.html#_print_action,Variable x2go.backends.printing._gconf.X2goClientPrintingGCONF._print_action=x2go.backends.printing._gconf.X2goClientPrintingGCONF-class.html#_print_action,Variable x2go.backends.printing._winreg.X2goClientPrintingWINREG._print_action=x2go.backends.printing._winreg.X2goClientPrintingWINREG-class.html#_print_action"><a title="x2go.backends.printing._file.X2goClientPrintingFILE._print_action
 x2go.backends.printing._gconf.X2goClientPrintingGCONF._print_action
-x2go.backends.printing._winreg.X2goClientPrintingWINREG._print_action" class="py-name" href="#" onclick="return doclink('link-17', '_print_action', 'link-17');">_print_action</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">    <tt id="link-18" class="py-name" targets="Variable x2go.backends.printing._file.X2goClientPrintingFILE.defaultValues=x2go.backends.printing._file.X2goClientPrintingFILE-class.html#defaultValues,Variable x2go.backends.printing._gconf.X2goClientPrintingGCONF.defaultValues=x2go.backends.printing._gconf.X2goClientPrintingGCONF-class.html#defaultValues,Variable x2go.backends.printing._winreg.X2goClientPrintingWINREG.defaultValues=x2go.backends.printing._winreg.X2goClientPrintingWINREG-class.html#defaultValues,Variable x2go.backends.settings._file.X2goClientSettingsFILE.defaultValues=x2go.backends.settings._file.X2goClientSettingsFILE-class.html#defaultValues,Variable x2go.backends.settings._gconf.X2goClientSettingsGCONF.defaultValues=x2go.backends.settings._gconf.X2goClientSettingsGCONF-class.html#defaultValues,Variable x2go.backends.settings._winreg.X2goClientSettingsWINREG.defaultValues=x2go.backends.sett
 ings._wi
 nreg.X2goClientSettingsWINREG-class.html#defaultValues,Variable x2go.inifiles.X2goIniFile.defaultValues=x2go.inifiles.X2goIniFile-class.html#defaultValues,Variable x2go.xserver.X2goClientXConfig.defaultValues=x2go.xserver.X2goClientXConfig-class.html#defaultValues"><a title="x2go.backends.printing._file.X2goClientPrintingFILE.defaultValues
+x2go.backends.printing._winreg.X2goClientPrintingWINREG._print_action" class="py-name" href="#" onclick="return doclink('link-21', '_print_action', 'link-21');">_print_action</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">    <tt id="link-22" class="py-name" targets="Variable x2go.backends.printing._file.X2goClientPrintingFILE.defaultValues=x2go.backends.printing._file.X2goClientPrintingFILE-class.html#defaultValues,Variable x2go.backends.printing._gconf.X2goClientPrintingGCONF.defaultValues=x2go.backends.printing._gconf.X2goClientPrintingGCONF-class.html#defaultValues,Variable x2go.backends.printing._winreg.X2goClientPrintingWINREG.defaultValues=x2go.backends.printing._winreg.X2goClientPrintingWINREG-class.html#defaultValues,Variable x2go.backends.settings._file.X2goClientSettingsFILE.defaultValues=x2go.backends.settings._file.X2goClientSettingsFILE-class.html#defaultValues,Variable x2go.backends.settings._gconf.X2goClientSettingsGCONF.defaultValues=x2go.backends.settings._gconf.X2goClientSettingsGCONF-class.html#defaultValues,Variable x2go.backends.settings._winreg.X2goClientSettingsWINREG.defaultValues=x2go.backends.sett
 ings._wi
 nreg.X2goClientSettingsWINREG-class.html#defaultValues,Variable x2go.inifiles.X2goIniFile.defaultValues=x2go.inifiles.X2goIniFile-class.html#defaultValues,Variable x2go.xserver.X2goClientXConfig.defaultValues=x2go.xserver.X2goClientXConfig-class.html#defaultValues"><a title="x2go.backends.printing._file.X2goClientPrintingFILE.defaultValues
 x2go.backends.printing._gconf.X2goClientPrintingGCONF.defaultValues
 x2go.backends.printing._winreg.X2goClientPrintingWINREG.defaultValues
 x2go.backends.settings._file.X2goClientSettingsFILE.defaultValues
 x2go.backends.settings._gconf.X2goClientSettingsGCONF.defaultValues
 x2go.backends.settings._winreg.X2goClientSettingsWINREG.defaultValues
 x2go.inifiles.X2goIniFile.defaultValues
-x2go.xserver.X2goClientXConfig.defaultValues" class="py-name" href="#" onclick="return doclink('link-18', 'defaultValues', 'link-18');">defaultValues</a></tt> <tt class="py-op">=</tt> <tt class="py-name">_X2GO_CLIENTPRINTING_DEFAULTS</tt> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line"> </tt>
-<a name="X2goClientPrintingFILE.__init__"></a><div id="X2goClientPrintingFILE.__init__-def"><a name="L60"></a><tt class="py-lineno"> 60</tt> <a class="py-toggle" href="#" id="X2goClientPrintingFILE.__init__-toggle" onclick="return toggle('X2goClientPrintingFILE.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.backends.printing._file.X2goClientPrintingFILE-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">config_files</tt><tt class="py-op">=</tt><tt class="py-name">_X2GO_PRINTING_CONFIGFILES</tt><tt class="py-op">,</tt> <tt class="py-param">defaults</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">client_instance</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">logger</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt cl
 ass="py-
 op">,</tt> <tt class="py-param">loglevel</tt><tt class="py-op">=</tt><tt id="link-19" class="py-name"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-19', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt id="link-20" class="py-name" targets="Variable x2go.log.loglevel_DEFAULT=x2go.log-module.html#loglevel_DEFAULT"><a title="x2go.log.loglevel_DEFAULT" class="py-name" href="#" onclick="return doclink('link-20', 'loglevel_DEFAULT', 'link-20');">loglevel_DEFAULT</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="X2goClientPrintingFILE.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="X2goClientPrintingFILE.__init__-expanded"><a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">        <tt class="py-docstring">"""\</tt> </tt>
-<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line"><tt class="py-docstring">        @param config_files: a list of configuration files names (e.g. a global filename and a user's home </tt> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line"><tt class="py-docstring">            directory filename)</tt> </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line"><tt class="py-docstring">        @type config_files: C{list}</tt> </tt>
-<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line"><tt class="py-docstring">        @param defaults: a cascaded Python dicitionary structure with ini file defaults (to override </tt> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line"><tt class="py-docstring">            Python X2go's hard coded defaults in L{defaults}</tt> </tt>
-<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line"><tt class="py-docstring">        @type defaults: C{dict}</tt> </tt>
-<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line"><tt class="py-docstring">        @param logger: you can pass an L{X2goLogger} object to the</tt> </tt>
-<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line"><tt class="py-docstring">            L{X2goPrintAction} constructor</tt> </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line"><tt class="py-docstring">        @type logger: C{instance}</tt> </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line"><tt class="py-docstring">        @param loglevel: if no L{X2goLogger} object has been supplied a new one will be</tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line"><tt class="py-docstring">            constructed with the given loglevel</tt> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line"><tt class="py-docstring">        @type loglevel: C{int}</tt> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">client_instance</tt> <tt class="py-op">=</tt> <tt class="py-name">client_instance</tt> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">        <tt id="link-21" class="py-name"><a title="x2go.inifiles" class="py-name" href="#" onclick="return doclink('link-21', 'inifiles', 'link-14');">inifiles</a></tt><tt class="py-op">.</tt><tt id="link-22" class="py-name" targets="Class x2go.inifiles.X2goIniFile=x2go.inifiles.X2goIniFile-class.html"><a title="x2go.inifiles.X2goIniFile" class="py-name" href="#" onclick="return doclink('link-22', 'X2goIniFile', 'link-22');">X2goIniFile</a></tt><tt class="py-op">.</tt><tt id="link-23" class="py-name" targets="Method x2go.backends.control._stdout.X2goControlSessionSTDOUT.__init__()=x2go.backends.control._stdout.X2goControlSessionSTDOUT-class.html#__init__,Method x2go.backends.info._stdout.X2goServerSessionListSTDOUT.__init__()=x2go.backends.info._stdout.X2goServerSessionListSTDOUT-class.html#__init__,Method x2go.backends.printing._file.X2goClientPrintingFILE.__init__()=x2go.backends.printing._file.X2goClien
 tPrintin
 gFILE-class.html#__init__,Method x2go.backends.printing._gconf.X2goClientPrintingGCONF.__init__()=x2go.backends.printing._gconf.X2goClientPrintingGCONF-class.html#__init__,Method x2go.backends.printing._winreg.X2goClientPrintingWINREG.__init__()=x2go.backends.printing._winreg.X2goClientPrintingWINREG-class.html#__init__,Method x2go.backends.profiles._file.X2goSessionProfilesFILE.__init__()=x2go.backends.profiles._file.X2goSessionProfilesFILE-class.html#__init__,Method x2go.backends.profiles._gconf.X2goSessionProfilesGCONF.__init__()=x2go.backends.profiles._gconf.X2goSessionProfilesGCONF-class.html#__init__,Method x2go.backends.profiles._httpsbroker.X2goSessionProfilesHTTPSBROKER.__init__()=x2go.backends.profiles._httpsbroker.X2goSessionProfilesHTTPSBROKER-class.html#__init__,Method x2go.backends.profiles._winreg.X2goSessionProfilesWINREG.__init__()=x2go.backends.profiles._winreg.X2goSessionProfilesWINREG-class.html#__init__,Method x2go.backends.proxy._nx3.X2goProxyNX3.__init
 __()=x2g
 o.backends.proxy._nx3.X2goProxyNX3-class.html#__init__,Method x2go.backends.proxy.base.X2goProxyBASE.__init__()=x2go.backends.proxy.base.X2goProxyBASE-class.html#__init__,Method x2go.backends.settings._file.X2goClientSettingsFILE.__init__()=x2go.backends.settings._file.X2goClientSettingsFILE-class.html#__init__,Method x2go.backends.settings._gconf.X2goClientSettingsGCONF.__init__()=x2go.backends.settings._gconf.X2goClientSettingsGCONF-class.html#__init__,Method x2go.backends.settings._winreg.X2goClientSettingsWINREG.__init__()=x2go.backends.settings._winreg.X2goClientSettingsWINREG-class.html#__init__,Method x2go.backends.terminal._stdout.X2goTerminalSessionSTDOUT.__init__()=x2go.backends.terminal._stdout.X2goTerminalSessionSTDOUT-class.html#__init__,Method x2go.cache.X2goListSessionsCache.__init__()=x2go.cache.X2goListSessionsCache-class.html#__init__,Method x2go.checkhosts.X2goInteractiveAddPolicy.__init__()=x2go.checkhosts.X2goInteractiveAddPolicy-class.html#__init__,Meth
 od x2go.
 client.X2goClient.__init__()=x2go.client.X2goClient-class.html#__init__,Method x2go.dropbox.X2goDropboxJob.__init__()=x2go.dropbox.X2goDropboxJob-class.html#__init__,Method x2go.dropbox.X2goDropboxQueue.__init__()=x2go.dropbox.X2goDropboxQueue-class.html#__init__,Method x2go.dropboxactions.X2goDropboxAction.__init__()=x2go.dropboxactions.X2goDropboxAction-class.html#__init__,Method x2go.dropboxactions.X2goDropboxActionOPEN.__init__()=x2go.dropboxactions.X2goDropboxActionOPEN-class.html#__init__,Method x2go.dropboxactions.X2goDropboxActionOPENWITH.__init__()=x2go.dropboxactions.X2goDropboxActionOPENWITH-class.html#__init__,Method x2go.dropboxactions.X2goDropboxActionSAVEAS.__init__()=x2go.dropboxactions.X2goDropboxActionSAVEAS-class.html#__init__,Method x2go.forward.X2goFwServer.__init__()=x2go.forward.X2goFwServer-class.html#__init__,Method x2go.gevent_subprocess.Popen.__init__()=x2go.gevent_subprocess.Popen-class.html#__init__,Method x2go.guardian.X2goSessionGuardian.__init
 __()=x2g
 o.guardian.X2goSessionGuardian-class.html#__init__,Method x2go.inifiles.X2goIniFile.__init__()=x2go.inifiles.X2goIniFile-class.html#__init__,Method x2go.log.X2goLogger.__init__()=x2go.log.X2goLogger-class.html#__init__,Method x2go.printactions.X2goPrintAction.__init__()=x2go.printactions.X2goPrintAction-class.html#__init__,Method x2go.printactions.X2goPrintActionDIALOG.__init__()=x2go.printactions.X2goPrintActionDIALOG-class.html#__init__,Method x2go.printactions.X2goPrintActionPDFSAVE.__init__()=x2go.printactions.X2goPrintActionPDFSAVE-class.html#__init__,Method x2go.printactions.X2goPrintActionPDFVIEW.__init__()=x2go.printactions.X2goPrintActionPDFVIEW-class.html#__init__,Method x2go.printactions.X2goPrintActionPRINT.__init__()=x2go.printactions.X2goPrintActionPRINT-class.html#__init__,Method x2go.printactions.X2goPrintActionPRINTCMD.__init__()=x2go.printactions.X2goPrintActionPRINTCMD-class.html#__init__,Method x2go.printqueue.X2goPrintJob.__init__()=x2go.printqueue.X2goP
 rintJob-
 class.html#__init__,Method x2go.printqueue.X2goPrintQueue.__init__()=x2go.printqueue.X2goPrintQueue-class.html#__init__,Method x2go.pulseaudio.X2goPulseAudio.__init__()=x2go.pulseaudio.X2goPulseAudio-class.html#__init__,Method x2go.registry.X2goSessionRegistry.__init__()=x2go.registry.X2goSessionRegistry-class.html#__init__,Method x2go.rforward.X2goRevFwChannelThread.__init__()=x2go.rforward.X2goRevFwChannelThread-class.html#__init__,Method x2go.rforward.X2goRevFwTunnel.__init__()=x2go.rforward.X2goRevFwTunnel-class.html#__init__,Method x2go.session.X2goSession.__init__()=x2go.session.X2goSession-class.html#__init__,Method x2go.sftpserver.X2goRevFwTunnelToSFTP.__init__()=x2go.sftpserver.X2goRevFwTunnelToSFTP-class.html#__init__,Method x2go.sshproxy.X2goSSHProxy.__init__()=x2go.sshproxy.X2goSSHProxy-class.html#__init__,Method x2go.xserver.X2goClientXConfig.__init__()=x2go.xserver.X2goClientXConfig-class.html#__init__,Method x2go.xserver.X2goXServer.__init__()=x2go.xserver.X2g
 oXServer
 -class.html#__init__"><a title="x2go.backends.control._stdout.X2goControlSessionSTDOUT.__init__
+x2go.xserver.X2goClientXConfig.defaultValues" class="py-name" href="#" onclick="return doclink('link-22', 'defaultValues', 'link-22');">defaultValues</a></tt> <tt class="py-op">=</tt> <tt class="py-name">_X2GO_CLIENTPRINTING_DEFAULTS</tt> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line"> </tt>
+<a name="X2goClientPrintingFILE.__init__"></a><div id="X2goClientPrintingFILE.__init__-def"><a name="L79"></a><tt class="py-lineno"> 79</tt> <a class="py-toggle" href="#" id="X2goClientPrintingFILE.__init__-toggle" onclick="return toggle('X2goClientPrintingFILE.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.backends.printing._file.X2goClientPrintingFILE-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">config_files</tt><tt class="py-op">=</tt><tt class="py-name">_X2GO_PRINTING_CONFIGFILES</tt><tt class="py-op">,</tt> <tt class="py-param">defaults</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">client_instance</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">logger</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt cl
 ass="py-
 op">,</tt> <tt class="py-param">loglevel</tt><tt class="py-op">=</tt><tt id="link-23" class="py-name"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-23', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt id="link-24" class="py-name" targets="Variable x2go.log.loglevel_DEFAULT=x2go.log-module.html#loglevel_DEFAULT"><a title="x2go.log.loglevel_DEFAULT" class="py-name" href="#" onclick="return doclink('link-24', 'loglevel_DEFAULT', 'link-24');">loglevel_DEFAULT</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="X2goClientPrintingFILE.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="X2goClientPrintingFILE.__init__-expanded"><a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">        <tt class="py-docstring">"""\</tt> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line"><tt class="py-docstring">        @param config_files: a list of configuration files names (e.g. a global filename and a user's home </tt> </tt>
+<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line"><tt class="py-docstring">            directory filename)</tt> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line"><tt class="py-docstring">        @type config_files: C{list}</tt> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line"><tt class="py-docstring">        @param defaults: a cascaded Python dicitionary structure with ini file defaults (to override </tt> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line"><tt class="py-docstring">            Python X2go's hard coded defaults in L{defaults}</tt> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line"><tt class="py-docstring">        @type defaults: C{dict}</tt> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line"><tt class="py-docstring">        @param logger: you can pass an L{X2goLogger} object to the</tt> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line"><tt class="py-docstring">            L{X2goPrintAction} constructor</tt> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line"><tt class="py-docstring">        @type logger: C{instance}</tt> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line"><tt class="py-docstring">        @param loglevel: if no L{X2goLogger} object has been supplied a new one will be</tt> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line"><tt class="py-docstring">            constructed with the given loglevel</tt> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line"><tt class="py-docstring">        @type loglevel: C{int}</tt> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">client_instance</tt> <tt class="py-op">=</tt> <tt class="py-name">client_instance</tt> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">        <tt id="link-25" class="py-name"><a title="x2go.inifiles" class="py-name" href="#" onclick="return doclink('link-25', 'inifiles', 'link-14');">inifiles</a></tt><tt class="py-op">.</tt><tt id="link-26" class="py-name" targets="Class x2go.inifiles.X2goIniFile=x2go.inifiles.X2goIniFile-class.html"><a title="x2go.inifiles.X2goIniFile" class="py-name" href="#" onclick="return doclink('link-26', 'X2goIniFile', 'link-26');">X2goIniFile</a></tt><tt class="py-op">.</tt><tt id="link-27" class="py-name" targets="Method x2go.backends.control._stdout.X2goControlSessionSTDOUT.__init__()=x2go.backends.control._stdout.X2goControlSessionSTDOUT-class.html#__init__,Method x2go.backends.info._stdout.X2goServerSessionListSTDOUT.__init__()=x2go.backends.info._stdout.X2goServerSessionListSTDOUT-class.html#__init__,Method x2go.backends.printing._file.X2goClientPrintingFILE.__init__()=x2go.backends.printing._file.X2goClien
 tPrintin
 gFILE-class.html#__init__,Method x2go.backends.printing._gconf.X2goClientPrintingGCONF.__init__()=x2go.backends.printing._gconf.X2goClientPrintingGCONF-class.html#__init__,Method x2go.backends.printing._winreg.X2goClientPrintingWINREG.__init__()=x2go.backends.printing._winreg.X2goClientPrintingWINREG-class.html#__init__,Method x2go.backends.profiles._file.X2goSessionProfilesFILE.__init__()=x2go.backends.profiles._file.X2goSessionProfilesFILE-class.html#__init__,Method x2go.backends.profiles._gconf.X2goSessionProfilesGCONF.__init__()=x2go.backends.profiles._gconf.X2goSessionProfilesGCONF-class.html#__init__,Method x2go.backends.profiles._httpsbroker.X2goSessionProfilesHTTPSBROKER.__init__()=x2go.backends.profiles._httpsbroker.X2goSessionProfilesHTTPSBROKER-class.html#__init__,Method x2go.backends.profiles._winreg.X2goSessionProfilesWINREG.__init__()=x2go.backends.profiles._winreg.X2goSessionProfilesWINREG-class.html#__init__,Method x2go.backends.proxy._nx3.X2goProxyNX3.__init
 __()=x2g
 o.backends.proxy._nx3.X2goProxyNX3-class.html#__init__,Method x2go.backends.proxy.base.X2goProxyBASE.__init__()=x2go.backends.proxy.base.X2goProxyBASE-class.html#__init__,Method x2go.backends.settings._file.X2goClientSettingsFILE.__init__()=x2go.backends.settings._file.X2goClientSettingsFILE-class.html#__init__,Method x2go.backends.settings._gconf.X2goClientSettingsGCONF.__init__()=x2go.backends.settings._gconf.X2goClientSettingsGCONF-class.html#__init__,Method x2go.backends.settings._winreg.X2goClientSettingsWINREG.__init__()=x2go.backends.settings._winreg.X2goClientSettingsWINREG-class.html#__init__,Method x2go.backends.terminal._stdout.X2goTerminalSessionSTDOUT.__init__()=x2go.backends.terminal._stdout.X2goTerminalSessionSTDOUT-class.html#__init__,Method x2go.cache.X2goListSessionsCache.__init__()=x2go.cache.X2goListSessionsCache-class.html#__init__,Method x2go.checkhosts.X2goInteractiveAddPolicy.__init__()=x2go.checkhosts.X2goInteractiveAddPolicy-class.html#__init__,Meth
 od x2go.
 client.X2goClient.__init__()=x2go.client.X2goClient-class.html#__init__,Method x2go.dropbox.X2goDropboxJob.__init__()=x2go.dropbox.X2goDropboxJob-class.html#__init__,Method x2go.dropbox.X2goDropboxQueue.__init__()=x2go.dropbox.X2goDropboxQueue-class.html#__init__,Method x2go.dropboxactions.X2goDropboxAction.__init__()=x2go.dropboxactions.X2goDropboxAction-class.html#__init__,Method x2go.dropboxactions.X2goDropboxActionOPEN.__init__()=x2go.dropboxactions.X2goDropboxActionOPEN-class.html#__init__,Method x2go.dropboxactions.X2goDropboxActionOPENWITH.__init__()=x2go.dropboxactions.X2goDropboxActionOPENWITH-class.html#__init__,Method x2go.dropboxactions.X2goDropboxActionSAVEAS.__init__()=x2go.dropboxactions.X2goDropboxActionSAVEAS-class.html#__init__,Method x2go.forward.X2goFwServer.__init__()=x2go.forward.X2goFwServer-class.html#__init__,Method x2go.gevent_subprocess.Popen.__init__()=x2go.gevent_subprocess.Popen-class.html#__init__,Method x2go.guardian.X2goSessionGuardian.__init
 __()=x2g
 o.guardian.X2goSessionGuardian-class.html#__init__,Method x2go.inifiles.X2goIniFile.__init__()=x2go.inifiles.X2goIniFile-class.html#__init__,Method x2go.log.X2goLogger.__init__()=x2go.log.X2goLogger-class.html#__init__,Method x2go.printactions.X2goPrintAction.__init__()=x2go.printactions.X2goPrintAction-class.html#__init__,Method x2go.printactions.X2goPrintActionDIALOG.__init__()=x2go.printactions.X2goPrintActionDIALOG-class.html#__init__,Method x2go.printactions.X2goPrintActionPDFSAVE.__init__()=x2go.printactions.X2goPrintActionPDFSAVE-class.html#__init__,Method x2go.printactions.X2goPrintActionPDFVIEW.__init__()=x2go.printactions.X2goPrintActionPDFVIEW-class.html#__init__,Method x2go.printactions.X2goPrintActionPRINT.__init__()=x2go.printactions.X2goPrintActionPRINT-class.html#__init__,Method x2go.printactions.X2goPrintActionPRINTCMD.__init__()=x2go.printactions.X2goPrintActionPRINTCMD-class.html#__init__,Method x2go.printqueue.X2goPrintJob.__init__()=x2go.printqueue.X2goP
 rintJob-
 class.html#__init__,Method x2go.printqueue.X2goPrintQueue.__init__()=x2go.printqueue.X2goPrintQueue-class.html#__init__,Method x2go.pulseaudio.X2goPulseAudio.__init__()=x2go.pulseaudio.X2goPulseAudio-class.html#__init__,Method x2go.registry.X2goSessionRegistry.__init__()=x2go.registry.X2goSessionRegistry-class.html#__init__,Method x2go.rforward.X2goRevFwChannelThread.__init__()=x2go.rforward.X2goRevFwChannelThread-class.html#__init__,Method x2go.rforward.X2goRevFwTunnel.__init__()=x2go.rforward.X2goRevFwTunnel-class.html#__init__,Method x2go.session.X2goSession.__init__()=x2go.session.X2goSession-class.html#__init__,Method x2go.sftpserver.X2goRevFwTunnelToSFTP.__init__()=x2go.sftpserver.X2goRevFwTunnelToSFTP-class.html#__init__,Method x2go.sshproxy.X2goSSHProxy.__init__()=x2go.sshproxy.X2goSSHProxy-class.html#__init__,Method x2go.xserver.X2goClientXConfig.__init__()=x2go.xserver.X2goClientXConfig-class.html#__init__,Method x2go.xserver.X2goXServer.__init__()=x2go.xserver.X2g
 oXServer
 -class.html#__init__"><a title="x2go.backends.control._stdout.X2goControlSessionSTDOUT.__init__
 x2go.backends.info._stdout.X2goServerSessionListSTDOUT.__init__
 x2go.backends.printing._file.X2goClientPrintingFILE.__init__
 x2go.backends.printing._gconf.X2goClientPrintingGCONF.__init__
@@ -229,62 +248,156 @@ x2go.session.X2goSession.__init__
 x2go.sftpserver.X2goRevFwTunnelToSFTP.__init__
 x2go.sshproxy.X2goSSHProxy.__init__
 x2go.xserver.X2goClientXConfig.__init__
-x2go.xserver.X2goXServer.__init__" class="py-name" href="#" onclick="return doclink('link-23', '__init__', 'link-23');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt id="link-24" class="py-name"><a title="x2go.backends.printing._file.X2goClientPrintingFILE.config_files
+x2go.xserver.X2goXServer.__init__" class="py-name" href="#" onclick="return doclink('link-27', '__init__', 'link-27');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt id="link-28" class="py-name"><a title="x2go.backends.printing._file.X2goClientPrintingFILE.config_files
 x2go.backends.printing._gconf.X2goClientPrintingGCONF.config_files
-x2go.backends.printing._winreg.X2goClientPrintingWINREG.config_files" class="py-name" href="#" onclick="return doclink('link-24', 'config_files', 'link-16');">config_files</a></tt><tt class="py-op">,</tt> <tt id="link-25" class="py-name"><a title="x2go.defaults" class="py-name" href="#" onclick="return doclink('link-25', 'defaults', 'link-8');">defaults</a></tt><tt class="py-op">=</tt><tt id="link-26" class="py-name"><a title="x2go.defaults" class="py-name" href="#" onclick="return doclink('link-26', 'defaults', 'link-8');">defaults</a></tt><tt class="py-op">,</tt> <tt class="py-name">logger</tt><tt class="py-op">=</tt><tt class="py-name">logger</tt><tt class="py-op">,</tt> <tt class="py-name">loglevel</tt><tt class="py-op">=</tt><tt class="py-name">loglevel</tt><tt class="py-op">)</tt> </tt>
-<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line"> </tt>
-<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_detect_print_action</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line"> </tt>
-<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line"> </tt>
-<a name="X2goClientPrintingFILE._detect_print_action"></a><div id="X2goClientPrintingFILE._detect_print_action-def"><a name="L82"></a><tt class="py-lineno"> 82</tt> <a class="py-toggle" href="#" id="X2goClientPrintingFILE._detect_print_action-toggle" onclick="return toggle('X2goClientPrintingFILE._detect_print_action');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.backends.printing._file.X2goClientPrintingFILE-class.html#_detect_print_action">_detect_print_action</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="X2goClientPrintingFILE._detect_print_action-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="X2goClientPrintingFILE._detect_print_action-expanded"><a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">        <tt class="py-docstring">"""\</tt> </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line"><tt class="py-docstring">        Derive a print action from sections, keys and their values in a typical</tt> </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line"><tt class="py-docstring">        X2go client »printing« configuration file.</tt> </tt>
-<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">        <tt class="py-name">_general_pdfview</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">'General'</tt><tt class="py-op">,</tt> <tt class="py-string">'pdfview'</tt><tt class="py-op">,</tt> <tt class="py-name">key_type</tt><tt class="py-op">=</tt><tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">BooleanType</tt><tt class="py-op">)</tt> </tt>
-<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">        <tt class="py-name">_view_open</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">'view'</tt><tt class="py-op">,</tt> <tt class="py-string">'open'</tt><tt class="py-op">,</tt> <tt class="py-name">key_type</tt><tt class="py-op">=</tt><tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">BooleanType</tt><tt class="py-op">)</tt> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">        <tt class="py-name">_print_startcmd</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">'print'</tt><tt class="py-op">,</tt> <tt class="py-string">'startcmd'</tt><tt class="py-op">,</tt> <tt class="py-name">key_type</tt><tt class="py-op">=</tt><tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">BooleanType</tt><tt class="py-op">)</tt> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">        <tt class="py-name">_show_dialog</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">'General'</tt><tt class="py-op">,</tt> <tt class="py-string">'showdialog'</tt><tt class="py-op">,</tt> <tt class="py-name">key_type</tt><tt class="py-op">=</tt><tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">BooleanType</tt><tt class="py-op">)</tt> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line"> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">_show_dialog</tt> <tt class="py-keyword">and</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">client_instance</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name"><a title="x2go.backends.printing._file.X2goClientPrintingFILE._print_action
+x2go.backends.printing._winreg.X2goClientPrintingWINREG.config_files" class="py-name" href="#" onclick="return doclink('link-28', 'config_files', 'link-20');">config_files</a></tt><tt class="py-op">,</tt> <tt id="link-29" class="py-name"><a title="x2go.defaults" class="py-name" href="#" onclick="return doclink('link-29', 'defaults', 'link-8');">defaults</a></tt><tt class="py-op">=</tt><tt id="link-30" class="py-name"><a title="x2go.defaults" class="py-name" href="#" onclick="return doclink('link-30', 'defaults', 'link-8');">defaults</a></tt><tt class="py-op">,</tt> <tt class="py-name">logger</tt><tt class="py-op">=</tt><tt class="py-name">logger</tt><tt class="py-op">,</tt> <tt class="py-name">loglevel</tt><tt class="py-op">=</tt><tt class="py-name">loglevel</tt><tt class="py-op">)</tt> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line"> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_detect_print_action</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line"> </tt>
+<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line"> </tt>
+<a name="X2goClientPrintingFILE._detect_print_action"></a><div id="X2goClientPrintingFILE._detect_print_action-def"><a name="L101"></a><tt class="py-lineno">101</tt> <a class="py-toggle" href="#" id="X2goClientPrintingFILE._detect_print_action-toggle" onclick="return toggle('X2goClientPrintingFILE._detect_print_action');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.backends.printing._file.X2goClientPrintingFILE-class.html#_detect_print_action">_detect_print_action</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="X2goClientPrintingFILE._detect_print_action-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="X2goClientPrintingFILE._detect_print_action-expanded"><a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">        <tt class="py-docstring">"""\</tt> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line"><tt class="py-docstring">        Derive a print action from sections, keys and their values in a typical</tt> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line"><tt class="py-docstring">        X2go client »printing« configuration file.</tt> </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">        <tt class="py-name">_general_pdfview</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">'General'</tt><tt class="py-op">,</tt> <tt class="py-string">'pdfview'</tt><tt class="py-op">,</tt> <tt class="py-name">key_type</tt><tt class="py-op">=</tt><tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">BooleanType</tt><tt class="py-op">)</tt> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">        <tt class="py-name">_view_open</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">'view'</tt><tt class="py-op">,</tt> <tt class="py-string">'open'</tt><tt class="py-op">,</tt> <tt class="py-name">key_type</tt><tt class="py-op">=</tt><tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">BooleanType</tt><tt class="py-op">)</tt> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">        <tt class="py-name">_print_startcmd</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">'print'</tt><tt class="py-op">,</tt> <tt class="py-string">'startcmd'</tt><tt class="py-op">,</tt> <tt class="py-name">key_type</tt><tt class="py-op">=</tt><tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">BooleanType</tt><tt class="py-op">)</tt> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">        <tt class="py-name">_show_dialog</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">'General'</tt><tt class="py-op">,</tt> <tt class="py-string">'showdialog'</tt><tt class="py-op">,</tt> <tt class="py-name">key_type</tt><tt class="py-op">=</tt><tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">BooleanType</tt><tt class="py-op">)</tt> </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line"> </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">_show_dialog</tt> <tt class="py-keyword">and</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">client_instance</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name"><a title="x2go.backends.printing._file.X2goClientPrintingFILE._print_action
+x2go.backends.printing._gconf.X2goClientPrintingGCONF._print_action
+x2go.backends.printing._winreg.X2goClientPrintingWINREG._print_action" class="py-name" href="#" onclick="return doclink('link-31', '_print_action', 'link-21');">_print_action</a></tt> <tt class="py-op">=</tt> <tt id="link-32" class="py-name"><a title="x2go.printactions" class="py-name" href="#" onclick="return doclink('link-32', 'printactions', 'link-5');">printactions</a></tt><tt class="py-op">.</tt><tt id="link-33" class="py-name" targets="Class x2go.printactions.X2goPrintActionDIALOG=x2go.printactions.X2goPrintActionDIALOG-class.html"><a title="x2go.printactions.X2goPrintActionDIALOG" class="py-name" href="#" onclick="return doclink('link-33', 'X2goPrintActionDIALOG', 'link-33');">X2goPrintActionDIALOG</a></tt><tt class="py-op">(</tt><tt class="py-name">client_instance</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">client_instance</tt><tt class="py-op">,</tt> <tt class="py-name">logger</tt><tt class="py-op">=</tt><tt c
 lass="py
 -name">self</tt><tt class="py-op">.</tt><tt class="py-name">logger</tt><tt class="py-op">)</tt> </tt>
+<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line"> </tt>
+<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">_general_pdfview</tt> <tt class="py-keyword">and</tt> <tt class="py-name">_view_open</tt><tt class="py-op">:</tt> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">            <tt class="py-name">_view_command</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">'view'</tt><tt class="py-op">,</tt> <tt class="py-string">'command'</tt><tt class="py-op">)</tt> </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name"><a title="x2go.backends.printing._file.X2goClientPrintingFILE._print_action
 x2go.backends.printing._gconf.X2goClientPrintingGCONF._print_action
-x2go.backends.printing._winreg.X2goClientPrintingWINREG._print_action" class="py-name" href="#" onclick="return doclink('link-27', '_print_action', 'link-17');">_print_action</a></tt> <tt class="py-op">=</tt> <tt id="link-28" class="py-name"><a title="x2go.printactions" class="py-name" href="#" onclick="return doclink('link-28', 'printactions', 'link-5');">printactions</a></tt><tt class="py-op">.</tt><tt id="link-29" class="py-name" targets="Class x2go.printactions.X2goPrintActionDIALOG=x2go.printactions.X2goPrintActionDIALOG-class.html"><a title="x2go.printactions.X2goPrintActionDIALOG" class="py-name" href="#" onclick="return doclink('link-29', 'X2goPrintActionDIALOG', 'link-29');">X2goPrintActionDIALOG</a></tt><tt class="py-op">(</tt><tt class="py-name">client_instance</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">client_instance</tt><tt class="py-op">,</tt> <tt class="py-name">logger</tt><tt class="py-op">=</tt><tt c
 lass="py
 -name">self</tt><tt class="py-op">.</tt><tt class="py-name">logger</tt><tt class="py-op">)</tt> </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line"> </tt>
-<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">_general_pdfview</tt> <tt class="py-keyword">and</tt> <tt class="py-name">_view_open</tt><tt class="py-op">:</tt> </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">            <tt class="py-name">_view_command</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">'view'</tt><tt class="py-op">,</tt> <tt class="py-string">'command'</tt><tt class="py-op">)</tt> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name"><a title="x2go.backends.printing._file.X2goClientPrintingFILE._print_action
+x2go.backends.printing._winreg.X2goClientPrintingWINREG._print_action" class="py-name" href="#" onclick="return doclink('link-34', '_print_action', 'link-21');">_print_action</a></tt> <tt class="py-op">=</tt> <tt id="link-35" class="py-name"><a title="x2go.printactions" class="py-name" href="#" onclick="return doclink('link-35', 'printactions', 'link-5');">printactions</a></tt><tt class="py-op">.</tt><tt id="link-36" class="py-name" targets="Class x2go.printactions.X2goPrintActionPDFVIEW=x2go.printactions.X2goPrintActionPDFVIEW-class.html"><a title="x2go.printactions.X2goPrintActionPDFVIEW" class="py-name" href="#" onclick="return doclink('link-36', 'X2goPrintActionPDFVIEW', 'link-36');">X2goPrintActionPDFVIEW</a></tt><tt class="py-op">(</tt><tt class="py-name">client_instance</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">client_instance</tt><tt class="py-op">,</tt> <tt id="link-37" class="py-name" targets="Variable x2go
 .printac
 tions.X2goPrintActionPDFVIEW.pdfview_cmd=x2go.printactions.X2goPrintActionPDFVIEW-class.html#pdfview_cmd"><a title="x2go.printactions.X2goPrintActionPDFVIEW.pdfview_cmd" class="py-name" href="#" onclick="return doclink('link-37', 'pdfview_cmd', 'link-37');">pdfview_cmd</a></tt><tt class="py-op">=</tt><tt class="py-name">_view_command</tt><tt class="py-op">,</tt> <tt class="py-name">logger</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logger</tt><tt class="py-op">)</tt> </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line"> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">_general_pdfview</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">_view_open</tt><tt class="py-op">:</tt> </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">            <tt class="py-name">_safe_folder</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">'save'</tt><tt class="py-op">,</tt> <tt class="py-string">'folder'</tt><tt class="py-op">)</tt> </tt>
+<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name"><a title="x2go.backends.printing._file.X2goClientPrintingFILE._print_action
 x2go.backends.printing._gconf.X2goClientPrintingGCONF._print_action
-x2go.backends.printing._winreg.X2goClientPrintingWINREG._print_action" class="py-name" href="#" onclick="return doclink('link-30', '_print_action', 'link-17');">_print_action</a></tt> <tt class="py-op">=</tt> <tt id="link-31" class="py-name"><a title="x2go.printactions" class="py-name" href="#" onclick="return doclink('link-31', 'printactions', 'link-5');">printactions</a></tt><tt class="py-op">.</tt><tt id="link-32" class="py-name" targets="Class x2go.printactions.X2goPrintActionPDFVIEW=x2go.printactions.X2goPrintActionPDFVIEW-class.html"><a title="x2go.printactions.X2goPrintActionPDFVIEW" class="py-name" href="#" onclick="return doclink('link-32', 'X2goPrintActionPDFVIEW', 'link-32');">X2goPrintActionPDFVIEW</a></tt><tt class="py-op">(</tt><tt class="py-name">client_instance</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">client_instance</tt><tt class="py-op">,</tt> <tt id="link-33" class="py-name" targets="Variable x2go
 .printac
 tions.X2goPrintActionPDFVIEW.pdfview_cmd=x2go.printactions.X2goPrintActionPDFVIEW-class.html#pdfview_cmd"><a title="x2go.printactions.X2goPrintActionPDFVIEW.pdfview_cmd" class="py-name" href="#" onclick="return doclink('link-33', 'pdfview_cmd', 'link-33');">pdfview_cmd</a></tt><tt class="py-op">=</tt><tt class="py-name">_view_command</tt><tt class="py-op">,</tt> <tt class="py-name">logger</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logger</tt><tt class="py-op">)</tt> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line"> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">_general_pdfview</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">_view_open</tt><tt class="py-op">:</tt> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name"><a title="x2go.backends.printing._file.X2goClientPrintingFILE._print_action
+x2go.backends.printing._winreg.X2goClientPrintingWINREG._print_action" class="py-name" href="#" onclick="return doclink('link-38', '_print_action', 'link-21');">_print_action</a></tt> <tt class="py-op">=</tt> <tt id="link-39" class="py-name"><a title="x2go.printactions" class="py-name" href="#" onclick="return doclink('link-39', 'printactions', 'link-5');">printactions</a></tt><tt class="py-op">.</tt><tt id="link-40" class="py-name" targets="Class x2go.printactions.X2goPrintActionPDFSAVE=x2go.printactions.X2goPrintActionPDFSAVE-class.html"><a title="x2go.printactions.X2goPrintActionPDFSAVE" class="py-name" href="#" onclick="return doclink('link-40', 'X2goPrintActionPDFSAVE', 'link-40');">X2goPrintActionPDFSAVE</a></tt><tt class="py-op">(</tt><tt class="py-name">client_instance</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">client_instance</tt><tt class="py-op">,</tt> <tt id="link-41" class="py-name" targets="Variable x2go
 .printac
 tions.X2goPrintActionPDFSAVE.save_to_folder=x2go.printactions.X2goPrintActionPDFSAVE-class.html#save_to_folder"><a title="x2go.printactions.X2goPrintActionPDFSAVE.save_to_folder" class="py-name" href="#" onclick="return doclink('link-41', 'save_to_folder', 'link-41');">save_to_folder</a></tt><tt class="py-op">=</tt><tt class="py-name">_safe_folder</tt><tt class="py-op">,</tt> <tt class="py-name">logger</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logger</tt><tt class="py-op">)</tt> </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line"> </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-keyword">not</tt> <tt class="py-name">_general_pdfview</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">_print_startcmd</tt><tt class="py-op">:</tt> </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">            <tt class="py-name">_cups_defaultprinter</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">'CUPS'</tt><tt class="py-op">,</tt> <tt class="py-string">'defaultprinter'</tt><tt class="py-op">)</tt> </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-42" class="py-name"><a title="x2go.backends.printing._file.X2goClientPrintingFILE._print_action
 x2go.backends.printing._gconf.X2goClientPrintingGCONF._print_action
-x2go.backends.printing._winreg.X2goClientPrintingWINREG._print_action" class="py-name" href="#" onclick="return doclink('link-34', '_print_action', 'link-17');">_print_action</a></tt> <tt class="py-op">=</tt> <tt id="link-35" class="py-name"><a title="x2go.printactions" class="py-name" href="#" onclick="return doclink('link-35', 'printactions', 'link-5');">printactions</a></tt><tt class="py-op">.</tt><tt id="link-36" class="py-name" targets="Class x2go.printactions.X2goPrintActionPDFSAVE=x2go.printactions.X2goPrintActionPDFSAVE-class.html"><a title="x2go.printactions.X2goPrintActionPDFSAVE" class="py-name" href="#" onclick="return doclink('link-36', 'X2goPrintActionPDFSAVE', 'link-36');">X2goPrintActionPDFSAVE</a></tt><tt class="py-op">(</tt><tt class="py-name">client_instance</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">client_instance</tt><tt class="py-op">,</tt> <tt class="py-name">logger</tt><tt class="py-op">=</tt>
 <tt clas
 s="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logger</tt><tt class="py-op">)</tt> </tt>
-<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line"> </tt>
-<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-keyword">not</tt> <tt class="py-name">_general_pdfview</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">_print_startcmd</tt><tt class="py-op">:</tt> </tt>
-<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">            <tt class="py-name">_cups_defaultprinter</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">'CUPS'</tt><tt class="py-op">,</tt> <tt class="py-string">'defaultprinter'</tt><tt class="py-op">)</tt> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name"><a title="x2go.backends.printing._file.X2goClientPrintingFILE._print_action
+x2go.backends.printing._winreg.X2goClientPrintingWINREG._print_action" class="py-name" href="#" onclick="return doclink('link-42', '_print_action', 'link-21');">_print_action</a></tt> <tt class="py-op">=</tt> <tt id="link-43" class="py-name"><a title="x2go.printactions" class="py-name" href="#" onclick="return doclink('link-43', 'printactions', 'link-5');">printactions</a></tt><tt class="py-op">.</tt><tt id="link-44" class="py-name" targets="Class x2go.printactions.X2goPrintActionPRINT=x2go.printactions.X2goPrintActionPRINT-class.html"><a title="x2go.printactions.X2goPrintActionPRINT" class="py-name" href="#" onclick="return doclink('link-44', 'X2goPrintActionPRINT', 'link-44');">X2goPrintActionPRINT</a></tt><tt class="py-op">(</tt><tt class="py-name">client_instance</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">client_instance</tt><tt class="py-op">,</tt> <tt class="py-name">printer</tt><tt class="py-op">=</tt><tt class
 ="py-nam
 e">_cups_defaultprinter</tt><tt class="py-op">,</tt> <tt class="py-name">logger</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logger</tt><tt class="py-op">)</tt> </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line"> </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-keyword">not</tt> <tt class="py-name">_general_pdfview</tt> <tt class="py-keyword">and</tt> <tt class="py-name">_print_startcmd</tt><tt class="py-op">:</tt> </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">            <tt class="py-name">_print_command</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">'print'</tt><tt class="py-op">,</tt> <tt class="py-string">'command'</tt><tt class="py-op">)</tt> </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-45" class="py-name"><a title="x2go.backends.printing._file.X2goClientPrintingFILE._print_action
 x2go.backends.printing._gconf.X2goClientPrintingGCONF._print_action
-x2go.backends.printing._winreg.X2goClientPrintingWINREG._print_action" class="py-name" href="#" onclick="return doclink('link-37', '_print_action', 'link-17');">_print_action</a></tt> <tt class="py-op">=</tt> <tt id="link-38" class="py-name"><a title="x2go.printactions" class="py-name" href="#" onclick="return doclink('link-38', 'printactions', 'link-5');">printactions</a></tt><tt class="py-op">.</tt><tt id="link-39" class="py-name" targets="Class x2go.printactions.X2goPrintActionPRINT=x2go.printactions.X2goPrintActionPRINT-class.html"><a title="x2go.printactions.X2goPrintActionPRINT" class="py-name" href="#" onclick="return doclink('link-39', 'X2goPrintActionPRINT', 'link-39');">X2goPrintActionPRINT</a></tt><tt class="py-op">(</tt><tt class="py-name">client_instance</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">client_instance</tt><tt class="py-op">,</tt> <tt class="py-name">printer</tt><tt class="py-op">=</tt><tt class
 ="py-nam
 e">_cups_defaultprinter</tt><tt class="py-op">,</tt> <tt class="py-name">logger</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logger</tt><tt class="py-op">)</tt> </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line"> </tt>
-<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-keyword">not</tt> <tt class="py-name">_general_pdfview</tt> <tt class="py-keyword">and</tt> <tt class="py-name">_print_startcmd</tt><tt class="py-op">:</tt> </tt>
-<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">            <tt class="py-name">_print_command</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">'print'</tt><tt class="py-op">,</tt> <tt class="py-string">'command'</tt><tt class="py-op">)</tt> </tt>
-<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-40" class="py-name"><a title="x2go.backends.printing._file.X2goClientPrintingFILE._print_action
+x2go.backends.printing._winreg.X2goClientPrintingWINREG._print_action" class="py-name" href="#" onclick="return doclink('link-45', '_print_action', 'link-21');">_print_action</a></tt> <tt class="py-op">=</tt> <tt id="link-46" class="py-name"><a title="x2go.printactions" class="py-name" href="#" onclick="return doclink('link-46', 'printactions', 'link-5');">printactions</a></tt><tt class="py-op">.</tt><tt id="link-47" class="py-name" targets="Class x2go.printactions.X2goPrintActionPRINTCMD=x2go.printactions.X2goPrintActionPRINTCMD-class.html"><a title="x2go.printactions.X2goPrintActionPRINTCMD" class="py-name" href="#" onclick="return doclink('link-47', 'X2goPrintActionPRINTCMD', 'link-47');">X2goPrintActionPRINTCMD</a></tt><tt class="py-op">(</tt><tt class="py-name">client_instance</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">client_instance</tt><tt class="py-op">,</tt> <tt class="py-name">print_cmd</tt><tt class="py-op
 ">=</tt>
 <tt class="py-name">_print_command</tt><tt class="py-op">,</tt> <tt class="py-name">logger</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logger</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line"> </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">    <tt class="py-decorator">@</tt><tt class="py-decorator">property</tt> </tt>
+<a name="X2goClientPrintingFILE.print_action"></a><div id="X2goClientPrintingFILE.print_action-def"><a name="L132"></a><tt class="py-lineno">132</tt> <a class="py-toggle" href="#" id="X2goClientPrintingFILE.print_action-toggle" onclick="return toggle('X2goClientPrintingFILE.print_action');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.backends.printing._file.X2goClientPrintingFILE-class.html#print_action">print_action</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="X2goClientPrintingFILE.print_action-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="X2goClientPrintingFILE.print_action-expanded"><a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">        <tt class="py-docstring">"""\</tt> </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line"><tt class="py-docstring">        Return the print action described by the »printing« configuration file.</tt> </tt>
+<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line"><tt class="py-docstring">        This method has property status and wraps around the L{get_print_action}</tt> </tt>
+<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line"><tt class="py-docstring">        method.</tt> </tt>
+<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-48" class="py-name" targets="Method x2go.backends.printing._file.X2goClientPrintingFILE.get_print_action()=x2go.backends.printing._file.X2goClientPrintingFILE-class.html#get_print_action"><a title="x2go.backends.printing._file.X2goClientPrintingFILE.get_print_action" class="py-name" href="#" onclick="return doclink('link-48', 'get_print_action', 'link-48');">get_print_action</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line"> </tt>
+<a name="X2goClientPrintingFILE.get_print_action"></a><div id="X2goClientPrintingFILE.get_print_action-def"><a name="L142"></a><tt class="py-lineno">142</tt> <a class="py-toggle" href="#" id="X2goClientPrintingFILE.get_print_action-toggle" onclick="return toggle('X2goClientPrintingFILE.get_print_action');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.backends.printing._file.X2goClientPrintingFILE-class.html#get_print_action">get_print_action</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">reload</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">,</tt> <tt class="py-param">reinit</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">,</tt> <tt class="py-param">return_name</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="X2goClientPrintingFILE.get_print_action-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="X2goClientPrintingFILE.get_print_action-expanded"><a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">        <tt class="py-docstring">"""\</tt> </tt>
+<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line"><tt class="py-docstring">        Return the print action described by the »printing« configuration file.</tt> </tt>
+<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">reload</tt><tt class="py-op">:</tt> </tt>
+<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-49" class="py-name" targets="Method x2go.inifiles.X2goIniFile.load()=x2go.inifiles.X2goIniFile-class.html#load"><a title="x2go.inifiles.X2goIniFile.load" class="py-name" href="#" onclick="return doclink('link-49', 'load', 'link-49');">load</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line"> </tt>
+<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">reinit</tt><tt class="py-op">:</tt> </tt>
+<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_detect_print_action</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line"> </tt>
+<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">return_name</tt><tt class="py-op">:</tt> </tt>
+<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-50" class="py-name"><a title="x2go.backends.printing._file.X2goClientPrintingFILE._print_action
 x2go.backends.printing._gconf.X2goClientPrintingGCONF._print_action
-x2go.backends.printing._winreg.X2goClientPrintingWINREG._print_action" class="py-name" href="#" onclick="return doclink('link-40', '_print_action', 'link-17');">_print_action</a></tt> <tt class="py-op">=</tt> <tt id="link-41" class="py-name"><a title="x2go.printactions" class="py-name" href="#" onclick="return doclink('link-41', 'printactions', 'link-5');">printactions</a></tt><tt class="py-op">.</tt><tt id="link-42" class="py-name" targets="Class x2go.printactions.X2goPrintActionPRINTCMD=x2go.printactions.X2goPrintActionPRINTCMD-class.html"><a title="x2go.printactions.X2goPrintActionPRINTCMD" class="py-name" href="#" onclick="return doclink('link-42', 'X2goPrintActionPRINTCMD', 'link-42');">X2goPrintActionPRINTCMD</a></tt><tt class="py-op">(</tt><tt class="py-name">client_instance</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">client_instance</tt><tt class="py-op">,</tt> <tt class="py-name">print_cmd</tt><tt class="py-op
 ">=</tt>
 <tt class="py-name">_print_command</tt><tt class="py-op">,</tt> <tt class="py-name">logger</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logger</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line"> </tt>
-<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">    <tt class="py-decorator">@</tt><tt class="py-decorator">property</tt> </tt>
-<a name="X2goClientPrintingFILE.print_action"></a><div id="X2goClientPrintingFILE.print_action-def"><a name="L112"></a><tt class="py-lineno">112</tt> <a class="py-toggle" href="#" id="X2goClientPrintingFILE.print_action-toggle" onclick="return toggle('X2goClientPrintingFILE.print_action');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.backends.printing._file.X2goClientPrintingFILE-class.html#print_action">print_action</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="X2goClientPrintingFILE.print_action-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="X2goClientPrintingFILE.print_action-expanded"><a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">        <tt class="py-docstring">"""\</tt> </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line"><tt class="py-docstring">        Return the print action described by the »Bprinting« configuration file.</tt> </tt>
-<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
-<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-43" class="py-name"><a title="x2go.backends.printing._file.X2goClientPrintingFILE._print_action
+x2go.backends.printing._winreg.X2goClientPrintingWINREG._print_action" class="py-name" href="#" onclick="return doclink('link-50', '_print_action', 'link-21');">_print_action</a></tt><tt class="py-op">.</tt><tt id="link-51" class="py-name" targets="Variable x2go.dropboxactions.X2goDropboxAction.__name__=x2go.dropboxactions.X2goDropboxAction-class.html#__name__,Variable x2go.dropboxactions.X2goDropboxActionOPEN.__name__=x2go.dropboxactions.X2goDropboxActionOPEN-class.html#__name__,Variable x2go.dropboxactions.X2goDropboxActionOPENWITH.__name__=x2go.dropboxactions.X2goDropboxActionOPENWITH-class.html#__name__,Variable x2go.dropboxactions.X2goDropboxActionSAVEAS.__name__=x2go.dropboxactions.X2goDropboxActionSAVEAS-class.html#__name__,Variable x2go.printactions.X2goPrintAction.__name__=x2go.printactions.X2goPrintAction-class.html#__name__,Variable x2go.printactions.X2goPrintActionDIALOG.__name__=x2go.printactions.X2goPrintActionDIALOG-class.html#__name__,Variable x2go.printactio
 ns.X2goP
 rintActionPDFSAVE.__name__=x2go.printactions.X2goPrintActionPDFSAVE-class.html#__name__,Variable x2go.printactions.X2goPrintActionPDFVIEW.__name__=x2go.printactions.X2goPrintActionPDFVIEW-class.html#__name__,Variable x2go.printactions.X2goPrintActionPRINT.__name__=x2go.printactions.X2goPrintActionPRINT-class.html#__name__,Variable x2go.printactions.X2goPrintActionPRINTCMD.__name__=x2go.printactions.X2goPrintActionPRINTCMD-class.html#__name__"><a title="x2go.dropboxactions.X2goDropboxAction.__name__
+x2go.dropboxactions.X2goDropboxActionOPEN.__name__
+x2go.dropboxactions.X2goDropboxActionOPENWITH.__name__
+x2go.dropboxactions.X2goDropboxActionSAVEAS.__name__
+x2go.printactions.X2goPrintAction.__name__
+x2go.printactions.X2goPrintActionDIALOG.__name__
+x2go.printactions.X2goPrintActionPDFSAVE.__name__
+x2go.printactions.X2goPrintActionPDFVIEW.__name__
+x2go.printactions.X2goPrintActionPRINT.__name__
+x2go.printactions.X2goPrintActionPRINTCMD.__name__" class="py-name" href="#" onclick="return doclink('link-51', '__name__', 'link-51');">__name__</a></tt> </tt>
+<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-52" class="py-name"><a title="x2go.backends.printing._file.X2goClientPrintingFILE._print_action
 x2go.backends.printing._gconf.X2goClientPrintingGCONF._print_action
-x2go.backends.printing._winreg.X2goClientPrintingWINREG._print_action" class="py-name" href="#" onclick="return doclink('link-43', '_print_action', 'link-17');">_print_action</a></tt> </tt>
-</div></div><a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+x2go.backends.printing._winreg.X2goClientPrintingWINREG._print_action" class="py-name" href="#" onclick="return doclink('link-52', '_print_action', 'link-21');">_print_action</a></tt> </tt>
+</div><a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line"> </tt>
+<a name="X2goClientPrintingFILE.get_property"></a><div id="X2goClientPrintingFILE.get_property-def"><a name="L158"></a><tt class="py-lineno">158</tt> <a class="py-toggle" href="#" id="X2goClientPrintingFILE.get_property-toggle" onclick="return toggle('X2goClientPrintingFILE.get_property');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.backends.printing._file.X2goClientPrintingFILE-class.html#get_property">get_property</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">print_property</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="X2goClientPrintingFILE.get_property-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="X2goClientPrintingFILE.get_property-expanded"><a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">        <tt class="py-docstring">"""\</tt> </tt>
+<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line"><tt class="py-docstring">        STILL UNDOCUMENTED</tt> </tt>
+<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">print_property</tt> <tt class="py-keyword">in</tt> <tt id="link-53" class="py-name"><a title="x2go.backends.printing._file._print_property_map" class="py-name" href="#" onclick="return doclink('link-53', '_print_property_map', 'link-19');">_print_property_map</a></tt><tt class="py-op">.</tt><tt id="link-54" class="py-name" targets="Method x2go.registry.X2goSessionRegistry.keys()=x2go.registry.X2goSessionRegistry-class.html#keys"><a title="x2go.registry.X2goSessionRegistry.keys" class="py-name" href="#" onclick="return doclink('link-54', 'keys', 'link-54');">keys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">            <tt class="py-name">_ini_section</tt> <tt class="py-op">=</tt> <tt id="link-55" class="py-name"><a title="x2go.backends.printing._file._print_property_map" class="py-name" href="#" onclick="return doclink('link-55', '_print_property_map', 'link-19');">_print_property_map</a></tt><tt class="py-op">[</tt><tt class="py-name">print_property</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'ini_section'</tt><tt class="py-op">]</tt> </tt>
+<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line">            <tt class="py-name">_ini_option</tt> <tt class="py-op">=</tt> <tt id="link-56" class="py-name"><a title="x2go.backends.printing._file._print_property_map" class="py-name" href="#" onclick="return doclink('link-56', '_print_property_map', 'link-19');">_print_property_map</a></tt><tt class="py-op">[</tt><tt class="py-name">print_property</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'ini_option'</tt><tt class="py-op">]</tt> </tt>
+<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-57" class="py-name" targets="Method x2go.inifiles.X2goIniFile.get_value()=x2go.inifiles.X2goIniFile-class.html#get_value"><a title="x2go.inifiles.X2goIniFile.get_value" class="py-name" href="#" onclick="return doclink('link-57', 'get_value', 'link-57');">get_value</a></tt><tt class="py-op">(</tt><tt class="py-name">_ini_section</tt><tt class="py-op">,</tt> <tt class="py-name">_ini_option</tt><tt class="py-op">)</tt> </tt>
+<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt id="link-58" class="py-name"><a title="x2go.x2go_exceptions" class="py-name" href="#" onclick="return doclink('link-58', 'x2go_exceptions', 'link-17');">x2go_exceptions</a></tt><tt class="py-op">.</tt><tt id="link-59" class="py-name" targets="Class x2go.x2go_exceptions.X2goClientPrintingException=x2go.x2go_exceptions.X2goClientPrintingException-class.html"><a title="x2go.x2go_exceptions.X2goClientPrintingException" class="py-name" href="#" onclick="return doclink('link-59', 'X2goClientPrintingException', 'link-59');">X2goClientPrintingException</a></tt><tt class="py-op">(</tt><tt class="py-string">'No such X2go client printing property ,,%s\'\''</tt> <tt class="py-op">%</tt> <tt class="py-name">print_property</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line"> </tt>
+<a name="X2goClientPrintingFILE.set_property"></a><div id="X2goClientPrintingFILE.set_property-def"><a name="L170"></a><tt class="py-lineno">170</tt> <a class="py-toggle" href="#" id="X2goClientPrintingFILE.set_property-toggle" onclick="return toggle('X2goClientPrintingFILE.set_property');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.backends.printing._file.X2goClientPrintingFILE-class.html#set_property">set_property</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">print_property</tt><tt class="py-op">,</tt> <tt class="py-param">value</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="X2goClientPrintingFILE.set_property-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="X2goClientPrintingFILE.set_property-expanded"><a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line">        <tt class="py-docstring">"""\</tt> </tt>
+<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line"><tt class="py-docstring">        STILL UNDOCUMENTED</tt> </tt>
+<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">print_property</tt> <tt class="py-keyword">in</tt> <tt id="link-60" class="py-name"><a title="x2go.backends.printing._file._print_property_map" class="py-name" href="#" onclick="return doclink('link-60', '_print_property_map', 'link-19');">_print_property_map</a></tt><tt class="py-op">.</tt><tt id="link-61" class="py-name"><a title="x2go.registry.X2goSessionRegistry.keys" class="py-name" href="#" onclick="return doclink('link-61', 'keys', 'link-54');">keys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line">            <tt class="py-name">_ini_section</tt> <tt class="py-op">=</tt> <tt id="link-62" class="py-name"><a title="x2go.backends.printing._file._print_property_map" class="py-name" href="#" onclick="return doclink('link-62', '_print_property_map', 'link-19');">_print_property_map</a></tt><tt class="py-op">[</tt><tt class="py-name">print_property</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'ini_section'</tt><tt class="py-op">]</tt> </tt>
+<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line">            <tt class="py-name">_ini_option</tt> <tt class="py-op">=</tt> <tt id="link-63" class="py-name"><a title="x2go.backends.printing._file._print_property_map" class="py-name" href="#" onclick="return doclink('link-63', '_print_property_map', 'link-19');">_print_property_map</a></tt><tt class="py-op">[</tt><tt class="py-name">print_property</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'ini_option'</tt><tt class="py-op">]</tt> </tt>
+<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">            <tt class="py-name">_default_type</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-64" class="py-name" targets="Method x2go.inifiles.X2goIniFile.get_type()=x2go.inifiles.X2goIniFile-class.html#get_type"><a title="x2go.inifiles.X2goIniFile.get_type" class="py-name" href="#" onclick="return doclink('link-64', 'get_type', 'link-64');">get_type</a></tt><tt class="py-op">(</tt><tt class="py-name">_ini_section</tt><tt class="py-op">,</tt> <tt class="py-name">_ini_option</tt><tt class="py-op">)</tt> </tt>
+<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">UnicodeType</tt><tt class="py-op">:</tt> </tt>
+<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">                <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-name">value</tt><tt class="py-op">.</tt><tt class="py-name">encode</tt><tt class="py-op">(</tt><tt class="py-string">'utf-8'</tt><tt class="py-op">)</tt> </tt>
+<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt>  <tt class="py-name">_default_type</tt> <tt class="py-op">!=</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">                <tt class="py-keyword">raise</tt> <tt id="link-65" class="py-name"><a title="x2go.x2go_exceptions" class="py-name" href="#" onclick="return doclink('link-65', 'x2go_exceptions', 'link-17');">x2go_exceptions</a></tt><tt class="py-op">.</tt><tt id="link-66" class="py-name"><a title="x2go.x2go_exceptions.X2goClientPrintingException" class="py-name" href="#" onclick="return doclink('link-66', 'X2goClientPrintingException', 'link-59');">X2goClientPrintingException</a></tt><tt class="py-op">(</tt><tt class="py-string">'Type mismatch error for property ,,%s\'\' - is: %s, should be: %s'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">print_property</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-o
 p">,</tt
 > <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">_default_type</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-67" class="py-name" targets="Method x2go.inifiles.X2goIniFile.update_value()=x2go.inifiles.X2goIniFile-class.html#update_value"><a title="x2go.inifiles.X2goIniFile.update_value" class="py-name" href="#" onclick="return doclink('link-67', 'update_value', 'link-67');">update_value</a></tt><tt class="py-op">(</tt><tt class="py-name">_ini_section</tt><tt class="py-op">,</tt> <tt class="py-name">_ini_option</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt><tt class="py-op">)</tt> </tt>
+<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt id="link-68" class="py-name"><a title="x2go.x2go_exceptions" class="py-name" href="#" onclick="return doclink('link-68', 'x2go_exceptions', 'link-17');">x2go_exceptions</a></tt><tt class="py-op">.</tt><tt id="link-69" class="py-name"><a title="x2go.x2go_exceptions.X2goClientPrintingException" class="py-name" href="#" onclick="return doclink('link-69', 'X2goClientPrintingException', 'link-59');">X2goClientPrintingException</a></tt><tt class="py-op">(</tt><tt class="py-string">'No such X2go client printing property ,,%s\'\''</tt> <tt class="py-op">%</tt> <tt class="py-name">print_property</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line"> </tt>
+<a name="X2goClientPrintingFILE.store_print_action"></a><div id="X2goClientPrintingFILE.store_print_action-def"><a name="L187"></a><tt class="py-lineno">187</tt> <a class="py-toggle" href="#" id="X2goClientPrintingFILE.store_print_action-toggle" onclick="return toggle('X2goClientPrintingFILE.store_print_action');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.backends.printing._file.X2goClientPrintingFILE-class.html#store_print_action">store_print_action</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">print_action</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">print_properties</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="X2goClientPrintingFILE.store_print_action-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="X2goClientPrintingFILE.store_print_action-expanded"><a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line">        <tt class="py-docstring">"""\</tt> </tt>
+<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line"><tt class="py-docstring">        STILL UNDOCUMENTED</tt> </tt>
+<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-70" class="py-name" targets="Variable x2go.backends.printing._file.X2goClientPrintingFILE.print_action=x2go.backends.printing._file.X2goClientPrintingFILE-class.html#print_action,Variable x2go.printqueue.X2goPrintQueue.print_action=x2go.printqueue.X2goPrintQueue-class.html#print_action"><a title="x2go.backends.printing._file.X2goClientPrintingFILE.print_action
+x2go.printqueue.X2goPrintQueue.print_action" class="py-name" href="#" onclick="return doclink('link-70', 'print_action', 'link-70');">print_action</a></tt> <tt class="py-op">==</tt> <tt class="py-string">'DIALOG'</tt><tt class="py-op">:</tt> </tt>
+<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-71" class="py-name"><a title="x2go.inifiles.X2goIniFile.update_value" class="py-name" href="#" onclick="return doclink('link-71', 'update_value', 'link-67');">update_value</a></tt><tt class="py-op">(</tt><tt class="py-string">'General'</tt><tt class="py-op">,</tt> <tt class="py-string">'showdialog'</tt><tt class="py-op">,</tt> <tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
+<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-72" class="py-name"><a title="x2go.inifiles.X2goIniFile.update_value" class="py-name" href="#" onclick="return doclink('link-72', 'update_value', 'link-67');">update_value</a></tt><tt class="py-op">(</tt><tt class="py-string">'General'</tt><tt class="py-op">,</tt> <tt class="py-string">'showdialog'</tt><tt class="py-op">,</tt> <tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line"> </tt>
+<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-73" class="py-name"><a title="x2go.backends.printing._file.X2goClientPrintingFILE.print_action
+x2go.printqueue.X2goPrintQueue.print_action" class="py-name" href="#" onclick="return doclink('link-73', 'print_action', 'link-70');">print_action</a></tt> <tt class="py-op">==</tt> <tt class="py-string">'PDFVIEW'</tt><tt class="py-op">:</tt> </tt>
+<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-74" class="py-name"><a title="x2go.inifiles.X2goIniFile.update_value" class="py-name" href="#" onclick="return doclink('link-74', 'update_value', 'link-67');">update_value</a></tt><tt class="py-op">(</tt><tt class="py-string">'General'</tt><tt class="py-op">,</tt> <tt class="py-string">'pdfview'</tt><tt class="py-op">,</tt> <tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
+<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-75" class="py-name"><a title="x2go.inifiles.X2goIniFile.update_value" class="py-name" href="#" onclick="return doclink('link-75', 'update_value', 'link-67');">update_value</a></tt><tt class="py-op">(</tt><tt class="py-string">'view'</tt><tt class="py-op">,</tt> <tt class="py-string">'open'</tt><tt class="py-op">,</tt> <tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
+<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line"> </tt>
+<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt id="link-76" class="py-name"><a title="x2go.backends.printing._file.X2goClientPrintingFILE.print_action
+x2go.printqueue.X2goPrintQueue.print_action" class="py-name" href="#" onclick="return doclink('link-76', 'print_action', 'link-70');">print_action</a></tt> <tt class="py-op">==</tt> <tt class="py-string">'PDFSAVE'</tt><tt class="py-op">:</tt> </tt>
+<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-77" class="py-name"><a title="x2go.inifiles.X2goIniFile.update_value" class="py-name" href="#" onclick="return doclink('link-77', 'update_value', 'link-67');">update_value</a></tt><tt class="py-op">(</tt><tt class="py-string">'General'</tt><tt class="py-op">,</tt> <tt class="py-string">'pdfview'</tt><tt class="py-op">,</tt> <tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
+<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-78" class="py-name"><a title="x2go.inifiles.X2goIniFile.update_value" class="py-name" href="#" onclick="return doclink('link-78', 'update_value', 'link-67');">update_value</a></tt><tt class="py-op">(</tt><tt class="py-string">'view'</tt><tt class="py-op">,</tt> <tt class="py-string">'open'</tt><tt class="py-op">,</tt> <tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line"> </tt>
+<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt id="link-79" class="py-name"><a title="x2go.backends.printing._file.X2goClientPrintingFILE.print_action
+x2go.printqueue.X2goPrintQueue.print_action" class="py-name" href="#" onclick="return doclink('link-79', 'print_action', 'link-70');">print_action</a></tt> <tt class="py-op">==</tt> <tt class="py-string">'PRINT'</tt><tt class="py-op">:</tt> </tt>
+<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-80" class="py-name"><a title="x2go.inifiles.X2goIniFile.update_value" class="py-name" href="#" onclick="return doclink('link-80', 'update_value', 'link-67');">update_value</a></tt><tt class="py-op">(</tt><tt class="py-string">'General'</tt><tt class="py-op">,</tt> <tt class="py-string">'pdfview'</tt><tt class="py-op">,</tt> <tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-81" class="py-name"><a title="x2go.inifiles.X2goIniFile.update_value" class="py-name" href="#" onclick="return doclink('link-81', 'update_value', 'link-67');">update_value</a></tt><tt class="py-op">(</tt><tt class="py-string">'print'</tt><tt class="py-op">,</tt> <tt class="py-string">'startcmd'</tt><tt class="py-op">,</tt> <tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line"> </tt>
+<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt id="link-82" class="py-name"><a title="x2go.backends.printing._file.X2goClientPrintingFILE.print_action
+x2go.printqueue.X2goPrintQueue.print_action" class="py-name" href="#" onclick="return doclink('link-82', 'print_action', 'link-70');">print_action</a></tt> <tt class="py-op">==</tt> <tt class="py-string">'PRINTCMD'</tt><tt class="py-op">:</tt> </tt>
+<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-83" class="py-name"><a title="x2go.inifiles.X2goIniFile.update_value" class="py-name" href="#" onclick="return doclink('link-83', 'update_value', 'link-67');">update_value</a></tt><tt class="py-op">(</tt><tt class="py-string">'General'</tt><tt class="py-op">,</tt> <tt class="py-string">'pdfview'</tt><tt class="py-op">,</tt> <tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-84" class="py-name"><a title="x2go.inifiles.X2goIniFile.update_value" class="py-name" href="#" onclick="return doclink('link-84', 'update_value', 'link-67');">update_value</a></tt><tt class="py-op">(</tt><tt class="py-string">'print'</tt><tt class="py-op">,</tt> <tt class="py-string">'startcmd'</tt><tt class="py-op">,</tt> <tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
+<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line"> </tt>
+<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">print_property</tt> <tt class="py-keyword">in</tt> <tt class="py-name">print_properties</tt><tt class="py-op">.</tt><tt id="link-85" class="py-name"><a title="x2go.registry.X2goSessionRegistry.keys" class="py-name" href="#" onclick="return doclink('link-85', 'keys', 'link-54');">keys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-86" class="py-name" targets="Method x2go.backends.printing._file.X2goClientPrintingFILE.set_property()=x2go.backends.printing._file.X2goClientPrintingFILE-class.html#set_property"><a title="x2go.backends.printing._file.X2goClientPrintingFILE.set_property" class="py-name" href="#" onclick="return doclink('link-86', 'set_property', 'link-86');">set_property</a></tt><tt class="py-op">(</tt><tt class="py-name">print_property</tt><tt class="py-op">,</tt> <tt class="py-name">print_properties</tt><tt class="py-op">[</tt><tt class="py-name">print_property</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line"> </tt><script type="text/javascript">
 <!--
 expandto(location.href);
 // -->
@@ -322,7 +435,7 @@ expandto(location.href);
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:34 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:25 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.backends.printing._file.X2goClientPrintingFILE-class.html b/doc/html/x2go.backends.printing._file.X2goClientPrintingFILE-class.html
index 991eaed..ba58712 100644
--- a/doc/html/x2go.backends.printing._file.X2goClientPrintingFILE-class.html
+++ b/doc/html/x2go.backends.printing._file.X2goClientPrintingFILE-class.html
@@ -114,6 +114,83 @@
       
     </td>
   </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="get_print_action"></a><span class="summary-sig-name">get_print_action</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">reload</span>=<span class="summary-sig-default">False</span>,
+        <span class="summary-sig-arg">reinit</span>=<span class="summary-sig-default">False</span>,
+        <span class="summary-sig-arg">return_name</span>=<span class="summary-sig-default">False</span>)</span><br />
+      Return the print action described by the »printing« configuration 
+      file.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="x2go.backends.printing._file-pysrc.html#X2goClientPrintingFILE.get_print_action">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="get_property"></a><span class="summary-sig-name">get_property</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">print_property</span>)</span><br />
+      STILL UNDOCUMENTED</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="x2go.backends.printing._file-pysrc.html#X2goClientPrintingFILE.get_property">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="set_property"></a><span class="summary-sig-name">set_property</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">print_property</span>,
+        <span class="summary-sig-arg">value</span>)</span><br />
+      STILL UNDOCUMENTED</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="x2go.backends.printing._file-pysrc.html#X2goClientPrintingFILE.set_property">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="store_print_action"></a><span class="summary-sig-name">store_print_action</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">print_action</span>,
+        <span class="summary-sig-arg">**print_properties</span>)</span><br />
+      STILL UNDOCUMENTED</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="x2go.backends.printing._file-pysrc.html#X2goClientPrintingFILE.store_print_action">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
   <tr>
     <td colspan="2" class="summary">
     <p class="indent-wrapped-lines"><b>Inherited from <code><a href="x2go.inifiles.X2goIniFile-class.html">inifiles.X2goIniFile</a></code></b>:
@@ -122,6 +199,7 @@
       <code><a href="x2go.inifiles.X2goIniFile-class.html#get">get</a></code>,
       <code><a href="x2go.inifiles.X2goIniFile-class.html#get_type">get_type</a></code>,
       <code><a href="x2go.inifiles.X2goIniFile-class.html#get_value">get_value</a></code>,
+      <code><a href="x2go.inifiles.X2goIniFile-class.html#load">load</a></code>,
       <code><a href="x2go.inifiles.X2goIniFile-class.html#update_value">update_value</a></code>,
       <code><a href="x2go.inifiles.X2goIniFile-class.html#write">write</a></code>
       </p>
@@ -166,6 +244,7 @@
            'ps': False,
            'startcmd': False,
            'stdin': False},
+ 'save': {'folder': 'PDF'},
  'view': {'command': 'xpdf', 'open': True}}"><code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">CUPS</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">defaultprinter</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">PDF</code><code class="variable-quote">'</code><code class="variable-group">}</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">General</code><code class="variable-quote">'</code><code class="variable-op">:</code><code class="variable-ellipsis">...</code></code>
     </td>
   </tr>
@@ -191,7 +270,7 @@
       <span class="summary-type"> </span>
     </td><td class="summary">
         <a href="x2go.backends.printing._file.X2goClientPrintingFILE-class.html#print_action" class="summary-name">print_action</a><br />
-      Return the print action described by the »Bprinting« configuration 
+      Return the print action described by the »printing« configuration 
       file.
     </td>
   </tr>
@@ -287,6 +366,7 @@
            <code class="variable-quote">'</code><code class="variable-string">ps</code><code class="variable-quote">'</code><code class="variable-op">: </code>False<code class="variable-op">,</code>
            <code class="variable-quote">'</code><code class="variable-string">startcmd</code><code class="variable-quote">'</code><code class="variable-op">: </code>False<code class="variable-op">,</code>
            <code class="variable-quote">'</code><code class="variable-string">stdin</code><code class="variable-quote">'</code><code class="variable-op">: </code>False<code class="variable-group">}</code><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">save</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">folder</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">PDF</code><code class="variable-quote">'</code><code class="variable-group">}</code><code class="variable-op">,</code>
  <code class="variable-quote">'</code><code class="variable-string">view</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">command</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">xpdf</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">open</code><code class="variable-quote">'</code><code class="variable-op">: </code>True<code class="variable-group">}</code><code class="variable-group">}</code>
 </pre></td></tr></table>
 </dd>
@@ -309,12 +389,15 @@
        cellspacing="0" width="100%" bgcolor="white">
 <tr><td>
   <h3 class="epydoc">print_action</h3>
-  <p>Return the print action described by the »Bprinting« configuration 
+  <p>Return the print action described by the »printing« configuration 
   file.</p>
+  <p>This method has property status and wraps around the <a 
+  href="x2go.backends.printing._file.X2goClientPrintingFILE-class.html#get_print_action"
+  class="link">get_print_action</a> method.</p>
   <dl class="fields">
     <dt>Get Method:</dt>
     <dd class="value"><span class="summary-sig"><i>unreachable</i>.print_action(<span class="summary-sig-arg">self</span>)</span>
-        - Return the print action described by the »Bprinting« configuration file.
+        - Return the print action described by the »printing« configuration file.
     </dd>
   </dl>
 </td></tr></table>
@@ -351,7 +434,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.backends.printing._gconf-module.html b/doc/html/x2go.backends.printing._gconf-module.html
index d9acc96..8430f9c 100644
--- a/doc/html/x2go.backends.printing._gconf-module.html
+++ b/doc/html/x2go.backends.printing._gconf-module.html
@@ -145,7 +145,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.backends.printing._gconf-pysrc.html b/doc/html/x2go.backends.printing._gconf-pysrc.html
index 2d7a190..11ba829 100644
--- a/doc/html/x2go.backends.printing._gconf-pysrc.html
+++ b/doc/html/x2go.backends.printing._gconf-pysrc.html
@@ -61,35 +61,34 @@
 </table>
 <h1 class="epydoc">Source Code for <a href="x2go.backends.printing._gconf-module.html" onclick="show_private();">Module x2go.backends.printing._gconf</a></h1>
 <pre class="py-src">
-<a name="L1"></a><tt class="py-lineno"> 1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
-<a name="L2"></a><tt class="py-lineno"> 2</tt>  <tt class="py-line"><tt class="py-comment"># -*- coding: utf-8 -*-</tt> </tt>
-<a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"> </tt>
-<a name="L4"></a><tt class="py-lineno"> 4</tt>  <tt class="py-line"><tt class="py-comment"># Copyright (C) 2010-2011 by Mike Gabriel <m.gabriel at das-netzwerkteam.de></tt> </tt>
-<a name="L5"></a><tt class="py-lineno"> 5</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"><tt class="py-comment"># Python X2go is free software; you can redistribute it and/or modify</tt> </tt>
-<a name="L7"></a><tt class="py-lineno"> 7</tt>  <tt class="py-line"><tt class="py-comment"># it under the terms of the GNU General Public License as published by</tt> </tt>
-<a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line"><tt class="py-comment"># the Free Software Foundation; either version 3 of the License, or</tt> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line"><tt class="py-comment"># (at your option) any later version.</tt> </tt>
-<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line"><tt class="py-comment"># Python X2go is distributed in the hope that it will be useful,</tt> </tt>
-<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line"><tt class="py-comment"># but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
-<a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line"><tt class="py-comment"># MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</tt> </tt>
-<a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line"><tt class="py-comment"># GNU General Public License for more details.</tt> </tt>
-<a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU General Public License</tt> </tt>
-<a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line"><tt class="py-comment"># along with this program; if not, write to the</tt> </tt>
-<a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line"><tt class="py-comment"># Free Software Foundation, Inc.,</tt> </tt>
-<a name="L19"></a><tt class="py-lineno">19</tt>  <tt class="py-line"><tt class="py-comment"># 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.</tt> </tt>
-<a name="L20"></a><tt class="py-lineno">20</tt>  <tt class="py-line"> </tt>
-<a name="L21"></a><tt class="py-lineno">21</tt>  <tt class="py-line"><tt class="py-docstring">"""\</tt> </tt>
-<a name="L22"></a><tt class="py-lineno">22</tt>  <tt class="py-line"><tt class="py-docstring">L{X2goClientPrintingGCONF} class is one of Python X2go's public API classes. </tt> </tt>
-<a name="L23"></a><tt class="py-lineno">23</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L24"></a><tt class="py-lineno">24</tt>  <tt class="py-line"><tt class="py-docstring">Retrieve an instance of this class from your L{X2goClient} instance.</tt> </tt>
-<a name="L25"></a><tt class="py-lineno">25</tt>  <tt class="py-line"><tt class="py-docstring">Use this class in your Python X2go based applications to access the »printing« </tt> </tt>
-<a name="L26"></a><tt class="py-lineno">26</tt>  <tt class="py-line"><tt class="py-docstring">configuration of your X2go client application.</tt> </tt>
-<a name="L27"></a><tt class="py-lineno">27</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L28"></a><tt class="py-lineno">28</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L29"></a><tt class="py-lineno">29</tt>  <tt class="py-line"><tt id="link-0" class="py-name" targets="Variable x2go.__NAME__=x2go-module.html#__NAME__,Variable x2go.backends.control._stdout.__NAME__=x2go.backends.control._stdout-module.html#__NAME__,Variable x2go.backends.info._stdout.__NAME__=x2go.backends.info._stdout-module.html#__NAME__,Variable x2go.backends.printing._file.__NAME__=x2go.backends.printing._file-module.html#__NAME__,Variable x2go.backends.printing._gconf.__NAME__=x2go.backends.printing._gconf-module.html#__NAME__,Variable x2go.backends.printing._winreg.__NAME__=x2go.backends.printing._winreg-module.html#__NAME__,Variable x2go.backends.profiles._file.__NAME__=x2go.backends.profiles._file-module.html#__NAME__,Variable x2go.backends.profiles._gconf.__NAME__=x2go.backends.profiles._gconf-module.html#__NAME__,Variable x2go.backends.profiles._httpsbroker.__NAME__=x2go.backends.profiles._httpsbroker-module.html#__NAME__,Variable x2go.backends.profiles._w
 inreg.__
 NAME__=x2go.backends.profiles._winreg-module.html#__NAME__,Variable x2go.backends.proxy._nx3.__NAME__=x2go.backends.proxy._nx3-module.html#__NAME__,Variable x2go.backends.proxy.base.__NAME__=x2go.backends.proxy.base-module.html#__NAME__,Variable x2go.backends.settings._file.__NAME__=x2go.backends.settings._file-module.html#__NAME__,Variable x2go.backends.settings._gconf.__NAME__=x2go.backends.settings._gconf-module.html#__NAME__,Variable x2go.backends.settings._winreg.__NAME__=x2go.backends.settings._winreg-module.html#__NAME__,Variable x2go.backends.terminal._stdout.__NAME__=x2go.backends.terminal._stdout-module.html#__NAME__,Variable x2go.cache.__NAME__=x2go.cache-module.html#__NAME__,Variable x2go.checkhosts.__NAME__=x2go.checkhosts-module.html#__NAME__,Variable x2go.client.__NAME__=x2go.client-module.html#__NAME__,Variable x2go.defaults.__NAME__=x2go.defaults-module.html#__NAME__,Variable x2go.dropbox.__NAME__=x2go.dropbox-module.html#__NAME__,Variable x2go.dropboxaction
 s.__NAME
 __=x2go.dropboxactions-module.html#__NAME__,Variable x2go.forward.__NAME__=x2go.forward-module.html#__NAME__,Variable x2go.guardian.__NAME__=x2go.guardian-module.html#__NAME__,Variable x2go.inifiles.__NAME__=x2go.inifiles-module.html#__NAME__,Variable x2go.log.__NAME__=x2go.log-module.html#__NAME__,Variable x2go.printactions.__NAME__=x2go.printactions-module.html#__NAME__,Variable x2go.printqueue.__NAME__=x2go.printqueue-module.html#__NAME__,Variable x2go.pulseaudio.__NAME__=x2go.pulseaudio-module.html#__NAME__,Variable x2go.registry.__NAME__=x2go.registry-module.html#__NAME__,Variable x2go.rforward.__NAME__=x2go.rforward-module.html#__NAME__,Variable x2go.session.__NAME__=x2go.session-module.html#__NAME__,Variable x2go.sftpserver.__NAME__=x2go.sftpserver-module.html#__NAME__,Variable x2go.sshproxy.__NAME__=x2go.sshproxy-module.html#__NAME__,Variable x2go.utils.__NAME__=x2go.utils-module.html#__NAME__,Variable x2go.x2go_exceptions.__NAME__=x2go.x2go_exceptions-module.html#__
 NAME__,V
 ariable x2go.xserver.__NAME__=x2go.xserver-module.html#__NAME__"><a title="x2go.__NAME__
+<a name="L1"></a><tt class="py-lineno"> 1</tt>  <tt class="py-line"><tt class="py-comment"># -*- coding: utf-8 -*-</tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt>  <tt class="py-line"> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"><tt class="py-comment"># Copyright (C) 2010-2011 by Mike Gabriel <m.gabriel at das-netzwerkteam.de></tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
+<a name="L5"></a><tt class="py-lineno"> 5</tt>  <tt class="py-line"><tt class="py-comment"># Python X2go is free software; you can redistribute it and/or modify</tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"><tt class="py-comment"># it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt>  <tt class="py-line"><tt class="py-comment"># the Free Software Foundation; either version 3 of the License, or</tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line"><tt class="py-comment"># (at your option) any later version.</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line"><tt class="py-comment"># Python X2go is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line"><tt class="py-comment"># but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line"><tt class="py-comment"># MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</tt> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line"><tt class="py-comment"># GNU General Public License for more details.</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
+<a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line"><tt class="py-comment"># along with this program; if not, write to the</tt> </tt>
+<a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line"><tt class="py-comment"># Free Software Foundation, Inc.,</tt> </tt>
+<a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line"><tt class="py-comment"># 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">19</tt>  <tt class="py-line"> </tt>
+<a name="L20"></a><tt class="py-lineno">20</tt>  <tt class="py-line"><tt class="py-docstring">"""\</tt> </tt>
+<a name="L21"></a><tt class="py-lineno">21</tt>  <tt class="py-line"><tt class="py-docstring">L{X2goClientPrintingGCONF} class is one of Python X2go's public API classes. </tt> </tt>
+<a name="L22"></a><tt class="py-lineno">22</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L23"></a><tt class="py-lineno">23</tt>  <tt class="py-line"><tt class="py-docstring">Retrieve an instance of this class from your L{X2goClient} instance.</tt> </tt>
+<a name="L24"></a><tt class="py-lineno">24</tt>  <tt class="py-line"><tt class="py-docstring">Use this class in your Python X2go based applications to access the »printing« </tt> </tt>
+<a name="L25"></a><tt class="py-lineno">25</tt>  <tt class="py-line"><tt class="py-docstring">configuration of your X2go client application.</tt> </tt>
+<a name="L26"></a><tt class="py-lineno">26</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L27"></a><tt class="py-lineno">27</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L28"></a><tt class="py-lineno">28</tt>  <tt class="py-line"><tt id="link-0" class="py-name" targets="Variable x2go.__NAME__=x2go-module.html#__NAME__,Variable x2go.backends.control._stdout.__NAME__=x2go.backends.control._stdout-module.html#__NAME__,Variable x2go.backends.info._stdout.__NAME__=x2go.backends.info._stdout-module.html#__NAME__,Variable x2go.backends.printing._file.__NAME__=x2go.backends.printing._file-module.html#__NAME__,Variable x2go.backends.printing._gconf.__NAME__=x2go.backends.printing._gconf-module.html#__NAME__,Variable x2go.backends.printing._winreg.__NAME__=x2go.backends.printing._winreg-module.html#__NAME__,Variable x2go.backends.profiles._file.__NAME__=x2go.backends.profiles._file-module.html#__NAME__,Variable x2go.backends.profiles._gconf.__NAME__=x2go.backends.profiles._gconf-module.html#__NAME__,Variable x2go.backends.profiles._httpsbroker.__NAME__=x2go.backends.profiles._httpsbroker-module.html#__NAME__,Variable x2go.backends.profiles._w
 inreg.__
 NAME__=x2go.backends.profiles._winreg-module.html#__NAME__,Variable x2go.backends.proxy._nx3.__NAME__=x2go.backends.proxy._nx3-module.html#__NAME__,Variable x2go.backends.proxy.base.__NAME__=x2go.backends.proxy.base-module.html#__NAME__,Variable x2go.backends.settings._file.__NAME__=x2go.backends.settings._file-module.html#__NAME__,Variable x2go.backends.settings._gconf.__NAME__=x2go.backends.settings._gconf-module.html#__NAME__,Variable x2go.backends.settings._winreg.__NAME__=x2go.backends.settings._winreg-module.html#__NAME__,Variable x2go.backends.terminal._stdout.__NAME__=x2go.backends.terminal._stdout-module.html#__NAME__,Variable x2go.cache.__NAME__=x2go.cache-module.html#__NAME__,Variable x2go.checkhosts.__NAME__=x2go.checkhosts-module.html#__NAME__,Variable x2go.client.__NAME__=x2go.client-module.html#__NAME__,Variable x2go.defaults.__NAME__=x2go.defaults-module.html#__NAME__,Variable x2go.dropbox.__NAME__=x2go.dropbox-module.html#__NAME__,Variable x2go.dropboxaction
 s.__NAME
 __=x2go.dropboxactions-module.html#__NAME__,Variable x2go.forward.__NAME__=x2go.forward-module.html#__NAME__,Variable x2go.guardian.__NAME__=x2go.guardian-module.html#__NAME__,Variable x2go.inifiles.__NAME__=x2go.inifiles-module.html#__NAME__,Variable x2go.log.__NAME__=x2go.log-module.html#__NAME__,Variable x2go.printactions.__NAME__=x2go.printactions-module.html#__NAME__,Variable x2go.printqueue.__NAME__=x2go.printqueue-module.html#__NAME__,Variable x2go.pulseaudio.__NAME__=x2go.pulseaudio-module.html#__NAME__,Variable x2go.registry.__NAME__=x2go.registry-module.html#__NAME__,Variable x2go.rforward.__NAME__=x2go.rforward-module.html#__NAME__,Variable x2go.session.__NAME__=x2go.session-module.html#__NAME__,Variable x2go.sftpserver.__NAME__=x2go.sftpserver-module.html#__NAME__,Variable x2go.sshproxy.__NAME__=x2go.sshproxy-module.html#__NAME__,Variable x2go.utils.__NAME__=x2go.utils-module.html#__NAME__,Variable x2go.x2go_exceptions.__NAME__=x2go.x2go_exceptions-module.html#__
 NAME__,V
 ariable x2go.xserver.__NAME__=x2go.xserver-module.html#__NAME__"><a title="x2go.__NAME__
 x2go.backends.control._stdout.__NAME__
 x2go.backends.info._stdout.__NAME__
 x2go.backends.printing._file.__NAME__
@@ -126,41 +125,41 @@ x2go.sshproxy.__NAME__
 x2go.utils.__NAME__
 x2go.x2go_exceptions.__NAME__
 x2go.xserver.__NAME__" class="py-name" href="#" onclick="return doclink('link-0', '__NAME__', 'link-0');">__NAME__</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'x2goprint-pylib'</tt> </tt>
-<a name="L30"></a><tt class="py-lineno">30</tt>  <tt class="py-line"> </tt>
-<a name="L31"></a><tt class="py-lineno">31</tt>  <tt class="py-line"><tt class="py-comment"># modules</tt> </tt>
-<a name="L32"></a><tt class="py-lineno">32</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">types</tt> </tt>
-<a name="L33"></a><tt class="py-lineno">33</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">ConfigParser</tt> </tt>
-<a name="L34"></a><tt class="py-lineno">34</tt>  <tt class="py-line"> </tt>
-<a name="L35"></a><tt class="py-lineno">35</tt>  <tt class="py-line"><tt class="py-comment"># Python X2go modules</tt> </tt>
-<a name="L36"></a><tt class="py-lineno">36</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-1" class="py-name" targets="Package x2go=x2go-module.html"><a title="x2go" class="py-name" href="#" onclick="return doclink('link-1', 'x2go', 'link-1');">x2go</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module x2go.log=x2go.log-module.html"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-2', 'log', 'link-2');">log</a></tt> <tt class="py-keyword">as</tt> <tt id="link-3" class="py-name"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-3', 'log', 'link-2');">log</a></tt> </tt>
-<a name="L37"></a><tt class="py-lineno">37</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-4" class="py-name"><a title="x2go" class="py-name" href="#" onclick="return doclink('link-4', 'x2go', 'link-1');">x2go</a></tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Module x2go.printactions=x2go.printactions-module.html"><a title="x2go.printactions" class="py-name" href="#" onclick="return doclink('link-5', 'printactions', 'link-5');">printactions</a></tt> <tt class="py-keyword">as</tt> <tt id="link-6" class="py-name"><a title="x2go.printactions" class="py-name" href="#" onclick="return doclink('link-6', 'printactions', 'link-5');">printactions</a></tt> </tt>
-<a name="L38"></a><tt class="py-lineno">38</tt>  <tt class="py-line"><tt class="py-comment"># we hide the default values from epydoc (that's why we transform them to _UNDERSCORE variables)</tt> </tt>
-<a name="L39"></a><tt class="py-lineno">39</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-7" class="py-name"><a title="x2go" class="py-name" href="#" onclick="return doclink('link-7', 'x2go', 'link-1');">x2go</a></tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Module x2go.defaults=x2go.defaults-module.html"><a title="x2go.defaults" class="py-name" href="#" onclick="return doclink('link-8', 'defaults', 'link-8');">defaults</a></tt> <tt class="py-keyword">import</tt> <tt id="link-9" class="py-name" targets="Variable x2go.defaults.X2GO_CLIENTPRINTING_DEFAULTS=x2go.defaults-module.html#X2GO_CLIENTPRINTING_DEFAULTS"><a title="x2go.defaults.X2GO_CLIENTPRINTING_DEFAULTS" class="py-name" href="#" onclick="return doclink('link-9', 'X2GO_CLIENTPRINTING_DEFAULTS', 'link-9');">X2GO_CLIENTPRINTING_DEFAULTS</a></tt> <tt class="py-keyword">as</tt> <tt class="py-name">_X2GO_CLIENTPRINTING_DEFAULTS</tt> </tt>
-<a name="L40"></a><tt class="py-lineno">40</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-10" class="py-name"><a title="x2go" class="py-name" href="#" onclick="return doclink('link-10', 'x2go', 'link-1');">x2go</a></tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="x2go.defaults" class="py-name" href="#" onclick="return doclink('link-11', 'defaults', 'link-8');">defaults</a></tt> <tt class="py-keyword">import</tt> <tt id="link-12" class="py-name" targets="Variable x2go.defaults.X2GO_PRINTING_CONFIGFILES=x2go.defaults-module.html#X2GO_PRINTING_CONFIGFILES"><a title="x2go.defaults.X2GO_PRINTING_CONFIGFILES" class="py-name" href="#" onclick="return doclink('link-12', 'X2GO_PRINTING_CONFIGFILES', 'link-12');">X2GO_PRINTING_CONFIGFILES</a></tt> <tt class="py-keyword">as</tt> <tt class="py-name">_X2GO_PRINTING_CONFIGFILES</tt> </tt>
-<a name="L41"></a><tt class="py-lineno">41</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-13" class="py-name"><a title="x2go" class="py-name" href="#" onclick="return doclink('link-13', 'x2go', 'link-1');">x2go</a></tt><tt class="py-op">.</tt><tt id="link-14" class="py-name" targets="Module x2go.inifiles=x2go.inifiles-module.html"><a title="x2go.inifiles" class="py-name" href="#" onclick="return doclink('link-14', 'inifiles', 'link-14');">inifiles</a></tt> <tt class="py-keyword">as</tt> <tt id="link-15" class="py-name"><a title="x2go.inifiles" class="py-name" href="#" onclick="return doclink('link-15', 'inifiles', 'link-14');">inifiles</a></tt> </tt>
-<a name="L42"></a><tt class="py-lineno">42</tt>  <tt class="py-line"> </tt>
-<a name="L43"></a><tt class="py-lineno">43</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-16" class="py-name"><a title="x2go" class="py-name" href="#" onclick="return doclink('link-16', 'x2go', 'link-1');">x2go</a></tt><tt class="py-op">.</tt><tt id="link-17" class="py-name" targets="Module x2go.x2go_exceptions=x2go.x2go_exceptions-module.html"><a title="x2go.x2go_exceptions" class="py-name" href="#" onclick="return doclink('link-17', 'x2go_exceptions', 'link-17');">x2go_exceptions</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
-<a name="L44"></a><tt class="py-lineno">44</tt>  <tt class="py-line"> </tt>
-<a name="X2goClientPrintingGCONF"></a><div id="X2goClientPrintingGCONF-def"><a name="L45"></a><tt class="py-lineno">45</tt> <a class="py-toggle" href="#" id="X2goClientPrintingGCONF-toggle" onclick="return toggle('X2goClientPrintingGCONF');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="x2go.backends.printing._gconf.X2goClientPrintingGCONF-class.html">X2goClientPrintingGCONF</a><tt class="py-op">(</tt><tt class="py-base-class">inifiles</tt><tt class="py-op">.</tt><tt class="py-base-class">X2goIniFile</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="X2goClientPrintingGCONF-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="X2goClientPrintingGCONF-expanded"><a name="L46"></a><tt class="py-lineno">46</tt>  <tt class="py-line">    <tt class="py-docstring">"""\</tt> </tt>
-<a name="L47"></a><tt class="py-lineno">47</tt>  <tt class="py-line"><tt class="py-docstring">    L{X2goClientPrinting} provides access to the X2go ini-like file</tt> </tt>
-<a name="L48"></a><tt class="py-lineno">48</tt>  <tt class="py-line"><tt class="py-docstring">    »printing« as stored in C{~/.x2goclient/printing} resp. globally</tt> </tt>
-<a name="L49"></a><tt class="py-lineno">49</tt>  <tt class="py-line"><tt class="py-docstring">    C{/etc/x2goclient/printing}.</tt> </tt>
-<a name="L50"></a><tt class="py-lineno">50</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L51"></a><tt class="py-lineno">51</tt>  <tt class="py-line"><tt class="py-docstring">    An instance of L{X2goClientPrinting} is created on each incoming</tt> </tt>
-<a name="L52"></a><tt class="py-lineno">52</tt>  <tt class="py-line"><tt class="py-docstring">    print job. This facilitates that on every print job the print action</tt> </tt>
-<a name="L53"></a><tt class="py-lineno">53</tt>  <tt class="py-line"><tt class="py-docstring">    for this job is derived from the »printing« configuration file.</tt> </tt>
-<a name="L54"></a><tt class="py-lineno">54</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L55"></a><tt class="py-lineno">55</tt>  <tt class="py-line"><tt class="py-docstring">    Thus, changes on the file are active for the next incoming print job.</tt> </tt>
-<a name="L56"></a><tt class="py-lineno">56</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L57"></a><tt class="py-lineno">57</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L58"></a><tt class="py-lineno">58</tt>  <tt class="py-line">    <tt id="link-18" class="py-name" targets="Variable x2go.backends.printing._file.X2goClientPrintingFILE.config_files=x2go.backends.printing._file.X2goClientPrintingFILE-class.html#config_files,Variable x2go.backends.printing._gconf.X2goClientPrintingGCONF.config_files=x2go.backends.printing._gconf.X2goClientPrintingGCONF-class.html#config_files,Variable x2go.backends.printing._winreg.X2goClientPrintingWINREG.config_files=x2go.backends.printing._winreg.X2goClientPrintingWINREG-class.html#config_files"><a title="x2go.backends.printing._file.X2goClientPrintingFILE.config_files
+<a name="L29"></a><tt class="py-lineno">29</tt>  <tt class="py-line"> </tt>
+<a name="L30"></a><tt class="py-lineno">30</tt>  <tt class="py-line"><tt class="py-comment"># modules</tt> </tt>
+<a name="L31"></a><tt class="py-lineno">31</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">types</tt> </tt>
+<a name="L32"></a><tt class="py-lineno">32</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">ConfigParser</tt> </tt>
+<a name="L33"></a><tt class="py-lineno">33</tt>  <tt class="py-line"> </tt>
+<a name="L34"></a><tt class="py-lineno">34</tt>  <tt class="py-line"><tt class="py-comment"># Python X2go modules</tt> </tt>
+<a name="L35"></a><tt class="py-lineno">35</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-1" class="py-name" targets="Package x2go=x2go-module.html"><a title="x2go" class="py-name" href="#" onclick="return doclink('link-1', 'x2go', 'link-1');">x2go</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module x2go.log=x2go.log-module.html"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-2', 'log', 'link-2');">log</a></tt> <tt class="py-keyword">as</tt> <tt id="link-3" class="py-name"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-3', 'log', 'link-2');">log</a></tt> </tt>
+<a name="L36"></a><tt class="py-lineno">36</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-4" class="py-name"><a title="x2go" class="py-name" href="#" onclick="return doclink('link-4', 'x2go', 'link-1');">x2go</a></tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Module x2go.printactions=x2go.printactions-module.html"><a title="x2go.printactions" class="py-name" href="#" onclick="return doclink('link-5', 'printactions', 'link-5');">printactions</a></tt> <tt class="py-keyword">as</tt> <tt id="link-6" class="py-name"><a title="x2go.printactions" class="py-name" href="#" onclick="return doclink('link-6', 'printactions', 'link-5');">printactions</a></tt> </tt>
+<a name="L37"></a><tt class="py-lineno">37</tt>  <tt class="py-line"><tt class="py-comment"># we hide the default values from epydoc (that's why we transform them to _UNDERSCORE variables)</tt> </tt>
+<a name="L38"></a><tt class="py-lineno">38</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-7" class="py-name"><a title="x2go" class="py-name" href="#" onclick="return doclink('link-7', 'x2go', 'link-1');">x2go</a></tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Module x2go.defaults=x2go.defaults-module.html"><a title="x2go.defaults" class="py-name" href="#" onclick="return doclink('link-8', 'defaults', 'link-8');">defaults</a></tt> <tt class="py-keyword">import</tt> <tt id="link-9" class="py-name" targets="Variable x2go.defaults.X2GO_CLIENTPRINTING_DEFAULTS=x2go.defaults-module.html#X2GO_CLIENTPRINTING_DEFAULTS"><a title="x2go.defaults.X2GO_CLIENTPRINTING_DEFAULTS" class="py-name" href="#" onclick="return doclink('link-9', 'X2GO_CLIENTPRINTING_DEFAULTS', 'link-9');">X2GO_CLIENTPRINTING_DEFAULTS</a></tt> <tt class="py-keyword">as</tt> <tt class="py-name">_X2GO_CLIENTPRINTING_DEFAULTS</tt> </tt>
+<a name="L39"></a><tt class="py-lineno">39</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-10" class="py-name"><a title="x2go" class="py-name" href="#" onclick="return doclink('link-10', 'x2go', 'link-1');">x2go</a></tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="x2go.defaults" class="py-name" href="#" onclick="return doclink('link-11', 'defaults', 'link-8');">defaults</a></tt> <tt class="py-keyword">import</tt> <tt id="link-12" class="py-name" targets="Variable x2go.defaults.X2GO_PRINTING_CONFIGFILES=x2go.defaults-module.html#X2GO_PRINTING_CONFIGFILES"><a title="x2go.defaults.X2GO_PRINTING_CONFIGFILES" class="py-name" href="#" onclick="return doclink('link-12', 'X2GO_PRINTING_CONFIGFILES', 'link-12');">X2GO_PRINTING_CONFIGFILES</a></tt> <tt class="py-keyword">as</tt> <tt class="py-name">_X2GO_PRINTING_CONFIGFILES</tt> </tt>
+<a name="L40"></a><tt class="py-lineno">40</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-13" class="py-name"><a title="x2go" class="py-name" href="#" onclick="return doclink('link-13', 'x2go', 'link-1');">x2go</a></tt><tt class="py-op">.</tt><tt id="link-14" class="py-name" targets="Module x2go.inifiles=x2go.inifiles-module.html"><a title="x2go.inifiles" class="py-name" href="#" onclick="return doclink('link-14', 'inifiles', 'link-14');">inifiles</a></tt> <tt class="py-keyword">as</tt> <tt id="link-15" class="py-name"><a title="x2go.inifiles" class="py-name" href="#" onclick="return doclink('link-15', 'inifiles', 'link-14');">inifiles</a></tt> </tt>
+<a name="L41"></a><tt class="py-lineno">41</tt>  <tt class="py-line"> </tt>
+<a name="L42"></a><tt class="py-lineno">42</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-16" class="py-name"><a title="x2go" class="py-name" href="#" onclick="return doclink('link-16', 'x2go', 'link-1');">x2go</a></tt><tt class="py-op">.</tt><tt id="link-17" class="py-name" targets="Module x2go.x2go_exceptions=x2go.x2go_exceptions-module.html"><a title="x2go.x2go_exceptions" class="py-name" href="#" onclick="return doclink('link-17', 'x2go_exceptions', 'link-17');">x2go_exceptions</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L43"></a><tt class="py-lineno">43</tt>  <tt class="py-line"> </tt>
+<a name="X2goClientPrintingGCONF"></a><div id="X2goClientPrintingGCONF-def"><a name="L44"></a><tt class="py-lineno">44</tt> <a class="py-toggle" href="#" id="X2goClientPrintingGCONF-toggle" onclick="return toggle('X2goClientPrintingGCONF');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="x2go.backends.printing._gconf.X2goClientPrintingGCONF-class.html">X2goClientPrintingGCONF</a><tt class="py-op">(</tt><tt class="py-base-class">inifiles</tt><tt class="py-op">.</tt><tt class="py-base-class">X2goIniFile</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="X2goClientPrintingGCONF-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="X2goClientPrintingGCONF-expanded"><a name="L45"></a><tt class="py-lineno">45</tt>  <tt class="py-line">    <tt class="py-docstring">"""\</tt> </tt>
+<a name="L46"></a><tt class="py-lineno">46</tt>  <tt class="py-line"><tt class="py-docstring">    L{X2goClientPrinting} provides access to the X2go ini-like file</tt> </tt>
+<a name="L47"></a><tt class="py-lineno">47</tt>  <tt class="py-line"><tt class="py-docstring">    »printing« as stored in C{~/.x2goclient/printing} resp. globally</tt> </tt>
+<a name="L48"></a><tt class="py-lineno">48</tt>  <tt class="py-line"><tt class="py-docstring">    C{/etc/x2goclient/printing}.</tt> </tt>
+<a name="L49"></a><tt class="py-lineno">49</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L50"></a><tt class="py-lineno">50</tt>  <tt class="py-line"><tt class="py-docstring">    An instance of L{X2goClientPrinting} is created on each incoming</tt> </tt>
+<a name="L51"></a><tt class="py-lineno">51</tt>  <tt class="py-line"><tt class="py-docstring">    print job. This facilitates that on every print job the print action</tt> </tt>
+<a name="L52"></a><tt class="py-lineno">52</tt>  <tt class="py-line"><tt class="py-docstring">    for this job is derived from the »printing« configuration file.</tt> </tt>
+<a name="L53"></a><tt class="py-lineno">53</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L54"></a><tt class="py-lineno">54</tt>  <tt class="py-line"><tt class="py-docstring">    Thus, changes on the file are active for the next incoming print job.</tt> </tt>
+<a name="L55"></a><tt class="py-lineno">55</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L56"></a><tt class="py-lineno">56</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L57"></a><tt class="py-lineno">57</tt>  <tt class="py-line">    <tt id="link-18" class="py-name" targets="Variable x2go.backends.printing._file.X2goClientPrintingFILE.config_files=x2go.backends.printing._file.X2goClientPrintingFILE-class.html#config_files,Variable x2go.backends.printing._gconf.X2goClientPrintingGCONF.config_files=x2go.backends.printing._gconf.X2goClientPrintingGCONF-class.html#config_files,Variable x2go.backends.printing._winreg.X2goClientPrintingWINREG.config_files=x2go.backends.printing._winreg.X2goClientPrintingWINREG-class.html#config_files"><a title="x2go.backends.printing._file.X2goClientPrintingFILE.config_files
 x2go.backends.printing._gconf.X2goClientPrintingGCONF.config_files
 x2go.backends.printing._winreg.X2goClientPrintingWINREG.config_files" class="py-name" href="#" onclick="return doclink('link-18', 'config_files', 'link-18');">config_files</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L59"></a><tt class="py-lineno">59</tt>  <tt class="py-line">    <tt id="link-19" class="py-name" targets="Variable x2go.backends.printing._file.X2goClientPrintingFILE._print_action=x2go.backends.printing._file.X2goClientPrintingFILE-class.html#_print_action,Variable x2go.backends.printing._gconf.X2goClientPrintingGCONF._print_action=x2go.backends.printing._gconf.X2goClientPrintingGCONF-class.html#_print_action,Variable x2go.backends.printing._winreg.X2goClientPrintingWINREG._print_action=x2go.backends.printing._winreg.X2goClientPrintingWINREG-class.html#_print_action"><a title="x2go.backends.printing._file.X2goClientPrintingFILE._print_action
+<a name="L58"></a><tt class="py-lineno">58</tt>  <tt class="py-line">    <tt id="link-19" class="py-name" targets="Variable x2go.backends.printing._file.X2goClientPrintingFILE._print_action=x2go.backends.printing._file.X2goClientPrintingFILE-class.html#_print_action,Variable x2go.backends.printing._gconf.X2goClientPrintingGCONF._print_action=x2go.backends.printing._gconf.X2goClientPrintingGCONF-class.html#_print_action,Variable x2go.backends.printing._winreg.X2goClientPrintingWINREG._print_action=x2go.backends.printing._winreg.X2goClientPrintingWINREG-class.html#_print_action"><a title="x2go.backends.printing._file.X2goClientPrintingFILE._print_action
 x2go.backends.printing._gconf.X2goClientPrintingGCONF._print_action
 x2go.backends.printing._winreg.X2goClientPrintingWINREG._print_action" class="py-name" href="#" onclick="return doclink('link-19', '_print_action', 'link-19');">_print_action</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L60"></a><tt class="py-lineno">60</tt>  <tt class="py-line">    <tt id="link-20" class="py-name" targets="Variable x2go.backends.printing._file.X2goClientPrintingFILE.defaultValues=x2go.backends.printing._file.X2goClientPrintingFILE-class.html#defaultValues,Variable x2go.backends.printing._gconf.X2goClientPrintingGCONF.defaultValues=x2go.backends.printing._gconf.X2goClientPrintingGCONF-class.html#defaultValues,Variable x2go.backends.printing._winreg.X2goClientPrintingWINREG.defaultValues=x2go.backends.printing._winreg.X2goClientPrintingWINREG-class.html#defaultValues,Variable x2go.backends.settings._file.X2goClientSettingsFILE.defaultValues=x2go.backends.settings._file.X2goClientSettingsFILE-class.html#defaultValues,Variable x2go.backends.settings._gconf.X2goClientSettingsGCONF.defaultValues=x2go.backends.settings._gconf.X2goClientSettingsGCONF-class.html#defaultValues,Variable x2go.backends.settings._winreg.X2goClientSettingsWINREG.defaultValues=x2go.backends.setti
 ngs._win
 reg.X2goClientSettingsWINREG-class.html#defaultValues,Variable x2go.inifiles.X2goIniFile.defaultValues=x2go.inifiles.X2goIniFile-class.html#defaultValues,Variable x2go.xserver.X2goClientXConfig.defaultValues=x2go.xserver.X2goClientXConfig-class.html#defaultValues"><a title="x2go.backends.printing._file.X2goClientPrintingFILE.defaultValues
+<a name="L59"></a><tt class="py-lineno">59</tt>  <tt class="py-line">    <tt id="link-20" class="py-name" targets="Variable x2go.backends.printing._file.X2goClientPrintingFILE.defaultValues=x2go.backends.printing._file.X2goClientPrintingFILE-class.html#defaultValues,Variable x2go.backends.printing._gconf.X2goClientPrintingGCONF.defaultValues=x2go.backends.printing._gconf.X2goClientPrintingGCONF-class.html#defaultValues,Variable x2go.backends.printing._winreg.X2goClientPrintingWINREG.defaultValues=x2go.backends.printing._winreg.X2goClientPrintingWINREG-class.html#defaultValues,Variable x2go.backends.settings._file.X2goClientSettingsFILE.defaultValues=x2go.backends.settings._file.X2goClientSettingsFILE-class.html#defaultValues,Variable x2go.backends.settings._gconf.X2goClientSettingsGCONF.defaultValues=x2go.backends.settings._gconf.X2goClientSettingsGCONF-class.html#defaultValues,Variable x2go.backends.settings._winreg.X2goClientSettingsWINREG.defaultValues=x2go.backends.setti
 ngs._win
 reg.X2goClientSettingsWINREG-class.html#defaultValues,Variable x2go.inifiles.X2goIniFile.defaultValues=x2go.inifiles.X2goIniFile-class.html#defaultValues,Variable x2go.xserver.X2goClientXConfig.defaultValues=x2go.xserver.X2goClientXConfig-class.html#defaultValues"><a title="x2go.backends.printing._file.X2goClientPrintingFILE.defaultValues
 x2go.backends.printing._gconf.X2goClientPrintingGCONF.defaultValues
 x2go.backends.printing._winreg.X2goClientPrintingWINREG.defaultValues
 x2go.backends.settings._file.X2goClientSettingsFILE.defaultValues
@@ -168,25 +167,25 @@ x2go.backends.settings._gconf.X2goClientSettingsGCONF.defaultValues
 x2go.backends.settings._winreg.X2goClientSettingsWINREG.defaultValues
 x2go.inifiles.X2goIniFile.defaultValues
 x2go.xserver.X2goClientXConfig.defaultValues" class="py-name" href="#" onclick="return doclink('link-20', 'defaultValues', 'link-20');">defaultValues</a></tt> <tt class="py-op">=</tt> <tt class="py-name">_X2GO_CLIENTPRINTING_DEFAULTS</tt> </tt>
-<a name="L61"></a><tt class="py-lineno">61</tt>  <tt class="py-line"> </tt>
-<a name="X2goClientPrintingGCONF.__init__"></a><div id="X2goClientPrintingGCONF.__init__-def"><a name="L62"></a><tt class="py-lineno">62</tt> <a class="py-toggle" href="#" id="X2goClientPrintingGCONF.__init__-toggle" onclick="return toggle('X2goClientPrintingGCONF.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.backends.printing._gconf.X2goClientPrintingGCONF-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">config_files</tt><tt class="py-op">=</tt><tt class="py-name">_X2GO_PRINTING_CONFIGFILES</tt><tt class="py-op">,</tt> <tt class="py-param">defaults</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">logger</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">loglevel</tt><tt class="py-op">=</tt><tt id="link-21" class="py-name"><a t
 itle="x2
 go.log" class="py-name" href="#" onclick="return doclink('link-21', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt id="link-22" class="py-name" targets="Variable x2go.log.loglevel_DEFAULT=x2go.log-module.html#loglevel_DEFAULT"><a title="x2go.log.loglevel_DEFAULT" class="py-name" href="#" onclick="return doclink('link-22', 'loglevel_DEFAULT', 'link-22');">loglevel_DEFAULT</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="X2goClientPrintingGCONF.__init__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="X2goClientPrintingGCONF.__init__-expanded"><a name="L63"></a><tt class="py-lineno">63</tt>  <tt class="py-line">        <tt class="py-docstring">"""\</tt> </tt>
-<a name="L64"></a><tt class="py-lineno">64</tt>  <tt class="py-line"><tt class="py-docstring">        @param config_files: a list of configuration files names (e.g. a global filename and a user's home </tt> </tt>
-<a name="L65"></a><tt class="py-lineno">65</tt>  <tt class="py-line"><tt class="py-docstring">            directory filename)</tt> </tt>
-<a name="L66"></a><tt class="py-lineno">66</tt>  <tt class="py-line"><tt class="py-docstring">        @type config_files: C{list}</tt> </tt>
-<a name="L67"></a><tt class="py-lineno">67</tt>  <tt class="py-line"><tt class="py-docstring">        @param defaults: a cascaded Python dicitionary structure with ini file defaults (to override </tt> </tt>
-<a name="L68"></a><tt class="py-lineno">68</tt>  <tt class="py-line"><tt class="py-docstring">            Python X2go's hard coded defaults in L{defaults}</tt> </tt>
-<a name="L69"></a><tt class="py-lineno">69</tt>  <tt class="py-line"><tt class="py-docstring">        @type defaults: C{dict}</tt> </tt>
-<a name="L70"></a><tt class="py-lineno">70</tt>  <tt class="py-line"><tt class="py-docstring">        @param logger: you can pass an L{X2goLogger} object to the</tt> </tt>
-<a name="L71"></a><tt class="py-lineno">71</tt>  <tt class="py-line"><tt class="py-docstring">            L{X2goPrintAction} constructor</tt> </tt>
-<a name="L72"></a><tt class="py-lineno">72</tt>  <tt class="py-line"><tt class="py-docstring">        @type logger: C{instance}</tt> </tt>
-<a name="L73"></a><tt class="py-lineno">73</tt>  <tt class="py-line"><tt class="py-docstring">        @param loglevel: if no L{X2goLogger} object has been supplied a new one will be</tt> </tt>
-<a name="L74"></a><tt class="py-lineno">74</tt>  <tt class="py-line"><tt class="py-docstring">            constructed with the given loglevel</tt> </tt>
-<a name="L75"></a><tt class="py-lineno">75</tt>  <tt class="py-line"><tt class="py-docstring">        @type loglevel: C{int}</tt> </tt>
-<a name="L76"></a><tt class="py-lineno">76</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L77"></a><tt class="py-lineno">77</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
-<a name="L78"></a><tt class="py-lineno">78</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> <tt id="link-23" class="py-name" targets="Class x2go.x2go_exceptions.X2goNotImplementedYetException=x2go.x2go_exceptions.X2goNotImplementedYetException-class.html"><a title="x2go.x2go_exceptions.X2goNotImplementedYetException" class="py-name" href="#" onclick="return doclink('link-23', 'X2goNotImplementedYetException', 'link-23');">X2goNotImplementedYetException</a></tt><tt class="py-op">(</tt><tt class="py-string">'GCONF backend support is not implemented yet'</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L79"></a><tt class="py-lineno">79</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<a name="L60"></a><tt class="py-lineno">60</tt>  <tt class="py-line"> </tt>
+<a name="X2goClientPrintingGCONF.__init__"></a><div id="X2goClientPrintingGCONF.__init__-def"><a name="L61"></a><tt class="py-lineno">61</tt> <a class="py-toggle" href="#" id="X2goClientPrintingGCONF.__init__-toggle" onclick="return toggle('X2goClientPrintingGCONF.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.backends.printing._gconf.X2goClientPrintingGCONF-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">config_files</tt><tt class="py-op">=</tt><tt class="py-name">_X2GO_PRINTING_CONFIGFILES</tt><tt class="py-op">,</tt> <tt class="py-param">defaults</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">logger</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">loglevel</tt><tt class="py-op">=</tt><tt id="link-21" class="py-name"><a t
 itle="x2
 go.log" class="py-name" href="#" onclick="return doclink('link-21', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt id="link-22" class="py-name" targets="Variable x2go.log.loglevel_DEFAULT=x2go.log-module.html#loglevel_DEFAULT"><a title="x2go.log.loglevel_DEFAULT" class="py-name" href="#" onclick="return doclink('link-22', 'loglevel_DEFAULT', 'link-22');">loglevel_DEFAULT</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="X2goClientPrintingGCONF.__init__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="X2goClientPrintingGCONF.__init__-expanded"><a name="L62"></a><tt class="py-lineno">62</tt>  <tt class="py-line">        <tt class="py-docstring">"""\</tt> </tt>
+<a name="L63"></a><tt class="py-lineno">63</tt>  <tt class="py-line"><tt class="py-docstring">        @param config_files: a list of configuration files names (e.g. a global filename and a user's home </tt> </tt>
+<a name="L64"></a><tt class="py-lineno">64</tt>  <tt class="py-line"><tt class="py-docstring">            directory filename)</tt> </tt>
+<a name="L65"></a><tt class="py-lineno">65</tt>  <tt class="py-line"><tt class="py-docstring">        @type config_files: C{list}</tt> </tt>
+<a name="L66"></a><tt class="py-lineno">66</tt>  <tt class="py-line"><tt class="py-docstring">        @param defaults: a cascaded Python dicitionary structure with ini file defaults (to override </tt> </tt>
+<a name="L67"></a><tt class="py-lineno">67</tt>  <tt class="py-line"><tt class="py-docstring">            Python X2go's hard coded defaults in L{defaults}</tt> </tt>
+<a name="L68"></a><tt class="py-lineno">68</tt>  <tt class="py-line"><tt class="py-docstring">        @type defaults: C{dict}</tt> </tt>
+<a name="L69"></a><tt class="py-lineno">69</tt>  <tt class="py-line"><tt class="py-docstring">        @param logger: you can pass an L{X2goLogger} object to the</tt> </tt>
+<a name="L70"></a><tt class="py-lineno">70</tt>  <tt class="py-line"><tt class="py-docstring">            L{X2goPrintAction} constructor</tt> </tt>
+<a name="L71"></a><tt class="py-lineno">71</tt>  <tt class="py-line"><tt class="py-docstring">        @type logger: C{instance}</tt> </tt>
+<a name="L72"></a><tt class="py-lineno">72</tt>  <tt class="py-line"><tt class="py-docstring">        @param loglevel: if no L{X2goLogger} object has been supplied a new one will be</tt> </tt>
+<a name="L73"></a><tt class="py-lineno">73</tt>  <tt class="py-line"><tt class="py-docstring">            constructed with the given loglevel</tt> </tt>
+<a name="L74"></a><tt class="py-lineno">74</tt>  <tt class="py-line"><tt class="py-docstring">        @type loglevel: C{int}</tt> </tt>
+<a name="L75"></a><tt class="py-lineno">75</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L76"></a><tt class="py-lineno">76</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L77"></a><tt class="py-lineno">77</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> <tt id="link-23" class="py-name" targets="Class x2go.x2go_exceptions.X2goNotImplementedYetException=x2go.x2go_exceptions.X2goNotImplementedYetException-class.html"><a title="x2go.x2go_exceptions.X2goNotImplementedYetException" class="py-name" href="#" onclick="return doclink('link-23', 'X2goNotImplementedYetException', 'link-23');">X2goNotImplementedYetException</a></tt><tt class="py-op">(</tt><tt class="py-string">'GCONF backend support is not implemented yet'</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L78"></a><tt class="py-lineno">78</tt>  <tt class="py-line"> </tt><script type="text/javascript">
 <!--
 expandto(location.href);
 // -->
@@ -224,7 +223,7 @@ expandto(location.href);
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:35 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.backends.printing._gconf.X2goClientPrintingGCONF-class.html b/doc/html/x2go.backends.printing._gconf.X2goClientPrintingGCONF-class.html
index 9b6db97..c9969a9 100644
--- a/doc/html/x2go.backends.printing._gconf.X2goClientPrintingGCONF-class.html
+++ b/doc/html/x2go.backends.printing._gconf.X2goClientPrintingGCONF-class.html
@@ -121,6 +121,7 @@
       <code><a href="x2go.inifiles.X2goIniFile-class.html#get">get</a></code>,
       <code><a href="x2go.inifiles.X2goIniFile-class.html#get_type">get_type</a></code>,
       <code><a href="x2go.inifiles.X2goIniFile-class.html#get_value">get_value</a></code>,
+      <code><a href="x2go.inifiles.X2goIniFile-class.html#load">load</a></code>,
       <code><a href="x2go.inifiles.X2goIniFile-class.html#update_value">update_value</a></code>,
       <code><a href="x2go.inifiles.X2goIniFile-class.html#write">write</a></code>
       </p>
@@ -165,6 +166,7 @@
            'ps': False,
            'startcmd': False,
            'stdin': False},
+ 'save': {'folder': 'PDF'},
  'view': {'command': 'xpdf', 'open': True}}"><code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">CUPS</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">defaultprinter</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">PDF</code><code class="variable-quote">'</code><code class="variable-group">}</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">General</code><code class="variable-quote">'</code><code class="variable-op">:</code><code class="variable-ellipsis">...</code></code>
     </td>
   </tr>
@@ -276,6 +278,7 @@
            <code class="variable-quote">'</code><code class="variable-string">ps</code><code class="variable-quote">'</code><code class="variable-op">: </code>False<code class="variable-op">,</code>
            <code class="variable-quote">'</code><code class="variable-string">startcmd</code><code class="variable-quote">'</code><code class="variable-op">: </code>False<code class="variable-op">,</code>
            <code class="variable-quote">'</code><code class="variable-string">stdin</code><code class="variable-quote">'</code><code class="variable-op">: </code>False<code class="variable-group">}</code><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">save</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">folder</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">PDF</code><code class="variable-quote">'</code><code class="variable-group">}</code><code class="variable-op">,</code>
  <code class="variable-quote">'</code><code class="variable-string">view</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">command</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">xpdf</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">open</code><code class="variable-quote">'</code><code class="variable-op">: </code>True<code class="variable-group">}</code><code class="variable-group">}</code>
 </pre></td></tr></table>
 </dd>
@@ -314,7 +317,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.backends.printing._winreg-module.html b/doc/html/x2go.backends.printing._winreg-module.html
index e95ccfb..b494917 100644
--- a/doc/html/x2go.backends.printing._winreg-module.html
+++ b/doc/html/x2go.backends.printing._winreg-module.html
@@ -145,7 +145,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.backends.printing._winreg-pysrc.html b/doc/html/x2go.backends.printing._winreg-pysrc.html
index e3bd288..5b604f1 100644
--- a/doc/html/x2go.backends.printing._winreg-pysrc.html
+++ b/doc/html/x2go.backends.printing._winreg-pysrc.html
@@ -61,35 +61,34 @@
 </table>
 <h1 class="epydoc">Source Code for <a href="x2go.backends.printing._winreg-module.html" onclick="show_private();">Module x2go.backends.printing._winreg</a></h1>
 <pre class="py-src">
-<a name="L1"></a><tt class="py-lineno"> 1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
-<a name="L2"></a><tt class="py-lineno"> 2</tt>  <tt class="py-line"><tt class="py-comment"># -*- coding: utf-8 -*-</tt> </tt>
-<a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"> </tt>
-<a name="L4"></a><tt class="py-lineno"> 4</tt>  <tt class="py-line"><tt class="py-comment"># Copyright (C) 2010-2011 by Mike Gabriel <m.gabriel at das-netzwerkteam.de></tt> </tt>
-<a name="L5"></a><tt class="py-lineno"> 5</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"><tt class="py-comment"># Python X2go is free software; you can redistribute it and/or modify</tt> </tt>
-<a name="L7"></a><tt class="py-lineno"> 7</tt>  <tt class="py-line"><tt class="py-comment"># it under the terms of the GNU General Public License as published by</tt> </tt>
-<a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line"><tt class="py-comment"># the Free Software Foundation; either version 3 of the License, or</tt> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line"><tt class="py-comment"># (at your option) any later version.</tt> </tt>
-<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line"><tt class="py-comment"># Python X2go is distributed in the hope that it will be useful,</tt> </tt>
-<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line"><tt class="py-comment"># but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
-<a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line"><tt class="py-comment"># MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</tt> </tt>
-<a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line"><tt class="py-comment"># GNU General Public License for more details.</tt> </tt>
-<a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU General Public License</tt> </tt>
-<a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line"><tt class="py-comment"># along with this program; if not, write to the</tt> </tt>
-<a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line"><tt class="py-comment"># Free Software Foundation, Inc.,</tt> </tt>
-<a name="L19"></a><tt class="py-lineno">19</tt>  <tt class="py-line"><tt class="py-comment"># 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.</tt> </tt>
-<a name="L20"></a><tt class="py-lineno">20</tt>  <tt class="py-line"> </tt>
-<a name="L21"></a><tt class="py-lineno">21</tt>  <tt class="py-line"><tt class="py-docstring">"""\</tt> </tt>
-<a name="L22"></a><tt class="py-lineno">22</tt>  <tt class="py-line"><tt class="py-docstring">L{X2goClientPrintingWINREG} class is one of Python X2go's public API classes. </tt> </tt>
-<a name="L23"></a><tt class="py-lineno">23</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L24"></a><tt class="py-lineno">24</tt>  <tt class="py-line"><tt class="py-docstring">Retrieve an instance of this class from your L{X2goClient} instance.</tt> </tt>
-<a name="L25"></a><tt class="py-lineno">25</tt>  <tt class="py-line"><tt class="py-docstring">Use this class in your Python X2go based applications to access the »printing« </tt> </tt>
-<a name="L26"></a><tt class="py-lineno">26</tt>  <tt class="py-line"><tt class="py-docstring">configuration of your X2go client application.</tt> </tt>
-<a name="L27"></a><tt class="py-lineno">27</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L28"></a><tt class="py-lineno">28</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L29"></a><tt class="py-lineno">29</tt>  <tt class="py-line"><tt id="link-0" class="py-name" targets="Variable x2go.__NAME__=x2go-module.html#__NAME__,Variable x2go.backends.control._stdout.__NAME__=x2go.backends.control._stdout-module.html#__NAME__,Variable x2go.backends.info._stdout.__NAME__=x2go.backends.info._stdout-module.html#__NAME__,Variable x2go.backends.printing._file.__NAME__=x2go.backends.printing._file-module.html#__NAME__,Variable x2go.backends.printing._gconf.__NAME__=x2go.backends.printing._gconf-module.html#__NAME__,Variable x2go.backends.printing._winreg.__NAME__=x2go.backends.printing._winreg-module.html#__NAME__,Variable x2go.backends.profiles._file.__NAME__=x2go.backends.profiles._file-module.html#__NAME__,Variable x2go.backends.profiles._gconf.__NAME__=x2go.backends.profiles._gconf-module.html#__NAME__,Variable x2go.backends.profiles._httpsbroker.__NAME__=x2go.backends.profiles._httpsbroker-module.html#__NAME__,Variable x2go.backends.profiles._w
 inreg.__
 NAME__=x2go.backends.profiles._winreg-module.html#__NAME__,Variable x2go.backends.proxy._nx3.__NAME__=x2go.backends.proxy._nx3-module.html#__NAME__,Variable x2go.backends.proxy.base.__NAME__=x2go.backends.proxy.base-module.html#__NAME__,Variable x2go.backends.settings._file.__NAME__=x2go.backends.settings._file-module.html#__NAME__,Variable x2go.backends.settings._gconf.__NAME__=x2go.backends.settings._gconf-module.html#__NAME__,Variable x2go.backends.settings._winreg.__NAME__=x2go.backends.settings._winreg-module.html#__NAME__,Variable x2go.backends.terminal._stdout.__NAME__=x2go.backends.terminal._stdout-module.html#__NAME__,Variable x2go.cache.__NAME__=x2go.cache-module.html#__NAME__,Variable x2go.checkhosts.__NAME__=x2go.checkhosts-module.html#__NAME__,Variable x2go.client.__NAME__=x2go.client-module.html#__NAME__,Variable x2go.defaults.__NAME__=x2go.defaults-module.html#__NAME__,Variable x2go.dropbox.__NAME__=x2go.dropbox-module.html#__NAME__,Variable x2go.dropboxaction
 s.__NAME
 __=x2go.dropboxactions-module.html#__NAME__,Variable x2go.forward.__NAME__=x2go.forward-module.html#__NAME__,Variable x2go.guardian.__NAME__=x2go.guardian-module.html#__NAME__,Variable x2go.inifiles.__NAME__=x2go.inifiles-module.html#__NAME__,Variable x2go.log.__NAME__=x2go.log-module.html#__NAME__,Variable x2go.printactions.__NAME__=x2go.printactions-module.html#__NAME__,Variable x2go.printqueue.__NAME__=x2go.printqueue-module.html#__NAME__,Variable x2go.pulseaudio.__NAME__=x2go.pulseaudio-module.html#__NAME__,Variable x2go.registry.__NAME__=x2go.registry-module.html#__NAME__,Variable x2go.rforward.__NAME__=x2go.rforward-module.html#__NAME__,Variable x2go.session.__NAME__=x2go.session-module.html#__NAME__,Variable x2go.sftpserver.__NAME__=x2go.sftpserver-module.html#__NAME__,Variable x2go.sshproxy.__NAME__=x2go.sshproxy-module.html#__NAME__,Variable x2go.utils.__NAME__=x2go.utils-module.html#__NAME__,Variable x2go.x2go_exceptions.__NAME__=x2go.x2go_exceptions-module.html#__
 NAME__,V
 ariable x2go.xserver.__NAME__=x2go.xserver-module.html#__NAME__"><a title="x2go.__NAME__
+<a name="L1"></a><tt class="py-lineno"> 1</tt>  <tt class="py-line"><tt class="py-comment"># -*- coding: utf-8 -*-</tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt>  <tt class="py-line"> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"><tt class="py-comment"># Copyright (C) 2010-2011 by Mike Gabriel <m.gabriel at das-netzwerkteam.de></tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
+<a name="L5"></a><tt class="py-lineno"> 5</tt>  <tt class="py-line"><tt class="py-comment"># Python X2go is free software; you can redistribute it and/or modify</tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"><tt class="py-comment"># it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt>  <tt class="py-line"><tt class="py-comment"># the Free Software Foundation; either version 3 of the License, or</tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line"><tt class="py-comment"># (at your option) any later version.</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line"><tt class="py-comment"># Python X2go is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line"><tt class="py-comment"># but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line"><tt class="py-comment"># MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</tt> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line"><tt class="py-comment"># GNU General Public License for more details.</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
+<a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line"><tt class="py-comment"># along with this program; if not, write to the</tt> </tt>
+<a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line"><tt class="py-comment"># Free Software Foundation, Inc.,</tt> </tt>
+<a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line"><tt class="py-comment"># 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">19</tt>  <tt class="py-line"> </tt>
+<a name="L20"></a><tt class="py-lineno">20</tt>  <tt class="py-line"><tt class="py-docstring">"""\</tt> </tt>
+<a name="L21"></a><tt class="py-lineno">21</tt>  <tt class="py-line"><tt class="py-docstring">L{X2goClientPrintingWINREG} class is one of Python X2go's public API classes. </tt> </tt>
+<a name="L22"></a><tt class="py-lineno">22</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L23"></a><tt class="py-lineno">23</tt>  <tt class="py-line"><tt class="py-docstring">Retrieve an instance of this class from your L{X2goClient} instance.</tt> </tt>
+<a name="L24"></a><tt class="py-lineno">24</tt>  <tt class="py-line"><tt class="py-docstring">Use this class in your Python X2go based applications to access the »printing« </tt> </tt>
+<a name="L25"></a><tt class="py-lineno">25</tt>  <tt class="py-line"><tt class="py-docstring">configuration of your X2go client application.</tt> </tt>
+<a name="L26"></a><tt class="py-lineno">26</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L27"></a><tt class="py-lineno">27</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L28"></a><tt class="py-lineno">28</tt>  <tt class="py-line"><tt id="link-0" class="py-name" targets="Variable x2go.__NAME__=x2go-module.html#__NAME__,Variable x2go.backends.control._stdout.__NAME__=x2go.backends.control._stdout-module.html#__NAME__,Variable x2go.backends.info._stdout.__NAME__=x2go.backends.info._stdout-module.html#__NAME__,Variable x2go.backends.printing._file.__NAME__=x2go.backends.printing._file-module.html#__NAME__,Variable x2go.backends.printing._gconf.__NAME__=x2go.backends.printing._gconf-module.html#__NAME__,Variable x2go.backends.printing._winreg.__NAME__=x2go.backends.printing._winreg-module.html#__NAME__,Variable x2go.backends.profiles._file.__NAME__=x2go.backends.profiles._file-module.html#__NAME__,Variable x2go.backends.profiles._gconf.__NAME__=x2go.backends.profiles._gconf-module.html#__NAME__,Variable x2go.backends.profiles._httpsbroker.__NAME__=x2go.backends.profiles._httpsbroker-module.html#__NAME__,Variable x2go.backends.profiles._w
 inreg.__
 NAME__=x2go.backends.profiles._winreg-module.html#__NAME__,Variable x2go.backends.proxy._nx3.__NAME__=x2go.backends.proxy._nx3-module.html#__NAME__,Variable x2go.backends.proxy.base.__NAME__=x2go.backends.proxy.base-module.html#__NAME__,Variable x2go.backends.settings._file.__NAME__=x2go.backends.settings._file-module.html#__NAME__,Variable x2go.backends.settings._gconf.__NAME__=x2go.backends.settings._gconf-module.html#__NAME__,Variable x2go.backends.settings._winreg.__NAME__=x2go.backends.settings._winreg-module.html#__NAME__,Variable x2go.backends.terminal._stdout.__NAME__=x2go.backends.terminal._stdout-module.html#__NAME__,Variable x2go.cache.__NAME__=x2go.cache-module.html#__NAME__,Variable x2go.checkhosts.__NAME__=x2go.checkhosts-module.html#__NAME__,Variable x2go.client.__NAME__=x2go.client-module.html#__NAME__,Variable x2go.defaults.__NAME__=x2go.defaults-module.html#__NAME__,Variable x2go.dropbox.__NAME__=x2go.dropbox-module.html#__NAME__,Variable x2go.dropboxaction
 s.__NAME
 __=x2go.dropboxactions-module.html#__NAME__,Variable x2go.forward.__NAME__=x2go.forward-module.html#__NAME__,Variable x2go.guardian.__NAME__=x2go.guardian-module.html#__NAME__,Variable x2go.inifiles.__NAME__=x2go.inifiles-module.html#__NAME__,Variable x2go.log.__NAME__=x2go.log-module.html#__NAME__,Variable x2go.printactions.__NAME__=x2go.printactions-module.html#__NAME__,Variable x2go.printqueue.__NAME__=x2go.printqueue-module.html#__NAME__,Variable x2go.pulseaudio.__NAME__=x2go.pulseaudio-module.html#__NAME__,Variable x2go.registry.__NAME__=x2go.registry-module.html#__NAME__,Variable x2go.rforward.__NAME__=x2go.rforward-module.html#__NAME__,Variable x2go.session.__NAME__=x2go.session-module.html#__NAME__,Variable x2go.sftpserver.__NAME__=x2go.sftpserver-module.html#__NAME__,Variable x2go.sshproxy.__NAME__=x2go.sshproxy-module.html#__NAME__,Variable x2go.utils.__NAME__=x2go.utils-module.html#__NAME__,Variable x2go.x2go_exceptions.__NAME__=x2go.x2go_exceptions-module.html#__
 NAME__,V
 ariable x2go.xserver.__NAME__=x2go.xserver-module.html#__NAME__"><a title="x2go.__NAME__
 x2go.backends.control._stdout.__NAME__
 x2go.backends.info._stdout.__NAME__
 x2go.backends.printing._file.__NAME__
@@ -126,39 +125,39 @@ x2go.sshproxy.__NAME__
 x2go.utils.__NAME__
 x2go.x2go_exceptions.__NAME__
 x2go.xserver.__NAME__" class="py-name" href="#" onclick="return doclink('link-0', '__NAME__', 'link-0');">__NAME__</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'x2goprint-pylib'</tt> </tt>
-<a name="L30"></a><tt class="py-lineno">30</tt>  <tt class="py-line"> </tt>
-<a name="L31"></a><tt class="py-lineno">31</tt>  <tt class="py-line"><tt class="py-comment"># modules</tt> </tt>
-<a name="L32"></a><tt class="py-lineno">32</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">types</tt> </tt>
-<a name="L33"></a><tt class="py-lineno">33</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">ConfigParser</tt> </tt>
-<a name="L34"></a><tt class="py-lineno">34</tt>  <tt class="py-line"> </tt>
-<a name="L35"></a><tt class="py-lineno">35</tt>  <tt class="py-line"><tt class="py-comment"># Python X2go modules</tt> </tt>
-<a name="L36"></a><tt class="py-lineno">36</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-1" class="py-name" targets="Package x2go=x2go-module.html"><a title="x2go" class="py-name" href="#" onclick="return doclink('link-1', 'x2go', 'link-1');">x2go</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module x2go.log=x2go.log-module.html"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-2', 'log', 'link-2');">log</a></tt> <tt class="py-keyword">as</tt> <tt id="link-3" class="py-name"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-3', 'log', 'link-2');">log</a></tt> </tt>
-<a name="L37"></a><tt class="py-lineno">37</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-4" class="py-name"><a title="x2go" class="py-name" href="#" onclick="return doclink('link-4', 'x2go', 'link-1');">x2go</a></tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Module x2go.printactions=x2go.printactions-module.html"><a title="x2go.printactions" class="py-name" href="#" onclick="return doclink('link-5', 'printactions', 'link-5');">printactions</a></tt> <tt class="py-keyword">as</tt> <tt id="link-6" class="py-name"><a title="x2go.printactions" class="py-name" href="#" onclick="return doclink('link-6', 'printactions', 'link-5');">printactions</a></tt> </tt>
-<a name="L38"></a><tt class="py-lineno">38</tt>  <tt class="py-line"><tt class="py-comment"># we hide the default values from epydoc (that's why we transform them to _UNDERSCORE variables)</tt> </tt>
-<a name="L39"></a><tt class="py-lineno">39</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-7" class="py-name"><a title="x2go" class="py-name" href="#" onclick="return doclink('link-7', 'x2go', 'link-1');">x2go</a></tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Module x2go.defaults=x2go.defaults-module.html"><a title="x2go.defaults" class="py-name" href="#" onclick="return doclink('link-8', 'defaults', 'link-8');">defaults</a></tt> <tt class="py-keyword">import</tt> <tt id="link-9" class="py-name" targets="Variable x2go.defaults.X2GO_CLIENTPRINTING_DEFAULTS=x2go.defaults-module.html#X2GO_CLIENTPRINTING_DEFAULTS"><a title="x2go.defaults.X2GO_CLIENTPRINTING_DEFAULTS" class="py-name" href="#" onclick="return doclink('link-9', 'X2GO_CLIENTPRINTING_DEFAULTS', 'link-9');">X2GO_CLIENTPRINTING_DEFAULTS</a></tt> <tt class="py-keyword">as</tt> <tt class="py-name">_X2GO_CLIENTPRINTING_DEFAULTS</tt> </tt>
-<a name="L40"></a><tt class="py-lineno">40</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-10" class="py-name"><a title="x2go" class="py-name" href="#" onclick="return doclink('link-10', 'x2go', 'link-1');">x2go</a></tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="x2go.defaults" class="py-name" href="#" onclick="return doclink('link-11', 'defaults', 'link-8');">defaults</a></tt> <tt class="py-keyword">import</tt> <tt id="link-12" class="py-name" targets="Variable x2go.defaults.X2GO_PRINTING_CONFIGFILES=x2go.defaults-module.html#X2GO_PRINTING_CONFIGFILES"><a title="x2go.defaults.X2GO_PRINTING_CONFIGFILES" class="py-name" href="#" onclick="return doclink('link-12', 'X2GO_PRINTING_CONFIGFILES', 'link-12');">X2GO_PRINTING_CONFIGFILES</a></tt> <tt class="py-keyword">as</tt> <tt class="py-name">_X2GO_PRINTING_CONFIGFILES</tt> </tt>
-<a name="L41"></a><tt class="py-lineno">41</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-13" class="py-name"><a title="x2go" class="py-name" href="#" onclick="return doclink('link-13', 'x2go', 'link-1');">x2go</a></tt><tt class="py-op">.</tt><tt id="link-14" class="py-name" targets="Module x2go.inifiles=x2go.inifiles-module.html"><a title="x2go.inifiles" class="py-name" href="#" onclick="return doclink('link-14', 'inifiles', 'link-14');">inifiles</a></tt> <tt class="py-keyword">as</tt> <tt id="link-15" class="py-name"><a title="x2go.inifiles" class="py-name" href="#" onclick="return doclink('link-15', 'inifiles', 'link-14');">inifiles</a></tt> </tt>
-<a name="L42"></a><tt class="py-lineno">42</tt>  <tt class="py-line"> </tt>
-<a name="X2goClientPrintingWINREG"></a><div id="X2goClientPrintingWINREG-def"><a name="L43"></a><tt class="py-lineno">43</tt> <a class="py-toggle" href="#" id="X2goClientPrintingWINREG-toggle" onclick="return toggle('X2goClientPrintingWINREG');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="x2go.backends.printing._winreg.X2goClientPrintingWINREG-class.html">X2goClientPrintingWINREG</a><tt class="py-op">(</tt><tt class="py-base-class">inifiles</tt><tt class="py-op">.</tt><tt class="py-base-class">X2goIniFile</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="X2goClientPrintingWINREG-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="X2goClientPrintingWINREG-expanded"><a name="L44"></a><tt class="py-lineno">44</tt>  <tt class="py-line">    <tt class="py-docstring">"""\</tt> </tt>
-<a name="L45"></a><tt class="py-lineno">45</tt>  <tt class="py-line"><tt class="py-docstring">    L{X2goClientPrinting} provides access to the X2go ini-like file</tt> </tt>
-<a name="L46"></a><tt class="py-lineno">46</tt>  <tt class="py-line"><tt class="py-docstring">    »printing« as stored in C{~/.x2goclient/printing} resp. globally</tt> </tt>
-<a name="L47"></a><tt class="py-lineno">47</tt>  <tt class="py-line"><tt class="py-docstring">    C{/etc/x2goclient/printing}.</tt> </tt>
-<a name="L48"></a><tt class="py-lineno">48</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L49"></a><tt class="py-lineno">49</tt>  <tt class="py-line"><tt class="py-docstring">    An instance of L{X2goClientPrinting} is created on each incoming</tt> </tt>
-<a name="L50"></a><tt class="py-lineno">50</tt>  <tt class="py-line"><tt class="py-docstring">    print job. This facilitates that on every print job the print action</tt> </tt>
-<a name="L51"></a><tt class="py-lineno">51</tt>  <tt class="py-line"><tt class="py-docstring">    for this job is derived from the »printing« configuration file.</tt> </tt>
-<a name="L52"></a><tt class="py-lineno">52</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L53"></a><tt class="py-lineno">53</tt>  <tt class="py-line"><tt class="py-docstring">    Thus, changes on the file are active for the next incoming print job.</tt> </tt>
-<a name="L54"></a><tt class="py-lineno">54</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L55"></a><tt class="py-lineno">55</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L56"></a><tt class="py-lineno">56</tt>  <tt class="py-line">    <tt id="link-16" class="py-name" targets="Variable x2go.backends.printing._file.X2goClientPrintingFILE.config_files=x2go.backends.printing._file.X2goClientPrintingFILE-class.html#config_files,Variable x2go.backends.printing._gconf.X2goClientPrintingGCONF.config_files=x2go.backends.printing._gconf.X2goClientPrintingGCONF-class.html#config_files,Variable x2go.backends.printing._winreg.X2goClientPrintingWINREG.config_files=x2go.backends.printing._winreg.X2goClientPrintingWINREG-class.html#config_files"><a title="x2go.backends.printing._file.X2goClientPrintingFILE.config_files
+<a name="L29"></a><tt class="py-lineno">29</tt>  <tt class="py-line"> </tt>
+<a name="L30"></a><tt class="py-lineno">30</tt>  <tt class="py-line"><tt class="py-comment"># modules</tt> </tt>
+<a name="L31"></a><tt class="py-lineno">31</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">types</tt> </tt>
+<a name="L32"></a><tt class="py-lineno">32</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">ConfigParser</tt> </tt>
+<a name="L33"></a><tt class="py-lineno">33</tt>  <tt class="py-line"> </tt>
+<a name="L34"></a><tt class="py-lineno">34</tt>  <tt class="py-line"><tt class="py-comment"># Python X2go modules</tt> </tt>
+<a name="L35"></a><tt class="py-lineno">35</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-1" class="py-name" targets="Package x2go=x2go-module.html"><a title="x2go" class="py-name" href="#" onclick="return doclink('link-1', 'x2go', 'link-1');">x2go</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module x2go.log=x2go.log-module.html"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-2', 'log', 'link-2');">log</a></tt> <tt class="py-keyword">as</tt> <tt id="link-3" class="py-name"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-3', 'log', 'link-2');">log</a></tt> </tt>
+<a name="L36"></a><tt class="py-lineno">36</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-4" class="py-name"><a title="x2go" class="py-name" href="#" onclick="return doclink('link-4', 'x2go', 'link-1');">x2go</a></tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Module x2go.printactions=x2go.printactions-module.html"><a title="x2go.printactions" class="py-name" href="#" onclick="return doclink('link-5', 'printactions', 'link-5');">printactions</a></tt> <tt class="py-keyword">as</tt> <tt id="link-6" class="py-name"><a title="x2go.printactions" class="py-name" href="#" onclick="return doclink('link-6', 'printactions', 'link-5');">printactions</a></tt> </tt>
+<a name="L37"></a><tt class="py-lineno">37</tt>  <tt class="py-line"><tt class="py-comment"># we hide the default values from epydoc (that's why we transform them to _UNDERSCORE variables)</tt> </tt>
+<a name="L38"></a><tt class="py-lineno">38</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-7" class="py-name"><a title="x2go" class="py-name" href="#" onclick="return doclink('link-7', 'x2go', 'link-1');">x2go</a></tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Module x2go.defaults=x2go.defaults-module.html"><a title="x2go.defaults" class="py-name" href="#" onclick="return doclink('link-8', 'defaults', 'link-8');">defaults</a></tt> <tt class="py-keyword">import</tt> <tt id="link-9" class="py-name" targets="Variable x2go.defaults.X2GO_CLIENTPRINTING_DEFAULTS=x2go.defaults-module.html#X2GO_CLIENTPRINTING_DEFAULTS"><a title="x2go.defaults.X2GO_CLIENTPRINTING_DEFAULTS" class="py-name" href="#" onclick="return doclink('link-9', 'X2GO_CLIENTPRINTING_DEFAULTS', 'link-9');">X2GO_CLIENTPRINTING_DEFAULTS</a></tt> <tt class="py-keyword">as</tt> <tt class="py-name">_X2GO_CLIENTPRINTING_DEFAULTS</tt> </tt>
+<a name="L39"></a><tt class="py-lineno">39</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-10" class="py-name"><a title="x2go" class="py-name" href="#" onclick="return doclink('link-10', 'x2go', 'link-1');">x2go</a></tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="x2go.defaults" class="py-name" href="#" onclick="return doclink('link-11', 'defaults', 'link-8');">defaults</a></tt> <tt class="py-keyword">import</tt> <tt id="link-12" class="py-name" targets="Variable x2go.defaults.X2GO_PRINTING_CONFIGFILES=x2go.defaults-module.html#X2GO_PRINTING_CONFIGFILES"><a title="x2go.defaults.X2GO_PRINTING_CONFIGFILES" class="py-name" href="#" onclick="return doclink('link-12', 'X2GO_PRINTING_CONFIGFILES', 'link-12');">X2GO_PRINTING_CONFIGFILES</a></tt> <tt class="py-keyword">as</tt> <tt class="py-name">_X2GO_PRINTING_CONFIGFILES</tt> </tt>
+<a name="L40"></a><tt class="py-lineno">40</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-13" class="py-name"><a title="x2go" class="py-name" href="#" onclick="return doclink('link-13', 'x2go', 'link-1');">x2go</a></tt><tt class="py-op">.</tt><tt id="link-14" class="py-name" targets="Module x2go.inifiles=x2go.inifiles-module.html"><a title="x2go.inifiles" class="py-name" href="#" onclick="return doclink('link-14', 'inifiles', 'link-14');">inifiles</a></tt> <tt class="py-keyword">as</tt> <tt id="link-15" class="py-name"><a title="x2go.inifiles" class="py-name" href="#" onclick="return doclink('link-15', 'inifiles', 'link-14');">inifiles</a></tt> </tt>
+<a name="L41"></a><tt class="py-lineno">41</tt>  <tt class="py-line"> </tt>
+<a name="X2goClientPrintingWINREG"></a><div id="X2goClientPrintingWINREG-def"><a name="L42"></a><tt class="py-lineno">42</tt> <a class="py-toggle" href="#" id="X2goClientPrintingWINREG-toggle" onclick="return toggle('X2goClientPrintingWINREG');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="x2go.backends.printing._winreg.X2goClientPrintingWINREG-class.html">X2goClientPrintingWINREG</a><tt class="py-op">(</tt><tt class="py-base-class">inifiles</tt><tt class="py-op">.</tt><tt class="py-base-class">X2goIniFile</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="X2goClientPrintingWINREG-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="X2goClientPrintingWINREG-expanded"><a name="L43"></a><tt class="py-lineno">43</tt>  <tt class="py-line">    <tt class="py-docstring">"""\</tt> </tt>
+<a name="L44"></a><tt class="py-lineno">44</tt>  <tt class="py-line"><tt class="py-docstring">    L{X2goClientPrinting} provides access to the X2go ini-like file</tt> </tt>
+<a name="L45"></a><tt class="py-lineno">45</tt>  <tt class="py-line"><tt class="py-docstring">    »printing« as stored in C{~/.x2goclient/printing} resp. globally</tt> </tt>
+<a name="L46"></a><tt class="py-lineno">46</tt>  <tt class="py-line"><tt class="py-docstring">    C{/etc/x2goclient/printing}.</tt> </tt>
+<a name="L47"></a><tt class="py-lineno">47</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L48"></a><tt class="py-lineno">48</tt>  <tt class="py-line"><tt class="py-docstring">    An instance of L{X2goClientPrinting} is created on each incoming</tt> </tt>
+<a name="L49"></a><tt class="py-lineno">49</tt>  <tt class="py-line"><tt class="py-docstring">    print job. This facilitates that on every print job the print action</tt> </tt>
+<a name="L50"></a><tt class="py-lineno">50</tt>  <tt class="py-line"><tt class="py-docstring">    for this job is derived from the »printing« configuration file.</tt> </tt>
+<a name="L51"></a><tt class="py-lineno">51</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L52"></a><tt class="py-lineno">52</tt>  <tt class="py-line"><tt class="py-docstring">    Thus, changes on the file are active for the next incoming print job.</tt> </tt>
+<a name="L53"></a><tt class="py-lineno">53</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L54"></a><tt class="py-lineno">54</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L55"></a><tt class="py-lineno">55</tt>  <tt class="py-line">    <tt id="link-16" class="py-name" targets="Variable x2go.backends.printing._file.X2goClientPrintingFILE.config_files=x2go.backends.printing._file.X2goClientPrintingFILE-class.html#config_files,Variable x2go.backends.printing._gconf.X2goClientPrintingGCONF.config_files=x2go.backends.printing._gconf.X2goClientPrintingGCONF-class.html#config_files,Variable x2go.backends.printing._winreg.X2goClientPrintingWINREG.config_files=x2go.backends.printing._winreg.X2goClientPrintingWINREG-class.html#config_files"><a title="x2go.backends.printing._file.X2goClientPrintingFILE.config_files
 x2go.backends.printing._gconf.X2goClientPrintingGCONF.config_files
 x2go.backends.printing._winreg.X2goClientPrintingWINREG.config_files" class="py-name" href="#" onclick="return doclink('link-16', 'config_files', 'link-16');">config_files</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L57"></a><tt class="py-lineno">57</tt>  <tt class="py-line">    <tt id="link-17" class="py-name" targets="Variable x2go.backends.printing._file.X2goClientPrintingFILE._print_action=x2go.backends.printing._file.X2goClientPrintingFILE-class.html#_print_action,Variable x2go.backends.printing._gconf.X2goClientPrintingGCONF._print_action=x2go.backends.printing._gconf.X2goClientPrintingGCONF-class.html#_print_action,Variable x2go.backends.printing._winreg.X2goClientPrintingWINREG._print_action=x2go.backends.printing._winreg.X2goClientPrintingWINREG-class.html#_print_action"><a title="x2go.backends.printing._file.X2goClientPrintingFILE._print_action
+<a name="L56"></a><tt class="py-lineno">56</tt>  <tt class="py-line">    <tt id="link-17" class="py-name" targets="Variable x2go.backends.printing._file.X2goClientPrintingFILE._print_action=x2go.backends.printing._file.X2goClientPrintingFILE-class.html#_print_action,Variable x2go.backends.printing._gconf.X2goClientPrintingGCONF._print_action=x2go.backends.printing._gconf.X2goClientPrintingGCONF-class.html#_print_action,Variable x2go.backends.printing._winreg.X2goClientPrintingWINREG._print_action=x2go.backends.printing._winreg.X2goClientPrintingWINREG-class.html#_print_action"><a title="x2go.backends.printing._file.X2goClientPrintingFILE._print_action
 x2go.backends.printing._gconf.X2goClientPrintingGCONF._print_action
 x2go.backends.printing._winreg.X2goClientPrintingWINREG._print_action" class="py-name" href="#" onclick="return doclink('link-17', '_print_action', 'link-17');">_print_action</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L58"></a><tt class="py-lineno">58</tt>  <tt class="py-line">    <tt id="link-18" class="py-name" targets="Variable x2go.backends.printing._file.X2goClientPrintingFILE.defaultValues=x2go.backends.printing._file.X2goClientPrintingFILE-class.html#defaultValues,Variable x2go.backends.printing._gconf.X2goClientPrintingGCONF.defaultValues=x2go.backends.printing._gconf.X2goClientPrintingGCONF-class.html#defaultValues,Variable x2go.backends.printing._winreg.X2goClientPrintingWINREG.defaultValues=x2go.backends.printing._winreg.X2goClientPrintingWINREG-class.html#defaultValues,Variable x2go.backends.settings._file.X2goClientSettingsFILE.defaultValues=x2go.backends.settings._file.X2goClientSettingsFILE-class.html#defaultValues,Variable x2go.backends.settings._gconf.X2goClientSettingsGCONF.defaultValues=x2go.backends.settings._gconf.X2goClientSettingsGCONF-class.html#defaultValues,Variable x2go.backends.settings._winreg.X2goClientSettingsWINREG.defaultValues=x2go.backends.setti
 ngs._win
 reg.X2goClientSettingsWINREG-class.html#defaultValues,Variable x2go.inifiles.X2goIniFile.defaultValues=x2go.inifiles.X2goIniFile-class.html#defaultValues,Variable x2go.xserver.X2goClientXConfig.defaultValues=x2go.xserver.X2goClientXConfig-class.html#defaultValues"><a title="x2go.backends.printing._file.X2goClientPrintingFILE.defaultValues
+<a name="L57"></a><tt class="py-lineno">57</tt>  <tt class="py-line">    <tt id="link-18" class="py-name" targets="Variable x2go.backends.printing._file.X2goClientPrintingFILE.defaultValues=x2go.backends.printing._file.X2goClientPrintingFILE-class.html#defaultValues,Variable x2go.backends.printing._gconf.X2goClientPrintingGCONF.defaultValues=x2go.backends.printing._gconf.X2goClientPrintingGCONF-class.html#defaultValues,Variable x2go.backends.printing._winreg.X2goClientPrintingWINREG.defaultValues=x2go.backends.printing._winreg.X2goClientPrintingWINREG-class.html#defaultValues,Variable x2go.backends.settings._file.X2goClientSettingsFILE.defaultValues=x2go.backends.settings._file.X2goClientSettingsFILE-class.html#defaultValues,Variable x2go.backends.settings._gconf.X2goClientSettingsGCONF.defaultValues=x2go.backends.settings._gconf.X2goClientSettingsGCONF-class.html#defaultValues,Variable x2go.backends.settings._winreg.X2goClientSettingsWINREG.defaultValues=x2go.backends.setti
 ngs._win
 reg.X2goClientSettingsWINREG-class.html#defaultValues,Variable x2go.inifiles.X2goIniFile.defaultValues=x2go.inifiles.X2goIniFile-class.html#defaultValues,Variable x2go.xserver.X2goClientXConfig.defaultValues=x2go.xserver.X2goClientXConfig-class.html#defaultValues"><a title="x2go.backends.printing._file.X2goClientPrintingFILE.defaultValues
 x2go.backends.printing._gconf.X2goClientPrintingGCONF.defaultValues
 x2go.backends.printing._winreg.X2goClientPrintingWINREG.defaultValues
 x2go.backends.settings._file.X2goClientSettingsFILE.defaultValues
@@ -166,25 +165,25 @@ x2go.backends.settings._gconf.X2goClientSettingsGCONF.defaultValues
 x2go.backends.settings._winreg.X2goClientSettingsWINREG.defaultValues
 x2go.inifiles.X2goIniFile.defaultValues
 x2go.xserver.X2goClientXConfig.defaultValues" class="py-name" href="#" onclick="return doclink('link-18', 'defaultValues', 'link-18');">defaultValues</a></tt> <tt class="py-op">=</tt> <tt class="py-name">_X2GO_CLIENTPRINTING_DEFAULTS</tt> </tt>
-<a name="L59"></a><tt class="py-lineno">59</tt>  <tt class="py-line"> </tt>
-<a name="X2goClientPrintingWINREG.__init__"></a><div id="X2goClientPrintingWINREG.__init__-def"><a name="L60"></a><tt class="py-lineno">60</tt> <a class="py-toggle" href="#" id="X2goClientPrintingWINREG.__init__-toggle" onclick="return toggle('X2goClientPrintingWINREG.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.backends.printing._winreg.X2goClientPrintingWINREG-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">config_files</tt><tt class="py-op">=</tt><tt class="py-name">_X2GO_PRINTING_CONFIGFILES</tt><tt class="py-op">,</tt> <tt class="py-param">defaults</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">logger</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">loglevel</tt><tt class="py-op">=</tt><tt id="link-19" class="py-name
 "><a tit
 le="x2go.log" class="py-name" href="#" onclick="return doclink('link-19', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt id="link-20" class="py-name" targets="Variable x2go.log.loglevel_DEFAULT=x2go.log-module.html#loglevel_DEFAULT"><a title="x2go.log.loglevel_DEFAULT" class="py-name" href="#" onclick="return doclink('link-20', 'loglevel_DEFAULT', 'link-20');">loglevel_DEFAULT</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="X2goClientPrintingWINREG.__init__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="X2goClientPrintingWINREG.__init__-expanded"><a name="L61"></a><tt class="py-lineno">61</tt>  <tt class="py-line">        <tt class="py-docstring">"""\</tt> </tt>
-<a name="L62"></a><tt class="py-lineno">62</tt>  <tt class="py-line"><tt class="py-docstring">        @param config_files: a list of configuration files names (e.g. a global filename and a user's home </tt> </tt>
-<a name="L63"></a><tt class="py-lineno">63</tt>  <tt class="py-line"><tt class="py-docstring">            directory filename)</tt> </tt>
-<a name="L64"></a><tt class="py-lineno">64</tt>  <tt class="py-line"><tt class="py-docstring">        @type config_files: C{list}</tt> </tt>
-<a name="L65"></a><tt class="py-lineno">65</tt>  <tt class="py-line"><tt class="py-docstring">        @param defaults: a cascaded Python dicitionary structure with ini file defaults (to override </tt> </tt>
-<a name="L66"></a><tt class="py-lineno">66</tt>  <tt class="py-line"><tt class="py-docstring">            Python X2go's hard coded defaults in L{defaults}</tt> </tt>
-<a name="L67"></a><tt class="py-lineno">67</tt>  <tt class="py-line"><tt class="py-docstring">        @type defaults: C{dict}</tt> </tt>
-<a name="L68"></a><tt class="py-lineno">68</tt>  <tt class="py-line"><tt class="py-docstring">        @param logger: you can pass an L{X2goLogger} object to the</tt> </tt>
-<a name="L69"></a><tt class="py-lineno">69</tt>  <tt class="py-line"><tt class="py-docstring">            L{X2goPrintAction} constructor</tt> </tt>
-<a name="L70"></a><tt class="py-lineno">70</tt>  <tt class="py-line"><tt class="py-docstring">        @type logger: C{instance}</tt> </tt>
-<a name="L71"></a><tt class="py-lineno">71</tt>  <tt class="py-line"><tt class="py-docstring">        @param loglevel: if no L{X2goLogger} object has been supplied a new one will be</tt> </tt>
-<a name="L72"></a><tt class="py-lineno">72</tt>  <tt class="py-line"><tt class="py-docstring">            constructed with the given loglevel</tt> </tt>
-<a name="L73"></a><tt class="py-lineno">73</tt>  <tt class="py-line"><tt class="py-docstring">        @type loglevel: C{int}</tt> </tt>
-<a name="L74"></a><tt class="py-lineno">74</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L75"></a><tt class="py-lineno">75</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
-<a name="L76"></a><tt class="py-lineno">76</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> <tt id="link-21" class="py-name" targets="Class x2go.x2go_exceptions.X2goNotImplementedYetException=x2go.x2go_exceptions.X2goNotImplementedYetException-class.html"><a title="x2go.x2go_exceptions.X2goNotImplementedYetException" class="py-name" href="#" onclick="return doclink('link-21', 'X2goNotImplementedYetException', 'link-21');">X2goNotImplementedYetException</a></tt><tt class="py-op">(</tt><tt class="py-string">'WINREG backend support is not implemented yet'</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L77"></a><tt class="py-lineno">77</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<a name="L58"></a><tt class="py-lineno">58</tt>  <tt class="py-line"> </tt>
+<a name="X2goClientPrintingWINREG.__init__"></a><div id="X2goClientPrintingWINREG.__init__-def"><a name="L59"></a><tt class="py-lineno">59</tt> <a class="py-toggle" href="#" id="X2goClientPrintingWINREG.__init__-toggle" onclick="return toggle('X2goClientPrintingWINREG.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.backends.printing._winreg.X2goClientPrintingWINREG-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">config_files</tt><tt class="py-op">=</tt><tt class="py-name">_X2GO_PRINTING_CONFIGFILES</tt><tt class="py-op">,</tt> <tt class="py-param">defaults</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">logger</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">loglevel</tt><tt class="py-op">=</tt><tt id="link-19" class="py-name
 "><a tit
 le="x2go.log" class="py-name" href="#" onclick="return doclink('link-19', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt id="link-20" class="py-name" targets="Variable x2go.log.loglevel_DEFAULT=x2go.log-module.html#loglevel_DEFAULT"><a title="x2go.log.loglevel_DEFAULT" class="py-name" href="#" onclick="return doclink('link-20', 'loglevel_DEFAULT', 'link-20');">loglevel_DEFAULT</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="X2goClientPrintingWINREG.__init__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="X2goClientPrintingWINREG.__init__-expanded"><a name="L60"></a><tt class="py-lineno">60</tt>  <tt class="py-line">        <tt class="py-docstring">"""\</tt> </tt>
+<a name="L61"></a><tt class="py-lineno">61</tt>  <tt class="py-line"><tt class="py-docstring">        @param config_files: a list of configuration files names (e.g. a global filename and a user's home </tt> </tt>
+<a name="L62"></a><tt class="py-lineno">62</tt>  <tt class="py-line"><tt class="py-docstring">            directory filename)</tt> </tt>
+<a name="L63"></a><tt class="py-lineno">63</tt>  <tt class="py-line"><tt class="py-docstring">        @type config_files: C{list}</tt> </tt>
+<a name="L64"></a><tt class="py-lineno">64</tt>  <tt class="py-line"><tt class="py-docstring">        @param defaults: a cascaded Python dicitionary structure with ini file defaults (to override </tt> </tt>
+<a name="L65"></a><tt class="py-lineno">65</tt>  <tt class="py-line"><tt class="py-docstring">            Python X2go's hard coded defaults in L{defaults}</tt> </tt>
+<a name="L66"></a><tt class="py-lineno">66</tt>  <tt class="py-line"><tt class="py-docstring">        @type defaults: C{dict}</tt> </tt>
+<a name="L67"></a><tt class="py-lineno">67</tt>  <tt class="py-line"><tt class="py-docstring">        @param logger: you can pass an L{X2goLogger} object to the</tt> </tt>
+<a name="L68"></a><tt class="py-lineno">68</tt>  <tt class="py-line"><tt class="py-docstring">            L{X2goPrintAction} constructor</tt> </tt>
+<a name="L69"></a><tt class="py-lineno">69</tt>  <tt class="py-line"><tt class="py-docstring">        @type logger: C{instance}</tt> </tt>
+<a name="L70"></a><tt class="py-lineno">70</tt>  <tt class="py-line"><tt class="py-docstring">        @param loglevel: if no L{X2goLogger} object has been supplied a new one will be</tt> </tt>
+<a name="L71"></a><tt class="py-lineno">71</tt>  <tt class="py-line"><tt class="py-docstring">            constructed with the given loglevel</tt> </tt>
+<a name="L72"></a><tt class="py-lineno">72</tt>  <tt class="py-line"><tt class="py-docstring">        @type loglevel: C{int}</tt> </tt>
+<a name="L73"></a><tt class="py-lineno">73</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L74"></a><tt class="py-lineno">74</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L75"></a><tt class="py-lineno">75</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> <tt id="link-21" class="py-name" targets="Class x2go.x2go_exceptions.X2goNotImplementedYetException=x2go.x2go_exceptions.X2goNotImplementedYetException-class.html"><a title="x2go.x2go_exceptions.X2goNotImplementedYetException" class="py-name" href="#" onclick="return doclink('link-21', 'X2goNotImplementedYetException', 'link-21');">X2goNotImplementedYetException</a></tt><tt class="py-op">(</tt><tt class="py-string">'WINREG backend support is not implemented yet'</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L76"></a><tt class="py-lineno">76</tt>  <tt class="py-line"> </tt><script type="text/javascript">
 <!--
 expandto(location.href);
 // -->
@@ -222,7 +221,7 @@ expandto(location.href);
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:34 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:25 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.backends.printing._winreg.X2goClientPrintingWINREG-class.html b/doc/html/x2go.backends.printing._winreg.X2goClientPrintingWINREG-class.html
index 677d903..3e94adf 100644
--- a/doc/html/x2go.backends.printing._winreg.X2goClientPrintingWINREG-class.html
+++ b/doc/html/x2go.backends.printing._winreg.X2goClientPrintingWINREG-class.html
@@ -121,6 +121,7 @@
       <code><a href="x2go.inifiles.X2goIniFile-class.html#get">get</a></code>,
       <code><a href="x2go.inifiles.X2goIniFile-class.html#get_type">get_type</a></code>,
       <code><a href="x2go.inifiles.X2goIniFile-class.html#get_value">get_value</a></code>,
+      <code><a href="x2go.inifiles.X2goIniFile-class.html#load">load</a></code>,
       <code><a href="x2go.inifiles.X2goIniFile-class.html#update_value">update_value</a></code>,
       <code><a href="x2go.inifiles.X2goIniFile-class.html#write">write</a></code>
       </p>
@@ -165,6 +166,7 @@
            'ps': False,
            'startcmd': False,
            'stdin': False},
+ 'save': {'folder': 'PDF'},
  'view': {'command': 'xpdf', 'open': True}}"><code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">CUPS</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">defaultprinter</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">PDF</code><code class="variable-quote">'</code><code class="variable-group">}</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">General</code><code class="variable-quote">'</code><code class="variable-op">:</code><code class="variable-ellipsis">...</code></code>
     </td>
   </tr>
@@ -276,6 +278,7 @@
            <code class="variable-quote">'</code><code class="variable-string">ps</code><code class="variable-quote">'</code><code class="variable-op">: </code>False<code class="variable-op">,</code>
            <code class="variable-quote">'</code><code class="variable-string">startcmd</code><code class="variable-quote">'</code><code class="variable-op">: </code>False<code class="variable-op">,</code>
            <code class="variable-quote">'</code><code class="variable-string">stdin</code><code class="variable-quote">'</code><code class="variable-op">: </code>False<code class="variable-group">}</code><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">save</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">folder</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">PDF</code><code class="variable-quote">'</code><code class="variable-group">}</code><code class="variable-op">,</code>
  <code class="variable-quote">'</code><code class="variable-string">view</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">command</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">xpdf</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">open</code><code class="variable-quote">'</code><code class="variable-op">: </code>True<code class="variable-group">}</code><code class="variable-group">}</code>
 </pre></td></tr></table>
 </dd>
@@ -314,7 +317,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.backends.profiles-module.html b/doc/html/x2go.backends.profiles-module.html
index 17890ca..94a96aa 100644
--- a/doc/html/x2go.backends.profiles-module.html
+++ b/doc/html/x2go.backends.profiles-module.html
@@ -137,7 +137,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.backends.profiles-pysrc.html b/doc/html/x2go.backends.profiles-pysrc.html
index 18dcfec..7406d2e 100644
--- a/doc/html/x2go.backends.profiles-pysrc.html
+++ b/doc/html/x2go.backends.profiles-pysrc.html
@@ -131,7 +131,7 @@ expandto(location.href);
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:35 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:26 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.backends.profiles._file-module.html b/doc/html/x2go.backends.profiles._file-module.html
index 1280a4f..952239b 100644
--- a/doc/html/x2go.backends.profiles._file-module.html
+++ b/doc/html/x2go.backends.profiles._file-module.html
@@ -140,7 +140,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.backends.profiles._file-pysrc.html b/doc/html/x2go.backends.profiles._file-pysrc.html
index ae12647..7100f8e 100644
--- a/doc/html/x2go.backends.profiles._file-pysrc.html
+++ b/doc/html/x2go.backends.profiles._file-pysrc.html
@@ -517,7 +517,7 @@ expandto(location.href);
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:35 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:25 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.backends.profiles._file.X2goSessionProfilesFILE-class.html b/doc/html/x2go.backends.profiles._file.X2goSessionProfilesFILE-class.html
index 60f280c..5d1c5a1 100644
--- a/doc/html/x2go.backends.profiles._file.X2goSessionProfilesFILE-class.html
+++ b/doc/html/x2go.backends.profiles._file.X2goSessionProfilesFILE-class.html
@@ -378,6 +378,7 @@
       <code><a href="x2go.inifiles.X2goIniFile-class.html#get">get</a></code>,
       <code><a href="x2go.inifiles.X2goIniFile-class.html#get_type">get_type</a></code>,
       <code><a href="x2go.inifiles.X2goIniFile-class.html#get_value">get_value</a></code>,
+      <code><a href="x2go.inifiles.X2goIniFile-class.html#load">load</a></code>,
       <code><a href="x2go.inifiles.X2goIniFile-class.html#update_value">update_value</a></code>,
       <code><a href="x2go.inifiles.X2goIniFile-class.html#write">write</a></code>
       </p>
@@ -656,7 +657,7 @@ NAL\']',
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.backends.profiles._gconf-module.html b/doc/html/x2go.backends.profiles._gconf-module.html
index f05f715..151ac18 100644
--- a/doc/html/x2go.backends.profiles._gconf-module.html
+++ b/doc/html/x2go.backends.profiles._gconf-module.html
@@ -140,7 +140,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.backends.profiles._gconf-pysrc.html b/doc/html/x2go.backends.profiles._gconf-pysrc.html
index 60da4d0..1be7b2f 100644
--- a/doc/html/x2go.backends.profiles._gconf-pysrc.html
+++ b/doc/html/x2go.backends.profiles._gconf-pysrc.html
@@ -192,7 +192,7 @@ expandto(location.href);
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:34 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:25 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.backends.profiles._gconf.X2goSessionProfilesGCONF-class.html b/doc/html/x2go.backends.profiles._gconf.X2goSessionProfilesGCONF-class.html
index a06431b..f4957a3 100644
--- a/doc/html/x2go.backends.profiles._gconf.X2goSessionProfilesGCONF-class.html
+++ b/doc/html/x2go.backends.profiles._gconf.X2goSessionProfilesGCONF-class.html
@@ -109,6 +109,7 @@
       <code><a href="x2go.inifiles.X2goIniFile-class.html#get">get</a></code>,
       <code><a href="x2go.inifiles.X2goIniFile-class.html#get_type">get_type</a></code>,
       <code><a href="x2go.inifiles.X2goIniFile-class.html#get_value">get_value</a></code>,
+      <code><a href="x2go.inifiles.X2goIniFile-class.html#load">load</a></code>,
       <code><a href="x2go.inifiles.X2goIniFile-class.html#update_value">update_value</a></code>,
       <code><a href="x2go.inifiles.X2goIniFile-class.html#write">write</a></code>
       </p>
@@ -300,7 +301,7 @@ NAL\']',
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.backends.profiles._httpsbroker-module.html b/doc/html/x2go.backends.profiles._httpsbroker-module.html
index 22d4228..82e8944 100644
--- a/doc/html/x2go.backends.profiles._httpsbroker-module.html
+++ b/doc/html/x2go.backends.profiles._httpsbroker-module.html
@@ -140,7 +140,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.backends.profiles._httpsbroker-pysrc.html b/doc/html/x2go.backends.profiles._httpsbroker-pysrc.html
index 34c7407..cc4da7b 100644
--- a/doc/html/x2go.backends.profiles._httpsbroker-pysrc.html
+++ b/doc/html/x2go.backends.profiles._httpsbroker-pysrc.html
@@ -191,7 +191,7 @@ expandto(location.href);
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:35 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:25 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.backends.profiles._httpsbroker.X2goSessionProfilesHTTPSBROKER-class.html b/doc/html/x2go.backends.profiles._httpsbroker.X2goSessionProfilesHTTPSBROKER-class.html
index e3ee7bd..ecf67d3 100644
--- a/doc/html/x2go.backends.profiles._httpsbroker.X2goSessionProfilesHTTPSBROKER-class.html
+++ b/doc/html/x2go.backends.profiles._httpsbroker.X2goSessionProfilesHTTPSBROKER-class.html
@@ -109,6 +109,7 @@
       <code><a href="x2go.inifiles.X2goIniFile-class.html#get">get</a></code>,
       <code><a href="x2go.inifiles.X2goIniFile-class.html#get_type">get_type</a></code>,
       <code><a href="x2go.inifiles.X2goIniFile-class.html#get_value">get_value</a></code>,
+      <code><a href="x2go.inifiles.X2goIniFile-class.html#load">load</a></code>,
       <code><a href="x2go.inifiles.X2goIniFile-class.html#update_value">update_value</a></code>,
       <code><a href="x2go.inifiles.X2goIniFile-class.html#write">write</a></code>
       </p>
@@ -300,7 +301,7 @@ NAL\']',
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.backends.profiles._winreg-module.html b/doc/html/x2go.backends.profiles._winreg-module.html
index beacfc9..e42e3c1 100644
--- a/doc/html/x2go.backends.profiles._winreg-module.html
+++ b/doc/html/x2go.backends.profiles._winreg-module.html
@@ -140,7 +140,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.backends.profiles._winreg-pysrc.html b/doc/html/x2go.backends.profiles._winreg-pysrc.html
index 9538778..f351270 100644
--- a/doc/html/x2go.backends.profiles._winreg-pysrc.html
+++ b/doc/html/x2go.backends.profiles._winreg-pysrc.html
@@ -192,7 +192,7 @@ expandto(location.href);
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:34 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:26 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.backends.profiles._winreg.X2goSessionProfilesWINREG-class.html b/doc/html/x2go.backends.profiles._winreg.X2goSessionProfilesWINREG-class.html
index d0cf82a..cfd13cd 100644
--- a/doc/html/x2go.backends.profiles._winreg.X2goSessionProfilesWINREG-class.html
+++ b/doc/html/x2go.backends.profiles._winreg.X2goSessionProfilesWINREG-class.html
@@ -109,6 +109,7 @@
       <code><a href="x2go.inifiles.X2goIniFile-class.html#get">get</a></code>,
       <code><a href="x2go.inifiles.X2goIniFile-class.html#get_type">get_type</a></code>,
       <code><a href="x2go.inifiles.X2goIniFile-class.html#get_value">get_value</a></code>,
+      <code><a href="x2go.inifiles.X2goIniFile-class.html#load">load</a></code>,
       <code><a href="x2go.inifiles.X2goIniFile-class.html#update_value">update_value</a></code>,
       <code><a href="x2go.inifiles.X2goIniFile-class.html#write">write</a></code>
       </p>
@@ -300,7 +301,7 @@ NAL\']',
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.backends.proxy-module.html b/doc/html/x2go.backends.proxy-module.html
index 7986981..718c332 100644
--- a/doc/html/x2go.backends.proxy-module.html
+++ b/doc/html/x2go.backends.proxy-module.html
@@ -125,7 +125,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.backends.proxy-pysrc.html b/doc/html/x2go.backends.proxy-pysrc.html
index 32a7a18..577bf65 100644
--- a/doc/html/x2go.backends.proxy-pysrc.html
+++ b/doc/html/x2go.backends.proxy-pysrc.html
@@ -122,7 +122,7 @@ expandto(location.href);
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:34 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:25 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.backends.proxy._nx3-module.html b/doc/html/x2go.backends.proxy._nx3-module.html
index 23ca20d..f82fcf5 100644
--- a/doc/html/x2go.backends.proxy._nx3-module.html
+++ b/doc/html/x2go.backends.proxy._nx3-module.html
@@ -135,7 +135,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.backends.proxy._nx3-pysrc.html b/doc/html/x2go.backends.proxy._nx3-pysrc.html
index 706500e..6467b45 100644
--- a/doc/html/x2go.backends.proxy._nx3-pysrc.html
+++ b/doc/html/x2go.backends.proxy._nx3-pysrc.html
@@ -326,7 +326,7 @@ expandto(location.href);
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:34 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:26 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.backends.proxy._nx3.X2goProxyNX3-class.html b/doc/html/x2go.backends.proxy._nx3.X2goProxyNX3-class.html
index 5232f7e..d8c893e 100644
--- a/doc/html/x2go.backends.proxy._nx3.X2goProxyNX3-class.html
+++ b/doc/html/x2go.backends.proxy._nx3.X2goProxyNX3-class.html
@@ -314,7 +314,7 @@ threading._Verbose --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.backends.proxy.base-module.html b/doc/html/x2go.backends.proxy.base-module.html
index 6561728..853ca76 100644
--- a/doc/html/x2go.backends.proxy.base-module.html
+++ b/doc/html/x2go.backends.proxy.base-module.html
@@ -135,7 +135,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.backends.proxy.base-pysrc.html b/doc/html/x2go.backends.proxy.base-pysrc.html
index 325c245..7a52fe9 100644
--- a/doc/html/x2go.backends.proxy.base-pysrc.html
+++ b/doc/html/x2go.backends.proxy.base-pysrc.html
@@ -465,7 +465,7 @@ expandto(location.href);
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:25 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.backends.proxy.base.X2goProxyBASE-class.html b/doc/html/x2go.backends.proxy.base.X2goProxyBASE-class.html
index d6c5243..d0e3dde 100644
--- a/doc/html/x2go.backends.proxy.base.X2goProxyBASE-class.html
+++ b/doc/html/x2go.backends.proxy.base.X2goProxyBASE-class.html
@@ -504,7 +504,7 @@ threading._Verbose --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.backends.settings-module.html b/doc/html/x2go.backends.settings-module.html
index 75b8d83..757bde2 100644
--- a/doc/html/x2go.backends.settings-module.html
+++ b/doc/html/x2go.backends.settings-module.html
@@ -124,7 +124,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.backends.settings-pysrc.html b/doc/html/x2go.backends.settings-pysrc.html
index dbe2092..25ba190 100644
--- a/doc/html/x2go.backends.settings-pysrc.html
+++ b/doc/html/x2go.backends.settings-pysrc.html
@@ -130,7 +130,7 @@ expandto(location.href);
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:35 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:25 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.backends.settings._file-module.html b/doc/html/x2go.backends.settings._file-module.html
index 3234a0f..4606d72 100644
--- a/doc/html/x2go.backends.settings._file-module.html
+++ b/doc/html/x2go.backends.settings._file-module.html
@@ -142,7 +142,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.backends.settings._file-pysrc.html b/doc/html/x2go.backends.settings._file-pysrc.html
index 07e79f8..acb7104 100644
--- a/doc/html/x2go.backends.settings._file-pysrc.html
+++ b/doc/html/x2go.backends.settings._file-pysrc.html
@@ -253,7 +253,7 @@ expandto(location.href);
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:35 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:25 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.backends.settings._file.X2goClientSettingsFILE-class.html b/doc/html/x2go.backends.settings._file.X2goClientSettingsFILE-class.html
index 85dee7f..d68344f 100644
--- a/doc/html/x2go.backends.settings._file.X2goClientSettingsFILE-class.html
+++ b/doc/html/x2go.backends.settings._file.X2goClientSettingsFILE-class.html
@@ -112,6 +112,7 @@
       <code><a href="x2go.inifiles.X2goIniFile-class.html#get">get</a></code>,
       <code><a href="x2go.inifiles.X2goIniFile-class.html#get_type">get_type</a></code>,
       <code><a href="x2go.inifiles.X2goIniFile-class.html#get_value">get_value</a></code>,
+      <code><a href="x2go.inifiles.X2goIniFile-class.html#load">load</a></code>,
       <code><a href="x2go.inifiles.X2goIniFile-class.html#update_value">update_value</a></code>,
       <code><a href="x2go.inifiles.X2goIniFile-class.html#write">write</a></code>
       </p>
@@ -321,7 +322,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.backends.settings._gconf-module.html b/doc/html/x2go.backends.settings._gconf-module.html
index e392cd8..4e6cc12 100644
--- a/doc/html/x2go.backends.settings._gconf-module.html
+++ b/doc/html/x2go.backends.settings._gconf-module.html
@@ -142,7 +142,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.backends.settings._gconf-pysrc.html b/doc/html/x2go.backends.settings._gconf-pysrc.html
index a1f51d6..51a7f7d 100644
--- a/doc/html/x2go.backends.settings._gconf-pysrc.html
+++ b/doc/html/x2go.backends.settings._gconf-pysrc.html
@@ -206,7 +206,7 @@ expandto(location.href);
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:35 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.backends.settings._gconf.X2goClientSettingsGCONF-class.html b/doc/html/x2go.backends.settings._gconf.X2goClientSettingsGCONF-class.html
index edf4975..957ad8a 100644
--- a/doc/html/x2go.backends.settings._gconf.X2goClientSettingsGCONF-class.html
+++ b/doc/html/x2go.backends.settings._gconf.X2goClientSettingsGCONF-class.html
@@ -112,6 +112,7 @@
       <code><a href="x2go.inifiles.X2goIniFile-class.html#get">get</a></code>,
       <code><a href="x2go.inifiles.X2goIniFile-class.html#get_type">get_type</a></code>,
       <code><a href="x2go.inifiles.X2goIniFile-class.html#get_value">get_value</a></code>,
+      <code><a href="x2go.inifiles.X2goIniFile-class.html#load">load</a></code>,
       <code><a href="x2go.inifiles.X2goIniFile-class.html#update_value">update_value</a></code>,
       <code><a href="x2go.inifiles.X2goIniFile-class.html#write">write</a></code>
       </p>
@@ -321,7 +322,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.backends.settings._winreg-module.html b/doc/html/x2go.backends.settings._winreg-module.html
index 9535eed..9097610 100644
--- a/doc/html/x2go.backends.settings._winreg-module.html
+++ b/doc/html/x2go.backends.settings._winreg-module.html
@@ -142,7 +142,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.backends.settings._winreg-pysrc.html b/doc/html/x2go.backends.settings._winreg-pysrc.html
index f6d75a4..4a7c42f 100644
--- a/doc/html/x2go.backends.settings._winreg-pysrc.html
+++ b/doc/html/x2go.backends.settings._winreg-pysrc.html
@@ -206,7 +206,7 @@ expandto(location.href);
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:35 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:25 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.backends.settings._winreg.X2goClientSettingsWINREG-class.html b/doc/html/x2go.backends.settings._winreg.X2goClientSettingsWINREG-class.html
index 70d57d1..de07617 100644
--- a/doc/html/x2go.backends.settings._winreg.X2goClientSettingsWINREG-class.html
+++ b/doc/html/x2go.backends.settings._winreg.X2goClientSettingsWINREG-class.html
@@ -112,6 +112,7 @@
       <code><a href="x2go.inifiles.X2goIniFile-class.html#get">get</a></code>,
       <code><a href="x2go.inifiles.X2goIniFile-class.html#get_type">get_type</a></code>,
       <code><a href="x2go.inifiles.X2goIniFile-class.html#get_value">get_value</a></code>,
+      <code><a href="x2go.inifiles.X2goIniFile-class.html#load">load</a></code>,
       <code><a href="x2go.inifiles.X2goIniFile-class.html#update_value">update_value</a></code>,
       <code><a href="x2go.inifiles.X2goIniFile-class.html#write">write</a></code>
       </p>
@@ -321,7 +322,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.backends.terminal-module.html b/doc/html/x2go.backends.terminal-module.html
index 992a0ca..78d4642 100644
--- a/doc/html/x2go.backends.terminal-module.html
+++ b/doc/html/x2go.backends.terminal-module.html
@@ -123,7 +123,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.backends.terminal-pysrc.html b/doc/html/x2go.backends.terminal-pysrc.html
index 0c4514e..4618ac1 100644
--- a/doc/html/x2go.backends.terminal-pysrc.html
+++ b/doc/html/x2go.backends.terminal-pysrc.html
@@ -124,7 +124,7 @@ expandto(location.href);
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:35 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.backends.terminal._stdout-module.html b/doc/html/x2go.backends.terminal._stdout-module.html
index 1ab706b..9af229a 100644
--- a/doc/html/x2go.backends.terminal._stdout-module.html
+++ b/doc/html/x2go.backends.terminal._stdout-module.html
@@ -150,7 +150,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.backends.terminal._stdout-pysrc.html b/doc/html/x2go.backends.terminal._stdout-pysrc.html
index 562b859..156e945 100644
--- a/doc/html/x2go.backends.terminal._stdout-pysrc.html
+++ b/doc/html/x2go.backends.terminal._stdout-pysrc.html
@@ -1241,7 +1241,7 @@ expandto(location.href);
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:34 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:25 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.backends.terminal._stdout.X2goSessionParams-class.html b/doc/html/x2go.backends.terminal._stdout.X2goSessionParams-class.html
index 9c3aa80..14e0889 100644
--- a/doc/html/x2go.backends.terminal._stdout.X2goSessionParams-class.html
+++ b/doc/html/x2go.backends.terminal._stdout.X2goSessionParams-class.html
@@ -256,7 +256,7 @@ object --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.backends.terminal._stdout.X2goTerminalSessionSTDOUT-class.html b/doc/html/x2go.backends.terminal._stdout.X2goTerminalSessionSTDOUT-class.html
index a1fc01b..39d6c58 100644
--- a/doc/html/x2go.backends.terminal._stdout.X2goTerminalSessionSTDOUT-class.html
+++ b/doc/html/x2go.backends.terminal._stdout.X2goTerminalSessionSTDOUT-class.html
@@ -150,7 +150,7 @@ object --+
         <span class="summary-sig-arg">client_encoding</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string">UTF-8</code><code class="variable-quote">'</code></span>,
         <span class="summary-sig-arg">rootdir</span>=<span class="summary-sig-default">None</span>,
         <span class="summary-sig-arg">profile_name</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string">UNKNOWN</code><code class="variable-quote">'</code></span>,
-        <span class="summary-sig-arg">profile_id</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string">20110227010230296609</code><code class="variable-quote">'</code></span>,
+        <span class="summary-sig-arg">profile_id</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string">20110228230220699543</code><code class="variable-quote">'</code></span>,
         <span class="summary-sig-arg">print_action</span>=<span class="summary-sig-default">None</span>,
         <span class="summary-sig-arg">print_action_args</span>=<span class="summary-sig-default"><code class="variable-group">{</code><code class="variable-group">}</code></span>,
         <span class="summary-sig-arg">info_backend</span>=<span class="summary-sig-default"><class 'x2go.backends.info._stdout.X2goServerSessionInfoSTDOUT'></span>,
@@ -704,7 +704,7 @@ object --+
         <span class="sig-arg">client_encoding</span>=<span class="sig-default"><code class="variable-quote">'</code><code class="variable-string">UTF-8</code><code class="variable-quote">'</code></span>,
         <span class="sig-arg">rootdir</span>=<span class="sig-default">None</span>,
         <span class="sig-arg">profile_name</span>=<span class="sig-default"><code class="variable-quote">'</code><code class="variable-string">UNKNOWN</code><code class="variable-quote">'</code></span>,
-        <span class="sig-arg">profile_id</span>=<span class="sig-default"><code class="variable-quote">'</code><code class="variable-string">20110227010230296609</code><code class="variable-quote">'</code></span>,
+        <span class="sig-arg">profile_id</span>=<span class="sig-default"><code class="variable-quote">'</code><code class="variable-string">20110228230220699543</code><code class="variable-quote">'</code></span>,
         <span class="sig-arg">print_action</span>=<span class="sig-default">None</span>,
         <span class="sig-arg">print_action_args</span>=<span class="sig-default"><code class="variable-group">{</code><code class="variable-group">}</code></span>,
         <span class="sig-arg">info_backend</span>=<span class="sig-default"><class 'x2go.backends.info._stdout.X2goServerSessionInfoSTDOUT'></span>,
@@ -1096,7 +1096,7 @@ object --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.cache-module.html b/doc/html/x2go.cache-module.html
index bba39fe..8fe2cff 100644
--- a/doc/html/x2go.cache-module.html
+++ b/doc/html/x2go.cache-module.html
@@ -132,7 +132,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.cache-pysrc.html b/doc/html/x2go.cache-pysrc.html
index 2fd050d..fae825c 100644
--- a/doc/html/x2go.cache-pysrc.html
+++ b/doc/html/x2go.cache-pysrc.html
@@ -300,7 +300,7 @@ expandto(location.href);
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:35 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:25 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.cache.X2goListSessionsCache-class.html b/doc/html/x2go.cache.X2goListSessionsCache-class.html
index 45c1421..8677b25 100644
--- a/doc/html/x2go.cache.X2goListSessionsCache-class.html
+++ b/doc/html/x2go.cache.X2goListSessionsCache-class.html
@@ -370,7 +370,7 @@ object --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.checkhosts-module.html b/doc/html/x2go.checkhosts-module.html
index 0fc76de..5aaadf6 100644
--- a/doc/html/x2go.checkhosts-module.html
+++ b/doc/html/x2go.checkhosts-module.html
@@ -162,7 +162,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.checkhosts-pysrc.html b/doc/html/x2go.checkhosts-pysrc.html
index f7c5ad2..0577171 100644
--- a/doc/html/x2go.checkhosts-pysrc.html
+++ b/doc/html/x2go.checkhosts-pysrc.html
@@ -315,7 +315,7 @@ expandto(location.href);
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:34 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:26 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.checkhosts.X2goInteractiveAddPolicy-class.html b/doc/html/x2go.checkhosts.X2goInteractiveAddPolicy-class.html
index 5a6397c..c12e85d 100644
--- a/doc/html/x2go.checkhosts.X2goInteractiveAddPolicy-class.html
+++ b/doc/html/x2go.checkhosts.X2goInteractiveAddPolicy-class.html
@@ -385,7 +385,7 @@ paramiko.MissingHostKeyPolicy --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.cleanup-module.html b/doc/html/x2go.cleanup-module.html
index 1ff010d..271558e 100644
--- a/doc/html/x2go.cleanup-module.html
+++ b/doc/html/x2go.cleanup-module.html
@@ -191,7 +191,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.cleanup-pysrc.html b/doc/html/x2go.cleanup-pysrc.html
index e67df91..d91ff8f 100644
--- a/doc/html/x2go.cleanup-pysrc.html
+++ b/doc/html/x2go.cleanup-pysrc.html
@@ -224,7 +224,7 @@ expandto(location.href);
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:35 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:25 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.client-module.html b/doc/html/x2go.client-module.html
index d8d8916..91d70cd 100644
--- a/doc/html/x2go.client-module.html
+++ b/doc/html/x2go.client-module.html
@@ -268,7 +268,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.client-pysrc.html b/doc/html/x2go.client-pysrc.html
index 60424c8..2c9a392 100644
--- a/doc/html/x2go.client-pysrc.html
+++ b/doc/html/x2go.client-pysrc.html
@@ -429,8 +429,8 @@ x2go.cache.X2goListSessionsCache.update" class="py-name" href="#" onclick="retur
 <a name="L283"></a><tt class="py-lineno"> 283</tt>  <tt class="py-line">    <tt class="py-comment"># user hooks for detecting/notifying what happened during application runtime</tt> </tt>
 <a name="X2goClient.HOOK_no_known_xserver_found"></a><div id="X2goClient.HOOK_no_known_xserver_found-def"><a name="L284"></a><tt class="py-lineno"> 284</tt> <a class="py-toggle" href="#" id="X2goClient.HOOK_no_known_xserver_found-toggle" onclick="return toggle('X2goClient.HOOK_no_known_xserver_found');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.client.X2goClient-class.html#HOOK_no_known_xserver_found">HOOK_no_known_xserver_found</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
 </div><div id="X2goClient.HOOK_no_known_xserver_found-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="X2goClient.HOOK_no_known_xserver_found-expanded"><a name="L285"></a><tt class="py-lineno"> 285</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logger</tt><tt class="py-op">(</tt><tt class="py-string">'the Python X2go module could not find any usable XServer application, you will not be able to start X2go sessions without XServer'</tt><tt class="py-op">,</tt> <tt class="py-name">loglevel</tt><tt class="py-op">=</tt><tt id="link-113" class="py-name"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-113', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt id="link-114" class="py-name" targets="Variable x2go.log.loglevel_WARN=x2go.log-module.html#loglevel_WARN"><a title="x2go.log.loglevel_WARN" class="py-name" href="#" onclick="return doclink('link-114', 'logl
 evel_WAR
 N', 'link-114');">loglevel_WARN</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="X2goClient.HOOK_open_print_dialog"></a><div id="X2goClient.HOOK_open_print_dialog-def"><a name="L286"></a><tt class="py-lineno"> 286</tt> <a class="py-toggle" href="#" id="X2goClient.HOOK_open_print_dialog-toggle" onclick="return toggle('X2goClient.HOOK_open_print_dialog');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.client.X2goClient-class.html#HOOK_open_print_dialog">HOOK_open_print_dialog</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">filename</tt><tt class="py-op">,</tt> <tt class="py-param">profile_name</tt><tt class="py-op">=</tt><tt class="py-string">'UNKNOWN'</tt><tt class="py-op">,</tt> <tt class="py-param">session_name</tt><tt class="py-op">=</tt><tt class="py-string">'UNKNOWN'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="X2goClient.HOOK_open_print_dialog-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="X2goClient.HOOK_open_print_dialog-expanded"><a name="L287"></a><tt class="py-lineno"> 287</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logger</tt><tt class="py-op">(</tt><tt class="py-string">'HOOK_open_print_dialog: incoming print job ,, %s'</tt><tt class="py-string">' detected by X2goClient hook method'</tt> <tt class="py-op">%</tt> <tt class="py-name">filename</tt><tt class="py-op">,</tt> <tt class="py-name">loglevel</tt><tt class="py-op">=</tt><tt id="link-115" class="py-name"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-115', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt id="link-116" class="py-name"><a title="x2go.log.loglevel_WARN" class="py-name" href="#" onclick="return doclink('link-116', 'loglevel_WARN', 'link-114');">loglevel_WARN</a></
 tt><tt c
 lass="py-op">)</tt> </tt>
+</div><a name="X2goClient.HOOK_open_print_dialog"></a><div id="X2goClient.HOOK_open_print_dialog-def"><a name="L286"></a><tt class="py-lineno"> 286</tt> <a class="py-toggle" href="#" id="X2goClient.HOOK_open_print_dialog-toggle" onclick="return toggle('X2goClient.HOOK_open_print_dialog');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.client.X2goClient-class.html#HOOK_open_print_dialog">HOOK_open_print_dialog</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">profile_name</tt><tt class="py-op">=</tt><tt class="py-string">'UNKNOWN'</tt><tt class="py-op">,</tt> <tt class="py-param">session_name</tt><tt class="py-op">=</tt><tt class="py-string">'UNKNOWN'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="X2goClient.HOOK_open_print_dialog-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="X2goClient.HOOK_open_print_dialog-expanded"><a name="L287"></a><tt class="py-lineno"> 287</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logger</tt><tt class="py-op">(</tt><tt class="py-string">'HOOK_open_print_dialog: incoming print job detected by X2goClient hook method'</tt><tt class="py-op">,</tt> <tt class="py-name">loglevel</tt><tt class="py-op">=</tt><tt id="link-115" class="py-name"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-115', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt id="link-116" class="py-name"><a title="x2go.log.loglevel_WARN" class="py-name" href="#" onclick="return doclink('link-116', 'loglevel_WARN', 'link-114');">loglevel_WARN</a></tt><tt class="py-op">)</tt> </tt>
 </div><a name="X2goClient.HOOK_no_such_command"></a><div id="X2goClient.HOOK_no_such_command-def"><a name="L288"></a><tt class="py-lineno"> 288</tt> <a class="py-toggle" href="#" id="X2goClient.HOOK_no_such_command-toggle" onclick="return toggle('X2goClient.HOOK_no_such_command');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.client.X2goClient-class.html#HOOK_no_such_command">HOOK_no_such_command</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">cmd</tt><tt class="py-op">,</tt> <tt class="py-param">profile_name</tt><tt class="py-op">=</tt><tt class="py-string">'UNKNOWN'</tt><tt class="py-op">,</tt> <tt class="py-param">session_name</tt><tt class="py-op">=</tt><tt class="py-string">'UNKNOWN'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
 </div><div id="X2goClient.HOOK_no_such_command-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="X2goClient.HOOK_no_such_command-expanded"><a name="L289"></a><tt class="py-lineno"> 289</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logger</tt><tt class="py-op">(</tt><tt class="py-string">'HOOK_no_such_command: the command %s is not available for X2go server (profile: %s, session: %s)'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">cmd</tt><tt class="py-op">,</tt> <tt class="py-name">profile_name</tt><tt class="py-op">,</tt> <tt class="py-name">session_name</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">loglevel</tt><tt class="py-op">=</tt><tt id="link-117" class="py-name"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-117', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt id="link-118" class="py-name
 "><a tit
 le="x2go.log.loglevel_WARN" class="py-name" href="#" onclick="return doclink('link-118', 'loglevel_WARN', 'link-114');">loglevel_WARN</a></tt><tt class="py-op">)</tt> </tt>
 </div><a name="X2goClient.HOOK_open_dropbox_saveas_dialog"></a><div id="X2goClient.HOOK_open_dropbox_saveas_dialog-def"><a name="L290"></a><tt class="py-lineno"> 290</tt> <a class="py-toggle" href="#" id="X2goClient.HOOK_open_dropbox_saveas_dialog-toggle" onclick="return toggle('X2goClient.HOOK_open_dropbox_saveas_dialog');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.client.X2goClient-class.html#HOOK_open_dropbox_saveas_dialog">HOOK_open_dropbox_saveas_dialog</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">filename</tt><tt class="py-op">,</tt> <tt class="py-param">profile_name</tt><tt class="py-op">=</tt><tt class="py-string">'UNKNOWN'</tt><tt class="py-op">,</tt> <tt class="py-param">session_name</tt><tt class="py-op">=</tt><tt class="py-string">'UNKNOWN'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
@@ -1926,7 +1926,7 @@ expandto(location.href);
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:35 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:26 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.client.X2goClient-class.html b/doc/html/x2go.client.X2goClient-class.html
index 141b8ec..7fc4818 100644
--- a/doc/html/x2go.client.X2goClient-class.html
+++ b/doc/html/x2go.client.X2goClient-class.html
@@ -147,7 +147,6 @@ object --+
       <table width="100%" cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td><span class="summary-sig"><a name="HOOK_open_print_dialog"></a><span class="summary-sig-name">HOOK_open_print_dialog</span>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">filename</span>,
         <span class="summary-sig-arg">profile_name</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string">UNKNOWN</code><code class="variable-quote">'</code></span>,
         <span class="summary-sig-arg">session_name</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string">UNKNOWN</code><code class="variable-quote">'</code></span>)</span></td>
           <td align="right" valign="top">
@@ -3365,7 +3364,7 @@ object --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.defaults-module.html b/doc/html/x2go.defaults-module.html
index e8a8037..82873df 100644
--- a/doc/html/x2go.defaults-module.html
+++ b/doc/html/x2go.defaults-module.html
@@ -378,6 +378,7 @@
            'ps': False,
            'startcmd': False,
            'stdin': False},
+ 'save': {'folder': 'PDF'},
  'view': {'command': 'xpdf', 'open': True}}"><code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">CUPS</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">defaultprinter</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">PD</code><code class="variable-ellipsis">...</code></code>
     </td>
   </tr>
@@ -491,7 +492,7 @@ ssed\', \'64k-rdp\'
     <td width="15%" align="right" valign="top" class="summary">
       <span class="summary-type"> </span>
     </td><td class="summary">
-        <a name="DEFAULT_PDFSAVE_LOCATION"></a><span class="summary-name">DEFAULT_PDFSAVE_LOCATION</span> = <code title="'~/PDF'"><code class="variable-quote">'</code><code class="variable-string">~/PDF</code><code class="variable-quote">'</code></code><br />
+        <a name="DEFAULT_PDFSAVE_LOCATION"></a><span class="summary-name">DEFAULT_PDFSAVE_LOCATION</span> = <code title="'PDF'"><code class="variable-quote">'</code><code class="variable-string">PDF</code><code class="variable-quote">'</code></code><br />
       Default location for saving PDF files (PDFSAVE print action).
     </td>
   </tr>
@@ -784,6 +785,7 @@ ssed\', \'64k-rdp\'
            <code class="variable-quote">'</code><code class="variable-string">ps</code><code class="variable-quote">'</code><code class="variable-op">: </code>False<code class="variable-op">,</code>
            <code class="variable-quote">'</code><code class="variable-string">startcmd</code><code class="variable-quote">'</code><code class="variable-op">: </code>False<code class="variable-op">,</code>
            <code class="variable-quote">'</code><code class="variable-string">stdin</code><code class="variable-quote">'</code><code class="variable-op">: </code>False<code class="variable-group">}</code><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">save</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">folder</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">PDF</code><code class="variable-quote">'</code><code class="variable-group">}</code><code class="variable-op">,</code>
  <code class="variable-quote">'</code><code class="variable-string">view</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">command</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">xpdf</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">open</code><code class="variable-quote">'</code><code class="variable-op">: </code>True<code class="variable-group">}</code><code class="variable-group">}</code>
 </pre></td></tr></table>
 </dd>
@@ -982,7 +984,7 @@ ssed\', \'64k-rdp\'
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.defaults-pysrc.html b/doc/html/x2go.defaults-pysrc.html
index 41d7637..b50f925 100644
--- a/doc/html/x2go.defaults-pysrc.html
+++ b/doc/html/x2go.defaults-pysrc.html
@@ -300,99 +300,99 @@ x2go.xserver.__NAME__" class="py-name" href="#" onclick="return doclink('link-0'
 <a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">        <tt class="py-comment"># ignored in Python X2go</tt> </tt>
 <a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">        <tt class="py-string">'ps'</tt><tt class="py-op">:</tt> <tt class="py-name">False</tt><tt class="py-op">,</tt> </tt>
 <a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">        <tt class="py-op">}</tt><tt class="py-op">,</tt> </tt>
-<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">    <tt class="py-string">'view'</tt><tt class="py-op">:</tt> <tt class="py-op">{</tt> </tt>
-<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">        <tt class="py-comment"># If General->pdfview is true: </tt> </tt>
-<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">        <tt class="py-comment">#   if open is true, the PDF viewer command is executed</tt> </tt>
-<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line">        <tt class="py-comment">#   if open is false, the incoming print job is saved in ~/PDF folder </tt> </tt>
-<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line">        <tt class="py-string">'open'</tt><tt class="py-op">:</tt> <tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
-<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line">        <tt class="py-comment"># command to execute as PDF viewer</tt> </tt>
-<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line">        <tt class="py-string">'command'</tt><tt class="py-op">:</tt> <tt class="py-string">'xpdf'</tt><tt class="py-op">,</tt> </tt>
-<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line">        <tt class="py-op">}</tt><tt class="py-op">,</tt> </tt>
-<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line">    <tt class="py-string">'CUPS'</tt><tt class="py-op">:</tt> <tt class="py-op">{</tt> </tt>
-<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line">        <tt class="py-comment"># default print queue for CUPS, if print queue does not exist, the default </tt> </tt>
-<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line">        <tt class="py-comment"># CUPS queue is detected</tt> </tt>
-<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line">        <tt class="py-string">'defaultprinter'</tt><tt class="py-op">:</tt> <tt class="py-string">'PDF'</tt><tt class="py-op">,</tt> </tt>
-<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line">        <tt class="py-op">}</tt><tt class="py-op">,</tt> </tt>
-<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line">    <tt class="py-op">}</tt> </tt>
-<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line"><tt class="py-keyword">if</tt> <tt id="link-79" class="py-name"><a title="x2go.defaults.X2GOCLIENT_OS" class="py-name" href="#" onclick="return doclink('link-79', 'X2GOCLIENT_OS', 'link-1');">X2GOCLIENT_OS</a></tt> <tt class="py-op">==</tt> <tt class="py-string">'Windows'</tt><tt class="py-op">:</tt> </tt>
-<a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line">    <tt id="link-80" class="py-name" targets="Variable x2go.defaults.X2GO_CLIENTXCONFIG_DEFAULTS=x2go.defaults-module.html#X2GO_CLIENTXCONFIG_DEFAULTS"><a title="x2go.defaults.X2GO_CLIENTXCONFIG_DEFAULTS" class="py-name" href="#" onclick="return doclink('link-80', 'X2GO_CLIENTXCONFIG_DEFAULTS', 'link-80');">X2GO_CLIENTXCONFIG_DEFAULTS</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
-<a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line">        <tt class="py-string">'XServers'</tt><tt class="py-op">:</tt> <tt class="py-op">{</tt> </tt>
-<a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line">            <tt class="py-string">'known_xservers'</tt><tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-string">'VcXsrv'</tt><tt class="py-op">,</tt> <tt class="py-string">'Xming'</tt><tt class="py-op">,</tt> <tt class="py-string">'Cygwin-X'</tt><tt class="py-op">,</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line">        <tt class="py-op">}</tt><tt class="py-op">,</tt> </tt>
-<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line">        <tt class="py-string">'Cygwin-X'</tt><tt class="py-op">:</tt> <tt class="py-op">{</tt> </tt>
-<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line">            <tt class="py-string">'display'</tt><tt class="py-op">:</tt> <tt class="py-string">'localhost:40'</tt><tt class="py-op">,</tt> </tt>
-<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line">            <tt class="py-string">'process_name'</tt><tt class="py-op">:</tt> <tt class="py-string">'XWin.exe'</tt><tt class="py-op">,</tt> </tt>
-<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line">            <tt class="py-string">'test_installed'</tt><tt class="py-op">:</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">environ</tt><tt class="py-op">[</tt><tt class="py-string">'SystemDrive'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">'\\'</tt><tt class="py-op">,</tt> <tt class="py-string">'cygwin'</tt><tt class="py-op">,</tt> <tt class="py-string">'bin'</tt><tt class="py-op">,</tt> <tt class="py-string">'XWin.exe'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line">            <tt class="py-string">'run_command'</tt><tt class="py-op">:</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">environ</tt><tt class="py-op">[</tt><tt class="py-string">'SystemDrive'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">'\\'</tt><tt class="py-op">,</tt> <tt class="py-string">'cygwin'</tt><tt class="py-op">,</tt> <tt class="py-string">'bin'</tt><tt class="py-op">,</tt> <tt class="py-string">'XWin.exe'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line">            <tt class="py-string">'parameters'</tt><tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-string">':40'</tt><tt class="py-op">,</tt> <tt class="py-string">'-clipboard'</tt><tt class="py-op">,</tt> <tt class="py-string">'-multiwindow'</tt><tt class="py-op">,</tt> <tt class="py-string">'-notrayicon'</tt><tt class="py-op">,</tt> <tt class="py-string">'-nowinkill'</tt><tt class="py-op">,</tt> <tt class="py-string">'-nounixkill'</tt><tt class="py-op">,</tt> <tt class="py-string">'-swcursor'</tt><tt class="py-op">,</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line">            <tt class="py-op">}</tt><tt class="py-op">,</tt> </tt>
-<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line">        <tt class="py-string">'VcXsrv'</tt><tt class="py-op">:</tt> <tt class="py-op">{</tt> </tt>
-<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line">            <tt class="py-string">'display'</tt><tt class="py-op">:</tt> <tt class="py-string">'localhost:40'</tt><tt class="py-op">,</tt> </tt>
-<a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line">            <tt class="py-string">'process_name'</tt><tt class="py-op">:</tt> <tt class="py-string">'vcxsrv.exe'</tt><tt class="py-op">,</tt> </tt>
-<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line">            <tt class="py-string">'test_installed'</tt><tt class="py-op">:</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">environ</tt><tt class="py-op">[</tt><tt class="py-string">'ProgramFiles'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">'VcXsrv'</tt><tt class="py-op">,</tt> <tt class="py-string">'vcxsrv.exe'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>  </tt>
-<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line">            <tt class="py-string">'run_command'</tt><tt class="py-op">:</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">environ</tt><tt class="py-op">[</tt><tt class="py-string">'ProgramFiles'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">'VcXsrv'</tt><tt class="py-op">,</tt> <tt class="py-string">'vcxsrv.exe'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line">            <tt class="py-string">'parameters'</tt><tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-string">':40'</tt><tt class="py-op">,</tt> <tt class="py-string">'-clipboard'</tt><tt class="py-op">,</tt> <tt class="py-string">'-multiwindow'</tt><tt class="py-op">,</tt> <tt class="py-string">'-notrayicon'</tt><tt class="py-op">,</tt> <tt class="py-string">'-nowinkill'</tt><tt class="py-op">,</tt> <tt class="py-string">'-nounixkill'</tt><tt class="py-op">,</tt> <tt class="py-string">'-swcursor'</tt><tt class="py-op">,</tt> <tt class="py-string">'-wgl'</tt><tt class="py-op">,</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line">            <tt class="py-op">}</tt><tt class="py-op">,</tt> </tt>
-<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line">        <tt class="py-string">'Xming'</tt><tt class="py-op">:</tt> <tt class="py-op">{</tt> </tt>
-<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line">            <tt class="py-string">'display'</tt><tt class="py-op">:</tt> <tt class="py-string">'localhost:40'</tt><tt class="py-op">,</tt> </tt>
-<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line">            <tt class="py-string">'process_name'</tt><tt class="py-op">:</tt> <tt class="py-string">'Xming.exe'</tt><tt class="py-op">,</tt> </tt>
-<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line">            <tt class="py-string">'test_installed'</tt><tt class="py-op">:</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">environ</tt><tt class="py-op">[</tt><tt class="py-string">'ProgramFiles'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">'Xming'</tt><tt class="py-op">,</tt> <tt class="py-string">'Xming.exe'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>  </tt>
-<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line">            <tt class="py-string">'run_command'</tt><tt class="py-op">:</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">environ</tt><tt class="py-op">[</tt><tt class="py-string">'ProgramFiles'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">'Xming'</tt><tt class="py-op">,</tt> <tt class="py-string">'Xming.exe'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line">            <tt class="py-string">'parameters'</tt><tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-string">':40'</tt><tt class="py-op">,</tt> <tt class="py-string">'-clipboard'</tt><tt class="py-op">,</tt> <tt class="py-string">'-multiwindow'</tt><tt class="py-op">,</tt> <tt class="py-string">'-notrayicon'</tt><tt class="py-op">,</tt> <tt class="py-string">'-nowinkill'</tt><tt class="py-op">,</tt> <tt class="py-string">'-nounixkill'</tt><tt class="py-op">,</tt> <tt class="py-string">'-swcursor'</tt><tt class="py-op">,</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line">            <tt class="py-op">}</tt><tt class="py-op">,</tt> </tt>
-<a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line">        <tt class="py-op">}</tt> </tt>
-<a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line"><tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line">    <tt class="py-comment"># make the variable available when building API documentation with epydoc</tt> </tt>
-<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line">    <tt id="link-81" class="py-name"><a title="x2go.defaults.X2GO_CLIENTXCONFIG_DEFAULTS" class="py-name" href="#" onclick="return doclink('link-81', 'X2GO_CLIENTXCONFIG_DEFAULTS', 'link-80');">X2GO_CLIENTXCONFIG_DEFAULTS</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line"> </tt>
-<a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line"><tt id="link-82" class="py-name" targets="Variable x2go.defaults.X2GO_GENERIC_APPLICATIONS=x2go.defaults-module.html#X2GO_GENERIC_APPLICATIONS"><a title="x2go.defaults.X2GO_GENERIC_APPLICATIONS" class="py-name" href="#" onclick="return doclink('link-82', 'X2GO_GENERIC_APPLICATIONS', 'link-82');">X2GO_GENERIC_APPLICATIONS</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-string">'WWWBROWSER'</tt><tt class="py-op">,</tt> <tt class="py-string">'MAILCLIENT'</tt><tt class="py-op">,</tt> <tt class="py-string">'OFFICE'</tt><tt class="py-op">,</tt> <tt class="py-string">'TERMINAL'</tt><tt class="py-op">,</tt> <tt class="py-op">]</tt> </tt>
-<a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line"> </tt>
-<a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line"><tt id="link-83" class="py-name" targets="Variable x2go.defaults.X2GO_SESSIONPROFILE_DEFAULTS=x2go.defaults-module.html#X2GO_SESSIONPROFILE_DEFAULTS"><a title="x2go.defaults.X2GO_SESSIONPROFILE_DEFAULTS" class="py-name" href="#" onclick="return doclink('link-83', 'X2GO_SESSIONPROFILE_DEFAULTS', 'link-83');">X2GO_SESSIONPROFILE_DEFAULTS</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
-<a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line">    <tt class="py-string">'speed'</tt><tt class="py-op">:</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'pack'</tt><tt class="py-op">:</tt> <tt class="py-string">'16m-jpeg'</tt><tt class="py-op">,</tt> <tt class="py-string">'quality'</tt><tt class="py-op">:</tt> <tt class="py-number">9</tt><tt class="py-op">,</tt> </tt>
-<a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line">    <tt class="py-string">'iconvto'</tt><tt class="py-op">:</tt> <tt class="py-string">'UTF-8'</tt><tt class="py-op">,</tt> <tt class="py-string">'iconvfrom'</tt><tt class="py-op">:</tt> <tt class="py-string">'UTF-8'</tt><tt class="py-op">,</tt> <tt class="py-string">'useiconv'</tt><tt class="py-op">:</tt> <tt class="py-name">False</tt><tt class="py-op">,</tt> </tt>
-<a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line">    <tt class="py-string">'usesshproxy'</tt><tt class="py-op">:</tt> <tt class="py-name">False</tt><tt class="py-op">,</tt> <tt class="py-string">'sshproxyhost'</tt><tt class="py-op">:</tt> <tt class="py-string">''</tt><tt class="py-op">,</tt> <tt class="py-string">'sshproxyuser'</tt><tt class="py-op">:</tt> <tt class="py-string">''</tt><tt class="py-op">,</tt> <tt class="py-string">'sshproxytunnel'</tt><tt class="py-op">:</tt> <tt class="py-string">''</tt><tt class="py-op">,</tt> <tt class="py-string">'sshproxykeyfile'</tt><tt class="py-op">:</tt> <tt class="py-string">''</tt><tt class="py-op">,</tt> </tt>
-<a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line">    <tt class="py-string">'useexports'</tt><tt class="py-op">:</tt> <tt class="py-name">True</tt><tt class="py-op">,</tt> <tt class="py-string">'fstunnel'</tt><tt class="py-op">:</tt> <tt class="py-name">True</tt><tt class="py-op">,</tt> <tt class="py-string">'export'</tt><tt class="py-op">:</tt> <tt class="py-string">''</tt><tt class="py-op">,</tt> </tt>
-<a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line">    <tt class="py-string">'usedropbox'</tt><tt class="py-op">:</tt> <tt class="py-name">False</tt><tt class="py-op">,</tt> <tt class="py-string">'dropboxextensions'</tt><tt class="py-op">:</tt> <tt class="py-string">''</tt><tt class="py-op">,</tt> <tt class="py-string">'dropboxaction'</tt><tt class="py-op">:</tt> <tt class="py-string">'OPEN'</tt><tt class="py-op">,</tt> </tt>
-<a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line">    <tt class="py-string">'fullscreen'</tt><tt class="py-op">:</tt> <tt class="py-name">False</tt><tt class="py-op">,</tt> </tt>
-<a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line">    <tt class="py-string">'width'</tt><tt class="py-op">:</tt> <tt class="py-number">800</tt><tt class="py-op">,</tt><tt class="py-string">'height'</tt><tt class="py-op">:</tt> <tt class="py-number">600</tt><tt class="py-op">,</tt><tt class="py-string">'dpi'</tt><tt class="py-op">:</tt> <tt class="py-number">96</tt><tt class="py-op">,</tt><tt class="py-string">'setdpi'</tt><tt class="py-op">:</tt> <tt class="py-name">False</tt><tt class="py-op">,</tt> </tt>
-<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line">    <tt class="py-string">'usekbd'</tt><tt class="py-op">:</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt class="py-string">'layout'</tt><tt class="py-op">:</tt> <tt class="py-string">'us'</tt><tt class="py-op">,</tt> <tt class="py-string">'type'</tt><tt class="py-op">:</tt> <tt class="py-string">'pc105/us'</tt><tt class="py-op">,</tt> </tt>
-<a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line">    <tt class="py-string">'sound'</tt><tt class="py-op">:</tt><tt class="py-name">False</tt><tt class="py-op">,</tt> <tt class="py-string">'soundsystem'</tt><tt class="py-op">:</tt> <tt class="py-string">'pulse'</tt><tt class="py-op">,</tt> <tt class="py-string">'startsoundsystem'</tt><tt class="py-op">:</tt> <tt class="py-name">False</tt><tt class="py-op">,</tt> <tt class="py-string">'soundtunnel'</tt><tt class="py-op">:</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt class="py-string">'defsndport'</tt><tt class="py-op">:</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt class="py-string">'sndport'</tt><tt class="py-op">:</tt><tt class="py-number">4713</tt><tt class="py-op">,</tt>  </tt>
-<a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line">    <tt class="py-string">'name'</tt><tt class="py-op">:</tt> <tt class="py-string">''</tt><tt class="py-op">,</tt> <tt class="py-string">'icon'</tt><tt class="py-op">:</tt> <tt class="py-string">':icons/128x128/x2gosession.png'</tt><tt class="py-op">,</tt>  </tt>
-<a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line">    <tt class="py-string">'host'</tt><tt class="py-op">:</tt> <tt class="py-string">''</tt><tt class="py-op">,</tt> <tt class="py-string">'user'</tt><tt class="py-op">:</tt> <tt id="link-84" class="py-name"><a title="x2go.defaults.CURRENT_LOCAL_USER" class="py-name" href="#" onclick="return doclink('link-84', 'CURRENT_LOCAL_USER', 'link-10');">CURRENT_LOCAL_USER</a></tt><tt class="py-op">,</tt> <tt class="py-string">'key'</tt><tt class="py-op">:</tt> <tt class="py-string">''</tt><tt class="py-op">,</tt> <tt class="py-string">'sshport'</tt><tt class="py-op">:</tt> <tt class="py-number">22</tt><tt class="py-op">,</tt> </tt>
-<a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line">    <tt class="py-string">'rootless'</tt><tt class="py-op">:</tt> <tt class="py-name">True</tt><tt class="py-op">,</tt> <tt class="py-string">'applications'</tt><tt class="py-op">:</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt id="link-85" class="py-name"><a title="x2go.defaults.X2GO_GENERIC_APPLICATIONS" class="py-name" href="#" onclick="return doclink('link-85', 'X2GO_GENERIC_APPLICATIONS', 'link-82');">X2GO_GENERIC_APPLICATIONS</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">'command'</tt><tt class="py-op">:</tt><tt class="py-string">'TERMINAL'</tt><tt class="py-op">,</tt> </tt>
-<a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line">    <tt class="py-string">'rdpoptions'</tt><tt class="py-op">:</tt> <tt class="py-string">'-u X2GO_USER -p X2GO_PASSWORD'</tt><tt class="py-op">,</tt> <tt class="py-string">'rdpserver'</tt><tt class="py-op">:</tt> <tt class="py-string">''</tt><tt class="py-op">,</tt> </tt>
-<a name="L267"></a><tt class="py-lineno">267</tt>  <tt class="py-line">    <tt class="py-string">'print'</tt><tt class="py-op">:</tt> <tt class="py-name">False</tt><tt class="py-op">,</tt> </tt>
-<a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line">    <tt class="py-string">'xdmcpserver'</tt><tt class="py-op">:</tt> <tt class="py-string">'localhost'</tt><tt class="py-op">,</tt> </tt>
-<a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line">    <tt class="py-op">}</tt> </tt>
-<a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line"><tt class="py-string">"""L{X2goSessionProfiles} default values to fill a new session profile with."""</tt> </tt>
-<a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line"><tt class="py-comment">##</tt> </tt>
-<a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line"><tt class="py-comment">## X2go Proxy defaults</tt> </tt>
-<a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line"><tt class="py-comment">##</tt> </tt>
-<a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line"> </tt>
-<a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line"><tt class="py-comment"># here is a list of NX 3.x compression methods, this is the "%"-hashed list that</tt> </tt>
-<a name="L276"></a><tt class="py-lineno">276</tt>  <tt class="py-line"><tt class="py-comment"># can also be used for printing in help texts, docs etc.</tt> </tt>
-<a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line"><tt class="py-comment"># The "%"-sign can be replaced by digits 0-9.</tt> </tt>
-<a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line"><tt id="link-86" class="py-name" targets="Variable x2go.defaults.pack_methods_nx3=x2go.defaults-module.html#pack_methods_nx3"><a title="x2go.defaults.pack_methods_nx3" class="py-name" href="#" onclick="return doclink('link-86', 'pack_methods_nx3', 'link-86');">pack_methods_nx3</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">'nopack'</tt><tt class="py-op">,</tt><tt class="py-string">'8'</tt><tt class="py-op">,</tt><tt class="py-string">'64'</tt><tt class="py-op">,</tt><tt class="py-string">'256'</tt><tt class="py-op">,</tt><tt class="py-string">'512'</tt><tt class="py-op">,</tt><tt class="py-string">'4k'</tt><tt class="py-op">,</tt><tt class="py-string">'32k'</tt><tt class="py-op">,</tt><tt class="py-string">'64k'</tt><tt class="py-op">,</tt><tt class="py-string">'256k'</tt><tt class="py-op">,</tt><tt class="py-string">'2m'</tt><tt class="py-op">,</tt><tt class="py-string">'
 16m'</tt
 ><tt class="py-op">,</tt> </tt>
-<a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line">                <tt class="py-string">'256-rdp'</tt><tt class="py-op">,</tt><tt class="py-string">'256-rdp-compressed'</tt><tt class="py-op">,</tt><tt class="py-string">'32k-rdp'</tt><tt class="py-op">,</tt><tt class="py-string">'32k-rdp-compressed'</tt><tt class="py-op">,</tt><tt class="py-string">'64k-rdp'</tt><tt class="py-op">,</tt> </tt>
-<a name="L280"></a><tt class="py-lineno">280</tt>  <tt class="py-line">                <tt class="py-string">'64k-rdp-compressed'</tt><tt class="py-op">,</tt><tt class="py-string">'16m-rdp'</tt><tt class="py-op">,</tt><tt class="py-string">'16m-rdp-compressed'</tt><tt class="py-op">,</tt> </tt>
-<a name="L281"></a><tt class="py-lineno">281</tt>  <tt class="py-line">                <tt class="py-string">'rfb-hextile'</tt><tt class="py-op">,</tt><tt class="py-string">'rfb-tight'</tt><tt class="py-op">,</tt><tt class="py-string">'rfb-tight-compressed'</tt><tt class="py-op">,</tt> </tt>
-<a name="L282"></a><tt class="py-lineno">282</tt>  <tt class="py-line">                <tt class="py-string">'8-tight'</tt><tt class="py-op">,</tt><tt class="py-string">'64-tight'</tt><tt class="py-op">,</tt><tt class="py-string">'256-tight'</tt><tt class="py-op">,</tt><tt class="py-string">'512-tight'</tt><tt class="py-op">,</tt><tt class="py-string">'4k-tight'</tt><tt class="py-op">,</tt><tt class="py-string">'32k-tight'</tt><tt class="py-op">,</tt> </tt>
-<a name="L283"></a><tt class="py-lineno">283</tt>  <tt class="py-line">                <tt class="py-string">'64k-tight'</tt><tt class="py-op">,</tt><tt class="py-string">'256k-tight'</tt><tt class="py-op">,</tt><tt class="py-string">'2m-tight'</tt><tt class="py-op">,</tt><tt class="py-string">'16m-tight'</tt><tt class="py-op">,</tt> </tt>
-<a name="L284"></a><tt class="py-lineno">284</tt>  <tt class="py-line">                <tt class="py-string">'8-jpeg-%'</tt><tt class="py-op">,</tt><tt class="py-string">'64-jpeg'</tt><tt class="py-op">,</tt><tt class="py-string">'256-jpeg'</tt><tt class="py-op">,</tt><tt class="py-string">'512-jpeg'</tt><tt class="py-op">,</tt><tt class="py-string">'4k-jpeg'</tt><tt class="py-op">,</tt><tt class="py-string">'32k-jpeg'</tt><tt class="py-op">,</tt> </tt>
-<a name="L285"></a><tt class="py-lineno">285</tt>  <tt class="py-line">                <tt class="py-string">'64k-jpeg'</tt><tt class="py-op">,</tt><tt class="py-string">'256k-jpeg'</tt><tt class="py-op">,</tt><tt class="py-string">'2m-jpeg'</tt><tt class="py-op">,</tt><tt class="py-string">'16m-jpeg-%'</tt><tt class="py-op">,</tt> </tt>
-<a name="L286"></a><tt class="py-lineno">286</tt>  <tt class="py-line">                <tt class="py-string">'8-png-jpeg-%'</tt><tt class="py-op">,</tt><tt class="py-string">'64-png-jpeg'</tt><tt class="py-op">,</tt><tt class="py-string">'256-png-jpeg'</tt><tt class="py-op">,</tt><tt class="py-string">'512-png-jpeg'</tt><tt class="py-op">,</tt><tt class="py-string">'4k-png-jpeg'</tt><tt class="py-op">,</tt> </tt>
-<a name="L287"></a><tt class="py-lineno">287</tt>  <tt class="py-line">                <tt class="py-string">'32k-png-jpeg'</tt><tt class="py-op">,</tt><tt class="py-string">'64k-png-jpeg'</tt><tt class="py-op">,</tt><tt class="py-string">'256k-png-jpeg'</tt><tt class="py-op">,</tt><tt class="py-string">'2m-png-jpeg'</tt><tt class="py-op">,</tt><tt class="py-string">'16m-png-jpeg-%'</tt><tt class="py-op">,</tt> </tt>
-<a name="L288"></a><tt class="py-lineno">288</tt>  <tt class="py-line">                <tt class="py-string">'8-png-%'</tt><tt class="py-op">,</tt><tt class="py-string">'64-png'</tt><tt class="py-op">,</tt><tt class="py-string">'256-png'</tt><tt class="py-op">,</tt><tt class="py-string">'512-png'</tt><tt class="py-op">,</tt><tt class="py-string">'4k-Apng'</tt><tt class="py-op">,</tt> </tt>
-<a name="L289"></a><tt class="py-lineno">289</tt>  <tt class="py-line">                <tt class="py-string">'32k-png'</tt><tt class="py-op">,</tt><tt class="py-string">'64k-png'</tt><tt class="py-op">,</tt><tt class="py-string">'256k-png'</tt><tt class="py-op">,</tt><tt class="py-string">'2m-png'</tt><tt class="py-op">,</tt><tt class="py-string">'16m-png-%'</tt><tt class="py-op">,</tt> </tt>
-<a name="L290"></a><tt class="py-lineno">290</tt>  <tt class="py-line">                <tt class="py-string">'16m-rgb-%'</tt><tt class="py-op">,</tt><tt class="py-string">'16m-rle-%'</tt><tt class="py-op">,</tt><tt class="py-op">]</tt> </tt>
-<a name="L291"></a><tt class="py-lineno">291</tt>  <tt class="py-line"><tt class="py-string">"""Available NX3 compression methods."""</tt> </tt>
-<a name="L292"></a><tt class="py-lineno">292</tt>  <tt class="py-line"> </tt>
-<a name="L293"></a><tt class="py-lineno">293</tt>  <tt class="py-line"><tt class="py-comment"># use for printing on screen...</tt> </tt>
-<a name="L294"></a><tt class="py-lineno">294</tt>  <tt class="py-line"><tt id="link-87" class="py-name" targets="Variable x2go.defaults.pack_methods_nx3_formatted=x2go.defaults-module.html#pack_methods_nx3_formatted"><a title="x2go.defaults.pack_methods_nx3_formatted" class="py-name" href="#" onclick="return doclink('link-87', 'pack_methods_nx3_formatted', 'link-87');">pack_methods_nx3_formatted</a></tt><tt class="py-op">=</tt><tt class="py-string">"""</tt> </tt>
-<a name="L295"></a><tt class="py-lineno">295</tt>  <tt class="py-line"><tt class="py-string">    \'%s\'</tt> </tt>
-<a name="L296"></a><tt class="py-lineno">296</tt>  <tt class="py-line"><tt class="py-string">    \'%s\'</tt> </tt>
-<a name="L297"></a><tt class="py-lineno">297</tt>  <tt class="py-line"><tt class="py-string">    \'%s\'</tt> </tt>
-<a name="L298"></a><tt class="py-lineno">298</tt>  <tt class="py-line"><tt class="py-string">    \'%s\'</tt> </tt>
+<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">    <tt class="py-string">'save'</tt><tt class="py-op">:</tt> <tt class="py-op">{</tt> </tt>
+<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">        <tt class="py-comment"># a path relative to the user's home directory</tt> </tt>
+<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">        <tt class="py-string">'folder'</tt><tt class="py-op">:</tt> <tt class="py-string">'PDF'</tt><tt class="py-op">,</tt> </tt>
+<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line">    <tt class="py-op">}</tt><tt class="py-op">,</tt> </tt>
+<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line">    <tt class="py-string">'view'</tt><tt class="py-op">:</tt> <tt class="py-op">{</tt> </tt>
+<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line">        <tt class="py-comment"># If General->pdfview is true: </tt> </tt>
+<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line">        <tt class="py-comment">#   if open is true, the PDF viewer command is executed</tt> </tt>
+<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line">        <tt class="py-comment">#   if open is false, the incoming print job is saved in ~/PDF folder </tt> </tt>
+<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line">        <tt class="py-string">'open'</tt><tt class="py-op">:</tt> <tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line">        <tt class="py-comment"># command to execute as PDF viewer</tt> </tt>
+<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line">        <tt class="py-string">'command'</tt><tt class="py-op">:</tt> <tt class="py-string">'xpdf'</tt><tt class="py-op">,</tt> </tt>
+<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line">        <tt class="py-op">}</tt><tt class="py-op">,</tt> </tt>
+<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line">    <tt class="py-string">'CUPS'</tt><tt class="py-op">:</tt> <tt class="py-op">{</tt> </tt>
+<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line">        <tt class="py-comment"># default print queue for CUPS, if print queue does not exist, the default </tt> </tt>
+<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line">        <tt class="py-comment"># CUPS queue is detected</tt> </tt>
+<a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line">        <tt class="py-string">'defaultprinter'</tt><tt class="py-op">:</tt> <tt class="py-string">'PDF'</tt><tt class="py-op">,</tt> </tt>
+<a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line">        <tt class="py-op">}</tt><tt class="py-op">,</tt> </tt>
+<a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line">    <tt class="py-op">}</tt> </tt>
+<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line"><tt class="py-keyword">if</tt> <tt id="link-79" class="py-name"><a title="x2go.defaults.X2GOCLIENT_OS" class="py-name" href="#" onclick="return doclink('link-79', 'X2GOCLIENT_OS', 'link-1');">X2GOCLIENT_OS</a></tt> <tt class="py-op">==</tt> <tt class="py-string">'Windows'</tt><tt class="py-op">:</tt> </tt>
+<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line">    <tt id="link-80" class="py-name" targets="Variable x2go.defaults.X2GO_CLIENTXCONFIG_DEFAULTS=x2go.defaults-module.html#X2GO_CLIENTXCONFIG_DEFAULTS"><a title="x2go.defaults.X2GO_CLIENTXCONFIG_DEFAULTS" class="py-name" href="#" onclick="return doclink('link-80', 'X2GO_CLIENTXCONFIG_DEFAULTS', 'link-80');">X2GO_CLIENTXCONFIG_DEFAULTS</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
+<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line">        <tt class="py-string">'XServers'</tt><tt class="py-op">:</tt> <tt class="py-op">{</tt> </tt>
+<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line">            <tt class="py-string">'known_xservers'</tt><tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-string">'VcXsrv'</tt><tt class="py-op">,</tt> <tt class="py-string">'Xming'</tt><tt class="py-op">,</tt> <tt class="py-string">'Cygwin-X'</tt><tt class="py-op">,</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line">        <tt class="py-op">}</tt><tt class="py-op">,</tt> </tt>
+<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line">        <tt class="py-string">'Cygwin-X'</tt><tt class="py-op">:</tt> <tt class="py-op">{</tt> </tt>
+<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line">            <tt class="py-string">'display'</tt><tt class="py-op">:</tt> <tt class="py-string">'localhost:40'</tt><tt class="py-op">,</tt> </tt>
+<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line">            <tt class="py-string">'process_name'</tt><tt class="py-op">:</tt> <tt class="py-string">'XWin.exe'</tt><tt class="py-op">,</tt> </tt>
+<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line">            <tt class="py-string">'test_installed'</tt><tt class="py-op">:</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">environ</tt><tt class="py-op">[</tt><tt class="py-string">'SystemDrive'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">'\\'</tt><tt class="py-op">,</tt> <tt class="py-string">'cygwin'</tt><tt class="py-op">,</tt> <tt class="py-string">'bin'</tt><tt class="py-op">,</tt> <tt class="py-string">'XWin.exe'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line">            <tt class="py-string">'run_command'</tt><tt class="py-op">:</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">environ</tt><tt class="py-op">[</tt><tt class="py-string">'SystemDrive'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">'\\'</tt><tt class="py-op">,</tt> <tt class="py-string">'cygwin'</tt><tt class="py-op">,</tt> <tt class="py-string">'bin'</tt><tt class="py-op">,</tt> <tt class="py-string">'XWin.exe'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line">            <tt class="py-string">'parameters'</tt><tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-string">':40'</tt><tt class="py-op">,</tt> <tt class="py-string">'-clipboard'</tt><tt class="py-op">,</tt> <tt class="py-string">'-multiwindow'</tt><tt class="py-op">,</tt> <tt class="py-string">'-notrayicon'</tt><tt class="py-op">,</tt> <tt class="py-string">'-nowinkill'</tt><tt class="py-op">,</tt> <tt class="py-string">'-nounixkill'</tt><tt class="py-op">,</tt> <tt class="py-string">'-swcursor'</tt><tt class="py-op">,</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line">            <tt class="py-op">}</tt><tt class="py-op">,</tt> </tt>
+<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line">        <tt class="py-string">'VcXsrv'</tt><tt class="py-op">:</tt> <tt class="py-op">{</tt> </tt>
+<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line">            <tt class="py-string">'display'</tt><tt class="py-op">:</tt> <tt class="py-string">'localhost:40'</tt><tt class="py-op">,</tt> </tt>
+<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line">            <tt class="py-string">'process_name'</tt><tt class="py-op">:</tt> <tt class="py-string">'vcxsrv.exe'</tt><tt class="py-op">,</tt> </tt>
+<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line">            <tt class="py-string">'test_installed'</tt><tt class="py-op">:</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">environ</tt><tt class="py-op">[</tt><tt class="py-string">'ProgramFiles'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">'VcXsrv'</tt><tt class="py-op">,</tt> <tt class="py-string">'vcxsrv.exe'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>  </tt>
+<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line">            <tt class="py-string">'run_command'</tt><tt class="py-op">:</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">environ</tt><tt class="py-op">[</tt><tt class="py-string">'ProgramFiles'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">'VcXsrv'</tt><tt class="py-op">,</tt> <tt class="py-string">'vcxsrv.exe'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line">            <tt class="py-string">'parameters'</tt><tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-string">':40'</tt><tt class="py-op">,</tt> <tt class="py-string">'-clipboard'</tt><tt class="py-op">,</tt> <tt class="py-string">'-multiwindow'</tt><tt class="py-op">,</tt> <tt class="py-string">'-notrayicon'</tt><tt class="py-op">,</tt> <tt class="py-string">'-nowinkill'</tt><tt class="py-op">,</tt> <tt class="py-string">'-nounixkill'</tt><tt class="py-op">,</tt> <tt class="py-string">'-swcursor'</tt><tt class="py-op">,</tt> <tt class="py-string">'-wgl'</tt><tt class="py-op">,</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line">            <tt class="py-op">}</tt><tt class="py-op">,</tt> </tt>
+<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line">        <tt class="py-string">'Xming'</tt><tt class="py-op">:</tt> <tt class="py-op">{</tt> </tt>
+<a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line">            <tt class="py-string">'display'</tt><tt class="py-op">:</tt> <tt class="py-string">'localhost:40'</tt><tt class="py-op">,</tt> </tt>
+<a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line">            <tt class="py-string">'process_name'</tt><tt class="py-op">:</tt> <tt class="py-string">'Xming.exe'</tt><tt class="py-op">,</tt> </tt>
+<a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line">            <tt class="py-string">'test_installed'</tt><tt class="py-op">:</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">environ</tt><tt class="py-op">[</tt><tt class="py-string">'ProgramFiles'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">'Xming'</tt><tt class="py-op">,</tt> <tt class="py-string">'Xming.exe'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>  </tt>
+<a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line">            <tt class="py-string">'run_command'</tt><tt class="py-op">:</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">environ</tt><tt class="py-op">[</tt><tt class="py-string">'ProgramFiles'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">'Xming'</tt><tt class="py-op">,</tt> <tt class="py-string">'Xming.exe'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line">            <tt class="py-string">'parameters'</tt><tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-string">':40'</tt><tt class="py-op">,</tt> <tt class="py-string">'-clipboard'</tt><tt class="py-op">,</tt> <tt class="py-string">'-multiwindow'</tt><tt class="py-op">,</tt> <tt class="py-string">'-notrayicon'</tt><tt class="py-op">,</tt> <tt class="py-string">'-nowinkill'</tt><tt class="py-op">,</tt> <tt class="py-string">'-nounixkill'</tt><tt class="py-op">,</tt> <tt class="py-string">'-swcursor'</tt><tt class="py-op">,</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line">            <tt class="py-op">}</tt><tt class="py-op">,</tt> </tt>
+<a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line">        <tt class="py-op">}</tt> </tt>
+<a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line"><tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line">    <tt class="py-comment"># make the variable available when building API documentation with epydoc</tt> </tt>
+<a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line">    <tt id="link-81" class="py-name"><a title="x2go.defaults.X2GO_CLIENTXCONFIG_DEFAULTS" class="py-name" href="#" onclick="return doclink('link-81', 'X2GO_CLIENTXCONFIG_DEFAULTS', 'link-80');">X2GO_CLIENTXCONFIG_DEFAULTS</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line"> </tt>
+<a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line"><tt id="link-82" class="py-name" targets="Variable x2go.defaults.X2GO_GENERIC_APPLICATIONS=x2go.defaults-module.html#X2GO_GENERIC_APPLICATIONS"><a title="x2go.defaults.X2GO_GENERIC_APPLICATIONS" class="py-name" href="#" onclick="return doclink('link-82', 'X2GO_GENERIC_APPLICATIONS', 'link-82');">X2GO_GENERIC_APPLICATIONS</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-string">'WWWBROWSER'</tt><tt class="py-op">,</tt> <tt class="py-string">'MAILCLIENT'</tt><tt class="py-op">,</tt> <tt class="py-string">'OFFICE'</tt><tt class="py-op">,</tt> <tt class="py-string">'TERMINAL'</tt><tt class="py-op">,</tt> <tt class="py-op">]</tt> </tt>
+<a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line"> </tt>
+<a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line"><tt id="link-83" class="py-name" targets="Variable x2go.defaults.X2GO_SESSIONPROFILE_DEFAULTS=x2go.defaults-module.html#X2GO_SESSIONPROFILE_DEFAULTS"><a title="x2go.defaults.X2GO_SESSIONPROFILE_DEFAULTS" class="py-name" href="#" onclick="return doclink('link-83', 'X2GO_SESSIONPROFILE_DEFAULTS', 'link-83');">X2GO_SESSIONPROFILE_DEFAULTS</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
+<a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line">    <tt class="py-string">'speed'</tt><tt class="py-op">:</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'pack'</tt><tt class="py-op">:</tt> <tt class="py-string">'16m-jpeg'</tt><tt class="py-op">,</tt> <tt class="py-string">'quality'</tt><tt class="py-op">:</tt> <tt class="py-number">9</tt><tt class="py-op">,</tt> </tt>
+<a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line">    <tt class="py-string">'iconvto'</tt><tt class="py-op">:</tt> <tt class="py-string">'UTF-8'</tt><tt class="py-op">,</tt> <tt class="py-string">'iconvfrom'</tt><tt class="py-op">:</tt> <tt class="py-string">'UTF-8'</tt><tt class="py-op">,</tt> <tt class="py-string">'useiconv'</tt><tt class="py-op">:</tt> <tt class="py-name">False</tt><tt class="py-op">,</tt> </tt>
+<a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line">    <tt class="py-string">'usesshproxy'</tt><tt class="py-op">:</tt> <tt class="py-name">False</tt><tt class="py-op">,</tt> <tt class="py-string">'sshproxyhost'</tt><tt class="py-op">:</tt> <tt class="py-string">''</tt><tt class="py-op">,</tt> <tt class="py-string">'sshproxyuser'</tt><tt class="py-op">:</tt> <tt class="py-string">''</tt><tt class="py-op">,</tt> <tt class="py-string">'sshproxytunnel'</tt><tt class="py-op">:</tt> <tt class="py-string">''</tt><tt class="py-op">,</tt> <tt class="py-string">'sshproxykeyfile'</tt><tt class="py-op">:</tt> <tt class="py-string">''</tt><tt class="py-op">,</tt> </tt>
+<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line">    <tt class="py-string">'useexports'</tt><tt class="py-op">:</tt> <tt class="py-name">True</tt><tt class="py-op">,</tt> <tt class="py-string">'fstunnel'</tt><tt class="py-op">:</tt> <tt class="py-name">True</tt><tt class="py-op">,</tt> <tt class="py-string">'export'</tt><tt class="py-op">:</tt> <tt class="py-string">''</tt><tt class="py-op">,</tt> </tt>
+<a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line">    <tt class="py-string">'usedropbox'</tt><tt class="py-op">:</tt> <tt class="py-name">False</tt><tt class="py-op">,</tt> <tt class="py-string">'dropboxextensions'</tt><tt class="py-op">:</tt> <tt class="py-string">''</tt><tt class="py-op">,</tt> <tt class="py-string">'dropboxaction'</tt><tt class="py-op">:</tt> <tt class="py-string">'OPEN'</tt><tt class="py-op">,</tt> </tt>
+<a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line">    <tt class="py-string">'fullscreen'</tt><tt class="py-op">:</tt> <tt class="py-name">False</tt><tt class="py-op">,</tt> </tt>
+<a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line">    <tt class="py-string">'width'</tt><tt class="py-op">:</tt> <tt class="py-number">800</tt><tt class="py-op">,</tt><tt class="py-string">'height'</tt><tt class="py-op">:</tt> <tt class="py-number">600</tt><tt class="py-op">,</tt><tt class="py-string">'dpi'</tt><tt class="py-op">:</tt> <tt class="py-number">96</tt><tt class="py-op">,</tt><tt class="py-string">'setdpi'</tt><tt class="py-op">:</tt> <tt class="py-name">False</tt><tt class="py-op">,</tt> </tt>
+<a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line">    <tt class="py-string">'usekbd'</tt><tt class="py-op">:</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt class="py-string">'layout'</tt><tt class="py-op">:</tt> <tt class="py-string">'us'</tt><tt class="py-op">,</tt> <tt class="py-string">'type'</tt><tt class="py-op">:</tt> <tt class="py-string">'pc105/us'</tt><tt class="py-op">,</tt> </tt>
+<a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line">    <tt class="py-string">'sound'</tt><tt class="py-op">:</tt><tt class="py-name">False</tt><tt class="py-op">,</tt> <tt class="py-string">'soundsystem'</tt><tt class="py-op">:</tt> <tt class="py-string">'pulse'</tt><tt class="py-op">,</tt> <tt class="py-string">'startsoundsystem'</tt><tt class="py-op">:</tt> <tt class="py-name">False</tt><tt class="py-op">,</tt> <tt class="py-string">'soundtunnel'</tt><tt class="py-op">:</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt class="py-string">'defsndport'</tt><tt class="py-op">:</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt class="py-string">'sndport'</tt><tt class="py-op">:</tt><tt class="py-number">4713</tt><tt class="py-op">,</tt>  </tt>
+<a name="L267"></a><tt class="py-lineno">267</tt>  <tt class="py-line">    <tt class="py-string">'name'</tt><tt class="py-op">:</tt> <tt class="py-string">''</tt><tt class="py-op">,</tt> <tt class="py-string">'icon'</tt><tt class="py-op">:</tt> <tt class="py-string">':icons/128x128/x2gosession.png'</tt><tt class="py-op">,</tt>  </tt>
+<a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line">    <tt class="py-string">'host'</tt><tt class="py-op">:</tt> <tt class="py-string">''</tt><tt class="py-op">,</tt> <tt class="py-string">'user'</tt><tt class="py-op">:</tt> <tt id="link-84" class="py-name"><a title="x2go.defaults.CURRENT_LOCAL_USER" class="py-name" href="#" onclick="return doclink('link-84', 'CURRENT_LOCAL_USER', 'link-10');">CURRENT_LOCAL_USER</a></tt><tt class="py-op">,</tt> <tt class="py-string">'key'</tt><tt class="py-op">:</tt> <tt class="py-string">''</tt><tt class="py-op">,</tt> <tt class="py-string">'sshport'</tt><tt class="py-op">:</tt> <tt class="py-number">22</tt><tt class="py-op">,</tt> </tt>
+<a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line">    <tt class="py-string">'rootless'</tt><tt class="py-op">:</tt> <tt class="py-name">True</tt><tt class="py-op">,</tt> <tt class="py-string">'applications'</tt><tt class="py-op">:</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt id="link-85" class="py-name"><a title="x2go.defaults.X2GO_GENERIC_APPLICATIONS" class="py-name" href="#" onclick="return doclink('link-85', 'X2GO_GENERIC_APPLICATIONS', 'link-82');">X2GO_GENERIC_APPLICATIONS</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">'command'</tt><tt class="py-op">:</tt><tt class="py-string">'TERMINAL'</tt><tt class="py-op">,</tt> </tt>
+<a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line">    <tt class="py-string">'rdpoptions'</tt><tt class="py-op">:</tt> <tt class="py-string">'-u X2GO_USER -p X2GO_PASSWORD'</tt><tt class="py-op">,</tt> <tt class="py-string">'rdpserver'</tt><tt class="py-op">:</tt> <tt class="py-string">''</tt><tt class="py-op">,</tt> </tt>
+<a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line">    <tt class="py-string">'print'</tt><tt class="py-op">:</tt> <tt class="py-name">False</tt><tt class="py-op">,</tt> </tt>
+<a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line">    <tt class="py-string">'xdmcpserver'</tt><tt class="py-op">:</tt> <tt class="py-string">'localhost'</tt><tt class="py-op">,</tt> </tt>
+<a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line">    <tt class="py-op">}</tt> </tt>
+<a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line"><tt class="py-string">"""L{X2goSessionProfiles} default values to fill a new session profile with."""</tt> </tt>
+<a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line"><tt class="py-comment">##</tt> </tt>
+<a name="L276"></a><tt class="py-lineno">276</tt>  <tt class="py-line"><tt class="py-comment">## X2go Proxy defaults</tt> </tt>
+<a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line"><tt class="py-comment">##</tt> </tt>
+<a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line"> </tt>
+<a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line"><tt class="py-comment"># here is a list of NX 3.x compression methods, this is the "%"-hashed list that</tt> </tt>
+<a name="L280"></a><tt class="py-lineno">280</tt>  <tt class="py-line"><tt class="py-comment"># can also be used for printing in help texts, docs etc.</tt> </tt>
+<a name="L281"></a><tt class="py-lineno">281</tt>  <tt class="py-line"><tt class="py-comment"># The "%"-sign can be replaced by digits 0-9.</tt> </tt>
+<a name="L282"></a><tt class="py-lineno">282</tt>  <tt class="py-line"><tt id="link-86" class="py-name" targets="Variable x2go.defaults.pack_methods_nx3=x2go.defaults-module.html#pack_methods_nx3"><a title="x2go.defaults.pack_methods_nx3" class="py-name" href="#" onclick="return doclink('link-86', 'pack_methods_nx3', 'link-86');">pack_methods_nx3</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">'nopack'</tt><tt class="py-op">,</tt><tt class="py-string">'8'</tt><tt class="py-op">,</tt><tt class="py-string">'64'</tt><tt class="py-op">,</tt><tt class="py-string">'256'</tt><tt class="py-op">,</tt><tt class="py-string">'512'</tt><tt class="py-op">,</tt><tt class="py-string">'4k'</tt><tt class="py-op">,</tt><tt class="py-string">'32k'</tt><tt class="py-op">,</tt><tt class="py-string">'64k'</tt><tt class="py-op">,</tt><tt class="py-string">'256k'</tt><tt class="py-op">,</tt><tt class="py-string">'2m'</tt><tt class="py-op">,</tt><tt class="py-string">'
 16m'</tt
 ><tt class="py-op">,</tt> </tt>
+<a name="L283"></a><tt class="py-lineno">283</tt>  <tt class="py-line">                <tt class="py-string">'256-rdp'</tt><tt class="py-op">,</tt><tt class="py-string">'256-rdp-compressed'</tt><tt class="py-op">,</tt><tt class="py-string">'32k-rdp'</tt><tt class="py-op">,</tt><tt class="py-string">'32k-rdp-compressed'</tt><tt class="py-op">,</tt><tt class="py-string">'64k-rdp'</tt><tt class="py-op">,</tt> </tt>
+<a name="L284"></a><tt class="py-lineno">284</tt>  <tt class="py-line">                <tt class="py-string">'64k-rdp-compressed'</tt><tt class="py-op">,</tt><tt class="py-string">'16m-rdp'</tt><tt class="py-op">,</tt><tt class="py-string">'16m-rdp-compressed'</tt><tt class="py-op">,</tt> </tt>
+<a name="L285"></a><tt class="py-lineno">285</tt>  <tt class="py-line">                <tt class="py-string">'rfb-hextile'</tt><tt class="py-op">,</tt><tt class="py-string">'rfb-tight'</tt><tt class="py-op">,</tt><tt class="py-string">'rfb-tight-compressed'</tt><tt class="py-op">,</tt> </tt>
+<a name="L286"></a><tt class="py-lineno">286</tt>  <tt class="py-line">                <tt class="py-string">'8-tight'</tt><tt class="py-op">,</tt><tt class="py-string">'64-tight'</tt><tt class="py-op">,</tt><tt class="py-string">'256-tight'</tt><tt class="py-op">,</tt><tt class="py-string">'512-tight'</tt><tt class="py-op">,</tt><tt class="py-string">'4k-tight'</tt><tt class="py-op">,</tt><tt class="py-string">'32k-tight'</tt><tt class="py-op">,</tt> </tt>
+<a name="L287"></a><tt class="py-lineno">287</tt>  <tt class="py-line">                <tt class="py-string">'64k-tight'</tt><tt class="py-op">,</tt><tt class="py-string">'256k-tight'</tt><tt class="py-op">,</tt><tt class="py-string">'2m-tight'</tt><tt class="py-op">,</tt><tt class="py-string">'16m-tight'</tt><tt class="py-op">,</tt> </tt>
+<a name="L288"></a><tt class="py-lineno">288</tt>  <tt class="py-line">                <tt class="py-string">'8-jpeg-%'</tt><tt class="py-op">,</tt><tt class="py-string">'64-jpeg'</tt><tt class="py-op">,</tt><tt class="py-string">'256-jpeg'</tt><tt class="py-op">,</tt><tt class="py-string">'512-jpeg'</tt><tt class="py-op">,</tt><tt class="py-string">'4k-jpeg'</tt><tt class="py-op">,</tt><tt class="py-string">'32k-jpeg'</tt><tt class="py-op">,</tt> </tt>
+<a name="L289"></a><tt class="py-lineno">289</tt>  <tt class="py-line">                <tt class="py-string">'64k-jpeg'</tt><tt class="py-op">,</tt><tt class="py-string">'256k-jpeg'</tt><tt class="py-op">,</tt><tt class="py-string">'2m-jpeg'</tt><tt class="py-op">,</tt><tt class="py-string">'16m-jpeg-%'</tt><tt class="py-op">,</tt> </tt>
+<a name="L290"></a><tt class="py-lineno">290</tt>  <tt class="py-line">                <tt class="py-string">'8-png-jpeg-%'</tt><tt class="py-op">,</tt><tt class="py-string">'64-png-jpeg'</tt><tt class="py-op">,</tt><tt class="py-string">'256-png-jpeg'</tt><tt class="py-op">,</tt><tt class="py-string">'512-png-jpeg'</tt><tt class="py-op">,</tt><tt class="py-string">'4k-png-jpeg'</tt><tt class="py-op">,</tt> </tt>
+<a name="L291"></a><tt class="py-lineno">291</tt>  <tt class="py-line">                <tt class="py-string">'32k-png-jpeg'</tt><tt class="py-op">,</tt><tt class="py-string">'64k-png-jpeg'</tt><tt class="py-op">,</tt><tt class="py-string">'256k-png-jpeg'</tt><tt class="py-op">,</tt><tt class="py-string">'2m-png-jpeg'</tt><tt class="py-op">,</tt><tt class="py-string">'16m-png-jpeg-%'</tt><tt class="py-op">,</tt> </tt>
+<a name="L292"></a><tt class="py-lineno">292</tt>  <tt class="py-line">                <tt class="py-string">'8-png-%'</tt><tt class="py-op">,</tt><tt class="py-string">'64-png'</tt><tt class="py-op">,</tt><tt class="py-string">'256-png'</tt><tt class="py-op">,</tt><tt class="py-string">'512-png'</tt><tt class="py-op">,</tt><tt class="py-string">'4k-Apng'</tt><tt class="py-op">,</tt> </tt>
+<a name="L293"></a><tt class="py-lineno">293</tt>  <tt class="py-line">                <tt class="py-string">'32k-png'</tt><tt class="py-op">,</tt><tt class="py-string">'64k-png'</tt><tt class="py-op">,</tt><tt class="py-string">'256k-png'</tt><tt class="py-op">,</tt><tt class="py-string">'2m-png'</tt><tt class="py-op">,</tt><tt class="py-string">'16m-png-%'</tt><tt class="py-op">,</tt> </tt>
+<a name="L294"></a><tt class="py-lineno">294</tt>  <tt class="py-line">                <tt class="py-string">'16m-rgb-%'</tt><tt class="py-op">,</tt><tt class="py-string">'16m-rle-%'</tt><tt class="py-op">,</tt><tt class="py-op">]</tt> </tt>
+<a name="L295"></a><tt class="py-lineno">295</tt>  <tt class="py-line"><tt class="py-string">"""Available NX3 compression methods."""</tt> </tt>
+<a name="L296"></a><tt class="py-lineno">296</tt>  <tt class="py-line"> </tt>
+<a name="L297"></a><tt class="py-lineno">297</tt>  <tt class="py-line"><tt class="py-comment"># use for printing on screen...</tt> </tt>
+<a name="L298"></a><tt class="py-lineno">298</tt>  <tt class="py-line"><tt id="link-87" class="py-name" targets="Variable x2go.defaults.pack_methods_nx3_formatted=x2go.defaults-module.html#pack_methods_nx3_formatted"><a title="x2go.defaults.pack_methods_nx3_formatted" class="py-name" href="#" onclick="return doclink('link-87', 'pack_methods_nx3_formatted', 'link-87');">pack_methods_nx3_formatted</a></tt><tt class="py-op">=</tt><tt class="py-string">"""</tt> </tt>
 <a name="L299"></a><tt class="py-lineno">299</tt>  <tt class="py-line"><tt class="py-string">    \'%s\'</tt> </tt>
 <a name="L300"></a><tt class="py-lineno">300</tt>  <tt class="py-line"><tt class="py-string">    \'%s\'</tt> </tt>
 <a name="L301"></a><tt class="py-lineno">301</tt>  <tt class="py-line"><tt class="py-string">    \'%s\'</tt> </tt>
@@ -402,67 +402,71 @@ x2go.xserver.__NAME__" class="py-name" href="#" onclick="return doclink('link-0'
 <a name="L305"></a><tt class="py-lineno">305</tt>  <tt class="py-line"><tt class="py-string">    \'%s\'</tt> </tt>
 <a name="L306"></a><tt class="py-lineno">306</tt>  <tt class="py-line"><tt class="py-string">    \'%s\'</tt> </tt>
 <a name="L307"></a><tt class="py-lineno">307</tt>  <tt class="py-line"><tt class="py-string">    \'%s\'</tt> </tt>
-<a name="L308"></a><tt class="py-lineno">308</tt>  <tt class="py-line"><tt class="py-string">"""</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-string">'\', \''</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt id="link-88" class="py-name"><a title="x2go.defaults.pack_methods_nx3" class="py-name" href="#" onclick="return doclink('link-88', 'pack_methods_nx3', 'link-86');">pack_methods_nx3</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">:</tt><tt class="py-number">11</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> \ </tt>
-<a name="L309"></a><tt class="py-lineno">309</tt>  <tt class="py-line">           <tt class="py-string">'\', \''</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt id="link-89" class="py-name"><a title="x2go.defaults.pack_methods_nx3" class="py-name" href="#" onclick="return doclink('link-89', 'pack_methods_nx3', 'link-86');">pack_methods_nx3</a></tt><tt class="py-op">[</tt><tt class="py-number">11</tt><tt class="py-op">:</tt><tt class="py-number">16</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> \ </tt>
-<a name="L310"></a><tt class="py-lineno">310</tt>  <tt class="py-line">           <tt class="py-string">'\', \''</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt id="link-90" class="py-name"><a title="x2go.defaults.pack_methods_nx3" class="py-name" href="#" onclick="return doclink('link-90', 'pack_methods_nx3', 'link-86');">pack_methods_nx3</a></tt><tt class="py-op">[</tt><tt class="py-number">16</tt><tt class="py-op">:</tt><tt class="py-number">19</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> \ </tt>
-<a name="L311"></a><tt class="py-lineno">311</tt>  <tt class="py-line">           <tt class="py-string">'\', \''</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt id="link-91" class="py-name"><a title="x2go.defaults.pack_methods_nx3" class="py-name" href="#" onclick="return doclink('link-91', 'pack_methods_nx3', 'link-86');">pack_methods_nx3</a></tt><tt class="py-op">[</tt><tt class="py-number">19</tt><tt class="py-op">:</tt><tt class="py-number">22</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> \ </tt>
-<a name="L312"></a><tt class="py-lineno">312</tt>  <tt class="py-line">           <tt class="py-string">'\', \''</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt id="link-92" class="py-name"><a title="x2go.defaults.pack_methods_nx3" class="py-name" href="#" onclick="return doclink('link-92', 'pack_methods_nx3', 'link-86');">pack_methods_nx3</a></tt><tt class="py-op">[</tt><tt class="py-number">22</tt><tt class="py-op">:</tt><tt class="py-number">28</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> \ </tt>
-<a name="L313"></a><tt class="py-lineno">313</tt>  <tt class="py-line">           <tt class="py-string">'\', \''</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt id="link-93" class="py-name"><a title="x2go.defaults.pack_methods_nx3" class="py-name" href="#" onclick="return doclink('link-93', 'pack_methods_nx3', 'link-86');">pack_methods_nx3</a></tt><tt class="py-op">[</tt><tt class="py-number">28</tt><tt class="py-op">:</tt><tt class="py-number">32</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> \ </tt>
-<a name="L314"></a><tt class="py-lineno">314</tt>  <tt class="py-line">           <tt class="py-string">'\', \''</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt id="link-94" class="py-name"><a title="x2go.defaults.pack_methods_nx3" class="py-name" href="#" onclick="return doclink('link-94', 'pack_methods_nx3', 'link-86');">pack_methods_nx3</a></tt><tt class="py-op">[</tt><tt class="py-number">32</tt><tt class="py-op">:</tt><tt class="py-number">38</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> \ </tt>
-<a name="L315"></a><tt class="py-lineno">315</tt>  <tt class="py-line">           <tt class="py-string">'\', \''</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt id="link-95" class="py-name"><a title="x2go.defaults.pack_methods_nx3" class="py-name" href="#" onclick="return doclink('link-95', 'pack_methods_nx3', 'link-86');">pack_methods_nx3</a></tt><tt class="py-op">[</tt><tt class="py-number">38</tt><tt class="py-op">:</tt><tt class="py-number">42</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> \ </tt>
-<a name="L316"></a><tt class="py-lineno">316</tt>  <tt class="py-line">           <tt class="py-string">'\', \''</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt id="link-96" class="py-name"><a title="x2go.defaults.pack_methods_nx3" class="py-name" href="#" onclick="return doclink('link-96', 'pack_methods_nx3', 'link-86');">pack_methods_nx3</a></tt><tt class="py-op">[</tt><tt class="py-number">42</tt><tt class="py-op">:</tt><tt class="py-number">47</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> \ </tt>
-<a name="L317"></a><tt class="py-lineno">317</tt>  <tt class="py-line">           <tt class="py-string">'\', \''</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt id="link-97" class="py-name"><a title="x2go.defaults.pack_methods_nx3" class="py-name" href="#" onclick="return doclink('link-97', 'pack_methods_nx3', 'link-86');">pack_methods_nx3</a></tt><tt class="py-op">[</tt><tt class="py-number">47</tt><tt class="py-op">:</tt><tt class="py-number">52</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> \ </tt>
-<a name="L318"></a><tt class="py-lineno">318</tt>  <tt class="py-line">           <tt class="py-string">'\', \''</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt id="link-98" class="py-name"><a title="x2go.defaults.pack_methods_nx3" class="py-name" href="#" onclick="return doclink('link-98', 'pack_methods_nx3', 'link-86');">pack_methods_nx3</a></tt><tt class="py-op">[</tt><tt class="py-number">52</tt><tt class="py-op">:</tt><tt class="py-number">57</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> \ </tt>
-<a name="L319"></a><tt class="py-lineno">319</tt>  <tt class="py-line">           <tt class="py-string">'\', \''</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt id="link-99" class="py-name"><a title="x2go.defaults.pack_methods_nx3" class="py-name" href="#" onclick="return doclink('link-99', 'pack_methods_nx3', 'link-86');">pack_methods_nx3</a></tt><tt class="py-op">[</tt><tt class="py-number">57</tt><tt class="py-op">:</tt><tt class="py-number">62</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> \ </tt>
-<a name="L320"></a><tt class="py-lineno">320</tt>  <tt class="py-line">           <tt class="py-string">'\', \''</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt id="link-100" class="py-name"><a title="x2go.defaults.pack_methods_nx3" class="py-name" href="#" onclick="return doclink('link-100', 'pack_methods_nx3', 'link-86');">pack_methods_nx3</a></tt><tt class="py-op">[</tt><tt class="py-number">62</tt><tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L321"></a><tt class="py-lineno">321</tt>  <tt class="py-line"> </tt>
-<a name="L322"></a><tt class="py-lineno">322</tt>  <tt class="py-line"><tt class="py-comment"># _pack_methods_nx3 is the complete list of NX3 pack methods that can be used to check options </tt> </tt>
-<a name="L323"></a><tt class="py-lineno">323</tt>  <tt class="py-line"><tt class="py-comment"># against</tt> </tt>
-<a name="L324"></a><tt class="py-lineno">324</tt>  <tt class="py-line"><tt id="link-101" class="py-name" targets="Variable x2go.defaults._pack_methods_nx3=x2go.defaults-module.html#_pack_methods_nx3"><a title="x2go.defaults._pack_methods_nx3" class="py-name" href="#" onclick="return doclink('link-101', '_pack_methods_nx3', 'link-101');">_pack_methods_nx3</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt id="link-102" class="py-name" targets="Variable x2go.defaults.m=x2go.defaults-module.html#m"><a title="x2go.defaults.m" class="py-name" href="#" onclick="return doclink('link-102', 'm', 'link-102');">m</a></tt> <tt class="py-keyword">for</tt> <tt id="link-103" class="py-name"><a title="x2go.defaults.m" class="py-name" href="#" onclick="return doclink('link-103', 'm', 'link-102');">m</a></tt> <tt class="py-keyword">in</tt> <tt id="link-104" class="py-name"><a title="x2go.defaults.pack_methods_nx3" class="py-name" href="#" onclick="return doclink('link-104', 'pack_
 methods_
 nx3', 'link-86');">pack_methods_nx3</a></tt> <tt class="py-keyword">if</tt> <tt class="py-string">"%"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-105" class="py-name"><a title="x2go.defaults.m" class="py-name" href="#" onclick="return doclink('link-105', 'm', 'link-102');">m</a></tt> <tt class="py-op">]</tt> </tt>
-<a name="L325"></a><tt class="py-lineno">325</tt>  <tt class="py-line"><tt class="py-keyword">for</tt> <tt id="link-106" class="py-name" targets="Variable x2go.defaults.meth=x2go.defaults-module.html#meth"><a title="x2go.defaults.meth" class="py-name" href="#" onclick="return doclink('link-106', 'meth', 'link-106');">meth</a></tt> <tt class="py-keyword">in</tt> <tt class="py-op">[</tt> <tt id="link-107" class="py-name"><a title="x2go.defaults.m" class="py-name" href="#" onclick="return doclink('link-107', 'm', 'link-102');">m</a></tt> <tt class="py-keyword">for</tt> <tt id="link-108" class="py-name"><a title="x2go.defaults.m" class="py-name" href="#" onclick="return doclink('link-108', 'm', 'link-102');">m</a></tt> <tt class="py-keyword">in</tt> <tt id="link-109" class="py-name"><a title="x2go.defaults.pack_methods_nx3" class="py-name" href="#" onclick="return doclink('link-109', 'pack_methods_nx3', 'link-86');">pack_methods_nx3</a></tt> <tt class="py-keyword">if</tt> <tt cl
 ass="py-
 string">"%"</tt> <tt class="py-keyword">in</tt> <tt id="link-110" class="py-name"><a title="x2go.defaults.m" class="py-name" href="#" onclick="return doclink('link-110', 'm', 'link-102');">m</a></tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
-<a name="L326"></a><tt class="py-lineno">326</tt>  <tt class="py-line">    <tt id="link-111" class="py-name"><a title="x2go.defaults._pack_methods_nx3" class="py-name" href="#" onclick="return doclink('link-111', '_pack_methods_nx3', 'link-101');">_pack_methods_nx3</a></tt> <tt class="py-op">+=</tt> <tt class="py-op">[</tt> <tt id="link-112" class="py-name"><a title="x2go.defaults.meth" class="py-name" href="#" onclick="return doclink('link-112', 'meth', 'link-106');">meth</a></tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">'%'</tt><tt class="py-op">,</tt><tt class="py-string">'%s'</tt> <tt class="py-op">%</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt id="link-113" class="py-name" targets="Variable x2go.defaults.i=x2go.defaults-module.html#i"><a title="x2go.defaults.i" class="py-name" href="#" onclick="return doclink('link-113', 'i', 'link-113');">i</a></tt><tt class="py-op">)</tt><tt class="py-op">)</t
 t> <tt c
 lass="py-keyword">for</tt> <tt id="link-114" class="py-name"><a title="x2go.defaults.i" class="py-name" href="#" onclick="return doclink('link-114', 'i', 'link-113');">i</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-number">10</tt><tt class="py-op">)</tt> <tt class="py-op">]</tt> </tt>
-<a name="L327"></a><tt class="py-lineno">327</tt>  <tt class="py-line"> </tt>
-<a name="L328"></a><tt class="py-lineno">328</tt>  <tt class="py-line"><tt class="py-comment">##</tt> </tt>
-<a name="L329"></a><tt class="py-lineno">329</tt>  <tt class="py-line"><tt class="py-comment">## X2go session defaults</tt> </tt>
-<a name="L330"></a><tt class="py-lineno">330</tt>  <tt class="py-line"><tt class="py-comment">##</tt> </tt>
+<a name="L308"></a><tt class="py-lineno">308</tt>  <tt class="py-line"><tt class="py-string">    \'%s\'</tt> </tt>
+<a name="L309"></a><tt class="py-lineno">309</tt>  <tt class="py-line"><tt class="py-string">    \'%s\'</tt> </tt>
+<a name="L310"></a><tt class="py-lineno">310</tt>  <tt class="py-line"><tt class="py-string">    \'%s\'</tt> </tt>
+<a name="L311"></a><tt class="py-lineno">311</tt>  <tt class="py-line"><tt class="py-string">    \'%s\'</tt> </tt>
+<a name="L312"></a><tt class="py-lineno">312</tt>  <tt class="py-line"><tt class="py-string">"""</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-string">'\', \''</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt id="link-88" class="py-name"><a title="x2go.defaults.pack_methods_nx3" class="py-name" href="#" onclick="return doclink('link-88', 'pack_methods_nx3', 'link-86');">pack_methods_nx3</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">:</tt><tt class="py-number">11</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> \ </tt>
+<a name="L313"></a><tt class="py-lineno">313</tt>  <tt class="py-line">           <tt class="py-string">'\', \''</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt id="link-89" class="py-name"><a title="x2go.defaults.pack_methods_nx3" class="py-name" href="#" onclick="return doclink('link-89', 'pack_methods_nx3', 'link-86');">pack_methods_nx3</a></tt><tt class="py-op">[</tt><tt class="py-number">11</tt><tt class="py-op">:</tt><tt class="py-number">16</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> \ </tt>
+<a name="L314"></a><tt class="py-lineno">314</tt>  <tt class="py-line">           <tt class="py-string">'\', \''</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt id="link-90" class="py-name"><a title="x2go.defaults.pack_methods_nx3" class="py-name" href="#" onclick="return doclink('link-90', 'pack_methods_nx3', 'link-86');">pack_methods_nx3</a></tt><tt class="py-op">[</tt><tt class="py-number">16</tt><tt class="py-op">:</tt><tt class="py-number">19</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> \ </tt>
+<a name="L315"></a><tt class="py-lineno">315</tt>  <tt class="py-line">           <tt class="py-string">'\', \''</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt id="link-91" class="py-name"><a title="x2go.defaults.pack_methods_nx3" class="py-name" href="#" onclick="return doclink('link-91', 'pack_methods_nx3', 'link-86');">pack_methods_nx3</a></tt><tt class="py-op">[</tt><tt class="py-number">19</tt><tt class="py-op">:</tt><tt class="py-number">22</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> \ </tt>
+<a name="L316"></a><tt class="py-lineno">316</tt>  <tt class="py-line">           <tt class="py-string">'\', \''</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt id="link-92" class="py-name"><a title="x2go.defaults.pack_methods_nx3" class="py-name" href="#" onclick="return doclink('link-92', 'pack_methods_nx3', 'link-86');">pack_methods_nx3</a></tt><tt class="py-op">[</tt><tt class="py-number">22</tt><tt class="py-op">:</tt><tt class="py-number">28</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> \ </tt>
+<a name="L317"></a><tt class="py-lineno">317</tt>  <tt class="py-line">           <tt class="py-string">'\', \''</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt id="link-93" class="py-name"><a title="x2go.defaults.pack_methods_nx3" class="py-name" href="#" onclick="return doclink('link-93', 'pack_methods_nx3', 'link-86');">pack_methods_nx3</a></tt><tt class="py-op">[</tt><tt class="py-number">28</tt><tt class="py-op">:</tt><tt class="py-number">32</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> \ </tt>
+<a name="L318"></a><tt class="py-lineno">318</tt>  <tt class="py-line">           <tt class="py-string">'\', \''</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt id="link-94" class="py-name"><a title="x2go.defaults.pack_methods_nx3" class="py-name" href="#" onclick="return doclink('link-94', 'pack_methods_nx3', 'link-86');">pack_methods_nx3</a></tt><tt class="py-op">[</tt><tt class="py-number">32</tt><tt class="py-op">:</tt><tt class="py-number">38</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> \ </tt>
+<a name="L319"></a><tt class="py-lineno">319</tt>  <tt class="py-line">           <tt class="py-string">'\', \''</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt id="link-95" class="py-name"><a title="x2go.defaults.pack_methods_nx3" class="py-name" href="#" onclick="return doclink('link-95', 'pack_methods_nx3', 'link-86');">pack_methods_nx3</a></tt><tt class="py-op">[</tt><tt class="py-number">38</tt><tt class="py-op">:</tt><tt class="py-number">42</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> \ </tt>
+<a name="L320"></a><tt class="py-lineno">320</tt>  <tt class="py-line">           <tt class="py-string">'\', \''</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt id="link-96" class="py-name"><a title="x2go.defaults.pack_methods_nx3" class="py-name" href="#" onclick="return doclink('link-96', 'pack_methods_nx3', 'link-86');">pack_methods_nx3</a></tt><tt class="py-op">[</tt><tt class="py-number">42</tt><tt class="py-op">:</tt><tt class="py-number">47</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> \ </tt>
+<a name="L321"></a><tt class="py-lineno">321</tt>  <tt class="py-line">           <tt class="py-string">'\', \''</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt id="link-97" class="py-name"><a title="x2go.defaults.pack_methods_nx3" class="py-name" href="#" onclick="return doclink('link-97', 'pack_methods_nx3', 'link-86');">pack_methods_nx3</a></tt><tt class="py-op">[</tt><tt class="py-number">47</tt><tt class="py-op">:</tt><tt class="py-number">52</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> \ </tt>
+<a name="L322"></a><tt class="py-lineno">322</tt>  <tt class="py-line">           <tt class="py-string">'\', \''</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt id="link-98" class="py-name"><a title="x2go.defaults.pack_methods_nx3" class="py-name" href="#" onclick="return doclink('link-98', 'pack_methods_nx3', 'link-86');">pack_methods_nx3</a></tt><tt class="py-op">[</tt><tt class="py-number">52</tt><tt class="py-op">:</tt><tt class="py-number">57</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> \ </tt>
+<a name="L323"></a><tt class="py-lineno">323</tt>  <tt class="py-line">           <tt class="py-string">'\', \''</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt id="link-99" class="py-name"><a title="x2go.defaults.pack_methods_nx3" class="py-name" href="#" onclick="return doclink('link-99', 'pack_methods_nx3', 'link-86');">pack_methods_nx3</a></tt><tt class="py-op">[</tt><tt class="py-number">57</tt><tt class="py-op">:</tt><tt class="py-number">62</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> \ </tt>
+<a name="L324"></a><tt class="py-lineno">324</tt>  <tt class="py-line">           <tt class="py-string">'\', \''</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt id="link-100" class="py-name"><a title="x2go.defaults.pack_methods_nx3" class="py-name" href="#" onclick="return doclink('link-100', 'pack_methods_nx3', 'link-86');">pack_methods_nx3</a></tt><tt class="py-op">[</tt><tt class="py-number">62</tt><tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L325"></a><tt class="py-lineno">325</tt>  <tt class="py-line"> </tt>
+<a name="L326"></a><tt class="py-lineno">326</tt>  <tt class="py-line"><tt class="py-comment"># _pack_methods_nx3 is the complete list of NX3 pack methods that can be used to check options </tt> </tt>
+<a name="L327"></a><tt class="py-lineno">327</tt>  <tt class="py-line"><tt class="py-comment"># against</tt> </tt>
+<a name="L328"></a><tt class="py-lineno">328</tt>  <tt class="py-line"><tt id="link-101" class="py-name" targets="Variable x2go.defaults._pack_methods_nx3=x2go.defaults-module.html#_pack_methods_nx3"><a title="x2go.defaults._pack_methods_nx3" class="py-name" href="#" onclick="return doclink('link-101', '_pack_methods_nx3', 'link-101');">_pack_methods_nx3</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt id="link-102" class="py-name" targets="Variable x2go.defaults.m=x2go.defaults-module.html#m"><a title="x2go.defaults.m" class="py-name" href="#" onclick="return doclink('link-102', 'm', 'link-102');">m</a></tt> <tt class="py-keyword">for</tt> <tt id="link-103" class="py-name"><a title="x2go.defaults.m" class="py-name" href="#" onclick="return doclink('link-103', 'm', 'link-102');">m</a></tt> <tt class="py-keyword">in</tt> <tt id="link-104" class="py-name"><a title="x2go.defaults.pack_methods_nx3" class="py-name" href="#" onclick="return doclink('link-104', 'pack_
 methods_
 nx3', 'link-86');">pack_methods_nx3</a></tt> <tt class="py-keyword">if</tt> <tt class="py-string">"%"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-105" class="py-name"><a title="x2go.defaults.m" class="py-name" href="#" onclick="return doclink('link-105', 'm', 'link-102');">m</a></tt> <tt class="py-op">]</tt> </tt>
+<a name="L329"></a><tt class="py-lineno">329</tt>  <tt class="py-line"><tt class="py-keyword">for</tt> <tt id="link-106" class="py-name" targets="Variable x2go.defaults.meth=x2go.defaults-module.html#meth"><a title="x2go.defaults.meth" class="py-name" href="#" onclick="return doclink('link-106', 'meth', 'link-106');">meth</a></tt> <tt class="py-keyword">in</tt> <tt class="py-op">[</tt> <tt id="link-107" class="py-name"><a title="x2go.defaults.m" class="py-name" href="#" onclick="return doclink('link-107', 'm', 'link-102');">m</a></tt> <tt class="py-keyword">for</tt> <tt id="link-108" class="py-name"><a title="x2go.defaults.m" class="py-name" href="#" onclick="return doclink('link-108', 'm', 'link-102');">m</a></tt> <tt class="py-keyword">in</tt> <tt id="link-109" class="py-name"><a title="x2go.defaults.pack_methods_nx3" class="py-name" href="#" onclick="return doclink('link-109', 'pack_methods_nx3', 'link-86');">pack_methods_nx3</a></tt> <tt class="py-keyword">if</tt> <tt cl
 ass="py-
 string">"%"</tt> <tt class="py-keyword">in</tt> <tt id="link-110" class="py-name"><a title="x2go.defaults.m" class="py-name" href="#" onclick="return doclink('link-110', 'm', 'link-102');">m</a></tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L330"></a><tt class="py-lineno">330</tt>  <tt class="py-line">    <tt id="link-111" class="py-name"><a title="x2go.defaults._pack_methods_nx3" class="py-name" href="#" onclick="return doclink('link-111', '_pack_methods_nx3', 'link-101');">_pack_methods_nx3</a></tt> <tt class="py-op">+=</tt> <tt class="py-op">[</tt> <tt id="link-112" class="py-name"><a title="x2go.defaults.meth" class="py-name" href="#" onclick="return doclink('link-112', 'meth', 'link-106');">meth</a></tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">'%'</tt><tt class="py-op">,</tt><tt class="py-string">'%s'</tt> <tt class="py-op">%</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt id="link-113" class="py-name" targets="Variable x2go.defaults.i=x2go.defaults-module.html#i"><a title="x2go.defaults.i" class="py-name" href="#" onclick="return doclink('link-113', 'i', 'link-113');">i</a></tt><tt class="py-op">)</tt><tt class="py-op">)</t
 t> <tt c
 lass="py-keyword">for</tt> <tt id="link-114" class="py-name"><a title="x2go.defaults.i" class="py-name" href="#" onclick="return doclink('link-114', 'i', 'link-113');">i</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-number">10</tt><tt class="py-op">)</tt> <tt class="py-op">]</tt> </tt>
 <a name="L331"></a><tt class="py-lineno">331</tt>  <tt class="py-line"> </tt>
-<a name="L332"></a><tt class="py-lineno">332</tt>  <tt class="py-line"><tt id="link-115" class="py-name" targets="Variable x2go.defaults.X2GO_DESKTOPSESSIONS=x2go.defaults-module.html#X2GO_DESKTOPSESSIONS"><a title="x2go.defaults.X2GO_DESKTOPSESSIONS" class="py-name" href="#" onclick="return doclink('link-115', 'X2GO_DESKTOPSESSIONS', 'link-115');">X2GO_DESKTOPSESSIONS</a></tt><tt class="py-op">=</tt><tt class="py-op">{</tt> </tt>
-<a name="L333"></a><tt class="py-lineno">333</tt>  <tt class="py-line">    <tt class="py-string">'KDE'</tt><tt class="py-op">:</tt> <tt class="py-string">'startkde'</tt><tt class="py-op">,</tt> </tt>
-<a name="L334"></a><tt class="py-lineno">334</tt>  <tt class="py-line">    <tt class="py-string">'GNOME'</tt><tt class="py-op">:</tt> <tt class="py-string">'gnome-session'</tt><tt class="py-op">,</tt> </tt>
-<a name="L335"></a><tt class="py-lineno">335</tt>  <tt class="py-line">    <tt class="py-string">'LXDE'</tt><tt class="py-op">:</tt> <tt class="py-string">'startlxde'</tt><tt class="py-op">,</tt> </tt>
-<a name="L336"></a><tt class="py-lineno">336</tt>  <tt class="py-line"><tt class="py-op">}</tt> </tt>
-<a name="L337"></a><tt class="py-lineno">337</tt>  <tt class="py-line"><tt class="py-string">"""A dictionary with meta-commands for X2go's window manager sessions."""</tt> </tt>
-<a name="L338"></a><tt class="py-lineno">338</tt>  <tt class="py-line"> </tt>
-<a name="L339"></a><tt class="py-lineno">339</tt>  <tt class="py-line"><tt class="py-comment">##</tt> </tt>
-<a name="L340"></a><tt class="py-lineno">340</tt>  <tt class="py-line"><tt class="py-comment">## X2go SFTP server defaults</tt> </tt>
-<a name="L341"></a><tt class="py-lineno">341</tt>  <tt class="py-line"><tt class="py-comment">##</tt> </tt>
+<a name="L332"></a><tt class="py-lineno">332</tt>  <tt class="py-line"><tt class="py-comment">##</tt> </tt>
+<a name="L333"></a><tt class="py-lineno">333</tt>  <tt class="py-line"><tt class="py-comment">## X2go session defaults</tt> </tt>
+<a name="L334"></a><tt class="py-lineno">334</tt>  <tt class="py-line"><tt class="py-comment">##</tt> </tt>
+<a name="L335"></a><tt class="py-lineno">335</tt>  <tt class="py-line"> </tt>
+<a name="L336"></a><tt class="py-lineno">336</tt>  <tt class="py-line"><tt id="link-115" class="py-name" targets="Variable x2go.defaults.X2GO_DESKTOPSESSIONS=x2go.defaults-module.html#X2GO_DESKTOPSESSIONS"><a title="x2go.defaults.X2GO_DESKTOPSESSIONS" class="py-name" href="#" onclick="return doclink('link-115', 'X2GO_DESKTOPSESSIONS', 'link-115');">X2GO_DESKTOPSESSIONS</a></tt><tt class="py-op">=</tt><tt class="py-op">{</tt> </tt>
+<a name="L337"></a><tt class="py-lineno">337</tt>  <tt class="py-line">    <tt class="py-string">'KDE'</tt><tt class="py-op">:</tt> <tt class="py-string">'startkde'</tt><tt class="py-op">,</tt> </tt>
+<a name="L338"></a><tt class="py-lineno">338</tt>  <tt class="py-line">    <tt class="py-string">'GNOME'</tt><tt class="py-op">:</tt> <tt class="py-string">'gnome-session'</tt><tt class="py-op">,</tt> </tt>
+<a name="L339"></a><tt class="py-lineno">339</tt>  <tt class="py-line">    <tt class="py-string">'LXDE'</tt><tt class="py-op">:</tt> <tt class="py-string">'startlxde'</tt><tt class="py-op">,</tt> </tt>
+<a name="L340"></a><tt class="py-lineno">340</tt>  <tt class="py-line"><tt class="py-op">}</tt> </tt>
+<a name="L341"></a><tt class="py-lineno">341</tt>  <tt class="py-line"><tt class="py-string">"""A dictionary with meta-commands for X2go's window manager sessions."""</tt> </tt>
 <a name="L342"></a><tt class="py-lineno">342</tt>  <tt class="py-line"> </tt>
-<a name="L343"></a><tt class="py-lineno">343</tt>  <tt class="py-line"><tt id="link-116" class="py-name" targets="Variable x2go.defaults.RSAKEY_STRENGTH=x2go.defaults-module.html#RSAKEY_STRENGTH"><a title="x2go.defaults.RSAKEY_STRENGTH" class="py-name" href="#" onclick="return doclink('link-116', 'RSAKEY_STRENGTH', 'link-116');">RSAKEY_STRENGTH</a></tt> <tt class="py-op">=</tt> <tt class="py-number">1024</tt> </tt>
-<a name="L344"></a><tt class="py-lineno">344</tt>  <tt class="py-line"><tt id="link-117" class="py-name" targets="Variable x2go.defaults.RSAHostKey=x2go.defaults-module.html#RSAHostKey"><a title="x2go.defaults.RSAHostKey" class="py-name" href="#" onclick="return doclink('link-117', 'RSAHostKey', 'link-117');">RSAHostKey</a></tt> <tt class="py-op">=</tt> <tt class="py-name">paramiko</tt><tt class="py-op">.</tt><tt class="py-name">RSAKey</tt><tt class="py-op">.</tt><tt class="py-name">generate</tt><tt class="py-op">(</tt><tt id="link-118" class="py-name"><a title="x2go.defaults.RSAKEY_STRENGTH" class="py-name" href="#" onclick="return doclink('link-118', 'RSAKEY_STRENGTH', 'link-116');">RSAKEY_STRENGTH</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L345"></a><tt class="py-lineno">345</tt>  <tt class="py-line"> </tt>
-<a name="L346"></a><tt class="py-lineno">346</tt>  <tt class="py-line"><tt id="link-119" class="py-name" targets="Variable x2go.defaults.X2GO_PRINT_ACTIONS=x2go.defaults-module.html#X2GO_PRINT_ACTIONS"><a title="x2go.defaults.X2GO_PRINT_ACTIONS" class="py-name" href="#" onclick="return doclink('link-119', 'X2GO_PRINT_ACTIONS', 'link-119');">X2GO_PRINT_ACTIONS</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
-<a name="L347"></a><tt class="py-lineno">347</tt>  <tt class="py-line">    <tt class="py-string">'PDFVIEW'</tt><tt class="py-op">:</tt> <tt class="py-string">'X2goPrintActionPDFVIEW'</tt><tt class="py-op">,</tt> </tt>
-<a name="L348"></a><tt class="py-lineno">348</tt>  <tt class="py-line">    <tt class="py-string">'PDFSAVE'</tt><tt class="py-op">:</tt> <tt class="py-string">'X2goPrintActionPDFSAVE'</tt><tt class="py-op">,</tt> </tt>
-<a name="L349"></a><tt class="py-lineno">349</tt>  <tt class="py-line">    <tt class="py-string">'PRINT'</tt><tt class="py-op">:</tt> <tt class="py-string">'X2goPrintActionPRINT'</tt><tt class="py-op">,</tt> </tt>
-<a name="L350"></a><tt class="py-lineno">350</tt>  <tt class="py-line">    <tt class="py-string">'PRINTCMD'</tt><tt class="py-op">:</tt> <tt class="py-string">'X2goPrintActionPRINTCMD'</tt><tt class="py-op">,</tt> </tt>
-<a name="L351"></a><tt class="py-lineno">351</tt>  <tt class="py-line">    <tt class="py-string">'DIALOG'</tt><tt class="py-op">:</tt> <tt class="py-string">'X2goPrintActionDIALOG'</tt><tt class="py-op">,</tt> </tt>
-<a name="L352"></a><tt class="py-lineno">352</tt>  <tt class="py-line"><tt class="py-op">}</tt> </tt>
-<a name="L353"></a><tt class="py-lineno">353</tt>  <tt class="py-line"><tt class="py-string">"""Relating print action names and classes."""</tt> </tt>
-<a name="L354"></a><tt class="py-lineno">354</tt>  <tt class="py-line"> </tt>
-<a name="L355"></a><tt class="py-lineno">355</tt>  <tt class="py-line"><tt id="link-120" class="py-name" targets="Variable x2go.defaults.DEFAULT_PDFVIEW_CMD=x2go.defaults-module.html#DEFAULT_PDFVIEW_CMD"><a title="x2go.defaults.DEFAULT_PDFVIEW_CMD" class="py-name" href="#" onclick="return doclink('link-120', 'DEFAULT_PDFVIEW_CMD', 'link-120');">DEFAULT_PDFVIEW_CMD</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'xdg-open'</tt> </tt>
-<a name="L356"></a><tt class="py-lineno">356</tt>  <tt class="py-line"><tt class="py-string">"""Default PDF viewer command for Linux systems (PDFVIEW print action)."""</tt> </tt>
-<a name="L357"></a><tt class="py-lineno">357</tt>  <tt class="py-line"><tt id="link-121" class="py-name" targets="Variable x2go.defaults.DEFAULT_PDFSAVE_LOCATION=x2go.defaults-module.html#DEFAULT_PDFSAVE_LOCATION"><a title="x2go.defaults.DEFAULT_PDFSAVE_LOCATION" class="py-name" href="#" onclick="return doclink('link-121', 'DEFAULT_PDFSAVE_LOCATION', 'link-121');">DEFAULT_PDFSAVE_LOCATION</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'~/PDF'</tt> </tt>
-<a name="L358"></a><tt class="py-lineno">358</tt>  <tt class="py-line"><tt class="py-string">"""Default location for saving PDF files (PDFSAVE print action)."""</tt> </tt>
-<a name="L359"></a><tt class="py-lineno">359</tt>  <tt class="py-line"><tt id="link-122" class="py-name" targets="Variable x2go.defaults.DEFAULT_PRINTCMD_CMD=x2go.defaults-module.html#DEFAULT_PRINTCMD_CMD"><a title="x2go.defaults.DEFAULT_PRINTCMD_CMD" class="py-name" href="#" onclick="return doclink('link-122', 'DEFAULT_PRINTCMD_CMD', 'link-122');">DEFAULT_PRINTCMD_CMD</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'lpr'</tt> </tt>
-<a name="L360"></a><tt class="py-lineno">360</tt>  <tt class="py-line"><tt class="py-string">"""Default command for the PRINTCMD print action."""</tt> </tt>
-<a name="L361"></a><tt class="py-lineno">361</tt>  <tt class="py-line"> </tt>
-<a name="L362"></a><tt class="py-lineno">362</tt>  <tt class="py-line"><tt id="link-123" class="py-name" targets="Variable x2go.defaults.X2GO_DROPBOX_ACTIONS=x2go.defaults-module.html#X2GO_DROPBOX_ACTIONS"><a title="x2go.defaults.X2GO_DROPBOX_ACTIONS" class="py-name" href="#" onclick="return doclink('link-123', 'X2GO_DROPBOX_ACTIONS', 'link-123');">X2GO_DROPBOX_ACTIONS</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
-<a name="L363"></a><tt class="py-lineno">363</tt>  <tt class="py-line">    <tt class="py-string">'OPEN'</tt><tt class="py-op">:</tt> <tt class="py-string">'X2goDropboxActionOPEN'</tt><tt class="py-op">,</tt> </tt>
-<a name="L364"></a><tt class="py-lineno">364</tt>  <tt class="py-line">    <tt class="py-string">'OPENWITH'</tt><tt class="py-op">:</tt> <tt class="py-string">'X2goDropboxActionOPENWITH'</tt><tt class="py-op">,</tt> </tt>
-<a name="L365"></a><tt class="py-lineno">365</tt>  <tt class="py-line">    <tt class="py-string">'SAVEAS'</tt><tt class="py-op">:</tt> <tt class="py-string">'X2goDropboxActionSAVEAS'</tt><tt class="py-op">,</tt> </tt>
-<a name="L366"></a><tt class="py-lineno">366</tt>  <tt class="py-line"><tt class="py-op">}</tt> </tt>
-<a name="L367"></a><tt class="py-lineno">367</tt>  <tt class="py-line"><tt class="py-string">"""Relating dropbox action names and classes."""</tt> </tt>
-<a name="L368"></a><tt class="py-lineno">368</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<a name="L343"></a><tt class="py-lineno">343</tt>  <tt class="py-line"><tt class="py-comment">##</tt> </tt>
+<a name="L344"></a><tt class="py-lineno">344</tt>  <tt class="py-line"><tt class="py-comment">## X2go SFTP server defaults</tt> </tt>
+<a name="L345"></a><tt class="py-lineno">345</tt>  <tt class="py-line"><tt class="py-comment">##</tt> </tt>
+<a name="L346"></a><tt class="py-lineno">346</tt>  <tt class="py-line"> </tt>
+<a name="L347"></a><tt class="py-lineno">347</tt>  <tt class="py-line"><tt id="link-116" class="py-name" targets="Variable x2go.defaults.RSAKEY_STRENGTH=x2go.defaults-module.html#RSAKEY_STRENGTH"><a title="x2go.defaults.RSAKEY_STRENGTH" class="py-name" href="#" onclick="return doclink('link-116', 'RSAKEY_STRENGTH', 'link-116');">RSAKEY_STRENGTH</a></tt> <tt class="py-op">=</tt> <tt class="py-number">1024</tt> </tt>
+<a name="L348"></a><tt class="py-lineno">348</tt>  <tt class="py-line"><tt id="link-117" class="py-name" targets="Variable x2go.defaults.RSAHostKey=x2go.defaults-module.html#RSAHostKey"><a title="x2go.defaults.RSAHostKey" class="py-name" href="#" onclick="return doclink('link-117', 'RSAHostKey', 'link-117');">RSAHostKey</a></tt> <tt class="py-op">=</tt> <tt class="py-name">paramiko</tt><tt class="py-op">.</tt><tt class="py-name">RSAKey</tt><tt class="py-op">.</tt><tt class="py-name">generate</tt><tt class="py-op">(</tt><tt id="link-118" class="py-name"><a title="x2go.defaults.RSAKEY_STRENGTH" class="py-name" href="#" onclick="return doclink('link-118', 'RSAKEY_STRENGTH', 'link-116');">RSAKEY_STRENGTH</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L349"></a><tt class="py-lineno">349</tt>  <tt class="py-line"> </tt>
+<a name="L350"></a><tt class="py-lineno">350</tt>  <tt class="py-line"><tt id="link-119" class="py-name" targets="Variable x2go.defaults.X2GO_PRINT_ACTIONS=x2go.defaults-module.html#X2GO_PRINT_ACTIONS"><a title="x2go.defaults.X2GO_PRINT_ACTIONS" class="py-name" href="#" onclick="return doclink('link-119', 'X2GO_PRINT_ACTIONS', 'link-119');">X2GO_PRINT_ACTIONS</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
+<a name="L351"></a><tt class="py-lineno">351</tt>  <tt class="py-line">    <tt class="py-string">'PDFVIEW'</tt><tt class="py-op">:</tt> <tt class="py-string">'X2goPrintActionPDFVIEW'</tt><tt class="py-op">,</tt> </tt>
+<a name="L352"></a><tt class="py-lineno">352</tt>  <tt class="py-line">    <tt class="py-string">'PDFSAVE'</tt><tt class="py-op">:</tt> <tt class="py-string">'X2goPrintActionPDFSAVE'</tt><tt class="py-op">,</tt> </tt>
+<a name="L353"></a><tt class="py-lineno">353</tt>  <tt class="py-line">    <tt class="py-string">'PRINT'</tt><tt class="py-op">:</tt> <tt class="py-string">'X2goPrintActionPRINT'</tt><tt class="py-op">,</tt> </tt>
+<a name="L354"></a><tt class="py-lineno">354</tt>  <tt class="py-line">    <tt class="py-string">'PRINTCMD'</tt><tt class="py-op">:</tt> <tt class="py-string">'X2goPrintActionPRINTCMD'</tt><tt class="py-op">,</tt> </tt>
+<a name="L355"></a><tt class="py-lineno">355</tt>  <tt class="py-line">    <tt class="py-string">'DIALOG'</tt><tt class="py-op">:</tt> <tt class="py-string">'X2goPrintActionDIALOG'</tt><tt class="py-op">,</tt> </tt>
+<a name="L356"></a><tt class="py-lineno">356</tt>  <tt class="py-line"><tt class="py-op">}</tt> </tt>
+<a name="L357"></a><tt class="py-lineno">357</tt>  <tt class="py-line"><tt class="py-string">"""Relating print action names and classes."""</tt> </tt>
+<a name="L358"></a><tt class="py-lineno">358</tt>  <tt class="py-line"> </tt>
+<a name="L359"></a><tt class="py-lineno">359</tt>  <tt class="py-line"><tt id="link-120" class="py-name" targets="Variable x2go.defaults.DEFAULT_PDFVIEW_CMD=x2go.defaults-module.html#DEFAULT_PDFVIEW_CMD"><a title="x2go.defaults.DEFAULT_PDFVIEW_CMD" class="py-name" href="#" onclick="return doclink('link-120', 'DEFAULT_PDFVIEW_CMD', 'link-120');">DEFAULT_PDFVIEW_CMD</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'xdg-open'</tt> </tt>
+<a name="L360"></a><tt class="py-lineno">360</tt>  <tt class="py-line"><tt class="py-string">"""Default PDF viewer command for Linux systems (PDFVIEW print action)."""</tt> </tt>
+<a name="L361"></a><tt class="py-lineno">361</tt>  <tt class="py-line"><tt id="link-121" class="py-name" targets="Variable x2go.defaults.DEFAULT_PDFSAVE_LOCATION=x2go.defaults-module.html#DEFAULT_PDFSAVE_LOCATION"><a title="x2go.defaults.DEFAULT_PDFSAVE_LOCATION" class="py-name" href="#" onclick="return doclink('link-121', 'DEFAULT_PDFSAVE_LOCATION', 'link-121');">DEFAULT_PDFSAVE_LOCATION</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'PDF'</tt> </tt>
+<a name="L362"></a><tt class="py-lineno">362</tt>  <tt class="py-line"><tt class="py-string">"""Default location for saving PDF files (PDFSAVE print action)."""</tt> </tt>
+<a name="L363"></a><tt class="py-lineno">363</tt>  <tt class="py-line"><tt id="link-122" class="py-name" targets="Variable x2go.defaults.DEFAULT_PRINTCMD_CMD=x2go.defaults-module.html#DEFAULT_PRINTCMD_CMD"><a title="x2go.defaults.DEFAULT_PRINTCMD_CMD" class="py-name" href="#" onclick="return doclink('link-122', 'DEFAULT_PRINTCMD_CMD', 'link-122');">DEFAULT_PRINTCMD_CMD</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'lpr'</tt> </tt>
+<a name="L364"></a><tt class="py-lineno">364</tt>  <tt class="py-line"><tt class="py-string">"""Default command for the PRINTCMD print action."""</tt> </tt>
+<a name="L365"></a><tt class="py-lineno">365</tt>  <tt class="py-line"> </tt>
+<a name="L366"></a><tt class="py-lineno">366</tt>  <tt class="py-line"><tt id="link-123" class="py-name" targets="Variable x2go.defaults.X2GO_DROPBOX_ACTIONS=x2go.defaults-module.html#X2GO_DROPBOX_ACTIONS"><a title="x2go.defaults.X2GO_DROPBOX_ACTIONS" class="py-name" href="#" onclick="return doclink('link-123', 'X2GO_DROPBOX_ACTIONS', 'link-123');">X2GO_DROPBOX_ACTIONS</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
+<a name="L367"></a><tt class="py-lineno">367</tt>  <tt class="py-line">    <tt class="py-string">'OPEN'</tt><tt class="py-op">:</tt> <tt class="py-string">'X2goDropboxActionOPEN'</tt><tt class="py-op">,</tt> </tt>
+<a name="L368"></a><tt class="py-lineno">368</tt>  <tt class="py-line">    <tt class="py-string">'OPENWITH'</tt><tt class="py-op">:</tt> <tt class="py-string">'X2goDropboxActionOPENWITH'</tt><tt class="py-op">,</tt> </tt>
+<a name="L369"></a><tt class="py-lineno">369</tt>  <tt class="py-line">    <tt class="py-string">'SAVEAS'</tt><tt class="py-op">:</tt> <tt class="py-string">'X2goDropboxActionSAVEAS'</tt><tt class="py-op">,</tt> </tt>
+<a name="L370"></a><tt class="py-lineno">370</tt>  <tt class="py-line"><tt class="py-op">}</tt> </tt>
+<a name="L371"></a><tt class="py-lineno">371</tt>  <tt class="py-line"><tt class="py-string">"""Relating dropbox action names and classes."""</tt> </tt>
+<a name="L372"></a><tt class="py-lineno">372</tt>  <tt class="py-line"> </tt><script type="text/javascript">
 <!--
 expandto(location.href);
 // -->
@@ -500,7 +504,7 @@ expandto(location.href);
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:34 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:25 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.defaults.OSNotSupportedException-class.html b/doc/html/x2go.defaults.OSNotSupportedException-class.html
index 9824e6e..df03061 100644
--- a/doc/html/x2go.defaults.OSNotSupportedException-class.html
+++ b/doc/html/x2go.defaults.OSNotSupportedException-class.html
@@ -98,7 +98,7 @@ exceptions.StandardError --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.dropbox-module.html b/doc/html/x2go.dropbox-module.html
index 863f53f..05d471d 100644
--- a/doc/html/x2go.dropbox-module.html
+++ b/doc/html/x2go.dropbox-module.html
@@ -232,7 +232,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.dropbox-pysrc.html b/doc/html/x2go.dropbox-pysrc.html
index 8dd1b46..b86ff19 100644
--- a/doc/html/x2go.dropbox-pysrc.html
+++ b/doc/html/x2go.dropbox-pysrc.html
@@ -537,7 +537,7 @@ expandto(location.href);
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:34 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:25 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.dropbox.X2goDropboxJob-class.html b/doc/html/x2go.dropbox.X2goDropboxJob-class.html
index 6fa6f1e..a1d2c6a 100644
--- a/doc/html/x2go.dropbox.X2goDropboxJob-class.html
+++ b/doc/html/x2go.dropbox.X2goDropboxJob-class.html
@@ -221,7 +221,7 @@ threading._Verbose --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.dropbox.X2goDropboxQueue-class.html b/doc/html/x2go.dropbox.X2goDropboxQueue-class.html
index 89361a8..c4274c2 100644
--- a/doc/html/x2go.dropbox.X2goDropboxQueue-class.html
+++ b/doc/html/x2go.dropbox.X2goDropboxQueue-class.html
@@ -468,7 +468,7 @@ threading._Verbose --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.dropboxactions-module.html b/doc/html/x2go.dropboxactions-module.html
index 276c353..302d9ad 100644
--- a/doc/html/x2go.dropboxactions-module.html
+++ b/doc/html/x2go.dropboxactions-module.html
@@ -164,7 +164,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.dropboxactions-pysrc.html b/doc/html/x2go.dropboxactions-pysrc.html
index 5277061..ecb9e3e 100644
--- a/doc/html/x2go.dropboxactions-pysrc.html
+++ b/doc/html/x2go.dropboxactions-pysrc.html
@@ -637,7 +637,7 @@ expandto(location.href);
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:34 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:25 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.dropboxactions.X2goDropboxAction-class.html b/doc/html/x2go.dropboxactions.X2goDropboxAction-class.html
index 95af620..1c1446e 100644
--- a/doc/html/x2go.dropboxactions.X2goDropboxAction-class.html
+++ b/doc/html/x2go.dropboxactions.X2goDropboxAction-class.html
@@ -344,7 +344,7 @@ object --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.dropboxactions.X2goDropboxActionOPEN-class.html b/doc/html/x2go.dropboxactions.X2goDropboxActionOPEN-class.html
index 8869b02..6996af2 100644
--- a/doc/html/x2go.dropboxactions.X2goDropboxActionOPEN-class.html
+++ b/doc/html/x2go.dropboxactions.X2goDropboxActionOPEN-class.html
@@ -325,7 +325,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.dropboxactions.X2goDropboxActionOPENWITH-class.html b/doc/html/x2go.dropboxactions.X2goDropboxActionOPENWITH-class.html
index 9636956..1438a12 100644
--- a/doc/html/x2go.dropboxactions.X2goDropboxActionOPENWITH-class.html
+++ b/doc/html/x2go.dropboxactions.X2goDropboxActionOPENWITH-class.html
@@ -326,7 +326,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.dropboxactions.X2goDropboxActionSAVEAS-class.html b/doc/html/x2go.dropboxactions.X2goDropboxActionSAVEAS-class.html
index 453054d..295e87f 100644
--- a/doc/html/x2go.dropboxactions.X2goDropboxActionSAVEAS-class.html
+++ b/doc/html/x2go.dropboxactions.X2goDropboxActionSAVEAS-class.html
@@ -312,7 +312,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.forward-module.html b/doc/html/x2go.forward-module.html
index e802086..ca3d0d7 100644
--- a/doc/html/x2go.forward-module.html
+++ b/doc/html/x2go.forward-module.html
@@ -265,7 +265,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.forward-pysrc.html b/doc/html/x2go.forward-pysrc.html
index 1ff682c..7a6bf95 100644
--- a/doc/html/x2go.forward-pysrc.html
+++ b/doc/html/x2go.forward-pysrc.html
@@ -424,7 +424,7 @@ expandto(location.href);
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:34 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:25 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.forward.X2goFwServer-class.html b/doc/html/x2go.forward.X2goFwServer-class.html
index 355b515..83c49b3 100644
--- a/doc/html/x2go.forward.X2goFwServer-class.html
+++ b/doc/html/x2go.forward.X2goFwServer-class.html
@@ -341,7 +341,7 @@ gevent.baseserver.BaseServer --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.gevent_subprocess-module.html b/doc/html/x2go.gevent_subprocess-module.html
index 0701999..4041186 100644
--- a/doc/html/x2go.gevent_subprocess-module.html
+++ b/doc/html/x2go.gevent_subprocess-module.html
@@ -146,7 +146,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.gevent_subprocess-pysrc.html b/doc/html/x2go.gevent_subprocess-pysrc.html
index bde744c..311a137 100644
--- a/doc/html/x2go.gevent_subprocess-pysrc.html
+++ b/doc/html/x2go.gevent_subprocess-pysrc.html
@@ -313,7 +313,7 @@ expandto(location.href);
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:35 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:25 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.gevent_subprocess.Popen-class.html b/doc/html/x2go.gevent_subprocess.Popen-class.html
index 54ef6f2..7b6c0a2 100644
--- a/doc/html/x2go.gevent_subprocess.Popen-class.html
+++ b/doc/html/x2go.gevent_subprocess.Popen-class.html
@@ -248,7 +248,7 @@ object --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.guardian-module.html b/doc/html/x2go.guardian-module.html
index 682a243..3b4126d 100644
--- a/doc/html/x2go.guardian-module.html
+++ b/doc/html/x2go.guardian-module.html
@@ -137,7 +137,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.guardian-pysrc.html b/doc/html/x2go.guardian-pysrc.html
index b23e591..8d760ed 100644
--- a/doc/html/x2go.guardian-pysrc.html
+++ b/doc/html/x2go.guardian-pysrc.html
@@ -338,7 +338,7 @@ expandto(location.href);
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:34 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.guardian.X2goSessionGuardian-class.html b/doc/html/x2go.guardian.X2goSessionGuardian-class.html
index 046a96e..cde4e68 100644
--- a/doc/html/x2go.guardian.X2goSessionGuardian-class.html
+++ b/doc/html/x2go.guardian.X2goSessionGuardian-class.html
@@ -287,7 +287,7 @@ threading._Verbose --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.inifiles-module.html b/doc/html/x2go.inifiles-module.html
index 921d8be..4e60292 100644
--- a/doc/html/x2go.inifiles-module.html
+++ b/doc/html/x2go.inifiles-module.html
@@ -133,7 +133,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.inifiles-pysrc.html b/doc/html/x2go.inifiles-pysrc.html
index f269b62..7102b68 100644
--- a/doc/html/x2go.inifiles-pysrc.html
+++ b/doc/html/x2go.inifiles-pysrc.html
@@ -222,211 +222,224 @@ x2go.utils.__NAME__
 x2go.x2go_exceptions.__NAME__
 x2go.xserver.__NAME__" class="py-name" href="#" onclick="return doclink('link-13', '__NAME__', 'link-0');">__NAME__</a></tt> </tt>
 <a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line"> </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-14" class="py-name"><a title="x2go.utils" class="py-name" href="#" onclick="return doclink('link-14', 'utils', 'link-4');">utils</a></tt><tt class="py-op">.</tt><tt class="py-name">_checkIniFileDefaults</tt><tt class="py-op">(</tt><tt id="link-15" class="py-name"><a title="x2go.defaults" class="py-name" href="#" onclick="return doclink('link-15', 'defaults', 'link-1');">defaults</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name"><a title="x2go.backends.printing._file.X2goClientPrintingFILE.defaultValues
+<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name" targets="Variable x2go.backends.printing._file.X2goClientPrintingFILE.config_files=x2go.backends.printing._file.X2goClientPrintingFILE-class.html#config_files,Variable x2go.backends.printing._gconf.X2goClientPrintingGCONF.config_files=x2go.backends.printing._gconf.X2goClientPrintingGCONF-class.html#config_files,Variable x2go.backends.printing._winreg.X2goClientPrintingWINREG.config_files=x2go.backends.printing._winreg.X2goClientPrintingWINREG-class.html#config_files"><a title="x2go.backends.printing._file.X2goClientPrintingFILE.config_files
+x2go.backends.printing._gconf.X2goClientPrintingGCONF.config_files
+x2go.backends.printing._winreg.X2goClientPrintingWINREG.config_files" class="py-name" href="#" onclick="return doclink('link-14', 'config_files', 'link-14');">config_files</a></tt> <tt class="py-op">=</tt> <tt id="link-15" class="py-name"><a title="x2go.backends.printing._file.X2goClientPrintingFILE.config_files
+x2go.backends.printing._gconf.X2goClientPrintingGCONF.config_files
+x2go.backends.printing._winreg.X2goClientPrintingWINREG.config_files" class="py-name" href="#" onclick="return doclink('link-15', 'config_files', 'link-14');">config_files</a></tt> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line"> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-16" class="py-name"><a title="x2go.utils" class="py-name" href="#" onclick="return doclink('link-16', 'utils', 'link-4');">utils</a></tt><tt class="py-op">.</tt><tt class="py-name">_checkIniFileDefaults</tt><tt class="py-op">(</tt><tt id="link-17" class="py-name"><a title="x2go.defaults" class="py-name" href="#" onclick="return doclink('link-17', 'defaults', 'link-1');">defaults</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="x2go.backends.printing._file.X2goClientPrintingFILE.defaultValues
 x2go.backends.printing._gconf.X2goClientPrintingGCONF.defaultValues
 x2go.backends.printing._winreg.X2goClientPrintingWINREG.defaultValues
 x2go.backends.settings._file.X2goClientSettingsFILE.defaultValues
 x2go.backends.settings._gconf.X2goClientSettingsGCONF.defaultValues
 x2go.backends.settings._winreg.X2goClientSettingsWINREG.defaultValues
 x2go.inifiles.X2goIniFile.defaultValues
-x2go.xserver.X2goClientXConfig.defaultValues" class="py-name" href="#" onclick="return doclink('link-16', 'defaultValues', 'link-5');">defaultValues</a></tt> <tt class="py-op">=</tt> <tt id="link-17" class="py-name"><a title="x2go.defaults" class="py-name" href="#" onclick="return doclink('link-17', 'defaults', 'link-1');">defaults</a></tt> </tt>
-<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line"> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">        <tt class="py-comment"># we purposefully do not inherit the SafeConfigParser class</tt> </tt>
-<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">        <tt class="py-comment"># here as we do not want to run into name conflicts between </tt> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">        <tt class="py-comment"># X2go ini file options and method / property names in </tt> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">        <tt class="py-comment"># SafeConfigParser... This is a pre-cautious approach...</tt> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">iniConfig</tt> <tt class="py-op">=</tt> <tt class="py-name">ConfigParser</tt><tt class="py-op">.</tt><tt class="py-name">SafeConfigParser</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">iniConfig</tt><tt class="py-op">.</tt><tt class="py-name">optionxform</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt> </tt>
-<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line"> </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">        <tt class="py-name">_create_file</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">file_name</tt> <tt class="py-keyword">in</tt> <tt id="link-18" class="py-name" targets="Variable x2go.backends.printing._file.X2goClientPrintingFILE.config_files=x2go.backends.printing._file.X2goClientPrintingFILE-class.html#config_files,Variable x2go.backends.printing._gconf.X2goClientPrintingGCONF.config_files=x2go.backends.printing._gconf.X2goClientPrintingGCONF-class.html#config_files,Variable x2go.backends.printing._winreg.X2goClientPrintingWINREG.config_files=x2go.backends.printing._winreg.X2goClientPrintingWINREG-class.html#config_files"><a title="x2go.backends.printing._file.X2goClientPrintingFILE.config_files
+x2go.xserver.X2goClientXConfig.defaultValues" class="py-name" href="#" onclick="return doclink('link-18', 'defaultValues', 'link-5');">defaultValues</a></tt> <tt class="py-op">=</tt> <tt id="link-19" class="py-name"><a title="x2go.defaults" class="py-name" href="#" onclick="return doclink('link-19', 'defaults', 'link-1');">defaults</a></tt> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line"> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">        <tt class="py-comment"># we purposefully do not inherit the SafeConfigParser class</tt> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">        <tt class="py-comment"># here as we do not want to run into name conflicts between </tt> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">        <tt class="py-comment"># X2go ini file options and method / property names in </tt> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">        <tt class="py-comment"># SafeConfigParser... This is a pre-cautious approach...</tt> </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">iniConfig</tt> <tt class="py-op">=</tt> <tt class="py-name">ConfigParser</tt><tt class="py-op">.</tt><tt class="py-name">SafeConfigParser</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">iniConfig</tt><tt class="py-op">.</tt><tt class="py-name">optionxform</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line"> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">        <tt class="py-name">_create_file</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">file_name</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name"><a title="x2go.backends.printing._file.X2goClientPrintingFILE.config_files
 x2go.backends.printing._gconf.X2goClientPrintingGCONF.config_files
-x2go.backends.printing._winreg.X2goClientPrintingWINREG.config_files" class="py-name" href="#" onclick="return doclink('link-18', 'config_files', 'link-18');">config_files</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">file_name</tt><tt class="py-op">.</tt><tt class="py-name">startswith</tt><tt class="py-op">(</tt><tt class="py-name">_current_home</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">exists</tt><tt class="py-op">(</tt><tt class="py-name">file_name</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">                    <tt id="link-19" class="py-name"><a title="x2go.utils" class="py-name" href="#" onclick="return doclink('link-19', 'utils', 'link-4');">utils</a></tt><tt class="py-op">.</tt><tt id="link-20" class="py-name" targets="Function x2go.utils.touch_file()=x2go.utils-module.html#touch_file"><a title="x2go.utils.touch_file" class="py-name" href="#" onclick="return doclink('link-20', 'touch_file', 'link-20');">touch_file</a></tt><tt class="py-op">(</tt><tt class="py-name">file_name</tt><tt class="py-op">)</tt> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">                    <tt class="py-name">_create_file</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">                <tt class="py-keyword">break</tt> </tt>
-<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line"> </tt>
-<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logger</tt><tt class="py-op">(</tt><tt class="py-string">'proposed config files are %s'</tt> <tt class="py-op">%</tt> <tt id="link-21" class="py-name"><a title="x2go.backends.printing._file.X2goClientPrintingFILE.config_files
+x2go.backends.printing._winreg.X2goClientPrintingWINREG.config_files" class="py-name" href="#" onclick="return doclink('link-20', 'config_files', 'link-14');">config_files</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">file_name</tt><tt class="py-op">.</tt><tt class="py-name">startswith</tt><tt class="py-op">(</tt><tt class="py-name">_current_home</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">exists</tt><tt class="py-op">(</tt><tt class="py-name">file_name</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">                    <tt id="link-21" class="py-name"><a title="x2go.utils" class="py-name" href="#" onclick="return doclink('link-21', 'utils', 'link-4');">utils</a></tt><tt class="py-op">.</tt><tt id="link-22" class="py-name" targets="Function x2go.utils.touch_file()=x2go.utils-module.html#touch_file"><a title="x2go.utils.touch_file" class="py-name" href="#" onclick="return doclink('link-22', 'touch_file', 'link-22');">touch_file</a></tt><tt class="py-op">(</tt><tt class="py-name">file_name</tt><tt class="py-op">)</tt> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">                    <tt class="py-name">_create_file</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">                <tt class="py-keyword">break</tt> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line"> </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name" targets="Method x2go.inifiles.X2goIniFile.load()=x2go.inifiles.X2goIniFile-class.html#load"><a title="x2go.inifiles.X2goIniFile.load" class="py-name" href="#" onclick="return doclink('link-23', 'load', 'link-23');">load</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line"> </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">_create_file</tt><tt class="py-op">:</tt> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name"><a title="x2go.inifiles.X2goIniFile.write_user_config" class="py-name" href="#" onclick="return doclink('link-24', 'write_user_config', 'link-6');">write_user_config</a></tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name" targets="Method x2go.inifiles.X2goIniFile.write()=x2go.inifiles.X2goIniFile-class.html#write"><a title="x2go.inifiles.X2goIniFile.write" class="py-name" href="#" onclick="return doclink('link-25', 'write', 'link-25');">write</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line"> </tt>
+<a name="X2goIniFile.load"></a><div id="X2goIniFile.load-def"><a name="L111"></a><tt class="py-lineno">111</tt> <a class="py-toggle" href="#" id="X2goIniFile.load-toggle" onclick="return toggle('X2goIniFile.load');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.inifiles.X2goIniFile-class.html#load">load</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="X2goIniFile.load-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="X2goIniFile.load-expanded"><a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">        <tt class="py-docstring">"""\</tt> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line"><tt class="py-docstring">        R(e-r)ead configuration file(s).</tt> </tt>
+<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logger</tt><tt class="py-op">(</tt><tt class="py-string">'proposed config files are %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name"><a title="x2go.backends.printing._file.X2goClientPrintingFILE.config_files
 x2go.backends.printing._gconf.X2goClientPrintingGCONF.config_files
-x2go.backends.printing._winreg.X2goClientPrintingWINREG.config_files" class="py-name" href="#" onclick="return doclink('link-21', 'config_files', 'link-18');">config_files</a></tt><tt class="py-op">,</tt> <tt id="link-22" class="py-name"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-22', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt id="link-23" class="py-name" targets="Variable x2go.log.loglevel_INFO=x2go.log-module.html#loglevel_INFO"><a title="x2go.log.loglevel_INFO" class="py-name" href="#" onclick="return doclink('link-23', 'loglevel_INFO', 'link-23');">loglevel_INFO</a></tt><tt class="py-op">,</tt> <tt class="py-op">)</tt> </tt>
-<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">        <tt class="py-name">_found_config_files</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">iniConfig</tt><tt class="py-op">.</tt><tt class="py-name">read</tt><tt class="py-op">(</tt><tt id="link-24" class="py-name"><a title="x2go.backends.printing._file.X2goClientPrintingFILE.config_files
+x2go.backends.printing._winreg.X2goClientPrintingWINREG.config_files" class="py-name" href="#" onclick="return doclink('link-26', 'config_files', 'link-14');">config_files</a></tt><tt class="py-op">,</tt> <tt class="py-name">loglevel</tt><tt class="py-op">=</tt><tt id="link-27" class="py-name"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-27', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt id="link-28" class="py-name" targets="Variable x2go.log.loglevel_INFO=x2go.log-module.html#loglevel_INFO"><a title="x2go.log.loglevel_INFO" class="py-name" href="#" onclick="return doclink('link-28', 'loglevel_INFO', 'link-28');">loglevel_INFO</a></tt><tt class="py-op">,</tt> <tt class="py-op">)</tt> </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">        <tt class="py-name">_found_config_files</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">iniConfig</tt><tt class="py-op">.</tt><tt class="py-name">read</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name"><a title="x2go.backends.printing._file.X2goClientPrintingFILE.config_files
 x2go.backends.printing._gconf.X2goClientPrintingGCONF.config_files
-x2go.backends.printing._winreg.X2goClientPrintingWINREG.config_files" class="py-name" href="#" onclick="return doclink('link-24', 'config_files', 'link-18');">config_files</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logger</tt><tt class="py-op">(</tt><tt class="py-string">'config files found: %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">_found_config_files</tt> <tt class="py-keyword">or</tt> <tt class="py-string">'none'</tt><tt class="py-op">,</tt> <tt id="link-25" class="py-name"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-25', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt id="link-26" class="py-name"><a title="x2go.log.loglevel_INFO" class="py-name" href="#" onclick="return doclink('link-26', 'loglevel_INFO', 'link-23');">loglevel_INFO</a></tt><tt class="py-op">,</tt> <tt class="py-op">)</tt> </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line"> </tt>
-<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">file_name</tt> <tt class="py-keyword">in</tt> <tt class="py-name">_found_config_files</tt><tt class="py-op">:</tt> </tt>
-<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">file_name</tt><tt class="py-op">.</tt><tt class="py-name">startswith</tt><tt class="py-op">(</tt><tt class="py-name">_current_home</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">                <tt class="py-comment"># we will use the first file found in the user's home dir for writing modifications</tt> </tt>
-<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name"><a title="x2go.inifiles.X2goIniFile.user_config_file" class="py-name" href="#" onclick="return doclink('link-27', 'user_config_file', 'link-7');">user_config_file</a></tt> <tt class="py-op">=</tt> <tt class="py-name">file_name</tt> </tt>
-<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">                <tt class="py-keyword">break</tt> </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line"> </tt>
-<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name"><a title="x2go.backends.printing._file.X2goClientPrintingFILE.config_files
+x2go.backends.printing._winreg.X2goClientPrintingWINREG.config_files" class="py-name" href="#" onclick="return doclink('link-29', 'config_files', 'link-14');">config_files</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logger</tt><tt class="py-op">(</tt><tt class="py-string">'config files found: %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">_found_config_files</tt> <tt class="py-keyword">or</tt> <tt class="py-string">'none'</tt><tt class="py-op">,</tt> <tt class="py-name">loglevel</tt><tt class="py-op">=</tt><tt id="link-30" class="py-name"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-30', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt id="link-31" class="py-name"><a title="x2go.log.loglevel_INFO" class="py-name" href="#" onclick="return doclink('link-31', 'loglevel_INFO', 'link-28');">loglevel_INFO</a></tt><tt class="py-op">,</tt> <tt class="py-op">)</tt> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line"> </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">file_name</tt> <tt class="py-keyword">in</tt> <tt class="py-name">_found_config_files</tt><tt class="py-op">:</tt> </tt>
+<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">file_name</tt><tt class="py-op">.</tt><tt class="py-name">startswith</tt><tt class="py-op">(</tt><tt class="py-name">_current_home</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">                <tt class="py-comment"># we will use the first file found in the user's home dir for writing modifications</tt> </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name"><a title="x2go.inifiles.X2goIniFile.user_config_file" class="py-name" href="#" onclick="return doclink('link-32', 'user_config_file', 'link-7');">user_config_file</a></tt> <tt class="py-op">=</tt> <tt class="py-name">file_name</tt> </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">                <tt class="py-keyword">break</tt> </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line"> </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name"><a title="x2go.backends.printing._file.X2goClientPrintingFILE.config_files
 x2go.backends.printing._gconf.X2goClientPrintingGCONF.config_files
-x2go.backends.printing._winreg.X2goClientPrintingWINREG.config_files" class="py-name" href="#" onclick="return doclink('link-28', 'config_files', 'link-18');">config_files</a></tt> <tt class="py-op">=</tt> <tt class="py-name">_found_config_files</tt> </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_fill_defaults</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line"> </tt>
-<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">_create_file</tt><tt class="py-op">:</tt> </tt>
-<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name"><a title="x2go.inifiles.X2goIniFile.write_user_config" class="py-name" href="#" onclick="return doclink('link-29', 'write_user_config', 'link-6');">write_user_config</a></tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name" targets="Method x2go.inifiles.X2goIniFile.write()=x2go.inifiles.X2goIniFile-class.html#write"><a title="x2go.inifiles.X2goIniFile.write" class="py-name" href="#" onclick="return doclink('link-30', 'write', 'link-30');">write</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">         </tt>
-<a name="X2goIniFile.__repr__"></a><div id="X2goIniFile.__repr__-def"><a name="L120"></a><tt class="py-lineno">120</tt> <a class="py-toggle" href="#" id="X2goIniFile.__repr__-toggle" onclick="return toggle('X2goIniFile.__repr__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.inifiles.X2goIniFile-class.html#__repr__">__repr__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="X2goIniFile.__repr__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="X2goIniFile.__repr__-expanded"><a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-string">'X2goIniFile('</tt> </tt>
-<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">p</tt> <tt class="py-keyword">in</tt> <tt class="py-name">dir</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-string">'__'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">p</tt> <tt class="py-keyword">or</tt> <tt class="py-keyword">not</tt> <tt class="py-name">p</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__dict__</tt> <tt class="py-keyword">or</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">p</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">InstanceType</tt><tt class="py-op">:</tt> <tt class="py-keyword">continue</tt> </tt>
-<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">            <tt class="py-name">result</tt> <tt class="py-op">+=</tt> <tt class="py-name">p</tt> <tt class="py-op">+</tt> <tt class="py-string">'='</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__dict__</tt><tt class="py-op">[</tt><tt class="py-name">p</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">result</tt> <tt class="py-op">+</tt> <tt class="py-string">')'</tt> </tt>
-</div><a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line"> </tt>
-<a name="X2goIniFile._storeValue"></a><div id="X2goIniFile._storeValue-def"><a name="L127"></a><tt class="py-lineno">127</tt> <a class="py-toggle" href="#" id="X2goIniFile._storeValue-toggle" onclick="return toggle('X2goIniFile._storeValue');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.inifiles.X2goIniFile-class.html#_storeValue">_storeValue</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">section</tt><tt class="py-op">,</tt> <tt class="py-param">key</tt><tt class="py-op">,</tt> <tt class="py-param">value</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="X2goIniFile._storeValue-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="X2goIniFile._storeValue-expanded"><a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">        <tt class="py-docstring">"""\</tt> </tt>
-<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line"><tt class="py-docstring">        Stores a value for a given section and key.</tt> </tt>
-<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line"><tt class="py-docstring">        This methods affects a SafeConfigParser object held in</tt> </tt>
-<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line"><tt class="py-docstring">        RAM. No configuration file is affected by this </tt> </tt>
-<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line"><tt class="py-docstring">        method.</tt> </tt>
-<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line"><tt class="py-docstring">        @param section: the ini file section</tt> </tt>
-<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line"><tt class="py-docstring">        @type section: C{str}</tt> </tt>
-<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line"><tt class="py-docstring">        @param key: the ini file key in the given section</tt> </tt>
-<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line"><tt class="py-docstring">        @type key: C{str}</tt> </tt>
-<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line"><tt class="py-docstring">        @param value: the value for the given section and key</tt> </tt>
-<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line"><tt class="py-docstring">        @type value: C{str}, C{list}, C{booAl}, ...</tt> </tt>
-<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
-<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-string">u''</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">            <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-name">value</tt><tt class="py-op">.</tt><tt class="py-name">encode</tt><tt class="py-op">(</tt><tt id="link-31" class="py-name"><a title="x2go.utils" class="py-name" href="#" onclick="return doclink('link-31', 'utils', 'link-4');">utils</a></tt><tt class="py-op">.</tt><tt id="link-32" class="py-name" targets="Function x2go.utils.get_encoding()=x2go.utils-module.html#get_encoding"><a title="x2go.utils.get_encoding" class="py-name" href="#" onclick="return doclink('link-32', 'get_encoding', 'link-32');">get_encoding</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line"> </tt>
-<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">BooleanType</tt><tt class="py-op">:</tt> </tt>
-<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">iniConfig</tt><tt class="py-op">.</tt><tt class="py-name">set</tt><tt class="py-op">(</tt><tt class="py-name">section</tt><tt class="py-op">,</tt> <tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">iniConfig</tt><tt class="py-op">.</tt><tt class="py-name">set</tt><tt class="py-op">(</tt><tt class="py-name">section</tt><tt class="py-op">,</tt> <tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line"> </tt>
-<a name="X2goIniFile._fill_defaults"></a><div id="X2goIniFile._fill_defaults-def"><a name="L151"></a><tt class="py-lineno">151</tt> <a class="py-toggle" href="#" id="X2goIniFile._fill_defaults-toggle" onclick="return toggle('X2goIniFile._fill_defaults');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.inifiles.X2goIniFile-class.html#_fill_defaults">_fill_defaults</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="X2goIniFile._fill_defaults-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="X2goIniFile._fill_defaults-expanded"><a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">        <tt class="py-docstring">"""\</tt> </tt>
-<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line"><tt class="py-docstring">        Fills a C{SafeConfigParser} object with the default ini file </tt> </tt>
-<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line"><tt class="py-docstring">        values as pre-defined in Python X2go or. This SafeConfigParser </tt> </tt>
-<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line"><tt class="py-docstring">        object is held in RAM. No configuration file is affected by this </tt> </tt>
-<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line"><tt class="py-docstring">        method.</tt> </tt>
-<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
-<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">section</tt><tt class="py-op">,</tt> <tt class="py-name">sectionvalue</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name"><a title="x2go.backends.printing._file.X2goClientPrintingFILE.defaultValues
+x2go.backends.printing._winreg.X2goClientPrintingWINREG.config_files" class="py-name" href="#" onclick="return doclink('link-33', 'config_files', 'link-14');">config_files</a></tt> <tt class="py-op">=</tt> <tt class="py-name">_found_config_files</tt> </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_fill_defaults</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line"> </tt>
+<a name="X2goIniFile.__repr__"></a><div id="X2goIniFile.__repr__-def"><a name="L129"></a><tt class="py-lineno">129</tt> <a class="py-toggle" href="#" id="X2goIniFile.__repr__-toggle" onclick="return toggle('X2goIniFile.__repr__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.inifiles.X2goIniFile-class.html#__repr__">__repr__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="X2goIniFile.__repr__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="X2goIniFile.__repr__-expanded"><a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-string">'X2goIniFile('</tt> </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">p</tt> <tt class="py-keyword">in</tt> <tt class="py-name">dir</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-string">'__'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">p</tt> <tt class="py-keyword">or</tt> <tt class="py-keyword">not</tt> <tt class="py-name">p</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__dict__</tt> <tt class="py-keyword">or</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">p</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">InstanceType</tt><tt class="py-op">:</tt> <tt class="py-keyword">continue</tt> </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">            <tt class="py-name">result</tt> <tt class="py-op">+=</tt> <tt class="py-name">p</tt> <tt class="py-op">+</tt> <tt class="py-string">'='</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__dict__</tt><tt class="py-op">[</tt><tt class="py-name">p</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">result</tt> <tt class="py-op">+</tt> <tt class="py-string">')'</tt> </tt>
+</div><a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line"> </tt>
+<a name="X2goIniFile._storeValue"></a><div id="X2goIniFile._storeValue-def"><a name="L136"></a><tt class="py-lineno">136</tt> <a class="py-toggle" href="#" id="X2goIniFile._storeValue-toggle" onclick="return toggle('X2goIniFile._storeValue');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.inifiles.X2goIniFile-class.html#_storeValue">_storeValue</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">section</tt><tt class="py-op">,</tt> <tt class="py-param">key</tt><tt class="py-op">,</tt> <tt class="py-param">value</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="X2goIniFile._storeValue-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="X2goIniFile._storeValue-expanded"><a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">        <tt class="py-docstring">"""\</tt> </tt>
+<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line"><tt class="py-docstring">        Stores a value for a given section and key.</tt> </tt>
+<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line"><tt class="py-docstring">        This methods affects a SafeConfigParser object held in</tt> </tt>
+<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line"><tt class="py-docstring">        RAM. No configuration file is affected by this </tt> </tt>
+<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line"><tt class="py-docstring">        method.</tt> </tt>
+<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line"><tt class="py-docstring">        @param section: the ini file section</tt> </tt>
+<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line"><tt class="py-docstring">        @type section: C{str}</tt> </tt>
+<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line"><tt class="py-docstring">        @param key: the ini file key in the given section</tt> </tt>
+<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line"><tt class="py-docstring">        @type key: C{str}</tt> </tt>
+<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line"><tt class="py-docstring">        @param value: the value for the given section and key</tt> </tt>
+<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line"><tt class="py-docstring">        @type value: C{str}, C{list}, C{booAl}, ...</tt> </tt>
+<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-string">u''</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">            <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-name">value</tt><tt class="py-op">.</tt><tt class="py-name">encode</tt><tt class="py-op">(</tt><tt id="link-34" class="py-name"><a title="x2go.utils" class="py-name" href="#" onclick="return doclink('link-34', 'utils', 'link-4');">utils</a></tt><tt class="py-op">.</tt><tt id="link-35" class="py-name" targets="Function x2go.utils.get_encoding()=x2go.utils-module.html#get_encoding"><a title="x2go.utils.get_encoding" class="py-name" href="#" onclick="return doclink('link-35', 'get_encoding', 'link-35');">get_encoding</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line"> </tt>
+<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">BooleanType</tt><tt class="py-op">:</tt> </tt>
+<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">iniConfig</tt><tt class="py-op">.</tt><tt class="py-name">set</tt><tt class="py-op">(</tt><tt class="py-name">section</tt><tt class="py-op">,</tt> <tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">iniConfig</tt><tt class="py-op">.</tt><tt class="py-name">set</tt><tt class="py-op">(</tt><tt class="py-name">section</tt><tt class="py-op">,</tt> <tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line"> </tt>
+<a name="X2goIniFile._fill_defaults"></a><div id="X2goIniFile._fill_defaults-def"><a name="L160"></a><tt class="py-lineno">160</tt> <a class="py-toggle" href="#" id="X2goIniFile._fill_defaults-toggle" onclick="return toggle('X2goIniFile._fill_defaults');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.inifiles.X2goIniFile-class.html#_fill_defaults">_fill_defaults</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="X2goIniFile._fill_defaults-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="X2goIniFile._fill_defaults-expanded"><a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">        <tt class="py-docstring">"""\</tt> </tt>
+<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line"><tt class="py-docstring">        Fills a C{SafeConfigParser} object with the default ini file </tt> </tt>
+<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line"><tt class="py-docstring">        values as pre-defined in Python X2go or. This SafeConfigParser </tt> </tt>
+<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line"><tt class="py-docstring">        object is held in RAM. No configuration file is affected by this </tt> </tt>
+<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line"><tt class="py-docstring">        method.</tt> </tt>
+<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">section</tt><tt class="py-op">,</tt> <tt class="py-name">sectionvalue</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name"><a title="x2go.backends.printing._file.X2goClientPrintingFILE.defaultValues
 x2go.backends.printing._gconf.X2goClientPrintingGCONF.defaultValues
 x2go.backends.printing._winreg.X2goClientPrintingWINREG.defaultValues
 x2go.backends.settings._file.X2goClientSettingsFILE.defaultValues
 x2go.backends.settings._gconf.X2goClientSettingsGCONF.defaultValues
 x2go.backends.settings._winreg.X2goClientSettingsWINREG.defaultValues
 x2go.inifiles.X2goIniFile.defaultValues
-x2go.xserver.X2goClientXConfig.defaultValues" class="py-name" href="#" onclick="return doclink('link-33', 'defaultValues', 'link-5');">defaultValues</a></tt><tt class="py-op">.</tt><tt class="py-name">items</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt> <tt class="py-keyword">in</tt> <tt class="py-name">sectionvalue</tt><tt class="py-op">.</tt><tt class="py-name">items</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">iniConfig</tt><tt class="py-op">.</tt><tt class="py-name">has_option</tt><tt class="py-op">(</tt><tt class="py-name">section</tt><tt class="py-op">,</tt> <tt class="py-name">key</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-keyword">continue</tt> </tt>
-<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">iniConfig</tt><tt class="py-op">.</tt><tt class="py-name">has_section</tt><tt class="py-op">(</tt><tt class="py-name">section</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">iniConfig</tt><tt class="py-op">.</tt><tt class="py-name">add_section</tt><tt class="py-op">(</tt><tt class="py-name">section</tt><tt class="py-op">)</tt> </tt>
-<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_storeValue</tt><tt class="py-op">(</tt><tt class="py-name">section</tt><tt class="py-op">,</tt> <tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line"> </tt>
-<a name="X2goIniFile.update_value"></a><div id="X2goIniFile.update_value-def"><a name="L166"></a><tt class="py-lineno">166</tt> <a class="py-toggle" href="#" id="X2goIniFile.update_value-toggle" onclick="return toggle('X2goIniFile.update_value');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.inifiles.X2goIniFile-class.html#update_value">update_value</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">section</tt><tt class="py-op">,</tt> <tt class="py-param">key</tt><tt class="py-op">,</tt> <tt class="py-param">value</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="X2goIniFile.update_value-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="X2goIniFile.update_value-expanded"><a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line">        <tt class="py-docstring">"""\</tt> </tt>
-<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line"><tt class="py-docstring">        Change a value for a given section and key. This method</tt> </tt>
-<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line"><tt class="py-docstring">        does not have any effect on configuration files.</tt> </tt>
-<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line"><tt class="py-docstring">        @param section: the ini file section</tt> </tt>
-<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line"><tt class="py-docstring">        @type section: C{str}</tt> </tt>
-<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line"><tt class="py-docstring">        @param key: the ini file key in the given section</tt> </tt>
-<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line"><tt class="py-docstring">        @type key: C{str}</tt> </tt>
-<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line"><tt class="py-docstring">        @param value: the value for the given section and key</tt> </tt>
-<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line"><tt class="py-docstring">        @type value: C{str}, C{list}, C{bool}, ...</tt> </tt>
-<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
-<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">iniConfig</tt><tt class="py-op">.</tt><tt class="py-name">has_section</tt><tt class="py-op">(</tt><tt class="py-name">section</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">iniConfig</tt><tt class="py-op">.</tt><tt class="py-name">add_section</tt><tt class="py-op">(</tt><tt class="py-name">section</tt><tt class="py-op">)</tt> </tt>
-<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_storeValue</tt><tt class="py-op">(</tt><tt class="py-name">section</tt><tt class="py-op">,</tt> <tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt><tt class="py-op">)</tt> </tt>
-<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name"><a title="x2go.inifiles.X2goIniFile.write_user_config" class="py-name" href="#" onclick="return doclink('link-34', 'write_user_config', 'link-6');">write_user_config</a></tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-</div><a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line"> </tt>
-<a name="X2goIniFile.write"></a><div id="X2goIniFile.write-def"><a name="L184"></a><tt class="py-lineno">184</tt> <a class="py-toggle" href="#" id="X2goIniFile.write-toggle" onclick="return toggle('X2goIniFile.write');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.inifiles.X2goIniFile-class.html#write">write</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="X2goIniFile.write-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="X2goIniFile.write-expanded"><a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line">        <tt class="py-docstring">"""\</tt> </tt>
-<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line"><tt class="py-docstring">        Write the ini file modifications (SafeConfigParser object) from RAM to disk.</tt> </tt>
-<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line"><tt class="py-docstring">        For writing the first of the C{config_files} specified on instance construction</tt> </tt>
-<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line"><tt class="py-docstring">        that is writable will be used.</tt> </tt>
-<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
-<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name"><a title="x2go.inifiles.X2goIniFile.user_config_file" class="py-name" href="#" onclick="return doclink('link-35', 'user_config_file', 'link-7');">user_config_file</a></tt> <tt class="py-keyword">and</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name"><a title="x2go.inifiles.X2goIniFile.write_user_config" class="py-name" href="#" onclick="return doclink('link-36', 'write_user_config', 'link-6');">write_user_config</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line">            <tt class="py-name">fd</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name"><a title="x2go.inifiles.X2goIniFile.user_config_file" class="py-name" href="#" onclick="return doclink('link-37', 'user_config_file', 'link-7');">user_config_file</a></tt><tt class="py-op">,</tt> <tt class="py-string">'wb'</tt><tt class="py-op">)</tt> </tt>
-<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">iniConfig</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name"><a title="x2go.inifiles.X2goIniFile.write" class="py-name" href="#" onclick="return doclink('link-38', 'write', 'link-30');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">fd</tt><tt class="py-op">)</tt> </tt>
-<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line">            <tt class="py-name">fd</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-39" class="py-name"><a title="x2go.inifiles.X2goIniFile.write_user_config" class="py-name" href="#" onclick="return doclink('link-39', 'write_user_config', 'link-6');">write_user_config</a></tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-</div><a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line"> </tt>
-<a name="X2goIniFile.get_type"></a><div id="X2goIniFile.get_type-def"><a name="L198"></a><tt class="py-lineno">198</tt> <a class="py-toggle" href="#" id="X2goIniFile.get_type-toggle" onclick="return toggle('X2goIniFile.get_type');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.inifiles.X2goIniFile-class.html#get_type">get_type</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">section</tt><tt class="py-op">,</tt> <tt class="py-param">key</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="X2goIniFile.get_type-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="X2goIniFile.get_type-expanded"><a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line">        <tt class="py-docstring">"""\</tt> </tt>
-<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line"><tt class="py-docstring">        Retrieve a value type for a given section and key. The returned</tt> </tt>
-<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line"><tt class="py-docstring">        value type is based on the default values dictionary.</tt> </tt>
-<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line"><tt class="py-docstring">        @param section: the ini file section</tt> </tt>
-<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line"><tt class="py-docstring">        @type section: C{str}</tt> </tt>
-<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line"><tt class="py-docstring">        @param key: the ini file key in the given section</tt> </tt>
-<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line"><tt class="py-docstring">        @type key: C{str}</tt> </tt>
-<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line"><tt class="py-docstring">        @return: a Python variable type </tt> </tt>
-<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line"><tt class="py-docstring">        @rtype: class</tt> </tt>
-<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
-<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-40" class="py-name"><a title="x2go.backends.printing._file.X2goClientPrintingFILE.defaultValues
+x2go.xserver.X2goClientXConfig.defaultValues" class="py-name" href="#" onclick="return doclink('link-36', 'defaultValues', 'link-5');">defaultValues</a></tt><tt class="py-op">.</tt><tt class="py-name">items</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt> <tt class="py-keyword">in</tt> <tt class="py-name">sectionvalue</tt><tt class="py-op">.</tt><tt class="py-name">items</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">iniConfig</tt><tt class="py-op">.</tt><tt class="py-name">has_option</tt><tt class="py-op">(</tt><tt class="py-name">section</tt><tt class="py-op">,</tt> <tt class="py-name">key</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-keyword">continue</tt> </tt>
+<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">iniConfig</tt><tt class="py-op">.</tt><tt class="py-name">has_section</tt><tt class="py-op">(</tt><tt class="py-name">section</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">iniConfig</tt><tt class="py-op">.</tt><tt class="py-name">add_section</tt><tt class="py-op">(</tt><tt class="py-name">section</tt><tt class="py-op">)</tt> </tt>
+<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_storeValue</tt><tt class="py-op">(</tt><tt class="py-name">section</tt><tt class="py-op">,</tt> <tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line"> </tt>
+<a name="X2goIniFile.update_value"></a><div id="X2goIniFile.update_value-def"><a name="L175"></a><tt class="py-lineno">175</tt> <a class="py-toggle" href="#" id="X2goIniFile.update_value-toggle" onclick="return toggle('X2goIniFile.update_value');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.inifiles.X2goIniFile-class.html#update_value">update_value</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">section</tt><tt class="py-op">,</tt> <tt class="py-param">key</tt><tt class="py-op">,</tt> <tt class="py-param">value</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="X2goIniFile.update_value-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="X2goIniFile.update_value-expanded"><a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line">        <tt class="py-docstring">"""\</tt> </tt>
+<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line"><tt class="py-docstring">        Change a value for a given section and key. This method</tt> </tt>
+<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line"><tt class="py-docstring">        does not have any effect on configuration files.</tt> </tt>
+<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line"><tt class="py-docstring">        @param section: the ini file section</tt> </tt>
+<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line"><tt class="py-docstring">        @type section: C{str}</tt> </tt>
+<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line"><tt class="py-docstring">        @param key: the ini file key in the given section</tt> </tt>
+<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line"><tt class="py-docstring">        @type key: C{str}</tt> </tt>
+<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line"><tt class="py-docstring">        @param value: the value for the given section and key</tt> </tt>
+<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line"><tt class="py-docstring">        @type value: C{str}, C{list}, C{bool}, ...</tt> </tt>
+<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">iniConfig</tt><tt class="py-op">.</tt><tt class="py-name">has_section</tt><tt class="py-op">(</tt><tt class="py-name">section</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">iniConfig</tt><tt class="py-op">.</tt><tt class="py-name">add_section</tt><tt class="py-op">(</tt><tt class="py-name">section</tt><tt class="py-op">)</tt> </tt>
+<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_storeValue</tt><tt class="py-op">(</tt><tt class="py-name">section</tt><tt class="py-op">,</tt> <tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt><tt class="py-op">)</tt> </tt>
+<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name"><a title="x2go.inifiles.X2goIniFile.write_user_config" class="py-name" href="#" onclick="return doclink('link-37', 'write_user_config', 'link-6');">write_user_config</a></tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+</div><a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line"> </tt>
+<a name="X2goIniFile.write"></a><div id="X2goIniFile.write-def"><a name="L193"></a><tt class="py-lineno">193</tt> <a class="py-toggle" href="#" id="X2goIniFile.write-toggle" onclick="return toggle('X2goIniFile.write');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.inifiles.X2goIniFile-class.html#write">write</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="X2goIniFile.write-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="X2goIniFile.write-expanded"><a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line">        <tt class="py-docstring">"""\</tt> </tt>
+<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line"><tt class="py-docstring">        Write the ini file modifications (SafeConfigParser object) from RAM to disk.</tt> </tt>
+<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line"><tt class="py-docstring">        For writing the first of the C{config_files} specified on instance construction</tt> </tt>
+<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line"><tt class="py-docstring">        that is writable will be used.</tt> </tt>
+<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name"><a title="x2go.inifiles.X2goIniFile.user_config_file" class="py-name" href="#" onclick="return doclink('link-38', 'user_config_file', 'link-7');">user_config_file</a></tt> <tt class="py-keyword">and</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-39" class="py-name"><a title="x2go.inifiles.X2goIniFile.write_user_config" class="py-name" href="#" onclick="return doclink('link-39', 'write_user_config', 'link-6');">write_user_config</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">            <tt class="py-name">fd</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-40" class="py-name"><a title="x2go.inifiles.X2goIniFile.user_config_file" class="py-name" href="#" onclick="return doclink('link-40', 'user_config_file', 'link-7');">user_config_file</a></tt><tt class="py-op">,</tt> <tt class="py-string">'wb'</tt><tt class="py-op">)</tt> </tt>
+<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">iniConfig</tt><tt class="py-op">.</tt><tt id="link-41" class="py-name"><a title="x2go.inifiles.X2goIniFile.write" class="py-name" href="#" onclick="return doclink('link-41', 'write', 'link-25');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">fd</tt><tt class="py-op">)</tt> </tt>
+<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">            <tt class="py-name">fd</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-42" class="py-name"><a title="x2go.inifiles.X2goIniFile.write_user_config" class="py-name" href="#" onclick="return doclink('link-42', 'write_user_config', 'link-6');">write_user_config</a></tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+</div><a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line"> </tt>
+<a name="X2goIniFile.get_type"></a><div id="X2goIniFile.get_type-def"><a name="L207"></a><tt class="py-lineno">207</tt> <a class="py-toggle" href="#" id="X2goIniFile.get_type-toggle" onclick="return toggle('X2goIniFile.get_type');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.inifiles.X2goIniFile-class.html#get_type">get_type</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">section</tt><tt class="py-op">,</tt> <tt class="py-param">key</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="X2goIniFile.get_type-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="X2goIniFile.get_type-expanded"><a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">        <tt class="py-docstring">"""\</tt> </tt>
+<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line"><tt class="py-docstring">        Retrieve a value type for a given section and key. The returned</tt> </tt>
+<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line"><tt class="py-docstring">        value type is based on the default values dictionary.</tt> </tt>
+<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line"><tt class="py-docstring">        @param section: the ini file section</tt> </tt>
+<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line"><tt class="py-docstring">        @type section: C{str}</tt> </tt>
+<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line"><tt class="py-docstring">        @param key: the ini file key in the given section</tt> </tt>
+<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line"><tt class="py-docstring">        @type key: C{str}</tt> </tt>
+<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line"><tt class="py-docstring">        @return: a Python variable type </tt> </tt>
+<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line"><tt class="py-docstring">        @rtype: class</tt> </tt>
+<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-43" class="py-name"><a title="x2go.backends.printing._file.X2goClientPrintingFILE.defaultValues
 x2go.backends.printing._gconf.X2goClientPrintingGCONF.defaultValues
 x2go.backends.printing._winreg.X2goClientPrintingWINREG.defaultValues
 x2go.backends.settings._file.X2goClientSettingsFILE.defaultValues
 x2go.backends.settings._gconf.X2goClientSettingsGCONF.defaultValues
 x2go.backends.settings._winreg.X2goClientSettingsWINREG.defaultValues
 x2go.inifiles.X2goIniFile.defaultValues
-x2go.xserver.X2goClientXConfig.defaultValues" class="py-name" href="#" onclick="return doclink('link-40', 'defaultValues', 'link-5');">defaultValues</a></tt><tt class="py-op">[</tt><tt class="py-name">section</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line"> </tt>
-<a name="X2goIniFile.get_value"></a><div id="X2goIniFile.get_value-def"><a name="L214"></a><tt class="py-lineno">214</tt> <a class="py-toggle" href="#" id="X2goIniFile.get_value-toggle" onclick="return toggle('X2goIniFile.get_value');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.inifiles.X2goIniFile-class.html#get_value">get_value</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">section</tt><tt class="py-op">,</tt> <tt class="py-param">key</tt><tt class="py-op">,</tt> <tt class="py-param">key_type</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="X2goIniFile.get_value-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="X2goIniFile.get_value-expanded"><a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line">        <tt class="py-docstring">"""\</tt> </tt>
-<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line"><tt class="py-docstring">        Retrieve a value for a given section and key.</tt> </tt>
-<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line"><tt class="py-docstring">        @param section: the ini file section</tt> </tt>
-<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line"><tt class="py-docstring">        @type section: C{str}</tt> </tt>
-<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line"><tt class="py-docstring">        @param key: the ini file key in the given section</tt> </tt>
-<a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line"><tt class="py-docstring">        @type key: C{str}</tt> </tt>
-<a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line"><tt class="py-docstring">        @return: the value for the given section and key</tt> </tt>
-<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line"><tt class="py-docstring">        @rtype: class</tt> </tt>
-<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
-<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">key_type</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line">            <tt class="py-name">key_type</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-41" class="py-name" targets="Method x2go.inifiles.X2goIniFile.get_type()=x2go.inifiles.X2goIniFile-class.html#get_type"><a title="x2go.inifiles.X2goIniFile.get_type" class="py-name" href="#" onclick="return doclink('link-41', 'get_type', 'link-41');">get_type</a></tt><tt class="py-op">(</tt><tt class="py-name">section</tt><tt class="py-op">,</tt> <tt class="py-name">key</tt><tt class="py-op">)</tt> </tt>
-<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">iniConfig</tt><tt class="py-op">.</tt><tt class="py-name">has_option</tt><tt class="py-op">(</tt><tt class="py-name">section</tt><tt class="py-op">,</tt> <tt class="py-name">key</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">key_type</tt> <tt class="py-keyword">is</tt> <tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">BooleanType</tt><tt class="py-op">:</tt> </tt>
-<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">iniConfig</tt><tt class="py-op">.</tt><tt class="py-name">getboolean</tt><tt class="py-op">(</tt><tt class="py-name">section</tt><tt class="py-op">,</tt> <tt class="py-name">key</tt><tt class="py-op">)</tt> </tt>
-<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">key_type</tt> <tt class="py-keyword">is</tt> <tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">IntType</tt><tt class="py-op">:</tt> </tt>
-<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">iniConfig</tt><tt class="py-op">.</tt><tt class="py-name">getint</tt><tt class="py-op">(</tt><tt class="py-name">section</tt><tt class="py-op">,</tt> <tt class="py-name">key</tt><tt class="py-op">)</tt> </tt>
-<a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">key_type</tt> <tt class="py-keyword">is</tt> <tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">ListType</tt><tt class="py-op">:</tt> </tt>
-<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line">                <tt class="py-name">val</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">iniConfig</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-name">section</tt><tt class="py-op">,</tt> <tt class="py-name">key</tt><tt class="py-op">)</tt> </tt>
-<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">val</tt><tt class="py-op">.</tt><tt class="py-name">startswith</tt><tt class="py-op">(</tt><tt class="py-string">'['</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-name">val</tt><tt class="py-op">.</tt><tt class="py-name">endswith</tt><tt class="py-op">(</tt><tt class="py-string">']'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">eval</tt><tt class="py-op">(</tt><tt class="py-name">val</tt><tt class="py-op">)</tt> </tt>
-<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line">                    <tt class="py-keyword">raise</tt> <tt class="py-name">TypeError</tt> </tt>
-<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line">                <tt class="py-name">_val</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">iniConfig</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-name">section</tt><tt class="py-op">,</tt> <tt class="py-name">key</tt><tt class="py-op">)</tt> </tt>
-<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">_val</tt><tt class="py-op">.</tt><tt class="py-name">decode</tt><tt class="py-op">(</tt><tt id="link-42" class="py-name"><a title="x2go.utils" class="py-name" href="#" onclick="return doclink('link-42', 'utils', 'link-4');">utils</a></tt><tt class="py-op">.</tt><tt id="link-43" class="py-name"><a title="x2go.utils.get_encoding" class="py-name" href="#" onclick="return doclink('link-43', 'get_encoding', 'link-32');">get_encoding</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line">    <tt class="py-name">get</tt> <tt class="py-op">=</tt> <tt id="link-44" class="py-name" targets="Method x2go.inifiles.X2goIniFile.get_value()=x2go.inifiles.X2goIniFile-class.html#get_value"><a title="x2go.inifiles.X2goIniFile.get_value" class="py-name" href="#" onclick="return doclink('link-44', 'get_value', 'link-44');">get_value</a></tt> </tt>
-<a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line">    <tt id="link-45" class="py-name" targets="Method x2go.backends.info._stdout.X2goServerSessionListSTDOUT.__call__()=x2go.backends.info._stdout.X2goServerSessionListSTDOUT-class.html#__call__,Method x2go.backends.profiles._file.X2goSessionProfilesFILE.__call__()=x2go.backends.profiles._file.X2goSessionProfilesFILE-class.html#__call__,Method x2go.registry.X2goSessionRegistry.__call__()=x2go.registry.X2goSessionRegistry-class.html#__call__,Method x2go.session.X2goSession.__call__()=x2go.session.X2goSession-class.html#__call__"><a title="x2go.backends.info._stdout.X2goServerSessionListSTDOUT.__call__
+x2go.xserver.X2goClientXConfig.defaultValues" class="py-name" href="#" onclick="return doclink('link-43', 'defaultValues', 'link-5');">defaultValues</a></tt><tt class="py-op">[</tt><tt class="py-name">section</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line"> </tt>
+<a name="X2goIniFile.get_value"></a><div id="X2goIniFile.get_value-def"><a name="L223"></a><tt class="py-lineno">223</tt> <a class="py-toggle" href="#" id="X2goIniFile.get_value-toggle" onclick="return toggle('X2goIniFile.get_value');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.inifiles.X2goIniFile-class.html#get_value">get_value</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">section</tt><tt class="py-op">,</tt> <tt class="py-param">key</tt><tt class="py-op">,</tt> <tt class="py-param">key_type</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="X2goIniFile.get_value-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="X2goIniFile.get_value-expanded"><a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line">        <tt class="py-docstring">"""\</tt> </tt>
+<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line"><tt class="py-docstring">        Retrieve a value for a given section and key.</tt> </tt>
+<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line"><tt class="py-docstring">        @param section: the ini file section</tt> </tt>
+<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line"><tt class="py-docstring">        @type section: C{str}</tt> </tt>
+<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line"><tt class="py-docstring">        @param key: the ini file key in the given section</tt> </tt>
+<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line"><tt class="py-docstring">        @type key: C{str}</tt> </tt>
+<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line"><tt class="py-docstring">        @return: the value for the given section and key</tt> </tt>
+<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line"><tt class="py-docstring">        @rtype: class</tt> </tt>
+<a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">key_type</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line">            <tt class="py-name">key_type</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-44" class="py-name" targets="Method x2go.inifiles.X2goIniFile.get_type()=x2go.inifiles.X2goIniFile-class.html#get_type"><a title="x2go.inifiles.X2goIniFile.get_type" class="py-name" href="#" onclick="return doclink('link-44', 'get_type', 'link-44');">get_type</a></tt><tt class="py-op">(</tt><tt class="py-name">section</tt><tt class="py-op">,</tt> <tt class="py-name">key</tt><tt class="py-op">)</tt> </tt>
+<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">iniConfig</tt><tt class="py-op">.</tt><tt class="py-name">has_option</tt><tt class="py-op">(</tt><tt class="py-name">section</tt><tt class="py-op">,</tt> <tt class="py-name">key</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">key_type</tt> <tt class="py-keyword">is</tt> <tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">BooleanType</tt><tt class="py-op">:</tt> </tt>
+<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">iniConfig</tt><tt class="py-op">.</tt><tt class="py-name">getboolean</tt><tt class="py-op">(</tt><tt class="py-name">section</tt><tt class="py-op">,</tt> <tt class="py-name">key</tt><tt class="py-op">)</tt> </tt>
+<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">key_type</tt> <tt class="py-keyword">is</tt> <tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">IntType</tt><tt class="py-op">:</tt> </tt>
+<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">iniConfig</tt><tt class="py-op">.</tt><tt class="py-name">getint</tt><tt class="py-op">(</tt><tt class="py-name">section</tt><tt class="py-op">,</tt> <tt class="py-name">key</tt><tt class="py-op">)</tt> </tt>
+<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">key_type</tt> <tt class="py-keyword">is</tt> <tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">ListType</tt><tt class="py-op">:</tt> </tt>
+<a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line">                <tt class="py-name">val</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">iniConfig</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-name">section</tt><tt class="py-op">,</tt> <tt class="py-name">key</tt><tt class="py-op">)</tt> </tt>
+<a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">val</tt><tt class="py-op">.</tt><tt class="py-name">startswith</tt><tt class="py-op">(</tt><tt class="py-string">'['</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-name">val</tt><tt class="py-op">.</tt><tt class="py-name">endswith</tt><tt class="py-op">(</tt><tt class="py-string">']'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">eval</tt><tt class="py-op">(</tt><tt class="py-name">val</tt><tt class="py-op">)</tt> </tt>
+<a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line">                    <tt class="py-keyword">raise</tt> <tt class="py-name">TypeError</tt> </tt>
+<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line">                <tt class="py-name">_val</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">iniConfig</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-name">section</tt><tt class="py-op">,</tt> <tt class="py-name">key</tt><tt class="py-op">)</tt> </tt>
+<a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">_val</tt><tt class="py-op">.</tt><tt class="py-name">decode</tt><tt class="py-op">(</tt><tt id="link-45" class="py-name"><a title="x2go.utils" class="py-name" href="#" onclick="return doclink('link-45', 'utils', 'link-4');">utils</a></tt><tt class="py-op">.</tt><tt id="link-46" class="py-name"><a title="x2go.utils.get_encoding" class="py-name" href="#" onclick="return doclink('link-46', 'get_encoding', 'link-35');">get_encoding</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line">    <tt class="py-name">get</tt> <tt class="py-op">=</tt> <tt id="link-47" class="py-name" targets="Method x2go.inifiles.X2goIniFile.get_value()=x2go.inifiles.X2goIniFile-class.html#get_value"><a title="x2go.inifiles.X2goIniFile.get_value" class="py-name" href="#" onclick="return doclink('link-47', 'get_value', 'link-47');">get_value</a></tt> </tt>
+<a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line">    <tt id="link-48" class="py-name" targets="Method x2go.backends.info._stdout.X2goServerSessionListSTDOUT.__call__()=x2go.backends.info._stdout.X2goServerSessionListSTDOUT-class.html#__call__,Method x2go.backends.profiles._file.X2goSessionProfilesFILE.__call__()=x2go.backends.profiles._file.X2goSessionProfilesFILE-class.html#__call__,Method x2go.registry.X2goSessionRegistry.__call__()=x2go.registry.X2goSessionRegistry-class.html#__call__,Method x2go.session.X2goSession.__call__()=x2go.session.X2goSession-class.html#__call__"><a title="x2go.backends.info._stdout.X2goServerSessionListSTDOUT.__call__
 x2go.backends.profiles._file.X2goSessionProfilesFILE.__call__
 x2go.registry.X2goSessionRegistry.__call__
-x2go.session.X2goSession.__call__" class="py-name" href="#" onclick="return doclink('link-45', '__call__', 'link-45');">__call__</a></tt> <tt class="py-op">=</tt> <tt id="link-46" class="py-name"><a title="x2go.inifiles.X2goIniFile.get_value" class="py-name" href="#" onclick="return doclink('link-46', 'get_value', 'link-44');">get_value</a></tt> </tt>
-<a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line"> </tt>
-<a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line">    <tt class="py-decorator">@</tt><tt class="py-decorator">property</tt> </tt>
-<a name="X2goIniFile.printable_config_file"></a><div id="X2goIniFile.printable_config_file-def"><a name="L247"></a><tt class="py-lineno">247</tt> <a class="py-toggle" href="#" id="X2goIniFile.printable_config_file-toggle" onclick="return toggle('X2goIniFile.printable_config_file');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.inifiles.X2goIniFile-class.html#printable_config_file">printable_config_file</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="X2goIniFile.printable_config_file-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="X2goIniFile.printable_config_file-expanded"><a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line">        <tt class="py-docstring">"""\</tt> </tt>
-<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line"><tt class="py-docstring">        Returns a printable configuration file as a multi-line string.</tt> </tt>
-<a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
-<a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line">        <tt class="py-name">stdout</tt> <tt class="py-op">=</tt> <tt class="py-name">cStringIO</tt><tt class="py-op">.</tt><tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">iniConfig</tt><tt class="py-op">.</tt><tt id="link-47" class="py-name"><a title="x2go.inifiles.X2goIniFile.write" class="py-name" href="#" onclick="return doclink('link-47', 'write', 'link-30');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">stdout</tt><tt class="py-op">)</tt> </tt>
-<a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line">        <tt class="py-name">_ret_val</tt> <tt class="py-op">=</tt> <tt class="py-name">stdout</tt><tt class="py-op">.</tt><tt class="py-name">getvalue</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line">        <tt class="py-name">stdout</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">_ret_val</tt> </tt>
-</div></div><a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+x2go.session.X2goSession.__call__" class="py-name" href="#" onclick="return doclink('link-48', '__call__', 'link-48');">__call__</a></tt> <tt class="py-op">=</tt> <tt id="link-49" class="py-name"><a title="x2go.inifiles.X2goIniFile.get_value" class="py-name" href="#" onclick="return doclink('link-49', 'get_value', 'link-47');">get_value</a></tt> </tt>
+<a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line"> </tt>
+<a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line">    <tt class="py-decorator">@</tt><tt class="py-decorator">property</tt> </tt>
+<a name="X2goIniFile.printable_config_file"></a><div id="X2goIniFile.printable_config_file-def"><a name="L256"></a><tt class="py-lineno">256</tt> <a class="py-toggle" href="#" id="X2goIniFile.printable_config_file-toggle" onclick="return toggle('X2goIniFile.printable_config_file');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.inifiles.X2goIniFile-class.html#printable_config_file">printable_config_file</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="X2goIniFile.printable_config_file-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="X2goIniFile.printable_config_file-expanded"><a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line">        <tt class="py-docstring">"""\</tt> </tt>
+<a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line"><tt class="py-docstring">        Returns a printable configuration file as a multi-line string.</tt> </tt>
+<a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line">        <tt class="py-name">stdout</tt> <tt class="py-op">=</tt> <tt class="py-name">cStringIO</tt><tt class="py-op">.</tt><tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">iniConfig</tt><tt class="py-op">.</tt><tt id="link-50" class="py-name"><a title="x2go.inifiles.X2goIniFile.write" class="py-name" href="#" onclick="return doclink('link-50', 'write', 'link-25');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">stdout</tt><tt class="py-op">)</tt> </tt>
+<a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line">        <tt class="py-name">_ret_val</tt> <tt class="py-op">=</tt> <tt class="py-name">stdout</tt><tt class="py-op">.</tt><tt class="py-name">getvalue</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line">        <tt class="py-name">stdout</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">_ret_val</tt> </tt>
+</div></div><a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line"> </tt><script type="text/javascript">
 <!--
 expandto(location.href);
 // -->
@@ -464,7 +477,7 @@ expandto(location.href);
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:34 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:25 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.inifiles.X2goIniFile-class.html b/doc/html/x2go.inifiles.X2goIniFile-class.html
index b23cc52..79fb674 100644
--- a/doc/html/x2go.inifiles.X2goIniFile-class.html
+++ b/doc/html/x2go.inifiles.X2goIniFile-class.html
@@ -243,6 +243,23 @@ object --+
       
     </td>
   </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="load"></a><span class="summary-sig-name">load</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      R(e-r)ead configuration file(s).</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="x2go.inifiles-pysrc.html#X2goIniFile.load">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
   <tr>
     <td colspan="2" class="summary">
     <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
@@ -617,7 +634,7 @@ object --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.log-module.html b/doc/html/x2go.log-module.html
index 7e6f041..f7d908c 100644
--- a/doc/html/x2go.log-module.html
+++ b/doc/html/x2go.log-module.html
@@ -190,7 +190,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.log-pysrc.html b/doc/html/x2go.log-pysrc.html
index 85ee83c..ecd038e 100644
--- a/doc/html/x2go.log-pysrc.html
+++ b/doc/html/x2go.log-pysrc.html
@@ -323,7 +323,7 @@ expandto(location.href);
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:35 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:25 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.log.X2goLogger-class.html b/doc/html/x2go.log.X2goLogger-class.html
index 10a2fb2..acda77d 100644
--- a/doc/html/x2go.log.X2goLogger-class.html
+++ b/doc/html/x2go.log.X2goLogger-class.html
@@ -541,7 +541,7 @@ object --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.printactions-module.html b/doc/html/x2go.printactions-module.html
index 0297938..092f312 100644
--- a/doc/html/x2go.printactions-module.html
+++ b/doc/html/x2go.printactions-module.html
@@ -178,7 +178,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.printactions-pysrc.html b/doc/html/x2go.printactions-pysrc.html
index f4ff70e..393ecdb 100644
--- a/doc/html/x2go.printactions-pysrc.html
+++ b/doc/html/x2go.printactions-pysrc.html
@@ -133,28 +133,30 @@ x2go.xserver.__NAME__" class="py-name" href="#" onclick="return doclink('link-0'
 <a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">types</tt> </tt>
 <a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">threading</tt> </tt>
 <a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
-<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line"> </tt>
-<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-1" class="py-name" targets="Module x2go.defaults=x2go.defaults-module.html"><a title="x2go.defaults" class="py-name" href="#" onclick="return doclink('link-1', 'defaults', 'link-1');">defaults</a></tt> <tt class="py-keyword">import</tt> <tt id="link-2" class="py-name" targets="Variable x2go.defaults.X2GOCLIENT_OS=x2go.defaults-module.html#X2GOCLIENT_OS"><a title="x2go.defaults.X2GOCLIENT_OS" class="py-name" href="#" onclick="return doclink('link-2', 'X2GOCLIENT_OS', 'link-2');">X2GOCLIENT_OS</a></tt> <tt class="py-keyword">as</tt> <tt class="py-name">_X2GOCLIENT_OS</tt> </tt>
-<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line"><tt class="py-keyword">if</tt> <tt class="py-name">_X2GOCLIENT_OS</tt> <tt class="py-keyword">in</tt> <tt class="py-op">(</tt><tt class="py-string">"Windows"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">    <tt class="py-keyword">import</tt> <tt class="py-name">subprocess</tt> </tt>
-<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">    <tt class="py-keyword">import</tt> <tt class="py-name">win32api</tt> </tt>
-<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">    <tt class="py-keyword">import</tt> <tt class="py-name">win32print</tt> </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line"><tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">    <tt class="py-keyword">import</tt> <tt id="link-3" class="py-name" targets="Module x2go.gevent_subprocess=x2go.gevent_subprocess-module.html"><a title="x2go.gevent_subprocess" class="py-name" href="#" onclick="return doclink('link-3', 'gevent_subprocess', 'link-3');">gevent_subprocess</a></tt> <tt class="py-keyword">as</tt> <tt class="py-name">subprocess</tt> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line"> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line"><tt class="py-comment"># Python X2go modules</tt> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-4" class="py-name" targets="Module x2go.log=x2go.log-module.html"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-4', 'log', 'link-4');">log</a></tt> </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-5" class="py-name"><a title="x2go.defaults" class="py-name" href="#" onclick="return doclink('link-5', 'defaults', 'link-1');">defaults</a></tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line"><tt class="py-comment"># we hide the default values from epydoc (that's why we transform them to _UNDERSCORE variables)</tt> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-6" class="py-name" targets="Module x2go.utils=x2go.utils-module.html"><a title="x2go.utils" class="py-name" href="#" onclick="return doclink('link-6', 'utils', 'link-6');">utils</a></tt> </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-7" class="py-name" targets="Module x2go.x2go_exceptions=x2go.x2go_exceptions-module.html"><a title="x2go.x2go_exceptions" class="py-name" href="#" onclick="return doclink('link-7', 'x2go_exceptions', 'link-7');">x2go_exceptions</a></tt> </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line"> </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line"><tt id="link-8" class="py-name" targets="Variable x2go.printactions._PRINT_ENV=x2go.printactions-module.html#_PRINT_ENV"><a title="x2go.printactions._PRINT_ENV" class="py-name" href="#" onclick="return doclink('link-8', '_PRINT_ENV', 'link-8');">_PRINT_ENV</a></tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">environ</tt><tt class="py-op">.</tt><tt class="py-name">copy</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="X2goPrintAction"></a><div id="X2goPrintAction-def"><a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line"> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line"> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt> <a class="py-toggle" href="#" id="X2goPrintAction-toggle" onclick="return toggle('X2goPrintAction');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="x2go.printactions.X2goPrintAction-class.html">X2goPrintAction</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="X2goPrintAction-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="X2goPrintAction-expanded"><a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line"> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">    <tt id="link-9" class="py-name" targets="Variable x2go.dropboxactions.X2goDropboxAction.__name__=x2go.dropboxactions.X2goDropboxAction-class.html#__name__,Variable x2go.dropboxactions.X2goDropboxActionOPEN.__name__=x2go.dropboxactions.X2goDropboxActionOPEN-class.html#__name__,Variable x2go.dropboxactions.X2goDropboxActionOPENWITH.__name__=x2go.dropboxactions.X2goDropboxActionOPENWITH-class.html#__name__,Variable x2go.dropboxactions.X2goDropboxActionSAVEAS.__name__=x2go.dropboxactions.X2goDropboxActionSAVEAS-class.html#__name__,Variable x2go.printactions.X2goPrintAction.__name__=x2go.printactions.X2goPrintAction-class.html#__name__,Variable x2go.printactions.X2goPrintActionDIALOG.__name__=x2go.printactions.X2goPrintActionDIALOG-class.html#__name__,Variable x2go.printactions.X2goPrintActionPDFSAVE.__name__=x2go.printactions.X2goPrintActionPDFSAVE-class.html#__name__,Variable x2go.printactions.X2goPrintAc
 tionPDFV
 IEW.__name__=x2go.printactions.X2goPrintActionPDFVIEW-class.html#__name__,Variable x2go.printactions.X2goPrintActionPRINT.__name__=x2go.printactions.X2goPrintActionPRINT-class.html#__name__,Variable x2go.printactions.X2goPrintActionPRINTCMD.__name__=x2go.printactions.X2goPrintActionPRINTCMD-class.html#__name__"><a title="x2go.dropboxactions.X2goDropboxAction.__name__
+<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">string</tt> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line"> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-1" class="py-name" targets="Module x2go.defaults=x2go.defaults-module.html"><a title="x2go.defaults" class="py-name" href="#" onclick="return doclink('link-1', 'defaults', 'link-1');">defaults</a></tt> <tt class="py-keyword">import</tt> <tt id="link-2" class="py-name" targets="Variable x2go.defaults.X2GOCLIENT_OS=x2go.defaults-module.html#X2GOCLIENT_OS"><a title="x2go.defaults.X2GOCLIENT_OS" class="py-name" href="#" onclick="return doclink('link-2', 'X2GOCLIENT_OS', 'link-2');">X2GOCLIENT_OS</a></tt> <tt class="py-keyword">as</tt> <tt class="py-name">_X2GOCLIENT_OS</tt> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line"><tt class="py-keyword">if</tt> <tt class="py-name">_X2GOCLIENT_OS</tt> <tt class="py-keyword">in</tt> <tt class="py-op">(</tt><tt class="py-string">"Windows"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">    <tt class="py-keyword">import</tt> <tt class="py-name">subprocess</tt> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line">    <tt class="py-keyword">import</tt> <tt class="py-name">win32api</tt> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">    <tt class="py-keyword">import</tt> <tt class="py-name">win32print</tt> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line"><tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">    <tt class="py-keyword">import</tt> <tt id="link-3" class="py-name" targets="Module x2go.gevent_subprocess=x2go.gevent_subprocess-module.html"><a title="x2go.gevent_subprocess" class="py-name" href="#" onclick="return doclink('link-3', 'gevent_subprocess', 'link-3');">gevent_subprocess</a></tt> <tt class="py-keyword">as</tt> <tt class="py-name">subprocess</tt> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line"> </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line"><tt class="py-comment"># Python X2go modules</tt> </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-4" class="py-name" targets="Module x2go.log=x2go.log-module.html"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-4', 'log', 'link-4');">log</a></tt> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-5" class="py-name"><a title="x2go.defaults" class="py-name" href="#" onclick="return doclink('link-5', 'defaults', 'link-1');">defaults</a></tt> </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line"><tt class="py-comment"># we hide the default values from epydoc (that's why we transform them to _UNDERSCORE variables)</tt> </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-6" class="py-name" targets="Module x2go.utils=x2go.utils-module.html"><a title="x2go.utils" class="py-name" href="#" onclick="return doclink('link-6', 'utils', 'link-6');">utils</a></tt> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-7" class="py-name" targets="Module x2go.x2go_exceptions=x2go.x2go_exceptions-module.html"><a title="x2go.x2go_exceptions" class="py-name" href="#" onclick="return doclink('link-7', 'x2go_exceptions', 'link-7');">x2go_exceptions</a></tt> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line"> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line"><tt id="link-8" class="py-name" targets="Variable x2go.printactions._PRINT_ENV=x2go.printactions-module.html#_PRINT_ENV"><a title="x2go.printactions._PRINT_ENV" class="py-name" href="#" onclick="return doclink('link-8', '_PRINT_ENV', 'link-8');">_PRINT_ENV</a></tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">environ</tt><tt class="py-op">.</tt><tt class="py-name">copy</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="X2goPrintAction"></a><div id="X2goPrintAction-def"><a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line"> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line"> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt> <a class="py-toggle" href="#" id="X2goPrintAction-toggle" onclick="return toggle('X2goPrintAction');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="x2go.printactions.X2goPrintAction-class.html">X2goPrintAction</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="X2goPrintAction-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="X2goPrintAction-expanded"><a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line"> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">    <tt id="link-9" class="py-name" targets="Variable x2go.dropboxactions.X2goDropboxAction.__name__=x2go.dropboxactions.X2goDropboxAction-class.html#__name__,Variable x2go.dropboxactions.X2goDropboxActionOPEN.__name__=x2go.dropboxactions.X2goDropboxActionOPEN-class.html#__name__,Variable x2go.dropboxactions.X2goDropboxActionOPENWITH.__name__=x2go.dropboxactions.X2goDropboxActionOPENWITH-class.html#__name__,Variable x2go.dropboxactions.X2goDropboxActionSAVEAS.__name__=x2go.dropboxactions.X2goDropboxActionSAVEAS-class.html#__name__,Variable x2go.printactions.X2goPrintAction.__name__=x2go.printactions.X2goPrintAction-class.html#__name__,Variable x2go.printactions.X2goPrintActionDIALOG.__name__=x2go.printactions.X2goPrintActionDIALOG-class.html#__name__,Variable x2go.printactions.X2goPrintActionPDFSAVE.__name__=x2go.printactions.X2goPrintActionPDFSAVE-class.html#__name__,Variable x2go.printactions.X2goPrintAc
 tionPDFV
 IEW.__name__=x2go.printactions.X2goPrintActionPDFVIEW-class.html#__name__,Variable x2go.printactions.X2goPrintActionPRINT.__name__=x2go.printactions.X2goPrintActionPRINT-class.html#__name__,Variable x2go.printactions.X2goPrintActionPRINTCMD.__name__=x2go.printactions.X2goPrintActionPRINTCMD-class.html#__name__"><a title="x2go.dropboxactions.X2goDropboxAction.__name__
 x2go.dropboxactions.X2goDropboxActionOPEN.__name__
 x2go.dropboxactions.X2goDropboxActionOPENWITH.__name__
 x2go.dropboxactions.X2goDropboxActionSAVEAS.__name__
@@ -164,29 +166,29 @@ x2go.printactions.X2goPrintActionPDFSAVE.__name__
 x2go.printactions.X2goPrintActionPDFVIEW.__name__
 x2go.printactions.X2goPrintActionPRINT.__name__
 x2go.printactions.X2goPrintActionPRINTCMD.__name__" class="py-name" href="#" onclick="return doclink('link-9', '__name__', 'link-9');">__name__</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'NAME'</tt> </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">    <tt id="link-10" class="py-name" targets="Variable x2go.dropboxactions.X2goDropboxAction.__description__=x2go.dropboxactions.X2goDropboxAction-class.html#__description__,Variable x2go.printactions.X2goPrintAction.__description__=x2go.printactions.X2goPrintAction-class.html#__description__"><a title="x2go.dropboxactions.X2goDropboxAction.__description__
+<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">    <tt id="link-10" class="py-name" targets="Variable x2go.dropboxactions.X2goDropboxAction.__description__=x2go.dropboxactions.X2goDropboxAction-class.html#__description__,Variable x2go.printactions.X2goPrintAction.__description__=x2go.printactions.X2goPrintAction-class.html#__description__"><a title="x2go.dropboxactions.X2goDropboxAction.__description__
 x2go.printactions.X2goPrintAction.__description__" class="py-name" href="#" onclick="return doclink('link-10', '__description__', 'link-10');">__description__</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'DESCRIPTION'</tt> </tt>
-<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line"> </tt>
-<a name="X2goPrintAction.__init__"></a><div id="X2goPrintAction.__init__-def"><a name="L63"></a><tt class="py-lineno"> 63</tt> <a class="py-toggle" href="#" id="X2goPrintAction.__init__-toggle" onclick="return toggle('X2goPrintAction.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.printactions.X2goPrintAction-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">client_instance</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">logger</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">loglevel</tt><tt class="py-op">=</tt><tt id="link-11" class="py-name"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-11', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt id="link-12" class="py-name" targets="Variable 
 x2go.log
 .loglevel_DEFAULT=x2go.log-module.html#loglevel_DEFAULT"><a title="x2go.log.loglevel_DEFAULT" class="py-name" href="#" onclick="return doclink('link-12', 'loglevel_DEFAULT', 'link-12');">loglevel_DEFAULT</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="X2goPrintAction.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="X2goPrintAction.__init__-expanded"><a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">        <tt class="py-docstring">"""\</tt> </tt>
-<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line"><tt class="py-docstring">        This is a meta class and has no functionality as such. It is used as parent </tt> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line"><tt class="py-docstring">        class by »real« X2go print actions.</tt> </tt>
-<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line"><tt class="py-docstring">        @param client_instance: the underlying L{X2goClient} instance</tt> </tt>
-<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line"><tt class="py-docstring">        @type client_instance: C{instance}</tt> </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line"><tt class="py-docstring">        @param logger: you can pass an L{X2goLogger} object to the</tt> </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line"><tt class="py-docstring">            L{X2goPrintAction} constructor</tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line"><tt class="py-docstring">        @type logger: C{instance}</tt> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line"><tt class="py-docstring">        @param loglevel: if no L{X2goLogger} object has been supplied a new one will be</tt> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line"><tt class="py-docstring">            constructed with the given loglevel</tt> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line"><tt class="py-docstring">        @type loglevel: C{int}</tt> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
-<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">logger</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logger</tt> <tt class="py-op">=</tt> <tt id="link-13" class="py-name"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-13', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt id="link-14" class="py-name" targets="Class x2go.log.X2goLogger=x2go.log.X2goLogger-class.html"><a title="x2go.log.X2goLogger" class="py-name" href="#" onclick="return doclink('link-14', 'X2goLogger', 'link-14');">X2goLogger</a></tt><tt class="py-op">(</tt><tt class="py-name">loglevel</tt><tt class="py-op">=</tt><tt class="py-name">loglevel</tt><tt class="py-op">)</tt> </tt>
-<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logger</tt> <tt class="py-op">=</tt> <tt class="py-name">copy</tt><tt class="py-op">.</tt><tt class="py-name">deepcopy</tt><tt class="py-op">(</tt><tt class="py-name">logger</tt><tt class="py-op">)</tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logger</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name" targets="Variable x2go.log.X2goLogger.tag=x2go.log.X2goLogger-class.html#tag"><a title="x2go.log.X2goLogger.tag" class="py-name" href="#" onclick="return doclink('link-15', 'tag', 'link-15');">tag</a></tt> <tt class="py-op">=</tt> <tt id="link-16" class="py-name"><a title="x2go.__NAME__
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line"> </tt>
+<a name="X2goPrintAction.__init__"></a><div id="X2goPrintAction.__init__-def"><a name="L65"></a><tt class="py-lineno"> 65</tt> <a class="py-toggle" href="#" id="X2goPrintAction.__init__-toggle" onclick="return toggle('X2goPrintAction.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.printactions.X2goPrintAction-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">client_instance</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">logger</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">loglevel</tt><tt class="py-op">=</tt><tt id="link-11" class="py-name"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-11', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt id="link-12" class="py-name" targets="Variable 
 x2go.log
 .loglevel_DEFAULT=x2go.log-module.html#loglevel_DEFAULT"><a title="x2go.log.loglevel_DEFAULT" class="py-name" href="#" onclick="return doclink('link-12', 'loglevel_DEFAULT', 'link-12');">loglevel_DEFAULT</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="X2goPrintAction.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="X2goPrintAction.__init__-expanded"><a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">        <tt class="py-docstring">"""\</tt> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line"><tt class="py-docstring">        This is a meta class and has no functionality as such. It is used as parent </tt> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line"><tt class="py-docstring">        class by »real« X2go print actions.</tt> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line"><tt class="py-docstring">        @param client_instance: the underlying L{X2goClient} instance</tt> </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line"><tt class="py-docstring">        @type client_instance: C{instance}</tt> </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line"><tt class="py-docstring">        @param logger: you can pass an L{X2goLogger} object to the</tt> </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line"><tt class="py-docstring">            L{X2goPrintAction} constructor</tt> </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line"><tt class="py-docstring">        @type logger: C{instance}</tt> </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line"><tt class="py-docstring">        @param loglevel: if no L{X2goLogger} object has been supplied a new one will be</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line"><tt class="py-docstring">            constructed with the given loglevel</tt> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line"><tt class="py-docstring">        @type loglevel: C{int}</tt> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">logger</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logger</tt> <tt class="py-op">=</tt> <tt id="link-13" class="py-name"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-13', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt id="link-14" class="py-name" targets="Class x2go.log.X2goLogger=x2go.log.X2goLogger-class.html"><a title="x2go.log.X2goLogger" class="py-name" href="#" onclick="return doclink('link-14', 'X2goLogger', 'link-14');">X2goLogger</a></tt><tt class="py-op">(</tt><tt class="py-name">loglevel</tt><tt class="py-op">=</tt><tt class="py-name">loglevel</tt><tt class="py-op">)</tt> </tt>
+<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logger</tt> <tt class="py-op">=</tt> <tt class="py-name">copy</tt><tt class="py-op">.</tt><tt class="py-name">deepcopy</tt><tt class="py-op">(</tt><tt class="py-name">logger</tt><tt class="py-op">)</tt> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logger</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name" targets="Variable x2go.log.X2goLogger.tag=x2go.log.X2goLogger-class.html#tag"><a title="x2go.log.X2goLogger.tag" class="py-name" href="#" onclick="return doclink('link-15', 'tag', 'link-15');">tag</a></tt> <tt class="py-op">=</tt> <tt id="link-16" class="py-name"><a title="x2go.__NAME__
 x2go.backends.control._stdout.__NAME__
 x2go.backends.info._stdout.__NAME__
 x2go.backends.printing._file.__NAME__
@@ -223,20 +225,20 @@ x2go.sshproxy.__NAME__
 x2go.utils.__NAME__
 x2go.x2go_exceptions.__NAME__
 x2go.xserver.__NAME__" class="py-name" href="#" onclick="return doclink('link-16', '__NAME__', 'link-0');">__NAME__</a></tt> </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line"> </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">        <tt class="py-comment"># these get set from within the X2goPrintQueue class</tt> </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">profile_name</tt> <tt class="py-op">=</tt> <tt class="py-string">'UNKNOWN'</tt> </tt>
-<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">session_name</tt> <tt class="py-op">=</tt> <tt class="py-string">'UNKNOWN'</tt> </tt>
-<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line"> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">client_instance</tt> <tt class="py-op">=</tt> <tt class="py-name">client_instance</tt> </tt>
-</div><a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line"> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">    <tt class="py-decorator">@</tt><tt class="py-decorator">property</tt> </tt>
-<a name="X2goPrintAction.name"></a><div id="X2goPrintAction.name-def"><a name="L91"></a><tt class="py-lineno"> 91</tt> <a class="py-toggle" href="#" id="X2goPrintAction.name-toggle" onclick="return toggle('X2goPrintAction.name');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.printactions.X2goPrintAction-class.html#name">name</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="X2goPrintAction.name-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="X2goPrintAction.name-expanded"><a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">        <tt class="py-docstring">"""\</tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line"><tt class="py-docstring">        Return the X2go print action's name.</tt> </tt>
-<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
-<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="x2go.dropboxactions.X2goDropboxAction.__name__
+<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line"> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">        <tt class="py-comment"># these get set from within the X2goPrintQueue class</tt> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">profile_name</tt> <tt class="py-op">=</tt> <tt class="py-string">'UNKNOWN'</tt> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">session_name</tt> <tt class="py-op">=</tt> <tt class="py-string">'UNKNOWN'</tt> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line"> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">client_instance</tt> <tt class="py-op">=</tt> <tt class="py-name">client_instance</tt> </tt>
+</div><a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line"> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">    <tt class="py-decorator">@</tt><tt class="py-decorator">property</tt> </tt>
+<a name="X2goPrintAction.name"></a><div id="X2goPrintAction.name-def"><a name="L93"></a><tt class="py-lineno"> 93</tt> <a class="py-toggle" href="#" id="X2goPrintAction.name-toggle" onclick="return toggle('X2goPrintAction.name');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.printactions.X2goPrintAction-class.html#name">name</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="X2goPrintAction.name-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="X2goPrintAction.name-expanded"><a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">        <tt class="py-docstring">"""\</tt> </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line"><tt class="py-docstring">        Return the X2go print action's name.</tt> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="x2go.dropboxactions.X2goDropboxAction.__name__
 x2go.dropboxactions.X2goDropboxActionOPEN.__name__
 x2go.dropboxactions.X2goDropboxActionOPENWITH.__name__
 x2go.dropboxactions.X2goDropboxActionSAVEAS.__name__
@@ -246,51 +248,51 @@ x2go.printactions.X2goPrintActionPDFSAVE.__name__
 x2go.printactions.X2goPrintActionPDFVIEW.__name__
 x2go.printactions.X2goPrintActionPRINT.__name__
 x2go.printactions.X2goPrintActionPRINTCMD.__name__" class="py-name" href="#" onclick="return doclink('link-17', '__name__', 'link-9');">__name__</a></tt> </tt>
-</div><a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line"> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">    <tt class="py-decorator">@</tt><tt class="py-decorator">property</tt> </tt>
-<a name="X2goPrintAction.description"></a><div id="X2goPrintAction.description-def"><a name="L99"></a><tt class="py-lineno"> 99</tt> <a class="py-toggle" href="#" id="X2goPrintAction.description-toggle" onclick="return toggle('X2goPrintAction.description');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.printactions.X2goPrintAction-class.html#description">description</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="X2goPrintAction.description-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="X2goPrintAction.description-expanded"><a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">        <tt class="py-docstring">"""\</tt> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line"><tt class="py-docstring">        Return the X2go print action's description text.</tt> </tt>
-<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
-<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="x2go.dropboxactions.X2goDropboxAction.__description__
+</div><a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line"> </tt>
+<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">    <tt class="py-decorator">@</tt><tt class="py-decorator">property</tt> </tt>
+<a name="X2goPrintAction.description"></a><div id="X2goPrintAction.description-def"><a name="L101"></a><tt class="py-lineno">101</tt> <a class="py-toggle" href="#" id="X2goPrintAction.description-toggle" onclick="return toggle('X2goPrintAction.description');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.printactions.X2goPrintAction-class.html#description">description</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="X2goPrintAction.description-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="X2goPrintAction.description-expanded"><a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">        <tt class="py-docstring">"""\</tt> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line"><tt class="py-docstring">        Return the X2go print action's description text.</tt> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="x2go.dropboxactions.X2goDropboxAction.__description__
 x2go.printactions.X2goPrintAction.__description__" class="py-name" href="#" onclick="return doclink('link-18', '__description__', 'link-10');">__description__</a></tt> </tt>
-</div><a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line"> </tt>
-<a name="X2goPrintAction.do_print"></a><div id="X2goPrintAction.do_print-def"><a name="L106"></a><tt class="py-lineno">106</tt> <a class="py-toggle" href="#" id="X2goPrintAction.do_print-toggle" onclick="return toggle('X2goPrintAction.do_print');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.printactions.X2goPrintAction-class.html#do_print">do_print</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">pdf_file</tt><tt class="py-op">,</tt> <tt class="py-param">job_title</tt><tt class="py-op">,</tt> <tt class="py-param">spool_dir</tt><tt class="py-op">,</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="X2goPrintAction.do_print-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="X2goPrintAction.do_print-expanded"><a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">        <tt class="py-docstring">"""\</tt> </tt>
-<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line"><tt class="py-docstring">        Perform the defined print action (doing nothing in L{X2goPrintAction} parent class).</tt> </tt>
-<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line"><tt class="py-docstring">        @param pdf_file: PDF file name as placed in to the X2go spool directory</tt> </tt>
-<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line"><tt class="py-docstring">        @type pdf_file: C{str}</tt> </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line"><tt class="py-docstring">        @param job_title: human readable print job title</tt> </tt>
-<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line"><tt class="py-docstring">        @type job_title: C{str}</tt> </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line"><tt class="py-docstring">        @param spool_dir: location of the X2go client's spool directory</tt> </tt>
-<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line"><tt class="py-docstring">        @type spool_dir: C{str}</tt> </tt>
-<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
-<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">        <tt class="py-keyword">pass</tt> </tt>
-</div><a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line"> </tt>
-<a name="X2goPrintAction._humanreadable_filename"></a><div id="X2goPrintAction._humanreadable_filename-def"><a name="L120"></a><tt class="py-lineno">120</tt> <a class="py-toggle" href="#" id="X2goPrintAction._humanreadable_filename-toggle" onclick="return toggle('X2goPrintAction._humanreadable_filename');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.printactions.X2goPrintAction-class.html#_humanreadable_filename">_humanreadable_filename</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">pdf_file</tt><tt class="py-op">,</tt> <tt class="py-param">job_title</tt><tt class="py-op">,</tt> <tt class="py-param">target_path</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="X2goPrintAction._humanreadable_filename-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="X2goPrintAction._humanreadable_filename-expanded"><a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">        <tt class="py-docstring">"""\</tt> </tt>
-<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line"><tt class="py-docstring">        Extract a human readable filename for the X2go print job file.</tt> </tt>
-<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
-<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">        <tt class="py-name">_hr_path</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">expanduser</tt><tt class="py-op">(</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">target_path</tt><tt class="py-op">,</tt> <tt class="py-string">'%s.pdf'</tt> <tt class="py-op">%</tt> <tt id="link-19" class="py-name"><a title="x2go.utils" class="py-name" href="#" onclick="return doclink('link-19', 'utils', 'link-6');">utils</a></tt><tt class="py-op">.</tt><tt id="link-20" class="py-name" targets="Function x2go.utils.slugify()=x2go.utils-module.html#slugify"><a title="x2go.utils.slugify" class="py-name" href="#" onclick="return doclink('link-20', 'slugify', 'link-20');">slugify</a></tt><
 tt class
 ="py-op">(</tt><tt class="py-name">job_title</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">        <tt id="link-21" class="py-name" targets="Variable x2go.defaults.i=x2go.defaults-module.html#i"><a title="x2go.defaults.i" class="py-name" href="#" onclick="return doclink('link-21', 'i', 'link-21');">i</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line"> </tt>
-<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">        <tt class="py-keyword">while</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">exists</tt><tt class="py-op">(</tt><tt class="py-name">_hr_path</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">            <tt id="link-22" class="py-name"><a title="x2go.defaults.i" class="py-name" href="#" onclick="return doclink('link-22', 'i', 'link-21');">i</a></tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
-<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">            <tt class="py-name">_hr_path</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">expanduser</tt><tt class="py-op">(</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">target_path</tt><tt class="py-op">,</tt> <tt class="py-string">'%s(%s).pdf'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt id="link-23" class="py-name"><a title="x2go.utils" class="py-name" href="#" onclick="return doclink('link-23', 'utils', 'link-6');">utils</a></tt><tt class="py-op">.</tt><tt id="link-24" class="py-name"><a title="x2go.utils.slugify" class="py-name" href="#" onclick="return doclink('link-24', 'slugify', 'link-20');">slugify</a></tt><tt class="py-op">(</tt><tt class="py-na
 me">job_
 title</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-25" class="py-name"><a title="x2go.defaults.i" class="py-name" href="#" onclick="return doclink('link-25', 'i', 'link-21');">i</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line"> </tt>
-<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">_hr_path</tt> </tt>
-</div></div><a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line"> </tt>
-<a name="X2goPrintActionPDFVIEW"></a><div id="X2goPrintActionPDFVIEW-def"><a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line"> </tt>
-<a name="L135"></a><tt class="py-lineno">135</tt> <a class="py-toggle" href="#" id="X2goPrintActionPDFVIEW-toggle" onclick="return toggle('X2goPrintActionPDFVIEW');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="x2go.printactions.X2goPrintActionPDFVIEW-class.html">X2goPrintActionPDFVIEW</a><tt class="py-op">(</tt><tt class="py-base-class">X2goPrintAction</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="X2goPrintActionPDFVIEW-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="X2goPrintActionPDFVIEW-expanded"><a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">    <tt class="py-docstring">"""\</tt> </tt>
-<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line"><tt class="py-docstring">    Print action that views incoming print job in an external PDF viewer application.</tt> </tt>
-<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">    <tt id="link-26" class="py-name"><a title="x2go.dropboxactions.X2goDropboxAction.__name__
+</div><a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line"> </tt>
+<a name="X2goPrintAction.do_print"></a><div id="X2goPrintAction.do_print-def"><a name="L108"></a><tt class="py-lineno">108</tt> <a class="py-toggle" href="#" id="X2goPrintAction.do_print-toggle" onclick="return toggle('X2goPrintAction.do_print');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.printactions.X2goPrintAction-class.html#do_print">do_print</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">pdf_file</tt><tt class="py-op">,</tt> <tt class="py-param">job_title</tt><tt class="py-op">,</tt> <tt class="py-param">spool_dir</tt><tt class="py-op">,</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="X2goPrintAction.do_print-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="X2goPrintAction.do_print-expanded"><a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">        <tt class="py-docstring">"""\</tt> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line"><tt class="py-docstring">        Perform the defined print action (doing nothing in L{X2goPrintAction} parent class).</tt> </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line"><tt class="py-docstring">        @param pdf_file: PDF file name as placed in to the X2go spool directory</tt> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line"><tt class="py-docstring">        @type pdf_file: C{str}</tt> </tt>
+<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line"><tt class="py-docstring">        @param job_title: human readable print job title</tt> </tt>
+<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line"><tt class="py-docstring">        @type job_title: C{str}</tt> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line"><tt class="py-docstring">        @param spool_dir: location of the X2go client's spool directory</tt> </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line"><tt class="py-docstring">        @type spool_dir: C{str}</tt> </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">        <tt class="py-keyword">pass</tt> </tt>
+</div><a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line"> </tt>
+<a name="X2goPrintAction._humanreadable_filename"></a><div id="X2goPrintAction._humanreadable_filename-def"><a name="L122"></a><tt class="py-lineno">122</tt> <a class="py-toggle" href="#" id="X2goPrintAction._humanreadable_filename-toggle" onclick="return toggle('X2goPrintAction._humanreadable_filename');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.printactions.X2goPrintAction-class.html#_humanreadable_filename">_humanreadable_filename</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">pdf_file</tt><tt class="py-op">,</tt> <tt class="py-param">job_title</tt><tt class="py-op">,</tt> <tt class="py-param">target_path</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="X2goPrintAction._humanreadable_filename-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="X2goPrintAction._humanreadable_filename-expanded"><a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">        <tt class="py-docstring">"""\</tt> </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line"><tt class="py-docstring">        Extract a human readable filename for the X2go print job file.</tt> </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">        <tt class="py-name">_hr_path</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">expanduser</tt><tt class="py-op">(</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">target_path</tt><tt class="py-op">,</tt> <tt class="py-string">'%s.pdf'</tt> <tt class="py-op">%</tt> <tt id="link-19" class="py-name"><a title="x2go.utils" class="py-name" href="#" onclick="return doclink('link-19', 'utils', 'link-6');">utils</a></tt><tt class="py-op">.</tt><tt id="link-20" class="py-name" targets="Function x2go.utils.slugify()=x2go.utils-module.html#slugify"><a title="x2go.utils.slugify" class="py-name" href="#" onclick="return doclink('link-20', 'slugify', 'link-20');">slugify</a></tt><
 tt class
 ="py-op">(</tt><tt class="py-name">job_title</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">        <tt id="link-21" class="py-name" targets="Variable x2go.defaults.i=x2go.defaults-module.html#i"><a title="x2go.defaults.i" class="py-name" href="#" onclick="return doclink('link-21', 'i', 'link-21');">i</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line"> </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">        <tt class="py-keyword">while</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">exists</tt><tt class="py-op">(</tt><tt class="py-name">_hr_path</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">            <tt id="link-22" class="py-name"><a title="x2go.defaults.i" class="py-name" href="#" onclick="return doclink('link-22', 'i', 'link-21');">i</a></tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">            <tt class="py-name">_hr_path</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">expanduser</tt><tt class="py-op">(</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">target_path</tt><tt class="py-op">,</tt> <tt class="py-string">'%s(%s).pdf'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt id="link-23" class="py-name"><a title="x2go.utils" class="py-name" href="#" onclick="return doclink('link-23', 'utils', 'link-6');">utils</a></tt><tt class="py-op">.</tt><tt id="link-24" class="py-name"><a title="x2go.utils.slugify" class="py-name" href="#" onclick="return doclink('link-24', 'slugify', 'link-20');">slugify</a></tt><tt class="py-op">(</tt><tt class="py-na
 me">job_
 title</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-25" class="py-name"><a title="x2go.defaults.i" class="py-name" href="#" onclick="return doclink('link-25', 'i', 'link-21');">i</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line"> </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">_hr_path</tt> </tt>
+</div></div><a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line"> </tt>
+<a name="X2goPrintActionPDFVIEW"></a><div id="X2goPrintActionPDFVIEW-def"><a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line"> </tt>
+<a name="L137"></a><tt class="py-lineno">137</tt> <a class="py-toggle" href="#" id="X2goPrintActionPDFVIEW-toggle" onclick="return toggle('X2goPrintActionPDFVIEW');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="x2go.printactions.X2goPrintActionPDFVIEW-class.html">X2goPrintActionPDFVIEW</a><tt class="py-op">(</tt><tt class="py-base-class">X2goPrintAction</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="X2goPrintActionPDFVIEW-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="X2goPrintActionPDFVIEW-expanded"><a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">    <tt class="py-docstring">"""\</tt> </tt>
+<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line"><tt class="py-docstring">    Print action that views incoming print job in an external PDF viewer application.</tt> </tt>
+<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">    <tt id="link-26" class="py-name"><a title="x2go.dropboxactions.X2goDropboxAction.__name__
 x2go.dropboxactions.X2goDropboxActionOPEN.__name__
 x2go.dropboxactions.X2goDropboxActionOPENWITH.__name__
 x2go.dropboxactions.X2goDropboxActionSAVEAS.__name__
@@ -300,7 +302,7 @@ x2go.printactions.X2goPrintActionPDFSAVE.__name__
 x2go.printactions.X2goPrintActionPDFVIEW.__name__
 x2go.printactions.X2goPrintActionPRINT.__name__
 x2go.printactions.X2goPrintActionPRINTCMD.__name__" class="py-name" href="#" onclick="return doclink('link-26', '__name__', 'link-9');">__name__</a></tt><tt class="py-op">=</tt> <tt class="py-string">'PDFVIEW'</tt> </tt>
-<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">    <tt id="link-27" class="py-name" targets="Variable x2go.dropboxactions.X2goDropboxActionOPEN.__decription__=x2go.dropboxactions.X2goDropboxActionOPEN-class.html#__decription__,Variable x2go.dropboxactions.X2goDropboxActionOPENWITH.__decription__=x2go.dropboxactions.X2goDropboxActionOPENWITH-class.html#__decription__,Variable x2go.dropboxactions.X2goDropboxActionSAVEAS.__decription__=x2go.dropboxactions.X2goDropboxActionSAVEAS-class.html#__decription__,Variable x2go.printactions.X2goPrintActionDIALOG.__decription__=x2go.printactions.X2goPrintActionDIALOG-class.html#__decription__,Variable x2go.printactions.X2goPrintActionPDFSAVE.__decription__=x2go.printactions.X2goPrintActionPDFSAVE-class.html#__decription__,Variable x2go.printactions.X2goPrintActionPDFVIEW.__decription__=x2go.printactions.X2goPrintActionPDFVIEW-class.html#__decription__,Variable x2go.printactions.X2goPrintActionPRINT.__decription__=x
 2go.prin
 tactions.X2goPrintActionPRINT-class.html#__decription__,Variable x2go.printactions.X2goPrintActionPRINTCMD.__decription__=x2go.printactions.X2goPrintActionPRINTCMD-class.html#__decription__"><a title="x2go.dropboxactions.X2goDropboxActionOPEN.__decription__
+<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">    <tt id="link-27" class="py-name" targets="Variable x2go.dropboxactions.X2goDropboxActionOPEN.__decription__=x2go.dropboxactions.X2goDropboxActionOPEN-class.html#__decription__,Variable x2go.dropboxactions.X2goDropboxActionOPENWITH.__decription__=x2go.dropboxactions.X2goDropboxActionOPENWITH-class.html#__decription__,Variable x2go.dropboxactions.X2goDropboxActionSAVEAS.__decription__=x2go.dropboxactions.X2goDropboxActionSAVEAS-class.html#__decription__,Variable x2go.printactions.X2goPrintActionDIALOG.__decription__=x2go.printactions.X2goPrintActionDIALOG-class.html#__decription__,Variable x2go.printactions.X2goPrintActionPDFSAVE.__decription__=x2go.printactions.X2goPrintActionPDFSAVE-class.html#__decription__,Variable x2go.printactions.X2goPrintActionPDFVIEW.__decription__=x2go.printactions.X2goPrintActionPDFVIEW-class.html#__decription__,Variable x2go.printactions.X2goPrintActionPRINT.__decription__=x
 2go.prin
 tactions.X2goPrintActionPRINT-class.html#__decription__,Variable x2go.printactions.X2goPrintActionPRINTCMD.__decription__=x2go.printactions.X2goPrintActionPRINTCMD-class.html#__decription__"><a title="x2go.dropboxactions.X2goDropboxActionOPEN.__decription__
 x2go.dropboxactions.X2goDropboxActionOPENWITH.__decription__
 x2go.dropboxactions.X2goDropboxActionSAVEAS.__decription__
 x2go.printactions.X2goPrintActionDIALOG.__decription__
@@ -308,27 +310,27 @@ x2go.printactions.X2goPrintActionPDFSAVE.__decription__
 x2go.printactions.X2goPrintActionPDFVIEW.__decription__
 x2go.printactions.X2goPrintActionPRINT.__decription__
 x2go.printactions.X2goPrintActionPRINTCMD.__decription__" class="py-name" href="#" onclick="return doclink('link-27', '__decription__', 'link-27');">__decription__</a></tt><tt class="py-op">=</tt> <tt class="py-string">'View as PDF document'</tt> </tt>
-<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line"> </tt>
-<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">    <tt id="link-28" class="py-name" targets="Variable x2go.printactions.X2goPrintActionPDFVIEW.pdfview_cmd=x2go.printactions.X2goPrintActionPDFVIEW-class.html#pdfview_cmd"><a title="x2go.printactions.X2goPrintActionPDFVIEW.pdfview_cmd" class="py-name" href="#" onclick="return doclink('link-28', 'pdfview_cmd', 'link-28');">pdfview_cmd</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
 <a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line"> </tt>
-<a name="X2goPrintActionPDFVIEW.__init__"></a><div id="X2goPrintActionPDFVIEW.__init__-def"><a name="L145"></a><tt class="py-lineno">145</tt> <a class="py-toggle" href="#" id="X2goPrintActionPDFVIEW.__init__-toggle" onclick="return toggle('X2goPrintActionPDFVIEW.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.printactions.X2goPrintActionPDFVIEW-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">client_instance</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">pdfview_cmd</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">logger</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">loglevel</tt><tt class="py-op">=</tt><tt id="link-29" class="py-name"><a title="x2go.log" class="py-name"
  href="#
 " onclick="return doclink('link-29', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt id="link-30" class="py-name"><a title="x2go.log.loglevel_DEFAULT" class="py-name" href="#" onclick="return doclink('link-30', 'loglevel_DEFAULT', 'link-12');">loglevel_DEFAULT</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="X2goPrintActionPDFVIEW.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="X2goPrintActionPDFVIEW.__init__-expanded"><a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">        <tt class="py-docstring">"""\</tt> </tt>
-<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line"><tt class="py-docstring">        @param client_instance: the underlying L{X2goClient} instance</tt> </tt>
-<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line"><tt class="py-docstring">        @type client_instance: C{instance}</tt> </tt>
-<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line"><tt class="py-docstring">        @param pdfview_cmd: command that starts the external PDF viewer application</tt> </tt>
-<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line"><tt class="py-docstring">        @type pdfview_cmd: C{str}</tt> </tt>
-<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line"><tt class="py-docstring">        @param logger: you can pass an L{X2goLogger} object to the</tt> </tt>
-<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line"><tt class="py-docstring">            L{X2goPrintActionPDFVIEW} constructor</tt> </tt>
-<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line"><tt class="py-docstring">        @type logger: C{instance}</tt> </tt>
-<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line"><tt class="py-docstring">        @param loglevel: if no L{X2goLogger} object has been supplied a new one will be</tt> </tt>
-<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line"><tt class="py-docstring">            constructed with the given loglevel</tt> </tt>
-<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line"><tt class="py-docstring">        @type loglevel: C{int}</tt> </tt>
-<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
-<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-31" class="py-name"><a title="x2go.printactions.X2goPrintActionPDFVIEW.pdfview_cmd" class="py-name" href="#" onclick="return doclink('link-31', 'pdfview_cmd', 'link-28');">pdfview_cmd</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">            <tt id="link-32" class="py-name"><a title="x2go.printactions.X2goPrintActionPDFVIEW.pdfview_cmd" class="py-name" href="#" onclick="return doclink('link-32', 'pdfview_cmd', 'link-28');">pdfview_cmd</a></tt> <tt class="py-op">=</tt> <tt id="link-33" class="py-name"><a title="x2go.defaults" class="py-name" href="#" onclick="return doclink('link-33', 'defaults', 'link-1');">defaults</a></tt><tt class="py-op">.</tt><tt id="link-34" class="py-name" targets="Variable x2go.defaults.DEFAULT_PDFVIEW_CMD=x2go.defaults-module.html#DEFAULT_PDFVIEW_CMD"><a title="x2go.defaults.DEFAULT_PDFVIEW_CMD" class="py-name" href="#" onclick="return doclink('link-34', 'DEFAULT_PDFVIEW_CMD', 'link-34');">DEFAULT_PDFVIEW_CMD</a></tt> </tt>
-<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name"><a title="x2go.printactions.X2goPrintActionPDFVIEW.pdfview_cmd" class="py-name" href="#" onclick="return doclink('link-35', 'pdfview_cmd', 'link-28');">pdfview_cmd</a></tt> <tt class="py-op">=</tt> <tt id="link-36" class="py-name"><a title="x2go.printactions.X2goPrintActionPDFVIEW.pdfview_cmd" class="py-name" href="#" onclick="return doclink('link-36', 'pdfview_cmd', 'link-28');">pdfview_cmd</a></tt> </tt>
-<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">        <tt id="link-37" class="py-name" targets="Class x2go.printactions.X2goPrintAction=x2go.printactions.X2goPrintAction-class.html"><a title="x2go.printactions.X2goPrintAction" class="py-name" href="#" onclick="return doclink('link-37', 'X2goPrintAction', 'link-37');">X2goPrintAction</a></tt><tt class="py-op">.</tt><tt id="link-38" class="py-name" targets="Method x2go.backends.control._stdout.X2goControlSessionSTDOUT.__init__()=x2go.backends.control._stdout.X2goControlSessionSTDOUT-class.html#__init__,Method x2go.backends.info._stdout.X2goServerSessionListSTDOUT.__init__()=x2go.backends.info._stdout.X2goServerSessionListSTDOUT-class.html#__init__,Method x2go.backends.printing._file.X2goClientPrintingFILE.__init__()=x2go.backends.printing._file.X2goClientPrintingFILE-class.html#__init__,Method x2go.backends.printing._gconf.X2goClientPrintingGCONF.__init__()=x2go.backends.printing._gconf.X2goClientPrint
 ingGCONF
 -class.html#__init__,Method x2go.backends.printing._winreg.X2goClientPrintingWINREG.__init__()=x2go.backends.printing._winreg.X2goClientPrintingWINREG-class.html#__init__,Method x2go.backends.profiles._file.X2goSessionProfilesFILE.__init__()=x2go.backends.profiles._file.X2goSessionProfilesFILE-class.html#__init__,Method x2go.backends.profiles._gconf.X2goSessionProfilesGCONF.__init__()=x2go.backends.profiles._gconf.X2goSessionProfilesGCONF-class.html#__init__,Method x2go.backends.profiles._httpsbroker.X2goSessionProfilesHTTPSBROKER.__init__()=x2go.backends.profiles._httpsbroker.X2goSessionProfilesHTTPSBROKER-class.html#__init__,Method x2go.backends.profiles._winreg.X2goSessionProfilesWINREG.__init__()=x2go.backends.profiles._winreg.X2goSessionProfilesWINREG-class.html#__init__,Method x2go.backends.proxy._nx3.X2goProxyNX3.__init__()=x2go.backends.proxy._nx3.X2goProxyNX3-class.html#__init__,Method x2go.backends.proxy.base.X2goProxyBASE.__init__()=x2go.backends.proxy.base.X2goPr
 oxyBASE-
 class.html#__init__,Method x2go.backends.settings._file.X2goClientSettingsFILE.__init__()=x2go.backends.settings._file.X2goClientSettingsFILE-class.html#__init__,Method x2go.backends.settings._gconf.X2goClientSettingsGCONF.__init__()=x2go.backends.settings._gconf.X2goClientSettingsGCONF-class.html#__init__,Method x2go.backends.settings._winreg.X2goClientSettingsWINREG.__init__()=x2go.backends.settings._winreg.X2goClientSettingsWINREG-class.html#__init__,Method x2go.backends.terminal._stdout.X2goTerminalSessionSTDOUT.__init__()=x2go.backends.terminal._stdout.X2goTerminalSessionSTDOUT-class.html#__init__,Method x2go.cache.X2goListSessionsCache.__init__()=x2go.cache.X2goListSessionsCache-class.html#__init__,Method x2go.checkhosts.X2goInteractiveAddPolicy.__init__()=x2go.checkhosts.X2goInteractiveAddPolicy-class.html#__init__,Method x2go.client.X2goClient.__init__()=x2go.client.X2goClient-class.html#__init__,Method x2go.dropbox.X2goDropboxJob.__init__()=x2go.dropbox.X2goDropboxJ
 ob-class
 .html#__init__,Method x2go.dropbox.X2goDropboxQueue.__init__()=x2go.dropbox.X2goDropboxQueue-class.html#__init__,Method x2go.dropboxactions.X2goDropboxAction.__init__()=x2go.dropboxactions.X2goDropboxAction-class.html#__init__,Method x2go.dropboxactions.X2goDropboxActionOPEN.__init__()=x2go.dropboxactions.X2goDropboxActionOPEN-class.html#__init__,Method x2go.dropboxactions.X2goDropboxActionOPENWITH.__init__()=x2go.dropboxactions.X2goDropboxActionOPENWITH-class.html#__init__,Method x2go.dropboxactions.X2goDropboxActionSAVEAS.__init__()=x2go.dropboxactions.X2goDropboxActionSAVEAS-class.html#__init__,Method x2go.forward.X2goFwServer.__init__()=x2go.forward.X2goFwServer-class.html#__init__,Method x2go.gevent_subprocess.Popen.__init__()=x2go.gevent_subprocess.Popen-class.html#__init__,Method x2go.guardian.X2goSessionGuardian.__init__()=x2go.guardian.X2goSessionGuardian-class.html#__init__,Method x2go.inifiles.X2goIniFile.__init__()=x2go.inifiles.X2goIniFile-class.html#__init__,Me
 thod x2g
 o.log.X2goLogger.__init__()=x2go.log.X2goLogger-class.html#__init__,Method x2go.printactions.X2goPrintAction.__init__()=x2go.printactions.X2goPrintAction-class.html#__init__,Method x2go.printactions.X2goPrintActionDIALOG.__init__()=x2go.printactions.X2goPrintActionDIALOG-class.html#__init__,Method x2go.printactions.X2goPrintActionPDFSAVE.__init__()=x2go.printactions.X2goPrintActionPDFSAVE-class.html#__init__,Method x2go.printactions.X2goPrintActionPDFVIEW.__init__()=x2go.printactions.X2goPrintActionPDFVIEW-class.html#__init__,Method x2go.printactions.X2goPrintActionPRINT.__init__()=x2go.printactions.X2goPrintActionPRINT-class.html#__init__,Method x2go.printactions.X2goPrintActionPRINTCMD.__init__()=x2go.printactions.X2goPrintActionPRINTCMD-class.html#__init__,Method x2go.printqueue.X2goPrintJob.__init__()=x2go.printqueue.X2goPrintJob-class.html#__init__,Method x2go.printqueue.X2goPrintQueue.__init__()=x2go.printqueue.X2goPrintQueue-class.html#__init__,Method x2go.pulseaudio.
 X2goPuls
 eAudio.__init__()=x2go.pulseaudio.X2goPulseAudio-class.html#__init__,Method x2go.registry.X2goSessionRegistry.__init__()=x2go.registry.X2goSessionRegistry-class.html#__init__,Method x2go.rforward.X2goRevFwChannelThread.__init__()=x2go.rforward.X2goRevFwChannelThread-class.html#__init__,Method x2go.rforward.X2goRevFwTunnel.__init__()=x2go.rforward.X2goRevFwTunnel-class.html#__init__,Method x2go.session.X2goSession.__init__()=x2go.session.X2goSession-class.html#__init__,Method x2go.sftpserver.X2goRevFwTunnelToSFTP.__init__()=x2go.sftpserver.X2goRevFwTunnelToSFTP-class.html#__init__,Method x2go.sshproxy.X2goSSHProxy.__init__()=x2go.sshproxy.X2goSSHProxy-class.html#__init__,Method x2go.xserver.X2goClientXConfig.__init__()=x2go.xserver.X2goClientXConfig-class.html#__init__,Method x2go.xserver.X2goXServer.__init__()=x2go.xserver.X2goXServer-class.html#__init__"><a title="x2go.backends.control._stdout.X2goControlSessionSTDOUT.__init__
+<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">    <tt id="link-28" class="py-name" targets="Variable x2go.printactions.X2goPrintActionPDFVIEW.pdfview_cmd=x2go.printactions.X2goPrintActionPDFVIEW-class.html#pdfview_cmd"><a title="x2go.printactions.X2goPrintActionPDFVIEW.pdfview_cmd" class="py-name" href="#" onclick="return doclink('link-28', 'pdfview_cmd', 'link-28');">pdfview_cmd</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line"> </tt>
+<a name="X2goPrintActionPDFVIEW.__init__"></a><div id="X2goPrintActionPDFVIEW.__init__-def"><a name="L147"></a><tt class="py-lineno">147</tt> <a class="py-toggle" href="#" id="X2goPrintActionPDFVIEW.__init__-toggle" onclick="return toggle('X2goPrintActionPDFVIEW.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.printactions.X2goPrintActionPDFVIEW-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">client_instance</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">pdfview_cmd</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">logger</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">loglevel</tt><tt class="py-op">=</tt><tt id="link-29" class="py-name"><a title="x2go.log" class="py-name"
  href="#
 " onclick="return doclink('link-29', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt id="link-30" class="py-name"><a title="x2go.log.loglevel_DEFAULT" class="py-name" href="#" onclick="return doclink('link-30', 'loglevel_DEFAULT', 'link-12');">loglevel_DEFAULT</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="X2goPrintActionPDFVIEW.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="X2goPrintActionPDFVIEW.__init__-expanded"><a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">        <tt class="py-docstring">"""\</tt> </tt>
+<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line"><tt class="py-docstring">        @param client_instance: the underlying L{X2goClient} instance</tt> </tt>
+<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line"><tt class="py-docstring">        @type client_instance: C{instance}</tt> </tt>
+<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line"><tt class="py-docstring">        @param pdfview_cmd: command that starts the external PDF viewer application</tt> </tt>
+<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line"><tt class="py-docstring">        @type pdfview_cmd: C{str}</tt> </tt>
+<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line"><tt class="py-docstring">        @param logger: you can pass an L{X2goLogger} object to the</tt> </tt>
+<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line"><tt class="py-docstring">            L{X2goPrintActionPDFVIEW} constructor</tt> </tt>
+<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line"><tt class="py-docstring">        @type logger: C{instance}</tt> </tt>
+<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line"><tt class="py-docstring">        @param loglevel: if no L{X2goLogger} object has been supplied a new one will be</tt> </tt>
+<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line"><tt class="py-docstring">            constructed with the given loglevel</tt> </tt>
+<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line"><tt class="py-docstring">        @type loglevel: C{int}</tt> </tt>
+<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-31" class="py-name"><a title="x2go.printactions.X2goPrintActionPDFVIEW.pdfview_cmd" class="py-name" href="#" onclick="return doclink('link-31', 'pdfview_cmd', 'link-28');">pdfview_cmd</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">            <tt id="link-32" class="py-name"><a title="x2go.printactions.X2goPrintActionPDFVIEW.pdfview_cmd" class="py-name" href="#" onclick="return doclink('link-32', 'pdfview_cmd', 'link-28');">pdfview_cmd</a></tt> <tt class="py-op">=</tt> <tt id="link-33" class="py-name"><a title="x2go.defaults" class="py-name" href="#" onclick="return doclink('link-33', 'defaults', 'link-1');">defaults</a></tt><tt class="py-op">.</tt><tt id="link-34" class="py-name" targets="Variable x2go.defaults.DEFAULT_PDFVIEW_CMD=x2go.defaults-module.html#DEFAULT_PDFVIEW_CMD"><a title="x2go.defaults.DEFAULT_PDFVIEW_CMD" class="py-name" href="#" onclick="return doclink('link-34', 'DEFAULT_PDFVIEW_CMD', 'link-34');">DEFAULT_PDFVIEW_CMD</a></tt> </tt>
+<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name"><a title="x2go.printactions.X2goPrintActionPDFVIEW.pdfview_cmd" class="py-name" href="#" onclick="return doclink('link-35', 'pdfview_cmd', 'link-28');">pdfview_cmd</a></tt> <tt class="py-op">=</tt> <tt id="link-36" class="py-name"><a title="x2go.printactions.X2goPrintActionPDFVIEW.pdfview_cmd" class="py-name" href="#" onclick="return doclink('link-36', 'pdfview_cmd', 'link-28');">pdfview_cmd</a></tt> </tt>
+<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">        <tt id="link-37" class="py-name" targets="Class x2go.printactions.X2goPrintAction=x2go.printactions.X2goPrintAction-class.html"><a title="x2go.printactions.X2goPrintAction" class="py-name" href="#" onclick="return doclink('link-37', 'X2goPrintAction', 'link-37');">X2goPrintAction</a></tt><tt class="py-op">.</tt><tt id="link-38" class="py-name" targets="Method x2go.backends.control._stdout.X2goControlSessionSTDOUT.__init__()=x2go.backends.control._stdout.X2goControlSessionSTDOUT-class.html#__init__,Method x2go.backends.info._stdout.X2goServerSessionListSTDOUT.__init__()=x2go.backends.info._stdout.X2goServerSessionListSTDOUT-class.html#__init__,Method x2go.backends.printing._file.X2goClientPrintingFILE.__init__()=x2go.backends.printing._file.X2goClientPrintingFILE-class.html#__init__,Method x2go.backends.printing._gconf.X2goClientPrintingGCONF.__init__()=x2go.backends.printing._gconf.X2goClientPrint
 ingGCONF
 -class.html#__init__,Method x2go.backends.printing._winreg.X2goClientPrintingWINREG.__init__()=x2go.backends.printing._winreg.X2goClientPrintingWINREG-class.html#__init__,Method x2go.backends.profiles._file.X2goSessionProfilesFILE.__init__()=x2go.backends.profiles._file.X2goSessionProfilesFILE-class.html#__init__,Method x2go.backends.profiles._gconf.X2goSessionProfilesGCONF.__init__()=x2go.backends.profiles._gconf.X2goSessionProfilesGCONF-class.html#__init__,Method x2go.backends.profiles._httpsbroker.X2goSessionProfilesHTTPSBROKER.__init__()=x2go.backends.profiles._httpsbroker.X2goSessionProfilesHTTPSBROKER-class.html#__init__,Method x2go.backends.profiles._winreg.X2goSessionProfilesWINREG.__init__()=x2go.backends.profiles._winreg.X2goSessionProfilesWINREG-class.html#__init__,Method x2go.backends.proxy._nx3.X2goProxyNX3.__init__()=x2go.backends.proxy._nx3.X2goProxyNX3-class.html#__init__,Method x2go.backends.proxy.base.X2goProxyBASE.__init__()=x2go.backends.proxy.base.X2goPr
 oxyBASE-
 class.html#__init__,Method x2go.backends.settings._file.X2goClientSettingsFILE.__init__()=x2go.backends.settings._file.X2goClientSettingsFILE-class.html#__init__,Method x2go.backends.settings._gconf.X2goClientSettingsGCONF.__init__()=x2go.backends.settings._gconf.X2goClientSettingsGCONF-class.html#__init__,Method x2go.backends.settings._winreg.X2goClientSettingsWINREG.__init__()=x2go.backends.settings._winreg.X2goClientSettingsWINREG-class.html#__init__,Method x2go.backends.terminal._stdout.X2goTerminalSessionSTDOUT.__init__()=x2go.backends.terminal._stdout.X2goTerminalSessionSTDOUT-class.html#__init__,Method x2go.cache.X2goListSessionsCache.__init__()=x2go.cache.X2goListSessionsCache-class.html#__init__,Method x2go.checkhosts.X2goInteractiveAddPolicy.__init__()=x2go.checkhosts.X2goInteractiveAddPolicy-class.html#__init__,Method x2go.client.X2goClient.__init__()=x2go.client.X2goClient-class.html#__init__,Method x2go.dropbox.X2goDropboxJob.__init__()=x2go.dropbox.X2goDropboxJ
 ob-class
 .html#__init__,Method x2go.dropbox.X2goDropboxQueue.__init__()=x2go.dropbox.X2goDropboxQueue-class.html#__init__,Method x2go.dropboxactions.X2goDropboxAction.__init__()=x2go.dropboxactions.X2goDropboxAction-class.html#__init__,Method x2go.dropboxactions.X2goDropboxActionOPEN.__init__()=x2go.dropboxactions.X2goDropboxActionOPEN-class.html#__init__,Method x2go.dropboxactions.X2goDropboxActionOPENWITH.__init__()=x2go.dropboxactions.X2goDropboxActionOPENWITH-class.html#__init__,Method x2go.dropboxactions.X2goDropboxActionSAVEAS.__init__()=x2go.dropboxactions.X2goDropboxActionSAVEAS-class.html#__init__,Method x2go.forward.X2goFwServer.__init__()=x2go.forward.X2goFwServer-class.html#__init__,Method x2go.gevent_subprocess.Popen.__init__()=x2go.gevent_subprocess.Popen-class.html#__init__,Method x2go.guardian.X2goSessionGuardian.__init__()=x2go.guardian.X2goSessionGuardian-class.html#__init__,Method x2go.inifiles.X2goIniFile.__init__()=x2go.inifiles.X2goIniFile-class.html#__init__,Me
 thod x2g
 o.log.X2goLogger.__init__()=x2go.log.X2goLogger-class.html#__init__,Method x2go.printactions.X2goPrintAction.__init__()=x2go.printactions.X2goPrintAction-class.html#__init__,Method x2go.printactions.X2goPrintActionDIALOG.__init__()=x2go.printactions.X2goPrintActionDIALOG-class.html#__init__,Method x2go.printactions.X2goPrintActionPDFSAVE.__init__()=x2go.printactions.X2goPrintActionPDFSAVE-class.html#__init__,Method x2go.printactions.X2goPrintActionPDFVIEW.__init__()=x2go.printactions.X2goPrintActionPDFVIEW-class.html#__init__,Method x2go.printactions.X2goPrintActionPRINT.__init__()=x2go.printactions.X2goPrintActionPRINT-class.html#__init__,Method x2go.printactions.X2goPrintActionPRINTCMD.__init__()=x2go.printactions.X2goPrintActionPRINTCMD-class.html#__init__,Method x2go.printqueue.X2goPrintJob.__init__()=x2go.printqueue.X2goPrintJob-class.html#__init__,Method x2go.printqueue.X2goPrintQueue.__init__()=x2go.printqueue.X2goPrintQueue-class.html#__init__,Method x2go.pulseaudio.
 X2goPuls
 eAudio.__init__()=x2go.pulseaudio.X2goPulseAudio-class.html#__init__,Method x2go.registry.X2goSessionRegistry.__init__()=x2go.registry.X2goSessionRegistry-class.html#__init__,Method x2go.rforward.X2goRevFwChannelThread.__init__()=x2go.rforward.X2goRevFwChannelThread-class.html#__init__,Method x2go.rforward.X2goRevFwTunnel.__init__()=x2go.rforward.X2goRevFwTunnel-class.html#__init__,Method x2go.session.X2goSession.__init__()=x2go.session.X2goSession-class.html#__init__,Method x2go.sftpserver.X2goRevFwTunnelToSFTP.__init__()=x2go.sftpserver.X2goRevFwTunnelToSFTP-class.html#__init__,Method x2go.sshproxy.X2goSSHProxy.__init__()=x2go.sshproxy.X2goSSHProxy-class.html#__init__,Method x2go.xserver.X2goClientXConfig.__init__()=x2go.xserver.X2goClientXConfig-class.html#__init__,Method x2go.xserver.X2goXServer.__init__()=x2go.xserver.X2goXServer-class.html#__init__"><a title="x2go.backends.control._stdout.X2goControlSessionSTDOUT.__init__
 x2go.backends.info._stdout.X2goServerSessionListSTDOUT.__init__
 x2go.backends.printing._file.X2goClientPrintingFILE.__init__
 x2go.backends.printing._gconf.X2goClientPrintingGCONF.__init__
@@ -374,57 +376,57 @@ x2go.sftpserver.X2goRevFwTunnelToSFTP.__init__
 x2go.sshproxy.X2goSSHProxy.__init__
 x2go.xserver.X2goClientXConfig.__init__
 x2go.xserver.X2goXServer.__init__" class="py-name" href="#" onclick="return doclink('link-38', '__init__', 'link-38');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">client_instance</tt><tt class="py-op">=</tt><tt class="py-name">client_instance</tt><tt class="py-op">,</tt> <tt class="py-name">logger</tt><tt class="py-op">=</tt><tt class="py-name">logger</tt><tt class="py-op">,</tt> <tt class="py-name">loglevel</tt><tt class="py-op">=</tt><tt class="py-name">loglevel</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line"> </tt>
-<a name="X2goPrintActionPDFVIEW.do_print"></a><div id="X2goPrintActionPDFVIEW.do_print-def"><a name="L164"></a><tt class="py-lineno">164</tt> <a class="py-toggle" href="#" id="X2goPrintActionPDFVIEW.do_print-toggle" onclick="return toggle('X2goPrintActionPDFVIEW.do_print');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.printactions.X2goPrintActionPDFVIEW-class.html#do_print">do_print</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">pdf_file</tt><tt class="py-op">,</tt> <tt class="py-param">job_title</tt><tt class="py-op">,</tt> <tt class="py-param">spool_dir</tt><tt class="py-op">,</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="X2goPrintActionPDFVIEW.do_print-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="X2goPrintActionPDFVIEW.do_print-expanded"><a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line">        <tt class="py-docstring">"""\</tt> </tt>
-<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line"><tt class="py-docstring">        Open an incoming X2go print job (PDF file) in an external PDF viewer application.</tt> </tt>
-<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line"><tt class="py-docstring">        @param pdf_file: PDF file name as placed in to the X2go spool directory</tt> </tt>
-<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line"><tt class="py-docstring">        @type pdf_file: C{str}</tt> </tt>
-<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line"><tt class="py-docstring">        @param job_title: human readable print job title</tt> </tt>
-<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line"><tt class="py-docstring">        @type job_title: C{str}</tt> </tt>
-<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line"><tt class="py-docstring">        @param spool_dir: location of the X2go client's spool directory</tt> </tt>
-<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line"><tt class="py-docstring">        @type spool_dir: C{str}</tt> </tt>
-<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
-<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">_X2GOCLIENT_OS</tt> <tt class="py-op">==</tt> <tt class="py-string">"Windows"</tt><tt class="py-op">:</tt> </tt>
-<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logger</tt><tt class="py-op">(</tt><tt class="py-string">'viewing incoming job in PDF viewer with Python\'s os.startfile( command): %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">pdf_file</tt><tt class="py-op">,</tt> <tt class="py-name">loglevel</tt><tt class="py-op">=</tt><tt id="link-39" class="py-name"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-39', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt id="link-40" class="py-name" targets="Variable x2go.log.loglevel_DEBUG=x2go.log-module.html#loglevel_DEBUG"><a title="x2go.log.loglevel_DEBUG" class="py-name" href="#" onclick="return doclink('link-40', 'loglevel_DEBUG', 'link-40');">loglevel_DEBUG</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">                <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">startfile</tt><tt class="py-op">(</tt><tt class="py-name">pdf_file</tt><tt class="py-op">)</tt> </tt>
-<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt id="link-41" class="py-name" targets="Class x2go.x2go_exceptions.WindowsError=x2go.x2go_exceptions.WindowsError-class.html"><a title="x2go.x2go_exceptions.WindowsError" class="py-name" href="#" onclick="return doclink('link-41', 'WindowsError', 'link-41');">WindowsError</a></tt><tt class="py-op">,</tt> <tt class="py-name">win_err</tt><tt class="py-op">:</tt> </tt>
-<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">client_instance</tt><tt class="py-op">:</tt> </tt>
-<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">client_instance</tt><tt class="py-op">.</tt><tt id="link-42" class="py-name" targets="Method x2go.client.X2goClient.HOOK_printaction_error()=x2go.client.X2goClient-class.html#HOOK_printaction_error"><a title="x2go.client.X2goClient.HOOK_printaction_error" class="py-name" href="#" onclick="return doclink('link-42', 'HOOK_printaction_error', 'link-42');">HOOK_printaction_error</a></tt><tt class="py-op">(</tt><tt class="py-name">pdf_file</tt><tt class="py-op">,</tt> </tt>
-<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">                                                                <tt class="py-name">profile_name</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">profile_name</tt><tt class="py-op">,</tt> </tt>
-<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line">                                                                <tt class="py-name">session_name</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">session_name</tt><tt class="py-op">,</tt> </tt>
-<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line">                                                                <tt class="py-name">err_msg</tt><tt class="py-op">=</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">win_err</tt><tt class="py-op">)</tt> </tt>
-<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line">                                                               <tt class="py-op">)</tt> </tt>
-<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logger</tt><tt class="py-op">(</tt><tt class="py-string">'Encountered WindowsError: %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">win_err</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">loglevel</tt><tt class="py-op">=</tt><tt id="link-43" class="py-name"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-43', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt id="link-44" class="py-name" targets="Variable x2go.log.loglevel_ERROR=x2go.log-module.html#loglevel_ERROR"><a title="x2go.log.loglevel_ERROR" class="py-name" href="#" onclick="return doclink('link-44', 'loglevel_ERROR', 'link-44');">loglevel_ERROR</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">20</tt><tt class="py-op">)</tt> </tt>
-<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line">            <tt class="py-name">_hr_filename</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_humanreadable_filename</tt><tt class="py-op">(</tt><tt class="py-name">pdf_file</tt><tt class="py-op">,</tt> <tt class="py-name">job_title</tt><tt class="py-op">,</tt> <tt class="py-name">spool_dir</tt><tt class="py-op">,</tt> <tt class="py-op">)</tt> </tt>
-<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">            <tt class="py-name">shutil</tt><tt class="py-op">.</tt><tt class="py-name">copy2</tt><tt class="py-op">(</tt><tt class="py-name">pdf_file</tt><tt class="py-op">,</tt> <tt class="py-name">_hr_filename</tt><tt class="py-op">)</tt> </tt>
-<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line">            <tt class="py-name">cmd_line</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-45" class="py-name"><a title="x2go.printactions.X2goPrintActionPDFVIEW.pdfview_cmd" class="py-name" href="#" onclick="return doclink('link-45', 'pdfview_cmd', 'link-28');">pdfview_cmd</a></tt><tt class="py-op">,</tt> <tt class="py-name">_hr_filename</tt><tt class="py-op">,</tt> <tt class="py-op">]</tt> </tt>
-<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logger</tt><tt class="py-op">(</tt><tt class="py-string">'viewing incoming PDF with command: %s'</tt> <tt class="py-op">%</tt> <tt class="py-string">' '</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">cmd_line</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">loglevel</tt><tt class="py-op">=</tt><tt id="link-46" class="py-name"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-46', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt id="link-47" class="py-name"><a title="x2go.log.loglevel_DEBUG" class="py-name" href="#" onclick="return doclink('link-47', 'loglevel_DEBUG', 'link-40');">loglevel_DEBUG</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line">                <tt class="py-name">p</tt> <tt class="py-op">=</tt> <tt class="py-name">subprocess</tt><tt class="py-op">.</tt><tt id="link-48" class="py-name" targets="Class x2go.gevent_subprocess.Popen=x2go.gevent_subprocess.Popen-class.html"><a title="x2go.gevent_subprocess.Popen" class="py-name" href="#" onclick="return doclink('link-48', 'Popen', 'link-48');">Popen</a></tt><tt class="py-op">(</tt><tt class="py-name">cmd_line</tt><tt class="py-op">,</tt> <tt class="py-name">stdout</tt><tt class="py-op">=</tt><tt class="py-name">subprocess</tt><tt class="py-op">.</tt><tt id="link-49" class="py-name" targets="Variable x2go.gevent_subprocess.PIPE=x2go.gevent_subprocess-module.html#PIPE"><a title="x2go.gevent_subprocess.PIPE" class="py-name" href="#" onclick="return doclink('link-49', 'PIPE', 'link-49');">PIPE</a></tt><tt class="py-op">,</tt> <tt class="py-name">stderr</tt><tt class="py-op">=</tt><tt clas
 s="py-na
 me">subprocess</tt><tt class="py-op">.</tt><tt id="link-50" class="py-name" targets="Variable x2go.gevent_subprocess.STDOUT=x2go.gevent_subprocess-module.html#STDOUT"><a title="x2go.gevent_subprocess.STDOUT" class="py-name" href="#" onclick="return doclink('link-50', 'STDOUT', 'link-50');">STDOUT</a></tt><tt class="py-op">,</tt> <tt class="py-name">env</tt><tt class="py-op">=</tt><tt id="link-51" class="py-name"><a title="x2go.printactions._PRINT_ENV" class="py-name" href="#" onclick="return doclink('link-51', '_PRINT_ENV', 'link-8');">_PRINT_ENV</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">OSError</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
-<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">e</tt><tt class="py-op">.</tt><tt class="py-name">errno</tt> <tt class="py-op">==</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
-<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line">                    <tt class="py-name">cmd_line</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt id="link-52" class="py-name"><a title="x2go.defaults" class="py-name" href="#" onclick="return doclink('link-52', 'defaults', 'link-1');">defaults</a></tt><tt class="py-op">.</tt><tt id="link-53" class="py-name"><a title="x2go.defaults.DEFAULT_PDFVIEW_CMD" class="py-name" href="#" onclick="return doclink('link-53', 'DEFAULT_PDFVIEW_CMD', 'link-34');">DEFAULT_PDFVIEW_CMD</a></tt><tt class="py-op">,</tt> <tt class="py-name">_hr_filename</tt> <tt class="py-op">]</tt> </tt>
-<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">                    <tt class="py-name">p</tt> <tt class="py-op">=</tt> <tt class="py-name">subprocess</tt><tt class="py-op">.</tt><tt id="link-54" class="py-name"><a title="x2go.gevent_subprocess.Popen" class="py-name" href="#" onclick="return doclink('link-54', 'Popen', 'link-48');">Popen</a></tt><tt class="py-op">(</tt><tt class="py-name">cmd_line</tt><tt class="py-op">,</tt> <tt class="py-name">stdout</tt><tt class="py-op">=</tt><tt class="py-name">subprocess</tt><tt class="py-op">.</tt><tt id="link-55" class="py-name"><a title="x2go.gevent_subprocess.PIPE" class="py-name" href="#" onclick="return doclink('link-55', 'PIPE', 'link-49');">PIPE</a></tt><tt class="py-op">,</tt> <tt class="py-name">stderr</tt><tt class="py-op">=</tt><tt class="py-name">subprocess</tt><tt class="py-op">.</tt><tt id="link-56" class="py-name"><a title="x2go.gevent_subprocess.STDOUT" class="py-name" href="#" onclick="return do
 clink('l
 ink-56', 'STDOUT', 'link-50');">STDOUT</a></tt><tt class="py-op">,</tt> <tt class="py-name">env</tt><tt class="py-op">=</tt><tt id="link-57" class="py-name"><a title="x2go.printactions._PRINT_ENV" class="py-name" href="#" onclick="return doclink('link-57', '_PRINT_ENV', 'link-8');">_PRINT_ENV</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">                    <tt class="py-keyword">raise</tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">)</tt> </tt>
-<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logger</tt><tt class="py-op">(</tt><tt class="py-string">'waiting 20s longer before deleting the PDF file ,,%s\'\''</tt> <tt class="py-op">%</tt> <tt class="py-name">_hr_filename</tt><tt class="py-op">,</tt> <tt class="py-name">loglevel</tt><tt class="py-op">=</tt><tt id="link-58" class="py-name"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-58', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt id="link-59" class="py-name"><a title="x2go.log.loglevel_DEBUG" class="py-name" href="#" onclick="return doclink('link-59', 'loglevel_DEBUG', 'link-40');">loglevel_DEBUG</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">20</tt><tt class="py-op">)</tt> </tt>
-<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">            <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt class="py-name">_hr_filename</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line"> </tt>
-<a name="X2goPrintActionPDFSAVE"></a><div id="X2goPrintActionPDFSAVE-def"><a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line"> </tt>
-<a name="L208"></a><tt class="py-lineno">208</tt> <a class="py-toggle" href="#" id="X2goPrintActionPDFSAVE-toggle" onclick="return toggle('X2goPrintActionPDFSAVE');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="x2go.printactions.X2goPrintActionPDFSAVE-class.html">X2goPrintActionPDFSAVE</a><tt class="py-op">(</tt><tt class="py-base-class">X2goPrintAction</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="X2goPrintActionPDFSAVE-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="X2goPrintActionPDFSAVE-expanded"><a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line">    <tt class="py-docstring">"""\</tt> </tt>
-<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line"><tt class="py-docstring">    Print action that saves incoming print jobs to a local folder.</tt> </tt>
-<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line">    <tt id="link-60" class="py-name"><a title="x2go.dropboxactions.X2goDropboxAction.__name__
+</div><a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line"> </tt>
+<a name="X2goPrintActionPDFVIEW.do_print"></a><div id="X2goPrintActionPDFVIEW.do_print-def"><a name="L166"></a><tt class="py-lineno">166</tt> <a class="py-toggle" href="#" id="X2goPrintActionPDFVIEW.do_print-toggle" onclick="return toggle('X2goPrintActionPDFVIEW.do_print');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.printactions.X2goPrintActionPDFVIEW-class.html#do_print">do_print</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">pdf_file</tt><tt class="py-op">,</tt> <tt class="py-param">job_title</tt><tt class="py-op">,</tt> <tt class="py-param">spool_dir</tt><tt class="py-op">,</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="X2goPrintActionPDFVIEW.do_print-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="X2goPrintActionPDFVIEW.do_print-expanded"><a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line">        <tt class="py-docstring">"""\</tt> </tt>
+<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line"><tt class="py-docstring">        Open an incoming X2go print job (PDF file) in an external PDF viewer application.</tt> </tt>
+<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line"><tt class="py-docstring">        @param pdf_file: PDF file name as placed in to the X2go spool directory</tt> </tt>
+<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line"><tt class="py-docstring">        @type pdf_file: C{str}</tt> </tt>
+<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line"><tt class="py-docstring">        @param job_title: human readable print job title</tt> </tt>
+<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line"><tt class="py-docstring">        @type job_title: C{str}</tt> </tt>
+<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line"><tt class="py-docstring">        @param spool_dir: location of the X2go client's spool directory</tt> </tt>
+<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line"><tt class="py-docstring">        @type spool_dir: C{str}</tt> </tt>
+<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">_X2GOCLIENT_OS</tt> <tt class="py-op">==</tt> <tt class="py-string">"Windows"</tt><tt class="py-op">:</tt> </tt>
+<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logger</tt><tt class="py-op">(</tt><tt class="py-string">'viewing incoming job in PDF viewer with Python\'s os.startfile( command): %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">pdf_file</tt><tt class="py-op">,</tt> <tt class="py-name">loglevel</tt><tt class="py-op">=</tt><tt id="link-39" class="py-name"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-39', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt id="link-40" class="py-name" targets="Variable x2go.log.loglevel_DEBUG=x2go.log-module.html#loglevel_DEBUG"><a title="x2go.log.loglevel_DEBUG" class="py-name" href="#" onclick="return doclink('link-40', 'loglevel_DEBUG', 'link-40');">loglevel_DEBUG</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">                <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">startfile</tt><tt class="py-op">(</tt><tt class="py-name">pdf_file</tt><tt class="py-op">)</tt> </tt>
+<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt id="link-41" class="py-name" targets="Class x2go.x2go_exceptions.WindowsError=x2go.x2go_exceptions.WindowsError-class.html"><a title="x2go.x2go_exceptions.WindowsError" class="py-name" href="#" onclick="return doclink('link-41', 'WindowsError', 'link-41');">WindowsError</a></tt><tt class="py-op">,</tt> <tt class="py-name">win_err</tt><tt class="py-op">:</tt> </tt>
+<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">client_instance</tt><tt class="py-op">:</tt> </tt>
+<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">client_instance</tt><tt class="py-op">.</tt><tt id="link-42" class="py-name" targets="Method x2go.client.X2goClient.HOOK_printaction_error()=x2go.client.X2goClient-class.html#HOOK_printaction_error"><a title="x2go.client.X2goClient.HOOK_printaction_error" class="py-name" href="#" onclick="return doclink('link-42', 'HOOK_printaction_error', 'link-42');">HOOK_printaction_error</a></tt><tt class="py-op">(</tt><tt class="py-name">pdf_file</tt><tt class="py-op">,</tt> </tt>
+<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line">                                                                <tt class="py-name">profile_name</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">profile_name</tt><tt class="py-op">,</tt> </tt>
+<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line">                                                                <tt class="py-name">session_name</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">session_name</tt><tt class="py-op">,</tt> </tt>
+<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line">                                                                <tt class="py-name">err_msg</tt><tt class="py-op">=</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">win_err</tt><tt class="py-op">)</tt> </tt>
+<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line">                                                               <tt class="py-op">)</tt> </tt>
+<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logger</tt><tt class="py-op">(</tt><tt class="py-string">'Encountered WindowsError: %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">win_err</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">loglevel</tt><tt class="py-op">=</tt><tt id="link-43" class="py-name"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-43', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt id="link-44" class="py-name" targets="Variable x2go.log.loglevel_ERROR=x2go.log-module.html#loglevel_ERROR"><a title="x2go.log.loglevel_ERROR" class="py-name" href="#" onclick="return doclink('link-44', 'loglevel_ERROR', 'link-44');">loglevel_ERROR</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line">            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">20</tt><tt class="py-op">)</tt> </tt>
+<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line">            <tt class="py-name">_hr_filename</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_humanreadable_filename</tt><tt class="py-op">(</tt><tt class="py-name">pdf_file</tt><tt class="py-op">,</tt> <tt class="py-name">job_title</tt><tt class="py-op">,</tt> <tt class="py-name">spool_dir</tt><tt class="py-op">,</tt> <tt class="py-op">)</tt> </tt>
+<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line">            <tt class="py-name">shutil</tt><tt class="py-op">.</tt><tt class="py-name">copy2</tt><tt class="py-op">(</tt><tt class="py-name">pdf_file</tt><tt class="py-op">,</tt> <tt class="py-name">_hr_filename</tt><tt class="py-op">)</tt> </tt>
+<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line">            <tt class="py-name">cmd_line</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-45" class="py-name"><a title="x2go.printactions.X2goPrintActionPDFVIEW.pdfview_cmd" class="py-name" href="#" onclick="return doclink('link-45', 'pdfview_cmd', 'link-28');">pdfview_cmd</a></tt><tt class="py-op">,</tt> <tt class="py-name">_hr_filename</tt><tt class="py-op">,</tt> <tt class="py-op">]</tt> </tt>
+<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logger</tt><tt class="py-op">(</tt><tt class="py-string">'viewing incoming PDF with command: %s'</tt> <tt class="py-op">%</tt> <tt class="py-string">' '</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">cmd_line</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">loglevel</tt><tt class="py-op">=</tt><tt id="link-46" class="py-name"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-46', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt id="link-47" class="py-name"><a title="x2go.log.loglevel_DEBUG" class="py-name" href="#" onclick="return doclink('link-47', 'loglevel_DEBUG', 'link-40');">loglevel_DEBUG</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line">                <tt class="py-name">p</tt> <tt class="py-op">=</tt> <tt class="py-name">subprocess</tt><tt class="py-op">.</tt><tt id="link-48" class="py-name" targets="Class x2go.gevent_subprocess.Popen=x2go.gevent_subprocess.Popen-class.html"><a title="x2go.gevent_subprocess.Popen" class="py-name" href="#" onclick="return doclink('link-48', 'Popen', 'link-48');">Popen</a></tt><tt class="py-op">(</tt><tt class="py-name">cmd_line</tt><tt class="py-op">,</tt> <tt class="py-name">stdout</tt><tt class="py-op">=</tt><tt class="py-name">subprocess</tt><tt class="py-op">.</tt><tt id="link-49" class="py-name" targets="Variable x2go.gevent_subprocess.PIPE=x2go.gevent_subprocess-module.html#PIPE"><a title="x2go.gevent_subprocess.PIPE" class="py-name" href="#" onclick="return doclink('link-49', 'PIPE', 'link-49');">PIPE</a></tt><tt class="py-op">,</tt> <tt class="py-name">stderr</tt><tt class="py-op">=</tt><tt clas
 s="py-na
 me">subprocess</tt><tt class="py-op">.</tt><tt id="link-50" class="py-name" targets="Variable x2go.gevent_subprocess.STDOUT=x2go.gevent_subprocess-module.html#STDOUT"><a title="x2go.gevent_subprocess.STDOUT" class="py-name" href="#" onclick="return doclink('link-50', 'STDOUT', 'link-50');">STDOUT</a></tt><tt class="py-op">,</tt> <tt class="py-name">env</tt><tt class="py-op">=</tt><tt id="link-51" class="py-name"><a title="x2go.printactions._PRINT_ENV" class="py-name" href="#" onclick="return doclink('link-51', '_PRINT_ENV', 'link-8');">_PRINT_ENV</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">OSError</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">e</tt><tt class="py-op">.</tt><tt class="py-name">errno</tt> <tt class="py-op">==</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
+<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">                    <tt class="py-name">cmd_line</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt id="link-52" class="py-name"><a title="x2go.defaults" class="py-name" href="#" onclick="return doclink('link-52', 'defaults', 'link-1');">defaults</a></tt><tt class="py-op">.</tt><tt id="link-53" class="py-name"><a title="x2go.defaults.DEFAULT_PDFVIEW_CMD" class="py-name" href="#" onclick="return doclink('link-53', 'DEFAULT_PDFVIEW_CMD', 'link-34');">DEFAULT_PDFVIEW_CMD</a></tt><tt class="py-op">,</tt> <tt class="py-name">_hr_filename</tt> <tt class="py-op">]</tt> </tt>
+<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">                    <tt class="py-name">p</tt> <tt class="py-op">=</tt> <tt class="py-name">subprocess</tt><tt class="py-op">.</tt><tt id="link-54" class="py-name"><a title="x2go.gevent_subprocess.Popen" class="py-name" href="#" onclick="return doclink('link-54', 'Popen', 'link-48');">Popen</a></tt><tt class="py-op">(</tt><tt class="py-name">cmd_line</tt><tt class="py-op">,</tt> <tt class="py-name">stdout</tt><tt class="py-op">=</tt><tt class="py-name">subprocess</tt><tt class="py-op">.</tt><tt id="link-55" class="py-name"><a title="x2go.gevent_subprocess.PIPE" class="py-name" href="#" onclick="return doclink('link-55', 'PIPE', 'link-49');">PIPE</a></tt><tt class="py-op">,</tt> <tt class="py-name">stderr</tt><tt class="py-op">=</tt><tt class="py-name">subprocess</tt><tt class="py-op">.</tt><tt id="link-56" class="py-name"><a title="x2go.gevent_subprocess.STDOUT" class="py-name" href="#" onclick="return do
 clink('l
 ink-56', 'STDOUT', 'link-50');">STDOUT</a></tt><tt class="py-op">,</tt> <tt class="py-name">env</tt><tt class="py-op">=</tt><tt id="link-57" class="py-name"><a title="x2go.printactions._PRINT_ENV" class="py-name" href="#" onclick="return doclink('link-57', '_PRINT_ENV', 'link-8');">_PRINT_ENV</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">                    <tt class="py-keyword">raise</tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">)</tt> </tt>
+<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logger</tt><tt class="py-op">(</tt><tt class="py-string">'waiting 20s longer before deleting the PDF file ,,%s\'\''</tt> <tt class="py-op">%</tt> <tt class="py-name">_hr_filename</tt><tt class="py-op">,</tt> <tt class="py-name">loglevel</tt><tt class="py-op">=</tt><tt id="link-58" class="py-name"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-58', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt id="link-59" class="py-name"><a title="x2go.log.loglevel_DEBUG" class="py-name" href="#" onclick="return doclink('link-59', 'loglevel_DEBUG', 'link-40');">loglevel_DEBUG</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">20</tt><tt class="py-op">)</tt> </tt>
+<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">            <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt class="py-name">_hr_filename</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line"> </tt>
+<a name="X2goPrintActionPDFSAVE"></a><div id="X2goPrintActionPDFSAVE-def"><a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line"> </tt>
+<a name="L210"></a><tt class="py-lineno">210</tt> <a class="py-toggle" href="#" id="X2goPrintActionPDFSAVE-toggle" onclick="return toggle('X2goPrintActionPDFSAVE');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="x2go.printactions.X2goPrintActionPDFSAVE-class.html">X2goPrintActionPDFSAVE</a><tt class="py-op">(</tt><tt class="py-base-class">X2goPrintAction</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="X2goPrintActionPDFSAVE-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="X2goPrintActionPDFSAVE-expanded"><a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line">    <tt class="py-docstring">"""\</tt> </tt>
+<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line"><tt class="py-docstring">    Print action that saves incoming print jobs to a local folder.</tt> </tt>
+<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line">    <tt id="link-60" class="py-name"><a title="x2go.dropboxactions.X2goDropboxAction.__name__
 x2go.dropboxactions.X2goDropboxActionOPEN.__name__
 x2go.dropboxactions.X2goDropboxActionOPENWITH.__name__
 x2go.dropboxactions.X2goDropboxActionSAVEAS.__name__
@@ -434,7 +436,7 @@ x2go.printactions.X2goPrintActionPDFSAVE.__name__
 x2go.printactions.X2goPrintActionPDFVIEW.__name__
 x2go.printactions.X2goPrintActionPRINT.__name__
 x2go.printactions.X2goPrintActionPRINTCMD.__name__" class="py-name" href="#" onclick="return doclink('link-60', '__name__', 'link-9');">__name__</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'PDFSAVE'</tt> </tt>
-<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line">    <tt id="link-61" class="py-name"><a title="x2go.dropboxactions.X2goDropboxActionOPEN.__decription__
+<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line">    <tt id="link-61" class="py-name"><a title="x2go.dropboxactions.X2goDropboxActionOPEN.__decription__
 x2go.dropboxactions.X2goDropboxActionOPENWITH.__decription__
 x2go.dropboxactions.X2goDropboxActionSAVEAS.__decription__
 x2go.printactions.X2goPrintActionDIALOG.__decription__
@@ -442,29 +444,32 @@ x2go.printactions.X2goPrintActionPDFSAVE.__decription__
 x2go.printactions.X2goPrintActionPDFVIEW.__decription__
 x2go.printactions.X2goPrintActionPRINT.__decription__
 x2go.printactions.X2goPrintActionPRINTCMD.__decription__" class="py-name" href="#" onclick="return doclink('link-61', '__decription__', 'link-27');">__decription__</a></tt><tt class="py-op">=</tt> <tt class="py-string">'Save as PDF'</tt> </tt>
-<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line"> </tt>
-<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line">    <tt id="link-62" class="py-name" targets="Variable x2go.printactions.X2goPrintActionPDFSAVE.save_to_folder=x2go.printactions.X2goPrintActionPDFSAVE-class.html#save_to_folder"><a title="x2go.printactions.X2goPrintActionPDFSAVE.save_to_folder" class="py-name" href="#" onclick="return doclink('link-62', 'save_to_folder', 'link-62');">save_to_folder</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
 <a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line"> </tt>
-<a name="X2goPrintActionPDFSAVE.__init__"></a><div id="X2goPrintActionPDFSAVE.__init__-def"><a name="L218"></a><tt class="py-lineno">218</tt> <a class="py-toggle" href="#" id="X2goPrintActionPDFSAVE.__init__-toggle" onclick="return toggle('X2goPrintActionPDFSAVE.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.printactions.X2goPrintActionPDFSAVE-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">client_instance</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">save_to_folder</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">logger</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">loglevel</tt><tt class="py-op">=</tt><tt id="link-63" class="py-name"><a title="x2go.log" class="py-na
 me" href
 ="#" onclick="return doclink('link-63', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt id="link-64" class="py-name"><a title="x2go.log.loglevel_DEFAULT" class="py-name" href="#" onclick="return doclink('link-64', 'loglevel_DEFAULT', 'link-12');">loglevel_DEFAULT</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="X2goPrintActionPDFSAVE.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="X2goPrintActionPDFSAVE.__init__-expanded"><a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line">        <tt class="py-docstring">"""\</tt> </tt>
-<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line"><tt class="py-docstring">        @param client_instance: the underlying L{X2goClient} instance</tt> </tt>
-<a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line"><tt class="py-docstring">        @type client_instance: C{instance}</tt> </tt>
-<a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line"><tt class="py-docstring">        @param save_to_folder: saving location for incoming print jobs (PDF files)</tt> </tt>
-<a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line"><tt class="py-docstring">        @type save_to_folder: C{str}</tt> </tt>
-<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line"><tt class="py-docstring">        @param logger: you can pass an L{X2goLogger} object to the</tt> </tt>
-<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line"><tt class="py-docstring">            L{X2goPrintActionPDFSAVE} constructor</tt> </tt>
-<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line"><tt class="py-docstring">        @type logger: C{instance}</tt> </tt>
-<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line"><tt class="py-docstring">        @param loglevel: if no L{X2goLogger} object has been supplied a new one will be</tt> </tt>
-<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line"><tt class="py-docstring">            constructed with the given loglevel</tt> </tt>
-<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line"><tt class="py-docstring">        @type loglevel: C{int}</tt> </tt>
-<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
-<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-65" class="py-name"><a title="x2go.printactions.X2goPrintActionPDFSAVE.save_to_folder" class="py-name" href="#" onclick="return doclink('link-65', 'save_to_folder', 'link-62');">save_to_folder</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line">            <tt id="link-66" class="py-name"><a title="x2go.printactions.X2goPrintActionPDFSAVE.save_to_folder" class="py-name" href="#" onclick="return doclink('link-66', 'save_to_folder', 'link-62');">save_to_folder</a></tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">expanduser</tt><tt class="py-op">(</tt><tt id="link-67" class="py-name"><a title="x2go.defaults" class="py-name" href="#" onclick="return doclink('link-67', 'defaults', 'link-1');">defaults</a></tt><tt class="py-op">.</tt><tt id="link-68" class="py-name" targets="Variable x2go.defaults.DEFAULT_PDFSAVE_LOCATION=x2go.defaults-module.html#DEFAULT_PDFSAVE_LOCATION"><a title="x2go.defaults.DEFAULT_PDFSAVE_LOCATION" class="py-name" href="#" onclick="return doclink('link-68', 'DEFAULT_PDFSAVE_LOCATION', 'link-68');">DEFAULT_PDFSAVE_LOCATION</a
 ></tt><t
 t class="py-op">)</tt> </tt>
-<a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-69" class="py-name"><a title="x2go.printactions.X2goPrintActionPDFSAVE.save_to_folder" class="py-name" href="#" onclick="return doclink('link-69', 'save_to_folder', 'link-62');">save_to_folder</a></tt> <tt class="py-op">=</tt> <tt id="link-70" class="py-name"><a title="x2go.printactions.X2goPrintActionPDFSAVE.save_to_folder" class="py-name" href="#" onclick="return doclink('link-70', 'save_to_folder', 'link-62');">save_to_folder</a></tt> </tt>
-<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">exists</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-71" class="py-name"><a title="x2go.printactions.X2goPrintActionPDFSAVE.save_to_folder" class="py-name" href="#" onclick="return doclink('link-71', 'save_to_folder', 'link-62');">save_to_folder</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line">            <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">makedirs</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-72" class="py-name"><a title="x2go.printactions.X2goPrintActionPDFSAVE.save_to_folder" class="py-name" href="#" onclick="return doclink('link-72', 'save_to_folder', 'link-62');">save_to_folder</a></tt><tt class="py-op">,</tt> <tt class="py-name">mode</tt><tt class="py-op">=</tt><tt class="py-number">0755</tt><tt class="py-op">)</tt> </tt>
-<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line">        <tt id="link-73" class="py-name"><a title="x2go.printactions.X2goPrintAction" class="py-name" href="#" onclick="return doclink('link-73', 'X2goPrintAction', 'link-37');">X2goPrintAction</a></tt><tt class="py-op">.</tt><tt id="link-74" class="py-name"><a title="x2go.backends.control._stdout.X2goControlSessionSTDOUT.__init__
+<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line">    <tt id="link-62" class="py-name" targets="Variable x2go.printactions.X2goPrintActionPDFSAVE.save_to_folder=x2go.printactions.X2goPrintActionPDFSAVE-class.html#save_to_folder"><a title="x2go.printactions.X2goPrintActionPDFSAVE.save_to_folder" class="py-name" href="#" onclick="return doclink('link-62', 'save_to_folder', 'link-62');">save_to_folder</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line"> </tt>
+<a name="X2goPrintActionPDFSAVE.__init__"></a><div id="X2goPrintActionPDFSAVE.__init__-def"><a name="L220"></a><tt class="py-lineno">220</tt> <a class="py-toggle" href="#" id="X2goPrintActionPDFSAVE.__init__-toggle" onclick="return toggle('X2goPrintActionPDFSAVE.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.printactions.X2goPrintActionPDFSAVE-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">client_instance</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">save_to_folder</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">logger</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">loglevel</tt><tt class="py-op">=</tt><tt id="link-63" class="py-name"><a title="x2go.log" class="py-na
 me" href
 ="#" onclick="return doclink('link-63', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt id="link-64" class="py-name"><a title="x2go.log.loglevel_DEFAULT" class="py-name" href="#" onclick="return doclink('link-64', 'loglevel_DEFAULT', 'link-12');">loglevel_DEFAULT</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="X2goPrintActionPDFSAVE.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="X2goPrintActionPDFSAVE.__init__-expanded"><a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line">        <tt class="py-docstring">"""\</tt> </tt>
+<a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line"><tt class="py-docstring">        @param client_instance: the underlying L{X2goClient} instance</tt> </tt>
+<a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line"><tt class="py-docstring">        @type client_instance: C{instance}</tt> </tt>
+<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line"><tt class="py-docstring">        @param save_to_folder: saving location for incoming print jobs (PDF files)</tt> </tt>
+<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line"><tt class="py-docstring">        @type save_to_folder: C{str}</tt> </tt>
+<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line"><tt class="py-docstring">        @param logger: you can pass an L{X2goLogger} object to the</tt> </tt>
+<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line"><tt class="py-docstring">            L{X2goPrintActionPDFSAVE} constructor</tt> </tt>
+<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line"><tt class="py-docstring">        @type logger: C{instance}</tt> </tt>
+<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line"><tt class="py-docstring">        @param loglevel: if no L{X2goLogger} object has been supplied a new one will be</tt> </tt>
+<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line"><tt class="py-docstring">            constructed with the given loglevel</tt> </tt>
+<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line"><tt class="py-docstring">        @type loglevel: C{int}</tt> </tt>
+<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-65" class="py-name"><a title="x2go.printactions.X2goPrintActionPDFSAVE.save_to_folder" class="py-name" href="#" onclick="return doclink('link-65', 'save_to_folder', 'link-62');">save_to_folder</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line">            <tt id="link-66" class="py-name"><a title="x2go.printactions.X2goPrintActionPDFSAVE.save_to_folder" class="py-name" href="#" onclick="return doclink('link-66', 'save_to_folder', 'link-62');">save_to_folder</a></tt> <tt class="py-op">=</tt> <tt id="link-67" class="py-name"><a title="x2go.defaults" class="py-name" href="#" onclick="return doclink('link-67', 'defaults', 'link-1');">defaults</a></tt><tt class="py-op">.</tt><tt id="link-68" class="py-name" targets="Variable x2go.defaults.DEFAULT_PDFSAVE_LOCATION=x2go.defaults-module.html#DEFAULT_PDFSAVE_LOCATION"><a title="x2go.defaults.DEFAULT_PDFSAVE_LOCATION" class="py-name" href="#" onclick="return doclink('link-68', 'DEFAULT_PDFSAVE_LOCATION', 'link-68');">DEFAULT_PDFSAVE_LOCATION</a></tt> </tt>
+<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-69" class="py-name"><a title="x2go.utils" class="py-name" href="#" onclick="return doclink('link-69', 'utils', 'link-6');">utils</a></tt><tt class="py-op">.</tt><tt id="link-70" class="py-name" targets="Function x2go.utils.is_abs_path()=x2go.utils-module.html#is_abs_path"><a title="x2go.utils.is_abs_path" class="py-name" href="#" onclick="return doclink('link-70', 'is_abs_path', 'link-70');">is_abs_path</a></tt><tt class="py-op">(</tt><tt id="link-71" class="py-name"><a title="x2go.printactions.X2goPrintActionPDFSAVE.save_to_folder" class="py-name" href="#" onclick="return doclink('link-71', 'save_to_folder', 'link-62');">save_to_folder</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-72" class="py-name"><a title="x2go.printactions.X2goPrintActionPDFSAVE.save_to_folder" class="py-name" href="#" onclick="return doclink('link-72', 'save_to_folder', 'link-62');">save_to_folder</a></tt><tt class="py-op">.</tt><tt class="py-name">startswith</tt><tt class="py-op">(</tt><tt class="py-string">'~'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line">                <tt id="link-73" class="py-name"><a title="x2go.printactions.X2goPrintActionPDFSAVE.save_to_folder" class="py-name" href="#" onclick="return doclink('link-73', 'save_to_folder', 'link-62');">save_to_folder</a></tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">normpath</tt><tt class="py-op">(</tt><tt class="py-string">'~/%s'</tt> <tt class="py-op">%</tt> <tt id="link-74" class="py-name"><a title="x2go.printactions.X2goPrintActionPDFSAVE.save_to_folder" class="py-name" href="#" onclick="return doclink('link-74', 'save_to_folder', 'link-62');">save_to_folder</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line">            <tt id="link-75" class="py-name"><a title="x2go.printactions.X2goPrintActionPDFSAVE.save_to_folder" class="py-name" href="#" onclick="return doclink('link-75', 'save_to_folder', 'link-62');">save_to_folder</a></tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">expanduser</tt><tt class="py-op">(</tt><tt id="link-76" class="py-name"><a title="x2go.printactions.X2goPrintActionPDFSAVE.save_to_folder" class="py-name" href="#" onclick="return doclink('link-76', 'save_to_folder', 'link-62');">save_to_folder</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-77" class="py-name"><a title="x2go.printactions.X2goPrintActionPDFSAVE.save_to_folder" class="py-name" href="#" onclick="return doclink('link-77', 'save_to_folder', 'link-62');">save_to_folder</a></tt> <tt class="py-op">=</tt> <tt id="link-78" class="py-name"><a title="x2go.printactions.X2goPrintActionPDFSAVE.save_to_folder" class="py-name" href="#" onclick="return doclink('link-78', 'save_to_folder', 'link-62');">save_to_folder</a></tt> </tt>
+<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line"> </tt>
+<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line">        <tt id="link-79" class="py-name"><a title="x2go.printactions.X2goPrintAction" class="py-name" href="#" onclick="return doclink('link-79', 'X2goPrintAction', 'link-37');">X2goPrintAction</a></tt><tt class="py-op">.</tt><tt id="link-80" class="py-name"><a title="x2go.backends.control._stdout.X2goControlSessionSTDOUT.__init__
 x2go.backends.info._stdout.X2goServerSessionListSTDOUT.__init__
 x2go.backends.printing._file.X2goClientPrintingFILE.__init__
 x2go.backends.printing._gconf.X2goClientPrintingGCONF.__init__
@@ -509,30 +514,34 @@ x2go.session.X2goSession.__init__
 x2go.sftpserver.X2goRevFwTunnelToSFTP.__init__
 x2go.sshproxy.X2goSSHProxy.__init__
 x2go.xserver.X2goClientXConfig.__init__
-x2go.xserver.X2goXServer.__init__" class="py-name" href="#" onclick="return doclink('link-74', '__init__', 'link-38');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">client_instance</tt><tt class="py-op">=</tt><tt class="py-name">client_instance</tt><tt class="py-op">,</tt> <tt class="py-name">logger</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">loglevel</tt><tt class="py-op">=</tt><tt class="py-name">loglevel</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line"> </tt>
-<a name="X2goPrintActionPDFSAVE.do_print"></a><div id="X2goPrintActionPDFSAVE.do_print-def"><a name="L239"></a><tt class="py-lineno">239</tt> <a class="py-toggle" href="#" id="X2goPrintActionPDFSAVE.do_print-toggle" onclick="return toggle('X2goPrintActionPDFSAVE.do_print');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.printactions.X2goPrintActionPDFSAVE-class.html#do_print">do_print</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">pdf_file</tt><tt class="py-op">,</tt> <tt class="py-param">job_title</tt><tt class="py-op">,</tt> <tt class="py-param">spool_dir</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="X2goPrintActionPDFSAVE.do_print-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="X2goPrintActionPDFSAVE.do_print-expanded"><a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line">        <tt class="py-docstring">"""\</tt> </tt>
-<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line"><tt class="py-docstring">        Save an incoming X2go print job (PDF file) to a local folder.</tt> </tt>
-<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line"><tt class="py-docstring">        @param pdf_file: PDF file name as placed in to the X2go spool directory</tt> </tt>
-<a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line"><tt class="py-docstring">        @type pdf_file: C{str}</tt> </tt>
-<a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line"><tt class="py-docstring">        @param job_title: human readable print job title</tt> </tt>
-<a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line"><tt class="py-docstring">        @type job_title: C{str}</tt> </tt>
-<a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line"><tt class="py-docstring">        @param spool_dir: location of the X2go client's spool directory</tt> </tt>
-<a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line"><tt class="py-docstring">        @type spool_dir: C{str}</tt> </tt>
-<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
-<a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line">        <tt class="py-name">dest_file</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_humanreadable_filename</tt><tt class="py-op">(</tt><tt class="py-name">pdf_file</tt><tt class="py-op">,</tt> <tt class="py-name">job_title</tt><tt class="py-op">,</tt> <tt class="py-name">target_path</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-75" class="py-name"><a title="x2go.printactions.X2goPrintActionPDFSAVE.save_to_folder" class="py-name" href="#" onclick="return doclink('link-75', 'save_to_folder', 'link-62');">save_to_folder</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line">        <tt class="py-name">shutil</tt><tt class="py-op">.</tt><tt class="py-name">copy2</tt><tt class="py-op">(</tt><tt class="py-name">pdf_file</tt><tt class="py-op">,</tt> <tt class="py-name">dest_file</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line"> </tt>
-<a name="X2goPrintActionPRINT"></a><div id="X2goPrintActionPRINT-def"><a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line"> </tt>
-<a name="L255"></a><tt class="py-lineno">255</tt> <a class="py-toggle" href="#" id="X2goPrintActionPRINT-toggle" onclick="return toggle('X2goPrintActionPRINT');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="x2go.printactions.X2goPrintActionPRINT-class.html">X2goPrintActionPRINT</a><tt class="py-op">(</tt><tt class="py-base-class">X2goPrintAction</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="X2goPrintActionPRINT-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="X2goPrintActionPRINT-expanded"><a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line">    <tt class="py-docstring">"""\</tt> </tt>
-<a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line"><tt class="py-docstring">    Print action that actually prints an incoming print job file.</tt> </tt>
+x2go.xserver.X2goXServer.__init__" class="py-name" href="#" onclick="return doclink('link-80', '__init__', 'link-38');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">client_instance</tt><tt class="py-op">=</tt><tt class="py-name">client_instance</tt><tt class="py-op">,</tt> <tt class="py-name">logger</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">loglevel</tt><tt class="py-op">=</tt><tt class="py-name">loglevel</tt><tt class="py-op">)</tt> </tt>
+<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line"> </tt>
+<a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logger</tt><tt class="py-op">(</tt><tt class="py-string">'Save location for incoming PDFs is: %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-81" class="py-name"><a title="x2go.printactions.X2goPrintActionPDFSAVE.save_to_folder" class="py-name" href="#" onclick="return doclink('link-81', 'save_to_folder', 'link-62');">save_to_folder</a></tt><tt class="py-op">,</tt> <tt class="py-name">loglevel</tt><tt class="py-op">=</tt><tt id="link-82" class="py-name"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-82', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt id="link-83" class="py-name"><a title="x2go.log.loglevel_DEBUG" class="py-name" href="#" onclick="return doclink('link-83', 'loglevel_DEBUG', 'link-40');">loglevel_DEBUG</a></tt><tt class=
 "py-op">
 )</tt> </tt>
+<a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">exists</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-84" class="py-name"><a title="x2go.printactions.X2goPrintActionPDFSAVE.save_to_folder" class="py-name" href="#" onclick="return doclink('link-84', 'save_to_folder', 'link-62');">save_to_folder</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line">            <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">makedirs</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-85" class="py-name"><a title="x2go.printactions.X2goPrintActionPDFSAVE.save_to_folder" class="py-name" href="#" onclick="return doclink('link-85', 'save_to_folder', 'link-62');">save_to_folder</a></tt><tt class="py-op">,</tt> <tt class="py-name">mode</tt><tt class="py-op">=</tt><tt class="py-number">0755</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line"> </tt>
+<a name="X2goPrintActionPDFSAVE.do_print"></a><div id="X2goPrintActionPDFSAVE.do_print-def"><a name="L248"></a><tt class="py-lineno">248</tt> <a class="py-toggle" href="#" id="X2goPrintActionPDFSAVE.do_print-toggle" onclick="return toggle('X2goPrintActionPDFSAVE.do_print');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.printactions.X2goPrintActionPDFSAVE-class.html#do_print">do_print</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">pdf_file</tt><tt class="py-op">,</tt> <tt class="py-param">job_title</tt><tt class="py-op">,</tt> <tt class="py-param">spool_dir</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="X2goPrintActionPDFSAVE.do_print-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="X2goPrintActionPDFSAVE.do_print-expanded"><a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line">        <tt class="py-docstring">"""\</tt> </tt>
+<a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line"><tt class="py-docstring">        Save an incoming X2go print job (PDF file) to a local folder.</tt> </tt>
+<a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line"><tt class="py-docstring">        @param pdf_file: PDF file name as placed in to the X2go spool directory</tt> </tt>
+<a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line"><tt class="py-docstring">        @type pdf_file: C{str}</tt> </tt>
+<a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line"><tt class="py-docstring">        @param job_title: human readable print job title</tt> </tt>
+<a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line"><tt class="py-docstring">        @type job_title: C{str}</tt> </tt>
+<a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line"><tt class="py-docstring">        @param spool_dir: location of the X2go client's spool directory</tt> </tt>
+<a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line"><tt class="py-docstring">        @type spool_dir: C{str}</tt> </tt>
 <a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line">    <tt id="link-76" class="py-name"><a title="x2go.dropboxactions.X2goDropboxAction.__name__
+<a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line">        <tt class="py-name">dest_file</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_humanreadable_filename</tt><tt class="py-op">(</tt><tt class="py-name">pdf_file</tt><tt class="py-op">,</tt> <tt class="py-name">job_title</tt><tt class="py-op">,</tt> <tt class="py-name">target_path</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-86" class="py-name"><a title="x2go.printactions.X2goPrintActionPDFSAVE.save_to_folder" class="py-name" href="#" onclick="return doclink('link-86', 'save_to_folder', 'link-62');">save_to_folder</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line">        <tt class="py-name">shutil</tt><tt class="py-op">.</tt><tt class="py-name">copy2</tt><tt class="py-op">(</tt><tt class="py-name">pdf_file</tt><tt class="py-op">,</tt> <tt class="py-name">dest_file</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line"> </tt>
+<a name="X2goPrintActionPRINT"></a><div id="X2goPrintActionPRINT-def"><a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line"> </tt>
+<a name="L264"></a><tt class="py-lineno">264</tt> <a class="py-toggle" href="#" id="X2goPrintActionPRINT-toggle" onclick="return toggle('X2goPrintActionPRINT');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="x2go.printactions.X2goPrintActionPRINT-class.html">X2goPrintActionPRINT</a><tt class="py-op">(</tt><tt class="py-base-class">X2goPrintAction</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="X2goPrintActionPRINT-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="X2goPrintActionPRINT-expanded"><a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line">    <tt class="py-docstring">"""\</tt> </tt>
+<a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line"><tt class="py-docstring">    Print action that actually prints an incoming print job file.</tt> </tt>
+<a name="L267"></a><tt class="py-lineno">267</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line">    <tt id="link-87" class="py-name"><a title="x2go.dropboxactions.X2goDropboxAction.__name__
 x2go.dropboxactions.X2goDropboxActionOPEN.__name__
 x2go.dropboxactions.X2goDropboxActionOPENWITH.__name__
 x2go.dropboxactions.X2goDropboxActionSAVEAS.__name__
@@ -541,32 +550,32 @@ x2go.printactions.X2goPrintActionDIALOG.__name__
 x2go.printactions.X2goPrintActionPDFSAVE.__name__
 x2go.printactions.X2goPrintActionPDFVIEW.__name__
 x2go.printactions.X2goPrintActionPRINT.__name__
-x2go.printactions.X2goPrintActionPRINTCMD.__name__" class="py-name" href="#" onclick="return doclink('link-76', '__name__', 'link-9');">__name__</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'PRINT'</tt> </tt>
-<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line">    <tt id="link-77" class="py-name"><a title="x2go.dropboxactions.X2goDropboxActionOPEN.__decription__
+x2go.printactions.X2goPrintActionPRINTCMD.__name__" class="py-name" href="#" onclick="return doclink('link-87', '__name__', 'link-9');">__name__</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'PRINT'</tt> </tt>
+<a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line">    <tt id="link-88" class="py-name"><a title="x2go.dropboxactions.X2goDropboxActionOPEN.__decription__
 x2go.dropboxactions.X2goDropboxActionOPENWITH.__decription__
 x2go.dropboxactions.X2goDropboxActionSAVEAS.__decription__
 x2go.printactions.X2goPrintActionDIALOG.__decription__
 x2go.printactions.X2goPrintActionPDFSAVE.__decription__
 x2go.printactions.X2goPrintActionPDFVIEW.__decription__
 x2go.printactions.X2goPrintActionPRINT.__decription__
-x2go.printactions.X2goPrintActionPRINTCMD.__decription__" class="py-name" href="#" onclick="return doclink('link-77', '__decription__', 'link-27');">__decription__</a></tt><tt class="py-op">=</tt> <tt class="py-string">'UNIX/Win32GDI printing'</tt> </tt>
-<a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line"> </tt>
-<a name="X2goPrintActionPRINT.__init__"></a><div id="X2goPrintActionPRINT.__init__-def"><a name="L263"></a><tt class="py-lineno">263</tt> <a class="py-toggle" href="#" id="X2goPrintActionPRINT.__init__-toggle" onclick="return toggle('X2goPrintActionPRINT.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.printactions.X2goPrintActionPRINT-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">client_instance</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">printer</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">logger</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">loglevel</tt><tt class="py-op">=</tt><tt id="link-78" class="py-name"><a title="x2go.log" class="py-name" href="#" oncl
 ick="ret
 urn doclink('link-78', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt id="link-79" class="py-name"><a title="x2go.log.loglevel_DEFAULT" class="py-name" href="#" onclick="return doclink('link-79', 'loglevel_DEFAULT', 'link-12');">loglevel_DEFAULT</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="X2goPrintActionPRINT.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="X2goPrintActionPRINT.__init__-expanded"><a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line">        <tt class="py-docstring">"""\</tt> </tt>
-<a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line"><tt class="py-docstring">        @param client_instance: the underlying L{X2goClient} instance</tt> </tt>
-<a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line"><tt class="py-docstring">        @type client_instance: C{instance}</tt> </tt>
-<a name="L267"></a><tt class="py-lineno">267</tt>  <tt class="py-line"><tt class="py-docstring">        @param printer: name of the preferred printer, if C{None} the system's/user's default printer will be used</tt> </tt>
-<a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line"><tt class="py-docstring">        @type printer: C{str}</tt> </tt>
-<a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line"><tt class="py-docstring">        @param logger: you can pass an L{X2goLogger} object to the</tt> </tt>
-<a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line"><tt class="py-docstring">            L{X2goPrintActionPRINT} constructor</tt> </tt>
-<a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line"><tt class="py-docstring">        @type logger: C{instance}</tt> </tt>
-<a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line"><tt class="py-docstring">        @param loglevel: if no L{X2goLogger} object has been supplied a new one will be</tt> </tt>
-<a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line"><tt class="py-docstring">            constructed with the given loglevel</tt> </tt>
-<a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line"><tt class="py-docstring">        @type loglevel: C{int}</tt> </tt>
-<a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L276"></a><tt class="py-lineno">276</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
-<a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">printer</tt> <tt class="py-op">=</tt> <tt class="py-name">printer</tt> </tt>
-<a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line">        <tt id="link-80" class="py-name"><a title="x2go.printactions.X2goPrintAction" class="py-name" href="#" onclick="return doclink('link-80', 'X2goPrintAction', 'link-37');">X2goPrintAction</a></tt><tt class="py-op">.</tt><tt id="link-81" class="py-name"><a title="x2go.backends.control._stdout.X2goControlSessionSTDOUT.__init__
+x2go.printactions.X2goPrintActionPRINTCMD.__decription__" class="py-name" href="#" onclick="return doclink('link-88', '__decription__', 'link-27');">__decription__</a></tt><tt class="py-op">=</tt> <tt class="py-string">'UNIX/Win32GDI printing'</tt> </tt>
+<a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line"> </tt>
+<a name="X2goPrintActionPRINT.__init__"></a><div id="X2goPrintActionPRINT.__init__-def"><a name="L272"></a><tt class="py-lineno">272</tt> <a class="py-toggle" href="#" id="X2goPrintActionPRINT.__init__-toggle" onclick="return toggle('X2goPrintActionPRINT.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.printactions.X2goPrintActionPRINT-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">client_instance</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">printer</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">logger</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">loglevel</tt><tt class="py-op">=</tt><tt id="link-89" class="py-name"><a title="x2go.log" class="py-name" href="#" oncl
 ick="ret
 urn doclink('link-89', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt id="link-90" class="py-name"><a title="x2go.log.loglevel_DEFAULT" class="py-name" href="#" onclick="return doclink('link-90', 'loglevel_DEFAULT', 'link-12');">loglevel_DEFAULT</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="X2goPrintActionPRINT.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="X2goPrintActionPRINT.__init__-expanded"><a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line">        <tt class="py-docstring">"""\</tt> </tt>
+<a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line"><tt class="py-docstring">        @param client_instance: the underlying L{X2goClient} instance</tt> </tt>
+<a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line"><tt class="py-docstring">        @type client_instance: C{instance}</tt> </tt>
+<a name="L276"></a><tt class="py-lineno">276</tt>  <tt class="py-line"><tt class="py-docstring">        @param printer: name of the preferred printer, if C{None} the system's/user's default printer will be used</tt> </tt>
+<a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line"><tt class="py-docstring">        @type printer: C{str}</tt> </tt>
+<a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line"><tt class="py-docstring">        @param logger: you can pass an L{X2goLogger} object to the</tt> </tt>
+<a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line"><tt class="py-docstring">            L{X2goPrintActionPRINT} constructor</tt> </tt>
+<a name="L280"></a><tt class="py-lineno">280</tt>  <tt class="py-line"><tt class="py-docstring">        @type logger: C{instance}</tt> </tt>
+<a name="L281"></a><tt class="py-lineno">281</tt>  <tt class="py-line"><tt class="py-docstring">        @param loglevel: if no L{X2goLogger} object has been supplied a new one will be</tt> </tt>
+<a name="L282"></a><tt class="py-lineno">282</tt>  <tt class="py-line"><tt class="py-docstring">            constructed with the given loglevel</tt> </tt>
+<a name="L283"></a><tt class="py-lineno">283</tt>  <tt class="py-line"><tt class="py-docstring">        @type loglevel: C{int}</tt> </tt>
+<a name="L284"></a><tt class="py-lineno">284</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L285"></a><tt class="py-lineno">285</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L286"></a><tt class="py-lineno">286</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">printer</tt> <tt class="py-op">=</tt> <tt class="py-name">printer</tt> </tt>
+<a name="L287"></a><tt class="py-lineno">287</tt>  <tt class="py-line">        <tt id="link-91" class="py-name"><a title="x2go.printactions.X2goPrintAction" class="py-name" href="#" onclick="return doclink('link-91', 'X2goPrintAction', 'link-37');">X2goPrintAction</a></tt><tt class="py-op">.</tt><tt id="link-92" class="py-name"><a title="x2go.backends.control._stdout.X2goControlSessionSTDOUT.__init__
 x2go.backends.info._stdout.X2goServerSessionListSTDOUT.__init__
 x2go.backends.printing._file.X2goClientPrintingFILE.__init__
 x2go.backends.printing._gconf.X2goClientPrintingGCONF.__init__
@@ -611,110 +620,110 @@ x2go.session.X2goSession.__init__
 x2go.sftpserver.X2goRevFwTunnelToSFTP.__init__
 x2go.sshproxy.X2goSSHProxy.__init__
 x2go.xserver.X2goClientXConfig.__init__
-x2go.xserver.X2goXServer.__init__" class="py-name" href="#" onclick="return doclink('link-81', '__init__', 'link-38');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">client_instance</tt><tt class="py-op">=</tt><tt class="py-name">client_instance</tt><tt class="py-op">,</tt> <tt class="py-name">logger</tt><tt class="py-op">=</tt><tt class="py-name">logger</tt><tt class="py-op">,</tt> <tt class="py-name">loglevel</tt><tt class="py-op">=</tt><tt class="py-name">loglevel</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line"> </tt>
-<a name="X2goPrintActionPRINT.do_print"></a><div id="X2goPrintActionPRINT.do_print-def"><a name="L280"></a><tt class="py-lineno">280</tt> <a class="py-toggle" href="#" id="X2goPrintActionPRINT.do_print-toggle" onclick="return toggle('X2goPrintActionPRINT.do_print');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.printactions.X2goPrintActionPRINT-class.html#do_print">do_print</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">pdf_file</tt><tt class="py-op">,</tt> <tt class="py-param">job_title</tt><tt class="py-op">,</tt> <tt class="py-param">spool_dir</tt><tt class="py-op">,</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="X2goPrintActionPRINT.do_print-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="X2goPrintActionPRINT.do_print-expanded"><a name="L281"></a><tt class="py-lineno">281</tt>  <tt class="py-line">        <tt class="py-docstring">"""\</tt> </tt>
-<a name="L282"></a><tt class="py-lineno">282</tt>  <tt class="py-line"><tt class="py-docstring">        Actually really print an incoming X2go print job (PDF file) to a local printer device.</tt> </tt>
-<a name="L283"></a><tt class="py-lineno">283</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L284"></a><tt class="py-lineno">284</tt>  <tt class="py-line"><tt class="py-docstring">        @param pdf_file: PDF file name as placed in to the X2go spool directory</tt> </tt>
-<a name="L285"></a><tt class="py-lineno">285</tt>  <tt class="py-line"><tt class="py-docstring">        @type pdf_file: C{str}</tt> </tt>
-<a name="L286"></a><tt class="py-lineno">286</tt>  <tt class="py-line"><tt class="py-docstring">        @param job_title: human readable print job title</tt> </tt>
-<a name="L287"></a><tt class="py-lineno">287</tt>  <tt class="py-line"><tt class="py-docstring">        @type job_title: C{str}</tt> </tt>
-<a name="L288"></a><tt class="py-lineno">288</tt>  <tt class="py-line"><tt class="py-docstring">        @param spool_dir: location of the X2go client's spool directory</tt> </tt>
-<a name="L289"></a><tt class="py-lineno">289</tt>  <tt class="py-line"><tt class="py-docstring">        @type spool_dir: C{str}</tt> </tt>
-<a name="L290"></a><tt class="py-lineno">290</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L291"></a><tt class="py-lineno">291</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
-<a name="L292"></a><tt class="py-lineno">292</tt>  <tt class="py-line">        <tt class="py-name">_hr_filename</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_humanreadable_filename</tt><tt class="py-op">(</tt><tt class="py-name">pdf_file</tt><tt class="py-op">,</tt> <tt class="py-name">job_title</tt><tt class="py-op">,</tt> <tt class="py-name">spool_dir</tt><tt class="py-op">)</tt> </tt>
-<a name="L293"></a><tt class="py-lineno">293</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">_X2GOCLIENT_OS</tt> <tt class="py-op">==</tt> <tt class="py-string">'Windows'</tt><tt class="py-op">:</tt> </tt>
-<a name="L294"></a><tt class="py-lineno">294</tt>  <tt class="py-line">            <tt class="py-name">_default_printer</tt> <tt class="py-op">=</tt> <tt class="py-name">win32print</tt><tt class="py-op">.</tt><tt class="py-name">GetDefaultPrinter</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L295"></a><tt class="py-lineno">295</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">printer</tt><tt class="py-op">:</tt> </tt>
-<a name="L296"></a><tt class="py-lineno">296</tt>  <tt class="py-line">                <tt class="py-name">_printer</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">printer</tt> </tt>
-<a name="L297"></a><tt class="py-lineno">297</tt>  <tt class="py-line">                <tt class="py-name">win32print</tt><tt class="py-op">.</tt><tt class="py-name">SetDefaultPrinter</tt><tt class="py-op">(</tt><tt class="py-name">_printer</tt><tt class="py-op">)</tt> </tt>
-<a name="L298"></a><tt class="py-lineno">298</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L299"></a><tt class="py-lineno">299</tt>  <tt class="py-line">                <tt class="py-name">_printer</tt> <tt class="py-op">=</tt> <tt class="py-name">_default_printer</tt> </tt>
-<a name="L300"></a><tt class="py-lineno">300</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logger</tt><tt class="py-op">(</tt><tt class="py-string">'printing incoming PDF file %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">pdf_file</tt><tt class="py-op">,</tt> <tt class="py-name">loglevel</tt><tt class="py-op">=</tt><tt id="link-82" class="py-name"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-82', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt id="link-83" class="py-name" targets="Variable x2go.log.loglevel_NOTICE=x2go.log-module.html#loglevel_NOTICE"><a title="x2go.log.loglevel_NOTICE" class="py-name" href="#" onclick="return doclink('link-83', 'loglevel_NOTICE', 'link-83');">loglevel_NOTICE</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L301"></a><tt class="py-lineno">301</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logger</tt><tt class="py-op">(</tt><tt class="py-string">'printer name is ,,%s\'\''</tt> <tt class="py-op">%</tt> <tt class="py-name">_printer</tt><tt class="py-op">,</tt> <tt class="py-name">loglevel</tt><tt class="py-op">=</tt><tt id="link-84" class="py-name"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-84', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt id="link-85" class="py-name"><a title="x2go.log.loglevel_DEBUG" class="py-name" href="#" onclick="return doclink('link-85', 'loglevel_DEBUG', 'link-40');">loglevel_DEBUG</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L302"></a><tt class="py-lineno">302</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L303"></a><tt class="py-lineno">303</tt>  <tt class="py-line">                <tt class="py-name">_stdin</tt> <tt class="py-op">=</tt> <tt class="py-name">file</tt><tt class="py-op">(</tt><tt class="py-string">'nul'</tt><tt class="py-op">,</tt> <tt class="py-string">'r'</tt><tt class="py-op">)</tt> </tt>
-<a name="L304"></a><tt class="py-lineno">304</tt>  <tt class="py-line">                <tt class="py-name">_shell</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L305"></a><tt class="py-lineno">305</tt>  <tt class="py-line">                <tt class="py-name">_program_files</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">environ</tt><tt class="py-op">[</tt><tt class="py-string">'ProgramFiles'</tt><tt class="py-op">]</tt> </tt>
-<a name="L306"></a><tt class="py-lineno">306</tt>  <tt class="py-line">                <tt class="py-name">_gsprint_bin</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">normpath</tt><tt class="py-op">(</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">_program_files</tt><tt class="py-op">,</tt> <tt class="py-string">'ghostgum'</tt><tt class="py-op">,</tt> <tt class="py-string">'gsview'</tt><tt class="py-op">,</tt> <tt class="py-string">'gsprint.exe'</tt><tt class="py-op">,</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L307"></a><tt class="py-lineno">307</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logger</tt><tt class="py-op">(</tt><tt class="py-string">'Trying Ghostgum tool ,,gsprint.exe'</tt><tt class="py-string">' for printing first (full path: %s)'</tt> <tt class="py-op">%</tt> <tt class="py-name">_gsprint_bin</tt><tt class="py-op">,</tt> <tt class="py-name">loglevel</tt><tt class="py-op">=</tt><tt id="link-86" class="py-name"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-86', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt id="link-87" class="py-name"><a title="x2go.log.loglevel_DEBUG" class="py-name" href="#" onclick="return doclink('link-87', 'loglevel_DEBUG', 'link-40');">loglevel_DEBUG</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L308"></a><tt class="py-lineno">308</tt>  <tt class="py-line">                <tt class="py-name">p</tt> <tt class="py-op">=</tt> <tt class="py-name">subprocess</tt><tt class="py-op">.</tt><tt id="link-88" class="py-name"><a title="x2go.gevent_subprocess.Popen" class="py-name" href="#" onclick="return doclink('link-88', 'Popen', 'link-48');">Popen</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">_gsprint_bin</tt><tt class="py-op">,</tt> <tt class="py-name">pdf_file</tt><tt class="py-op">,</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L309"></a><tt class="py-lineno">309</tt>  <tt class="py-line">                                     <tt class="py-name">stdin</tt><tt class="py-op">=</tt><tt class="py-name">_stdin</tt><tt class="py-op">,</tt> </tt>
-<a name="L310"></a><tt class="py-lineno">310</tt>  <tt class="py-line">                                     <tt class="py-name">stdout</tt><tt class="py-op">=</tt><tt class="py-name">subprocess</tt><tt class="py-op">.</tt><tt id="link-89" class="py-name"><a title="x2go.gevent_subprocess.PIPE" class="py-name" href="#" onclick="return doclink('link-89', 'PIPE', 'link-49');">PIPE</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L311"></a><tt class="py-lineno">311</tt>  <tt class="py-line">                                     <tt class="py-name">stderr</tt><tt class="py-op">=</tt><tt class="py-name">subprocess</tt><tt class="py-op">.</tt><tt id="link-90" class="py-name"><a title="x2go.gevent_subprocess.STDOUT" class="py-name" href="#" onclick="return doclink('link-90', 'STDOUT', 'link-50');">STDOUT</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L312"></a><tt class="py-lineno">312</tt>  <tt class="py-line">                                     <tt class="py-name">shell</tt><tt class="py-op">=</tt><tt class="py-name">_shell</tt><tt class="py-op">,</tt> </tt>
-<a name="L313"></a><tt class="py-lineno">313</tt>  <tt class="py-line">                                    <tt class="py-op">)</tt> </tt>
-<a name="L314"></a><tt class="py-lineno">314</tt>  <tt class="py-line">                <tt class="py-comment"># give gsprint.exe a little time to find our printer</tt> </tt>
-<a name="L315"></a><tt class="py-lineno">315</tt>  <tt class="py-line">                <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">10</tt><tt class="py-op">)</tt> </tt>
-<a name="L316"></a><tt class="py-lineno">316</tt>  <tt class="py-line"> </tt>
-<a name="L317"></a><tt class="py-lineno">317</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
-<a name="L318"></a><tt class="py-lineno">318</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logger</tt><tt class="py-op">(</tt><tt class="py-string">'Falling back to win32api printing...'</tt><tt class="py-op">,</tt> <tt class="py-name">loglevel</tt><tt class="py-op">=</tt><tt id="link-91" class="py-name"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-91', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt id="link-92" class="py-name"><a title="x2go.log.loglevel_DEBUG" class="py-name" href="#" onclick="return doclink('link-92', 'loglevel_DEBUG', 'link-40');">loglevel_DEBUG</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L319"></a><tt class="py-lineno">319</tt>  <tt class="py-line">                <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L320"></a><tt class="py-lineno">320</tt>  <tt class="py-line">                    <tt class="py-name">win32api</tt><tt class="py-op">.</tt><tt class="py-name">ShellExecute</tt> <tt class="py-op">(</tt> </tt>
-<a name="L321"></a><tt class="py-lineno">321</tt>  <tt class="py-line">                          <tt class="py-number">0</tt><tt class="py-op">,</tt> </tt>
-<a name="L322"></a><tt class="py-lineno">322</tt>  <tt class="py-line">                          <tt class="py-string">"print"</tt><tt class="py-op">,</tt> </tt>
-<a name="L323"></a><tt class="py-lineno">323</tt>  <tt class="py-line">                          <tt class="py-name">pdf_file</tt><tt class="py-op">,</tt> </tt>
-<a name="L324"></a><tt class="py-lineno">324</tt>  <tt class="py-line">                          <tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L325"></a><tt class="py-lineno">325</tt>  <tt class="py-line">                          <tt class="py-string">"."</tt><tt class="py-op">,</tt> </tt>
-<a name="L326"></a><tt class="py-lineno">326</tt>  <tt class="py-line">                          <tt class="py-number">0</tt> </tt>
-<a name="L327"></a><tt class="py-lineno">327</tt>  <tt class="py-line">                    <tt class="py-op">)</tt> </tt>
-<a name="L328"></a><tt class="py-lineno">328</tt>  <tt class="py-line">                    <tt class="py-comment"># give the win32api some time to find our printer...</tt> </tt>
-<a name="L329"></a><tt class="py-lineno">329</tt>  <tt class="py-line">                    <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">10</tt><tt class="py-op">)</tt> </tt>
-<a name="L330"></a><tt class="py-lineno">330</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt> <tt class="py-name">win32api</tt><tt class="py-op">.</tt><tt class="py-name">error</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
-<a name="L331"></a><tt class="py-lineno">331</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">client_instance</tt><tt class="py-op">:</tt> </tt>
-<a name="L332"></a><tt class="py-lineno">332</tt>  <tt class="py-line">                        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">client_instance</tt><tt class="py-op">.</tt><tt id="link-93" class="py-name"><a title="x2go.client.X2goClient.HOOK_printaction_error" class="py-name" href="#" onclick="return doclink('link-93', 'HOOK_printaction_error', 'link-42');">HOOK_printaction_error</a></tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">=</tt><tt class="py-name">_hr_filename</tt><tt class="py-op">,</tt> <tt class="py-name">printer</tt><tt class="py-op">=</tt><tt class="py-name">_printer</tt><tt class="py-op">,</tt> <tt class="py-name">err_msg</tt><tt class="py-op">=</tt><tt class="py-name">e</tt><tt class="py-op">.</tt><tt id="link-94" class="py-name" targets="Method x2go.log.X2goLogger.message()=x2go.log.X2goLogger-class.html#message"><a title="x2go.log.X2goLogger.message" class="py-name" href="#" onclick="re
 turn doc
 link('link-94', 'message', 'link-94');">message</a></tt><tt class="py-op">,</tt> <tt class="py-name">profile_name</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">profile_name</tt><tt class="py-op">,</tt> <tt class="py-name">session_name</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">session_name</tt><tt class="py-op">)</tt> </tt>
-<a name="L333"></a><tt class="py-lineno">333</tt>  <tt class="py-line">                    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L334"></a><tt class="py-lineno">334</tt>  <tt class="py-line">                        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logger</tt><tt class="py-op">(</tt><tt class="py-string">'Encountered win32api.error: %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">loglevel</tt><tt class="py-op">=</tt><tt id="link-95" class="py-name"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-95', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt id="link-96" class="py-name"><a title="x2go.log.loglevel_ERROR" class="py-name" href="#" onclick="return doclink('link-96', 'loglevel_ERROR', 'link-44');">loglevel_ERROR</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L335"></a><tt class="py-lineno">335</tt>  <tt class="py-line"> </tt>
-<a name="L336"></a><tt class="py-lineno">336</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">printer</tt><tt class="py-op">:</tt> </tt>
-<a name="L337"></a><tt class="py-lineno">337</tt>  <tt class="py-line">                <tt class="py-name">win32print</tt><tt class="py-op">.</tt><tt class="py-name">SetDefaultPrinter</tt><tt class="py-op">(</tt><tt class="py-name">_default_printer</tt><tt class="py-op">)</tt> </tt>
-<a name="L338"></a><tt class="py-lineno">338</tt>  <tt class="py-line">            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">60</tt><tt class="py-op">)</tt> </tt>
-<a name="L339"></a><tt class="py-lineno">339</tt>  <tt class="py-line"> </tt>
-<a name="L340"></a><tt class="py-lineno">340</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L341"></a><tt class="py-lineno">341</tt>  <tt class="py-line">            <tt class="py-name">_hr_filename</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_humanreadable_filename</tt><tt class="py-op">(</tt><tt class="py-name">pdf_file</tt><tt class="py-op">,</tt> <tt class="py-name">job_title</tt><tt class="py-op">,</tt> <tt class="py-name">spool_dir</tt><tt class="py-op">)</tt> </tt>
-<a name="L342"></a><tt class="py-lineno">342</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logger</tt><tt class="py-op">(</tt><tt class="py-string">'printing incoming PDF file %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">_hr_filename</tt><tt class="py-op">,</tt> <tt class="py-name">loglevel</tt><tt class="py-op">=</tt><tt id="link-97" class="py-name"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-97', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt id="link-98" class="py-name"><a title="x2go.log.loglevel_NOTICE" class="py-name" href="#" onclick="return doclink('link-98', 'loglevel_NOTICE', 'link-83');">loglevel_NOTICE</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L343"></a><tt class="py-lineno">343</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">printer</tt><tt class="py-op">:</tt> </tt>
-<a name="L344"></a><tt class="py-lineno">344</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logger</tt><tt class="py-op">(</tt><tt class="py-string">'printer name is %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">printer</tt><tt class="py-op">,</tt> <tt class="py-name">loglevel</tt><tt class="py-op">=</tt><tt id="link-99" class="py-name"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-99', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt id="link-100" class="py-name"><a title="x2go.log.loglevel_DEBUG" class="py-name" href="#" onclick="return doclink('link-100', 'loglevel_DEBUG', 'link-40');">loglevel_DEBUG</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L345"></a><tt class="py-lineno">345</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L346"></a><tt class="py-lineno">346</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logger</tt><tt class="py-op">(</tt><tt class="py-string">'using default CUPS printer'</tt><tt class="py-op">,</tt> <tt class="py-name">loglevel</tt><tt class="py-op">=</tt><tt id="link-101" class="py-name"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-101', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt id="link-102" class="py-name"><a title="x2go.log.loglevel_DEBUG" class="py-name" href="#" onclick="return doclink('link-102', 'loglevel_DEBUG', 'link-40');">loglevel_DEBUG</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L347"></a><tt class="py-lineno">347</tt>  <tt class="py-line">            <tt class="py-name">shutil</tt><tt class="py-op">.</tt><tt class="py-name">copy2</tt><tt class="py-op">(</tt><tt class="py-name">pdf_file</tt><tt class="py-op">,</tt> <tt class="py-name">_hr_filename</tt><tt class="py-op">)</tt> </tt>
-<a name="L348"></a><tt class="py-lineno">348</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">printer</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L349"></a><tt class="py-lineno">349</tt>  <tt class="py-line">                <tt class="py-name">cmd_line</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-string">'lpr'</tt><tt class="py-op">,</tt> </tt>
-<a name="L350"></a><tt class="py-lineno">350</tt>  <tt class="py-line">                             <tt class="py-string">'-h'</tt><tt class="py-op">,</tt> </tt>
-<a name="L351"></a><tt class="py-lineno">351</tt>  <tt class="py-line">                             <tt class="py-string">'-r'</tt><tt class="py-op">,</tt> </tt>
-<a name="L352"></a><tt class="py-lineno">352</tt>  <tt class="py-line">                             <tt class="py-string">'-J%s'</tt> <tt class="py-op">%</tt> <tt class="py-name">job_title</tt><tt class="py-op">,</tt>  </tt>
-<a name="L353"></a><tt class="py-lineno">353</tt>  <tt class="py-line">                             <tt class="py-string">'%s'</tt> <tt class="py-op">%</tt> <tt class="py-name">_hr_filename</tt><tt class="py-op">,</tt> </tt>
-<a name="L354"></a><tt class="py-lineno">354</tt>  <tt class="py-line">                           <tt class="py-op">]</tt> </tt>
-<a name="L355"></a><tt class="py-lineno">355</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L356"></a><tt class="py-lineno">356</tt>  <tt class="py-line">                <tt class="py-name">cmd_line</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-string">'lpr'</tt><tt class="py-op">,</tt> </tt>
-<a name="L357"></a><tt class="py-lineno">357</tt>  <tt class="py-line">                             <tt class="py-string">'-h'</tt><tt class="py-op">,</tt> </tt>
-<a name="L358"></a><tt class="py-lineno">358</tt>  <tt class="py-line">                             <tt class="py-string">'-r'</tt><tt class="py-op">,</tt> </tt>
-<a name="L359"></a><tt class="py-lineno">359</tt>  <tt class="py-line">                             <tt class="py-string">'-P%s'</tt> <tt class="py-op">%</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">printer</tt><tt class="py-op">,</tt> </tt>
-<a name="L360"></a><tt class="py-lineno">360</tt>  <tt class="py-line">                             <tt class="py-string">'-J%s'</tt> <tt class="py-op">%</tt> <tt class="py-name">job_title</tt><tt class="py-op">,</tt>  </tt>
-<a name="L361"></a><tt class="py-lineno">361</tt>  <tt class="py-line">                             <tt class="py-string">'%s'</tt> <tt class="py-op">%</tt> <tt class="py-name">_hr_filename</tt><tt class="py-op">,</tt> </tt>
-<a name="L362"></a><tt class="py-lineno">362</tt>  <tt class="py-line">                           <tt class="py-op">]</tt> </tt>
-<a name="L363"></a><tt class="py-lineno">363</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logger</tt><tt class="py-op">(</tt><tt class="py-string">'executing local print command: %s'</tt> <tt class="py-op">%</tt> <tt class="py-string">" "</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">cmd_line</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">loglevel</tt><tt class="py-op">=</tt><tt id="link-103" class="py-name"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-103', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt id="link-104" class="py-name"><a title="x2go.log.loglevel_DEBUG" class="py-name" href="#" onclick="return doclink('link-104', 'loglevel_DEBUG', 'link-40');">loglevel_DEBUG</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L364"></a><tt class="py-lineno">364</tt>  <tt class="py-line">            <tt class="py-name">p</tt> <tt class="py-op">=</tt> <tt class="py-name">subprocess</tt><tt class="py-op">.</tt><tt id="link-105" class="py-name"><a title="x2go.gevent_subprocess.Popen" class="py-name" href="#" onclick="return doclink('link-105', 'Popen', 'link-48');">Popen</a></tt><tt class="py-op">(</tt><tt class="py-name">cmd_line</tt><tt class="py-op">,</tt> <tt class="py-name">stdout</tt><tt class="py-op">=</tt><tt class="py-name">subprocess</tt><tt class="py-op">.</tt><tt id="link-106" class="py-name"><a title="x2go.gevent_subprocess.PIPE" class="py-name" href="#" onclick="return doclink('link-106', 'PIPE', 'link-49');">PIPE</a></tt><tt class="py-op">,</tt> <tt class="py-name">stderr</tt><tt class="py-op">=</tt><tt class="py-name">subprocess</tt><tt class="py-op">.</tt><tt id="link-107" class="py-name"><a title="x2go.gevent_subprocess.STDOUT" class="py-name" href="#" onclick="return docli
 nk('link
 -107', 'STDOUT', 'link-50');">STDOUT</a></tt><tt class="py-op">,</tt> <tt class="py-name">env</tt><tt class="py-op">=</tt><tt id="link-108" class="py-name"><a title="x2go.printactions._PRINT_ENV" class="py-name" href="#" onclick="return doclink('link-108', '_PRINT_ENV', 'link-8');">_PRINT_ENV</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L365"></a><tt class="py-lineno">365</tt>  <tt class="py-line"> </tt>
-<a name="L366"></a><tt class="py-lineno">366</tt>  <tt class="py-line">            <tt class="py-comment"># this is nasty!!!!</tt> </tt>
-<a name="L367"></a><tt class="py-lineno">367</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logger</tt><tt class="py-op">(</tt><tt class="py-string">'waiting 20s longer before deleting the PDF file ,,%s\'\''</tt> <tt class="py-op">%</tt> <tt class="py-name">_hr_filename</tt><tt class="py-op">,</tt> <tt class="py-name">loglevel</tt><tt class="py-op">=</tt><tt id="link-109" class="py-name"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-109', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt id="link-110" class="py-name"><a title="x2go.log.loglevel_DEBUG" class="py-name" href="#" onclick="return doclink('link-110', 'loglevel_DEBUG', 'link-40');">loglevel_DEBUG</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L368"></a><tt class="py-lineno">368</tt>  <tt class="py-line">            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">20</tt><tt class="py-op">)</tt> </tt>
-<a name="L369"></a><tt class="py-lineno">369</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt class="py-name">_hr_filename</tt><tt class="py-op">)</tt> </tt>
-<a name="L370"></a><tt class="py-lineno">370</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">OSError</tt><tt class="py-op">:</tt> <tt class="py-keyword">pass</tt> </tt>
-</div></div><a name="L371"></a><tt class="py-lineno">371</tt>  <tt class="py-line"> </tt>
-<a name="X2goPrintActionPRINTCMD"></a><div id="X2goPrintActionPRINTCMD-def"><a name="L372"></a><tt class="py-lineno">372</tt>  <tt class="py-line"> </tt>
-<a name="L373"></a><tt class="py-lineno">373</tt> <a class="py-toggle" href="#" id="X2goPrintActionPRINTCMD-toggle" onclick="return toggle('X2goPrintActionPRINTCMD');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="x2go.printactions.X2goPrintActionPRINTCMD-class.html">X2goPrintActionPRINTCMD</a><tt class="py-op">(</tt><tt class="py-base-class">X2goPrintAction</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="X2goPrintActionPRINTCMD-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="X2goPrintActionPRINTCMD-expanded"><a name="L374"></a><tt class="py-lineno">374</tt>  <tt class="py-line">    <tt class="py-docstring">"""\</tt> </tt>
-<a name="L375"></a><tt class="py-lineno">375</tt>  <tt class="py-line"><tt class="py-docstring">    Print action that calls an external command for further processing of incoming print jobs.</tt> </tt>
-<a name="L376"></a><tt class="py-lineno">376</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L377"></a><tt class="py-lineno">377</tt>  <tt class="py-line"><tt class="py-docstring">    The print job's PDF filename will be prepended as last argument to the print command</tt> </tt>
-<a name="L378"></a><tt class="py-lineno">378</tt>  <tt class="py-line"><tt class="py-docstring">    used in L{X2goPrintActionPRINTCMD} instances.</tt> </tt>
-<a name="L379"></a><tt class="py-lineno">379</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L380"></a><tt class="py-lineno">380</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L381"></a><tt class="py-lineno">381</tt>  <tt class="py-line">    <tt id="link-111" class="py-name"><a title="x2go.dropboxactions.X2goDropboxAction.__name__
+x2go.xserver.X2goXServer.__init__" class="py-name" href="#" onclick="return doclink('link-92', '__init__', 'link-38');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">client_instance</tt><tt class="py-op">=</tt><tt class="py-name">client_instance</tt><tt class="py-op">,</tt> <tt class="py-name">logger</tt><tt class="py-op">=</tt><tt class="py-name">logger</tt><tt class="py-op">,</tt> <tt class="py-name">loglevel</tt><tt class="py-op">=</tt><tt class="py-name">loglevel</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L288"></a><tt class="py-lineno">288</tt>  <tt class="py-line"> </tt>
+<a name="X2goPrintActionPRINT.do_print"></a><div id="X2goPrintActionPRINT.do_print-def"><a name="L289"></a><tt class="py-lineno">289</tt> <a class="py-toggle" href="#" id="X2goPrintActionPRINT.do_print-toggle" onclick="return toggle('X2goPrintActionPRINT.do_print');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.printactions.X2goPrintActionPRINT-class.html#do_print">do_print</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">pdf_file</tt><tt class="py-op">,</tt> <tt class="py-param">job_title</tt><tt class="py-op">,</tt> <tt class="py-param">spool_dir</tt><tt class="py-op">,</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="X2goPrintActionPRINT.do_print-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="X2goPrintActionPRINT.do_print-expanded"><a name="L290"></a><tt class="py-lineno">290</tt>  <tt class="py-line">        <tt class="py-docstring">"""\</tt> </tt>
+<a name="L291"></a><tt class="py-lineno">291</tt>  <tt class="py-line"><tt class="py-docstring">        Actually really print an incoming X2go print job (PDF file) to a local printer device.</tt> </tt>
+<a name="L292"></a><tt class="py-lineno">292</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L293"></a><tt class="py-lineno">293</tt>  <tt class="py-line"><tt class="py-docstring">        @param pdf_file: PDF file name as placed in to the X2go spool directory</tt> </tt>
+<a name="L294"></a><tt class="py-lineno">294</tt>  <tt class="py-line"><tt class="py-docstring">        @type pdf_file: C{str}</tt> </tt>
+<a name="L295"></a><tt class="py-lineno">295</tt>  <tt class="py-line"><tt class="py-docstring">        @param job_title: human readable print job title</tt> </tt>
+<a name="L296"></a><tt class="py-lineno">296</tt>  <tt class="py-line"><tt class="py-docstring">        @type job_title: C{str}</tt> </tt>
+<a name="L297"></a><tt class="py-lineno">297</tt>  <tt class="py-line"><tt class="py-docstring">        @param spool_dir: location of the X2go client's spool directory</tt> </tt>
+<a name="L298"></a><tt class="py-lineno">298</tt>  <tt class="py-line"><tt class="py-docstring">        @type spool_dir: C{str}</tt> </tt>
+<a name="L299"></a><tt class="py-lineno">299</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L300"></a><tt class="py-lineno">300</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L301"></a><tt class="py-lineno">301</tt>  <tt class="py-line">        <tt class="py-name">_hr_filename</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_humanreadable_filename</tt><tt class="py-op">(</tt><tt class="py-name">pdf_file</tt><tt class="py-op">,</tt> <tt class="py-name">job_title</tt><tt class="py-op">,</tt> <tt class="py-name">spool_dir</tt><tt class="py-op">)</tt> </tt>
+<a name="L302"></a><tt class="py-lineno">302</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">_X2GOCLIENT_OS</tt> <tt class="py-op">==</tt> <tt class="py-string">'Windows'</tt><tt class="py-op">:</tt> </tt>
+<a name="L303"></a><tt class="py-lineno">303</tt>  <tt class="py-line">            <tt class="py-name">_default_printer</tt> <tt class="py-op">=</tt> <tt class="py-name">win32print</tt><tt class="py-op">.</tt><tt class="py-name">GetDefaultPrinter</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L304"></a><tt class="py-lineno">304</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">printer</tt><tt class="py-op">:</tt> </tt>
+<a name="L305"></a><tt class="py-lineno">305</tt>  <tt class="py-line">                <tt class="py-name">_printer</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">printer</tt> </tt>
+<a name="L306"></a><tt class="py-lineno">306</tt>  <tt class="py-line">                <tt class="py-name">win32print</tt><tt class="py-op">.</tt><tt class="py-name">SetDefaultPrinter</tt><tt class="py-op">(</tt><tt class="py-name">_printer</tt><tt class="py-op">)</tt> </tt>
+<a name="L307"></a><tt class="py-lineno">307</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L308"></a><tt class="py-lineno">308</tt>  <tt class="py-line">                <tt class="py-name">_printer</tt> <tt class="py-op">=</tt> <tt class="py-name">_default_printer</tt> </tt>
+<a name="L309"></a><tt class="py-lineno">309</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logger</tt><tt class="py-op">(</tt><tt class="py-string">'printing incoming PDF file %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">pdf_file</tt><tt class="py-op">,</tt> <tt class="py-name">loglevel</tt><tt class="py-op">=</tt><tt id="link-93" class="py-name"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-93', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt id="link-94" class="py-name" targets="Variable x2go.log.loglevel_NOTICE=x2go.log-module.html#loglevel_NOTICE"><a title="x2go.log.loglevel_NOTICE" class="py-name" href="#" onclick="return doclink('link-94', 'loglevel_NOTICE', 'link-94');">loglevel_NOTICE</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L310"></a><tt class="py-lineno">310</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logger</tt><tt class="py-op">(</tt><tt class="py-string">'printer name is ,,%s\'\''</tt> <tt class="py-op">%</tt> <tt class="py-name">_printer</tt><tt class="py-op">,</tt> <tt class="py-name">loglevel</tt><tt class="py-op">=</tt><tt id="link-95" class="py-name"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-95', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt id="link-96" class="py-name"><a title="x2go.log.loglevel_DEBUG" class="py-name" href="#" onclick="return doclink('link-96', 'loglevel_DEBUG', 'link-40');">loglevel_DEBUG</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L311"></a><tt class="py-lineno">311</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L312"></a><tt class="py-lineno">312</tt>  <tt class="py-line">                <tt class="py-name">_stdin</tt> <tt class="py-op">=</tt> <tt class="py-name">file</tt><tt class="py-op">(</tt><tt class="py-string">'nul'</tt><tt class="py-op">,</tt> <tt class="py-string">'r'</tt><tt class="py-op">)</tt> </tt>
+<a name="L313"></a><tt class="py-lineno">313</tt>  <tt class="py-line">                <tt class="py-name">_shell</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L314"></a><tt class="py-lineno">314</tt>  <tt class="py-line">                <tt class="py-name">_program_files</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">environ</tt><tt class="py-op">[</tt><tt class="py-string">'ProgramFiles'</tt><tt class="py-op">]</tt> </tt>
+<a name="L315"></a><tt class="py-lineno">315</tt>  <tt class="py-line">                <tt class="py-name">_gsprint_bin</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">normpath</tt><tt class="py-op">(</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">_program_files</tt><tt class="py-op">,</tt> <tt class="py-string">'ghostgum'</tt><tt class="py-op">,</tt> <tt class="py-string">'gsview'</tt><tt class="py-op">,</tt> <tt class="py-string">'gsprint.exe'</tt><tt class="py-op">,</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L316"></a><tt class="py-lineno">316</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logger</tt><tt class="py-op">(</tt><tt class="py-string">'Trying Ghostgum tool ,,gsprint.exe'</tt><tt class="py-string">' for printing first (full path: %s)'</tt> <tt class="py-op">%</tt> <tt class="py-name">_gsprint_bin</tt><tt class="py-op">,</tt> <tt class="py-name">loglevel</tt><tt class="py-op">=</tt><tt id="link-97" class="py-name"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-97', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt id="link-98" class="py-name"><a title="x2go.log.loglevel_DEBUG" class="py-name" href="#" onclick="return doclink('link-98', 'loglevel_DEBUG', 'link-40');">loglevel_DEBUG</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L317"></a><tt class="py-lineno">317</tt>  <tt class="py-line">                <tt class="py-name">p</tt> <tt class="py-op">=</tt> <tt class="py-name">subprocess</tt><tt class="py-op">.</tt><tt id="link-99" class="py-name"><a title="x2go.gevent_subprocess.Popen" class="py-name" href="#" onclick="return doclink('link-99', 'Popen', 'link-48');">Popen</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">_gsprint_bin</tt><tt class="py-op">,</tt> <tt class="py-name">pdf_file</tt><tt class="py-op">,</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L318"></a><tt class="py-lineno">318</tt>  <tt class="py-line">                                     <tt class="py-name">stdin</tt><tt class="py-op">=</tt><tt class="py-name">_stdin</tt><tt class="py-op">,</tt> </tt>
+<a name="L319"></a><tt class="py-lineno">319</tt>  <tt class="py-line">                                     <tt class="py-name">stdout</tt><tt class="py-op">=</tt><tt class="py-name">subprocess</tt><tt class="py-op">.</tt><tt id="link-100" class="py-name"><a title="x2go.gevent_subprocess.PIPE" class="py-name" href="#" onclick="return doclink('link-100', 'PIPE', 'link-49');">PIPE</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L320"></a><tt class="py-lineno">320</tt>  <tt class="py-line">                                     <tt class="py-name">stderr</tt><tt class="py-op">=</tt><tt class="py-name">subprocess</tt><tt class="py-op">.</tt><tt id="link-101" class="py-name"><a title="x2go.gevent_subprocess.STDOUT" class="py-name" href="#" onclick="return doclink('link-101', 'STDOUT', 'link-50');">STDOUT</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L321"></a><tt class="py-lineno">321</tt>  <tt class="py-line">                                     <tt class="py-name">shell</tt><tt class="py-op">=</tt><tt class="py-name">_shell</tt><tt class="py-op">,</tt> </tt>
+<a name="L322"></a><tt class="py-lineno">322</tt>  <tt class="py-line">                                    <tt class="py-op">)</tt> </tt>
+<a name="L323"></a><tt class="py-lineno">323</tt>  <tt class="py-line">                <tt class="py-comment"># give gsprint.exe a little time to find our printer</tt> </tt>
+<a name="L324"></a><tt class="py-lineno">324</tt>  <tt class="py-line">                <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">10</tt><tt class="py-op">)</tt> </tt>
+<a name="L325"></a><tt class="py-lineno">325</tt>  <tt class="py-line"> </tt>
+<a name="L326"></a><tt class="py-lineno">326</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L327"></a><tt class="py-lineno">327</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logger</tt><tt class="py-op">(</tt><tt class="py-string">'Falling back to win32api printing...'</tt><tt class="py-op">,</tt> <tt class="py-name">loglevel</tt><tt class="py-op">=</tt><tt id="link-102" class="py-name"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-102', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt id="link-103" class="py-name"><a title="x2go.log.loglevel_DEBUG" class="py-name" href="#" onclick="return doclink('link-103', 'loglevel_DEBUG', 'link-40');">loglevel_DEBUG</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L328"></a><tt class="py-lineno">328</tt>  <tt class="py-line">                <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L329"></a><tt class="py-lineno">329</tt>  <tt class="py-line">                    <tt class="py-name">win32api</tt><tt class="py-op">.</tt><tt class="py-name">ShellExecute</tt> <tt class="py-op">(</tt> </tt>
+<a name="L330"></a><tt class="py-lineno">330</tt>  <tt class="py-line">                          <tt class="py-number">0</tt><tt class="py-op">,</tt> </tt>
+<a name="L331"></a><tt class="py-lineno">331</tt>  <tt class="py-line">                          <tt class="py-string">"print"</tt><tt class="py-op">,</tt> </tt>
+<a name="L332"></a><tt class="py-lineno">332</tt>  <tt class="py-line">                          <tt class="py-name">pdf_file</tt><tt class="py-op">,</tt> </tt>
+<a name="L333"></a><tt class="py-lineno">333</tt>  <tt class="py-line">                          <tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L334"></a><tt class="py-lineno">334</tt>  <tt class="py-line">                          <tt class="py-string">"."</tt><tt class="py-op">,</tt> </tt>
+<a name="L335"></a><tt class="py-lineno">335</tt>  <tt class="py-line">                          <tt class="py-number">0</tt> </tt>
+<a name="L336"></a><tt class="py-lineno">336</tt>  <tt class="py-line">                    <tt class="py-op">)</tt> </tt>
+<a name="L337"></a><tt class="py-lineno">337</tt>  <tt class="py-line">                    <tt class="py-comment"># give the win32api some time to find our printer...</tt> </tt>
+<a name="L338"></a><tt class="py-lineno">338</tt>  <tt class="py-line">                    <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">10</tt><tt class="py-op">)</tt> </tt>
+<a name="L339"></a><tt class="py-lineno">339</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt> <tt class="py-name">win32api</tt><tt class="py-op">.</tt><tt class="py-name">error</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L340"></a><tt class="py-lineno">340</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">client_instance</tt><tt class="py-op">:</tt> </tt>
+<a name="L341"></a><tt class="py-lineno">341</tt>  <tt class="py-line">                        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">client_instance</tt><tt class="py-op">.</tt><tt id="link-104" class="py-name"><a title="x2go.client.X2goClient.HOOK_printaction_error" class="py-name" href="#" onclick="return doclink('link-104', 'HOOK_printaction_error', 'link-42');">HOOK_printaction_error</a></tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">=</tt><tt class="py-name">_hr_filename</tt><tt class="py-op">,</tt> <tt class="py-name">printer</tt><tt class="py-op">=</tt><tt class="py-name">_printer</tt><tt class="py-op">,</tt> <tt class="py-name">err_msg</tt><tt class="py-op">=</tt><tt class="py-name">e</tt><tt class="py-op">.</tt><tt id="link-105" class="py-name" targets="Method x2go.log.X2goLogger.message()=x2go.log.X2goLogger-class.html#message"><a title="x2go.log.X2goLogger.message" class="py-name" href="#" onclick=
 "return 
 doclink('link-105', 'message', 'link-105');">message</a></tt><tt class="py-op">,</tt> <tt class="py-name">profile_name</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">profile_name</tt><tt class="py-op">,</tt> <tt class="py-name">session_name</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">session_name</tt><tt class="py-op">)</tt> </tt>
+<a name="L342"></a><tt class="py-lineno">342</tt>  <tt class="py-line">                    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L343"></a><tt class="py-lineno">343</tt>  <tt class="py-line">                        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logger</tt><tt class="py-op">(</tt><tt class="py-string">'Encountered win32api.error: %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">loglevel</tt><tt class="py-op">=</tt><tt id="link-106" class="py-name"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-106', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt id="link-107" class="py-name"><a title="x2go.log.loglevel_ERROR" class="py-name" href="#" onclick="return doclink('link-107', 'loglevel_ERROR', 'link-44');">loglevel_ERROR</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L344"></a><tt class="py-lineno">344</tt>  <tt class="py-line"> </tt>
+<a name="L345"></a><tt class="py-lineno">345</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">printer</tt><tt class="py-op">:</tt> </tt>
+<a name="L346"></a><tt class="py-lineno">346</tt>  <tt class="py-line">                <tt class="py-name">win32print</tt><tt class="py-op">.</tt><tt class="py-name">SetDefaultPrinter</tt><tt class="py-op">(</tt><tt class="py-name">_default_printer</tt><tt class="py-op">)</tt> </tt>
+<a name="L347"></a><tt class="py-lineno">347</tt>  <tt class="py-line">            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">60</tt><tt class="py-op">)</tt> </tt>
+<a name="L348"></a><tt class="py-lineno">348</tt>  <tt class="py-line"> </tt>
+<a name="L349"></a><tt class="py-lineno">349</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L350"></a><tt class="py-lineno">350</tt>  <tt class="py-line">            <tt class="py-name">_hr_filename</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_humanreadable_filename</tt><tt class="py-op">(</tt><tt class="py-name">pdf_file</tt><tt class="py-op">,</tt> <tt class="py-name">job_title</tt><tt class="py-op">,</tt> <tt class="py-name">spool_dir</tt><tt class="py-op">)</tt> </tt>
+<a name="L351"></a><tt class="py-lineno">351</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logger</tt><tt class="py-op">(</tt><tt class="py-string">'printing incoming PDF file %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">_hr_filename</tt><tt class="py-op">,</tt> <tt class="py-name">loglevel</tt><tt class="py-op">=</tt><tt id="link-108" class="py-name"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-108', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt id="link-109" class="py-name"><a title="x2go.log.loglevel_NOTICE" class="py-name" href="#" onclick="return doclink('link-109', 'loglevel_NOTICE', 'link-94');">loglevel_NOTICE</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L352"></a><tt class="py-lineno">352</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">printer</tt><tt class="py-op">:</tt> </tt>
+<a name="L353"></a><tt class="py-lineno">353</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logger</tt><tt class="py-op">(</tt><tt class="py-string">'printer name is %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">printer</tt><tt class="py-op">,</tt> <tt class="py-name">loglevel</tt><tt class="py-op">=</tt><tt id="link-110" class="py-name"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-110', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt id="link-111" class="py-name"><a title="x2go.log.loglevel_DEBUG" class="py-name" href="#" onclick="return doclink('link-111', 'loglevel_DEBUG', 'link-40');">loglevel_DEBUG</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L354"></a><tt class="py-lineno">354</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L355"></a><tt class="py-lineno">355</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logger</tt><tt class="py-op">(</tt><tt class="py-string">'using default CUPS printer'</tt><tt class="py-op">,</tt> <tt class="py-name">loglevel</tt><tt class="py-op">=</tt><tt id="link-112" class="py-name"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-112', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt id="link-113" class="py-name"><a title="x2go.log.loglevel_DEBUG" class="py-name" href="#" onclick="return doclink('link-113', 'loglevel_DEBUG', 'link-40');">loglevel_DEBUG</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L356"></a><tt class="py-lineno">356</tt>  <tt class="py-line">            <tt class="py-name">shutil</tt><tt class="py-op">.</tt><tt class="py-name">copy2</tt><tt class="py-op">(</tt><tt class="py-name">pdf_file</tt><tt class="py-op">,</tt> <tt class="py-name">_hr_filename</tt><tt class="py-op">)</tt> </tt>
+<a name="L357"></a><tt class="py-lineno">357</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">printer</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L358"></a><tt class="py-lineno">358</tt>  <tt class="py-line">                <tt class="py-name">cmd_line</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-string">'lpr'</tt><tt class="py-op">,</tt> </tt>
+<a name="L359"></a><tt class="py-lineno">359</tt>  <tt class="py-line">                             <tt class="py-string">'-h'</tt><tt class="py-op">,</tt> </tt>
+<a name="L360"></a><tt class="py-lineno">360</tt>  <tt class="py-line">                             <tt class="py-string">'-r'</tt><tt class="py-op">,</tt> </tt>
+<a name="L361"></a><tt class="py-lineno">361</tt>  <tt class="py-line">                             <tt class="py-string">'-J%s'</tt> <tt class="py-op">%</tt> <tt class="py-name">job_title</tt><tt class="py-op">,</tt>  </tt>
+<a name="L362"></a><tt class="py-lineno">362</tt>  <tt class="py-line">                             <tt class="py-string">'%s'</tt> <tt class="py-op">%</tt> <tt class="py-name">_hr_filename</tt><tt class="py-op">,</tt> </tt>
+<a name="L363"></a><tt class="py-lineno">363</tt>  <tt class="py-line">                           <tt class="py-op">]</tt> </tt>
+<a name="L364"></a><tt class="py-lineno">364</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L365"></a><tt class="py-lineno">365</tt>  <tt class="py-line">                <tt class="py-name">cmd_line</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-string">'lpr'</tt><tt class="py-op">,</tt> </tt>
+<a name="L366"></a><tt class="py-lineno">366</tt>  <tt class="py-line">                             <tt class="py-string">'-h'</tt><tt class="py-op">,</tt> </tt>
+<a name="L367"></a><tt class="py-lineno">367</tt>  <tt class="py-line">                             <tt class="py-string">'-r'</tt><tt class="py-op">,</tt> </tt>
+<a name="L368"></a><tt class="py-lineno">368</tt>  <tt class="py-line">                             <tt class="py-string">'-P%s'</tt> <tt class="py-op">%</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">printer</tt><tt class="py-op">,</tt> </tt>
+<a name="L369"></a><tt class="py-lineno">369</tt>  <tt class="py-line">                             <tt class="py-string">'-J%s'</tt> <tt class="py-op">%</tt> <tt class="py-name">job_title</tt><tt class="py-op">,</tt>  </tt>
+<a name="L370"></a><tt class="py-lineno">370</tt>  <tt class="py-line">                             <tt class="py-string">'%s'</tt> <tt class="py-op">%</tt> <tt class="py-name">_hr_filename</tt><tt class="py-op">,</tt> </tt>
+<a name="L371"></a><tt class="py-lineno">371</tt>  <tt class="py-line">                           <tt class="py-op">]</tt> </tt>
+<a name="L372"></a><tt class="py-lineno">372</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logger</tt><tt class="py-op">(</tt><tt class="py-string">'executing local print command: %s'</tt> <tt class="py-op">%</tt> <tt class="py-string">" "</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">cmd_line</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">loglevel</tt><tt class="py-op">=</tt><tt id="link-114" class="py-name"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-114', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt id="link-115" class="py-name"><a title="x2go.log.loglevel_DEBUG" class="py-name" href="#" onclick="return doclink('link-115', 'loglevel_DEBUG', 'link-40');">loglevel_DEBUG</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L373"></a><tt class="py-lineno">373</tt>  <tt class="py-line">            <tt class="py-name">p</tt> <tt class="py-op">=</tt> <tt class="py-name">subprocess</tt><tt class="py-op">.</tt><tt id="link-116" class="py-name"><a title="x2go.gevent_subprocess.Popen" class="py-name" href="#" onclick="return doclink('link-116', 'Popen', 'link-48');">Popen</a></tt><tt class="py-op">(</tt><tt class="py-name">cmd_line</tt><tt class="py-op">,</tt> <tt class="py-name">stdout</tt><tt class="py-op">=</tt><tt class="py-name">subprocess</tt><tt class="py-op">.</tt><tt id="link-117" class="py-name"><a title="x2go.gevent_subprocess.PIPE" class="py-name" href="#" onclick="return doclink('link-117', 'PIPE', 'link-49');">PIPE</a></tt><tt class="py-op">,</tt> <tt class="py-name">stderr</tt><tt class="py-op">=</tt><tt class="py-name">subprocess</tt><tt class="py-op">.</tt><tt id="link-118" class="py-name"><a title="x2go.gevent_subprocess.STDOUT" class="py-name" href="#" onclick="return docli
 nk('link
 -118', 'STDOUT', 'link-50');">STDOUT</a></tt><tt class="py-op">,</tt> <tt class="py-name">env</tt><tt class="py-op">=</tt><tt id="link-119" class="py-name"><a title="x2go.printactions._PRINT_ENV" class="py-name" href="#" onclick="return doclink('link-119', '_PRINT_ENV', 'link-8');">_PRINT_ENV</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L374"></a><tt class="py-lineno">374</tt>  <tt class="py-line"> </tt>
+<a name="L375"></a><tt class="py-lineno">375</tt>  <tt class="py-line">            <tt class="py-comment"># this is nasty!!!!</tt> </tt>
+<a name="L376"></a><tt class="py-lineno">376</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logger</tt><tt class="py-op">(</tt><tt class="py-string">'waiting 20s longer before deleting the PDF file ,,%s\'\''</tt> <tt class="py-op">%</tt> <tt class="py-name">_hr_filename</tt><tt class="py-op">,</tt> <tt class="py-name">loglevel</tt><tt class="py-op">=</tt><tt id="link-120" class="py-name"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-120', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt id="link-121" class="py-name"><a title="x2go.log.loglevel_DEBUG" class="py-name" href="#" onclick="return doclink('link-121', 'loglevel_DEBUG', 'link-40');">loglevel_DEBUG</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L377"></a><tt class="py-lineno">377</tt>  <tt class="py-line">            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">20</tt><tt class="py-op">)</tt> </tt>
+<a name="L378"></a><tt class="py-lineno">378</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt class="py-name">_hr_filename</tt><tt class="py-op">)</tt> </tt>
+<a name="L379"></a><tt class="py-lineno">379</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">OSError</tt><tt class="py-op">:</tt> <tt class="py-keyword">pass</tt> </tt>
+</div></div><a name="L380"></a><tt class="py-lineno">380</tt>  <tt class="py-line"> </tt>
+<a name="X2goPrintActionPRINTCMD"></a><div id="X2goPrintActionPRINTCMD-def"><a name="L381"></a><tt class="py-lineno">381</tt>  <tt class="py-line"> </tt>
+<a name="L382"></a><tt class="py-lineno">382</tt> <a class="py-toggle" href="#" id="X2goPrintActionPRINTCMD-toggle" onclick="return toggle('X2goPrintActionPRINTCMD');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="x2go.printactions.X2goPrintActionPRINTCMD-class.html">X2goPrintActionPRINTCMD</a><tt class="py-op">(</tt><tt class="py-base-class">X2goPrintAction</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="X2goPrintActionPRINTCMD-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="X2goPrintActionPRINTCMD-expanded"><a name="L383"></a><tt class="py-lineno">383</tt>  <tt class="py-line">    <tt class="py-docstring">"""\</tt> </tt>
+<a name="L384"></a><tt class="py-lineno">384</tt>  <tt class="py-line"><tt class="py-docstring">    Print action that calls an external command for further processing of incoming print jobs.</tt> </tt>
+<a name="L385"></a><tt class="py-lineno">385</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L386"></a><tt class="py-lineno">386</tt>  <tt class="py-line"><tt class="py-docstring">    The print job's PDF filename will be prepended as last argument to the print command</tt> </tt>
+<a name="L387"></a><tt class="py-lineno">387</tt>  <tt class="py-line"><tt class="py-docstring">    used in L{X2goPrintActionPRINTCMD} instances.</tt> </tt>
+<a name="L388"></a><tt class="py-lineno">388</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L389"></a><tt class="py-lineno">389</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L390"></a><tt class="py-lineno">390</tt>  <tt class="py-line">    <tt id="link-122" class="py-name"><a title="x2go.dropboxactions.X2goDropboxAction.__name__
 x2go.dropboxactions.X2goDropboxActionOPEN.__name__
 x2go.dropboxactions.X2goDropboxActionOPENWITH.__name__
 x2go.dropboxactions.X2goDropboxActionSAVEAS.__name__
@@ -723,34 +732,34 @@ x2go.printactions.X2goPrintActionDIALOG.__name__
 x2go.printactions.X2goPrintActionPDFSAVE.__name__
 x2go.printactions.X2goPrintActionPDFVIEW.__name__
 x2go.printactions.X2goPrintActionPRINT.__name__
-x2go.printactions.X2goPrintActionPRINTCMD.__name__" class="py-name" href="#" onclick="return doclink('link-111', '__name__', 'link-9');">__name__</a></tt>      <tt class="py-op">=</tt> <tt class="py-string">'PRINTCMD'</tt> </tt>
-<a name="L382"></a><tt class="py-lineno">382</tt>  <tt class="py-line">    <tt id="link-112" class="py-name"><a title="x2go.dropboxactions.X2goDropboxActionOPEN.__decription__
+x2go.printactions.X2goPrintActionPRINTCMD.__name__" class="py-name" href="#" onclick="return doclink('link-122', '__name__', 'link-9');">__name__</a></tt>      <tt class="py-op">=</tt> <tt class="py-string">'PRINTCMD'</tt> </tt>
+<a name="L391"></a><tt class="py-lineno">391</tt>  <tt class="py-line">    <tt id="link-123" class="py-name"><a title="x2go.dropboxactions.X2goDropboxActionOPEN.__decription__
 x2go.dropboxactions.X2goDropboxActionOPENWITH.__decription__
 x2go.dropboxactions.X2goDropboxActionSAVEAS.__decription__
 x2go.printactions.X2goPrintActionDIALOG.__decription__
 x2go.printactions.X2goPrintActionPDFSAVE.__decription__
 x2go.printactions.X2goPrintActionPDFVIEW.__decription__
 x2go.printactions.X2goPrintActionPRINT.__decription__
-x2go.printactions.X2goPrintActionPRINTCMD.__decription__" class="py-name" href="#" onclick="return doclink('link-112', '__decription__', 'link-27');">__decription__</a></tt><tt class="py-op">=</tt> <tt class="py-string">'Print via a command (like LPR)'</tt> </tt>
-<a name="L383"></a><tt class="py-lineno">383</tt>  <tt class="py-line"> </tt>
-<a name="X2goPrintActionPRINTCMD.__init__"></a><div id="X2goPrintActionPRINTCMD.__init__-def"><a name="L384"></a><tt class="py-lineno">384</tt> <a class="py-toggle" href="#" id="X2goPrintActionPRINTCMD.__init__-toggle" onclick="return toggle('X2goPrintActionPRINTCMD.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.printactions.X2goPrintActionPRINTCMD-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">client_instance</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">print_cmd</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">logger</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">loglevel</tt><tt class="py-op">=</tt><tt id="link-113" class="py-name"><a title="x2go.log" class="py-n
 ame" hre
 f="#" onclick="return doclink('link-113', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt id="link-114" class="py-name"><a title="x2go.log.loglevel_DEFAULT" class="py-name" href="#" onclick="return doclink('link-114', 'loglevel_DEFAULT', 'link-12');">loglevel_DEFAULT</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="X2goPrintActionPRINTCMD.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="X2goPrintActionPRINTCMD.__init__-expanded"><a name="L385"></a><tt class="py-lineno">385</tt>  <tt class="py-line">        <tt class="py-docstring">"""\</tt> </tt>
-<a name="L386"></a><tt class="py-lineno">386</tt>  <tt class="py-line"><tt class="py-docstring">        @param client_instance: the underlying L{X2goClient} instance</tt> </tt>
-<a name="L387"></a><tt class="py-lineno">387</tt>  <tt class="py-line"><tt class="py-docstring">        @type client_instance: C{instance}</tt> </tt>
-<a name="L388"></a><tt class="py-lineno">388</tt>  <tt class="py-line"><tt class="py-docstring">        @param print_cmd: external command to be called on incoming print jobs</tt> </tt>
-<a name="L389"></a><tt class="py-lineno">389</tt>  <tt class="py-line"><tt class="py-docstring">        @type print_cmd: C{str}</tt> </tt>
-<a name="L390"></a><tt class="py-lineno">390</tt>  <tt class="py-line"><tt class="py-docstring">        @param logger: you can pass an L{X2goLogger} object to the</tt> </tt>
-<a name="L391"></a><tt class="py-lineno">391</tt>  <tt class="py-line"><tt class="py-docstring">            L{X2goPrintActionPRINTCMD} constructor</tt> </tt>
-<a name="L392"></a><tt class="py-lineno">392</tt>  <tt class="py-line"><tt class="py-docstring">        @type logger: C{instance}</tt> </tt>
-<a name="L393"></a><tt class="py-lineno">393</tt>  <tt class="py-line"><tt class="py-docstring">        @param loglevel: if no L{X2goLogger} object has been supplied a new one will be</tt> </tt>
-<a name="L394"></a><tt class="py-lineno">394</tt>  <tt class="py-line"><tt class="py-docstring">            constructed with the given loglevel</tt> </tt>
-<a name="L395"></a><tt class="py-lineno">395</tt>  <tt class="py-line"><tt class="py-docstring">        @type loglevel: C{int}</tt> </tt>
-<a name="L396"></a><tt class="py-lineno">396</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L397"></a><tt class="py-lineno">397</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
-<a name="L398"></a><tt class="py-lineno">398</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">print_cmd</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L399"></a><tt class="py-lineno">399</tt>  <tt class="py-line">            <tt class="py-name">print_cmd</tt> <tt class="py-op">=</tt> <tt id="link-115" class="py-name"><a title="x2go.defaults" class="py-name" href="#" onclick="return doclink('link-115', 'defaults', 'link-1');">defaults</a></tt><tt class="py-op">.</tt><tt id="link-116" class="py-name" targets="Variable x2go.defaults.DEFAULT_PRINTCMD_CMD=x2go.defaults-module.html#DEFAULT_PRINTCMD_CMD"><a title="x2go.defaults.DEFAULT_PRINTCMD_CMD" class="py-name" href="#" onclick="return doclink('link-116', 'DEFAULT_PRINTCMD_CMD', 'link-116');">DEFAULT_PRINTCMD_CMD</a></tt> </tt>
-<a name="L400"></a><tt class="py-lineno">400</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">print_cmd</tt> <tt class="py-op">=</tt> <tt class="py-name">print_cmd</tt> </tt>
-<a name="L401"></a><tt class="py-lineno">401</tt>  <tt class="py-line">        <tt id="link-117" class="py-name"><a title="x2go.printactions.X2goPrintAction" class="py-name" href="#" onclick="return doclink('link-117', 'X2goPrintAction', 'link-37');">X2goPrintAction</a></tt><tt class="py-op">.</tt><tt id="link-118" class="py-name"><a title="x2go.backends.control._stdout.X2goControlSessionSTDOUT.__init__
+x2go.printactions.X2goPrintActionPRINTCMD.__decription__" class="py-name" href="#" onclick="return doclink('link-123', '__decription__', 'link-27');">__decription__</a></tt><tt class="py-op">=</tt> <tt class="py-string">'Print via a command (like LPR)'</tt> </tt>
+<a name="L392"></a><tt class="py-lineno">392</tt>  <tt class="py-line"> </tt>
+<a name="X2goPrintActionPRINTCMD.__init__"></a><div id="X2goPrintActionPRINTCMD.__init__-def"><a name="L393"></a><tt class="py-lineno">393</tt> <a class="py-toggle" href="#" id="X2goPrintActionPRINTCMD.__init__-toggle" onclick="return toggle('X2goPrintActionPRINTCMD.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.printactions.X2goPrintActionPRINTCMD-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">client_instance</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">print_cmd</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">logger</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">loglevel</tt><tt class="py-op">=</tt><tt id="link-124" class="py-name"><a title="x2go.log" class="py-n
 ame" hre
 f="#" onclick="return doclink('link-124', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt id="link-125" class="py-name"><a title="x2go.log.loglevel_DEFAULT" class="py-name" href="#" onclick="return doclink('link-125', 'loglevel_DEFAULT', 'link-12');">loglevel_DEFAULT</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="X2goPrintActionPRINTCMD.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="X2goPrintActionPRINTCMD.__init__-expanded"><a name="L394"></a><tt class="py-lineno">394</tt>  <tt class="py-line">        <tt class="py-docstring">"""\</tt> </tt>
+<a name="L395"></a><tt class="py-lineno">395</tt>  <tt class="py-line"><tt class="py-docstring">        @param client_instance: the underlying L{X2goClient} instance</tt> </tt>
+<a name="L396"></a><tt class="py-lineno">396</tt>  <tt class="py-line"><tt class="py-docstring">        @type client_instance: C{instance}</tt> </tt>
+<a name="L397"></a><tt class="py-lineno">397</tt>  <tt class="py-line"><tt class="py-docstring">        @param print_cmd: external command to be called on incoming print jobs</tt> </tt>
+<a name="L398"></a><tt class="py-lineno">398</tt>  <tt class="py-line"><tt class="py-docstring">        @type print_cmd: C{str}</tt> </tt>
+<a name="L399"></a><tt class="py-lineno">399</tt>  <tt class="py-line"><tt class="py-docstring">        @param logger: you can pass an L{X2goLogger} object to the</tt> </tt>
+<a name="L400"></a><tt class="py-lineno">400</tt>  <tt class="py-line"><tt class="py-docstring">            L{X2goPrintActionPRINTCMD} constructor</tt> </tt>
+<a name="L401"></a><tt class="py-lineno">401</tt>  <tt class="py-line"><tt class="py-docstring">        @type logger: C{instance}</tt> </tt>
+<a name="L402"></a><tt class="py-lineno">402</tt>  <tt class="py-line"><tt class="py-docstring">        @param loglevel: if no L{X2goLogger} object has been supplied a new one will be</tt> </tt>
+<a name="L403"></a><tt class="py-lineno">403</tt>  <tt class="py-line"><tt class="py-docstring">            constructed with the given loglevel</tt> </tt>
+<a name="L404"></a><tt class="py-lineno">404</tt>  <tt class="py-line"><tt class="py-docstring">        @type loglevel: C{int}</tt> </tt>
+<a name="L405"></a><tt class="py-lineno">405</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L406"></a><tt class="py-lineno">406</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L407"></a><tt class="py-lineno">407</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">print_cmd</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L408"></a><tt class="py-lineno">408</tt>  <tt class="py-line">            <tt class="py-name">print_cmd</tt> <tt class="py-op">=</tt> <tt id="link-126" class="py-name"><a title="x2go.defaults" class="py-name" href="#" onclick="return doclink('link-126', 'defaults', 'link-1');">defaults</a></tt><tt class="py-op">.</tt><tt id="link-127" class="py-name" targets="Variable x2go.defaults.DEFAULT_PRINTCMD_CMD=x2go.defaults-module.html#DEFAULT_PRINTCMD_CMD"><a title="x2go.defaults.DEFAULT_PRINTCMD_CMD" class="py-name" href="#" onclick="return doclink('link-127', 'DEFAULT_PRINTCMD_CMD', 'link-127');">DEFAULT_PRINTCMD_CMD</a></tt> </tt>
+<a name="L409"></a><tt class="py-lineno">409</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">print_cmd</tt> <tt class="py-op">=</tt> <tt class="py-name">print_cmd</tt> </tt>
+<a name="L410"></a><tt class="py-lineno">410</tt>  <tt class="py-line">        <tt id="link-128" class="py-name"><a title="x2go.printactions.X2goPrintAction" class="py-name" href="#" onclick="return doclink('link-128', 'X2goPrintAction', 'link-37');">X2goPrintAction</a></tt><tt class="py-op">.</tt><tt id="link-129" class="py-name"><a title="x2go.backends.control._stdout.X2goControlSessionSTDOUT.__init__
 x2go.backends.info._stdout.X2goServerSessionListSTDOUT.__init__
 x2go.backends.printing._file.X2goClientPrintingFILE.__init__
 x2go.backends.printing._gconf.X2goClientPrintingGCONF.__init__
@@ -795,44 +804,44 @@ x2go.session.X2goSession.__init__
 x2go.sftpserver.X2goRevFwTunnelToSFTP.__init__
 x2go.sshproxy.X2goSSHProxy.__init__
 x2go.xserver.X2goClientXConfig.__init__
-x2go.xserver.X2goXServer.__init__" class="py-name" href="#" onclick="return doclink('link-118', '__init__', 'link-38');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">client_instance</tt><tt class="py-op">=</tt><tt class="py-name">client_instance</tt><tt class="py-op">,</tt> <tt class="py-name">logger</tt><tt class="py-op">=</tt><tt class="py-name">logger</tt><tt class="py-op">,</tt> <tt class="py-name">loglevel</tt><tt class="py-op">=</tt><tt class="py-name">loglevel</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L402"></a><tt class="py-lineno">402</tt>  <tt class="py-line"> </tt>
-<a name="X2goPrintActionPRINTCMD.do_print"></a><div id="X2goPrintActionPRINTCMD.do_print-def"><a name="L403"></a><tt class="py-lineno">403</tt> <a class="py-toggle" href="#" id="X2goPrintActionPRINTCMD.do_print-toggle" onclick="return toggle('X2goPrintActionPRINTCMD.do_print');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.printactions.X2goPrintActionPRINTCMD-class.html#do_print">do_print</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">pdf_file</tt><tt class="py-op">,</tt> <tt class="py-param">job_title</tt><tt class="py-op">,</tt> <tt class="py-param">spool_dir</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="X2goPrintActionPRINTCMD.do_print-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="X2goPrintActionPRINTCMD.do_print-expanded"><a name="L404"></a><tt class="py-lineno">404</tt>  <tt class="py-line">        <tt class="py-docstring">"""\</tt> </tt>
-<a name="L405"></a><tt class="py-lineno">405</tt>  <tt class="py-line"><tt class="py-docstring">        Execute an external command that has been defined on construction </tt> </tt>
-<a name="L406"></a><tt class="py-lineno">406</tt>  <tt class="py-line"><tt class="py-docstring">        of this L{X2goPrintActionPRINTCMD} instance.</tt> </tt>
-<a name="L407"></a><tt class="py-lineno">407</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L408"></a><tt class="py-lineno">408</tt>  <tt class="py-line"><tt class="py-docstring">        @param pdf_file: PDF file name as placed in to the X2go spool directory</tt> </tt>
-<a name="L409"></a><tt class="py-lineno">409</tt>  <tt class="py-line"><tt class="py-docstring">        @type pdf_file: C{str}</tt> </tt>
-<a name="L410"></a><tt class="py-lineno">410</tt>  <tt class="py-line"><tt class="py-docstring">        @param job_title: human readable print job title</tt> </tt>
-<a name="L411"></a><tt class="py-lineno">411</tt>  <tt class="py-line"><tt class="py-docstring">        @type job_title: C{str}</tt> </tt>
-<a name="L412"></a><tt class="py-lineno">412</tt>  <tt class="py-line"><tt class="py-docstring">        @param spool_dir: location of the X2go client's spool directory</tt> </tt>
-<a name="L413"></a><tt class="py-lineno">413</tt>  <tt class="py-line"><tt class="py-docstring">        @type spool_dir: C{str}</tt> </tt>
-<a name="L414"></a><tt class="py-lineno">414</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L415"></a><tt class="py-lineno">415</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
-<a name="L416"></a><tt class="py-lineno">416</tt>  <tt class="py-line">        <tt class="py-name">_hr_filename</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_humanreadable_filename</tt><tt class="py-op">(</tt><tt class="py-name">pdf_file</tt><tt class="py-op">,</tt> <tt class="py-name">job_title</tt><tt class="py-op">,</tt> <tt class="py-name">spool_dir</tt><tt class="py-op">)</tt> </tt>
-<a name="L417"></a><tt class="py-lineno">417</tt>  <tt class="py-line">        <tt class="py-name">shutil</tt><tt class="py-op">.</tt><tt class="py-name">copy2</tt><tt class="py-op">(</tt><tt class="py-name">pdf_file</tt><tt class="py-op">,</tt> <tt class="py-name">_hr_filename</tt><tt class="py-op">)</tt> </tt>
-<a name="L418"></a><tt class="py-lineno">418</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logger</tt><tt class="py-op">(</tt><tt class="py-string">'executing external command »%s« on PDF file %s'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">print_cmd</tt><tt class="py-op">,</tt> <tt class="py-name">_hr_filename</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">loglevel</tt><tt class="py-op">=</tt><tt id="link-119" class="py-name"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-119', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt id="link-120" class="py-name"><a title="x2go.log.loglevel_NOTICE" class="py-name" href="#" onclick="return doclink('link-120', 'loglevel_NOTICE', 'link-83');">loglevel_NOTICE</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L419"></a><tt class="py-lineno">419</tt>  <tt class="py-line">        <tt class="py-name">cmd_line</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">print_cmd</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L420"></a><tt class="py-lineno">420</tt>  <tt class="py-line">        <tt class="py-name">cmd_line</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">_hr_filename</tt><tt class="py-op">)</tt> </tt>
-<a name="L421"></a><tt class="py-lineno">421</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logger</tt><tt class="py-op">(</tt><tt class="py-string">'executing external command: %s'</tt> <tt class="py-op">%</tt> <tt class="py-string">" "</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">cmd_line</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">loglevel</tt><tt class="py-op">=</tt><tt id="link-121" class="py-name"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-121', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt id="link-122" class="py-name"><a title="x2go.log.loglevel_DEBUG" class="py-name" href="#" onclick="return doclink('link-122', 'loglevel_DEBUG', 'link-40');">loglevel_DEBUG</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L422"></a><tt class="py-lineno">422</tt>  <tt class="py-line">        <tt class="py-name">p</tt> <tt class="py-op">=</tt> <tt class="py-name">subprocess</tt><tt class="py-op">.</tt><tt id="link-123" class="py-name"><a title="x2go.gevent_subprocess.Popen" class="py-name" href="#" onclick="return doclink('link-123', 'Popen', 'link-48');">Popen</a></tt><tt class="py-op">(</tt><tt class="py-name">cmd_line</tt><tt class="py-op">,</tt> <tt class="py-name">stdout</tt><tt class="py-op">=</tt><tt class="py-name">subprocess</tt><tt class="py-op">.</tt><tt id="link-124" class="py-name"><a title="x2go.gevent_subprocess.PIPE" class="py-name" href="#" onclick="return doclink('link-124', 'PIPE', 'link-49');">PIPE</a></tt><tt class="py-op">,</tt> <tt class="py-name">stderr</tt><tt class="py-op">=</tt><tt class="py-name">subprocess</tt><tt class="py-op">.</tt><tt id="link-125" class="py-name"><a title="x2go.gevent_subprocess.STDOUT" class="py-name" href="#" onclick="return doclink('
 link-125
 ', 'STDOUT', 'link-50');">STDOUT</a></tt><tt class="py-op">,</tt> <tt class="py-name">env</tt><tt class="py-op">=</tt><tt id="link-126" class="py-name"><a title="x2go.printactions._PRINT_ENV" class="py-name" href="#" onclick="return doclink('link-126', '_PRINT_ENV', 'link-8');">_PRINT_ENV</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L423"></a><tt class="py-lineno">423</tt>  <tt class="py-line"> </tt>
-<a name="L424"></a><tt class="py-lineno">424</tt>  <tt class="py-line">        <tt class="py-comment"># this is nasty!!!!</tt> </tt>
-<a name="L425"></a><tt class="py-lineno">425</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logger</tt><tt class="py-op">(</tt><tt class="py-string">'waiting 20s longer before deleting the PDF file ,,%s\'\''</tt> <tt class="py-op">%</tt> <tt class="py-name">_hr_filename</tt><tt class="py-op">,</tt> <tt class="py-name">loglevel</tt><tt class="py-op">=</tt><tt id="link-127" class="py-name"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-127', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt id="link-128" class="py-name"><a title="x2go.log.loglevel_DEBUG" class="py-name" href="#" onclick="return doclink('link-128', 'loglevel_DEBUG', 'link-40');">loglevel_DEBUG</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L426"></a><tt class="py-lineno">426</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">20</tt><tt class="py-op">)</tt> </tt>
-<a name="L427"></a><tt class="py-lineno">427</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt class="py-name">_hr_filename</tt><tt class="py-op">)</tt> </tt>
-<a name="L428"></a><tt class="py-lineno">428</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">OSError</tt><tt class="py-op">:</tt> <tt class="py-keyword">pass</tt> </tt>
-</div></div><a name="L429"></a><tt class="py-lineno">429</tt>  <tt class="py-line"> </tt>
-<a name="X2goPrintActionDIALOG"></a><div id="X2goPrintActionDIALOG-def"><a name="L430"></a><tt class="py-lineno">430</tt>  <tt class="py-line"> </tt>
-<a name="L431"></a><tt class="py-lineno">431</tt> <a class="py-toggle" href="#" id="X2goPrintActionDIALOG-toggle" onclick="return toggle('X2goPrintActionDIALOG');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="x2go.printactions.X2goPrintActionDIALOG-class.html">X2goPrintActionDIALOG</a><tt class="py-op">(</tt><tt class="py-base-class">X2goPrintAction</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="X2goPrintActionDIALOG-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="X2goPrintActionDIALOG-expanded"><a name="L432"></a><tt class="py-lineno">432</tt>  <tt class="py-line">    <tt class="py-docstring">"""\</tt> </tt>
-<a name="L433"></a><tt class="py-lineno">433</tt>  <tt class="py-line"><tt class="py-docstring">    Print action that mediates opening a print dialog window. This class is rather empty,</tt> </tt>
-<a name="L434"></a><tt class="py-lineno">434</tt>  <tt class="py-line"><tt class="py-docstring">    the actual print dialog box must be implemented in our GUI application (with the application's</tt> </tt>
-<a name="L435"></a><tt class="py-lineno">435</tt>  <tt class="py-line"><tt class="py-docstring">    L{X2goClient} instance.</tt> </tt>
-<a name="L436"></a><tt class="py-lineno">436</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L437"></a><tt class="py-lineno">437</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L438"></a><tt class="py-lineno">438</tt>  <tt class="py-line">    <tt id="link-129" class="py-name"><a title="x2go.dropboxactions.X2goDropboxAction.__name__
+x2go.xserver.X2goXServer.__init__" class="py-name" href="#" onclick="return doclink('link-129', '__init__', 'link-38');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">client_instance</tt><tt class="py-op">=</tt><tt class="py-name">client_instance</tt><tt class="py-op">,</tt> <tt class="py-name">logger</tt><tt class="py-op">=</tt><tt class="py-name">logger</tt><tt class="py-op">,</tt> <tt class="py-name">loglevel</tt><tt class="py-op">=</tt><tt class="py-name">loglevel</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L411"></a><tt class="py-lineno">411</tt>  <tt class="py-line"> </tt>
+<a name="X2goPrintActionPRINTCMD.do_print"></a><div id="X2goPrintActionPRINTCMD.do_print-def"><a name="L412"></a><tt class="py-lineno">412</tt> <a class="py-toggle" href="#" id="X2goPrintActionPRINTCMD.do_print-toggle" onclick="return toggle('X2goPrintActionPRINTCMD.do_print');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.printactions.X2goPrintActionPRINTCMD-class.html#do_print">do_print</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">pdf_file</tt><tt class="py-op">,</tt> <tt class="py-param">job_title</tt><tt class="py-op">,</tt> <tt class="py-param">spool_dir</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="X2goPrintActionPRINTCMD.do_print-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="X2goPrintActionPRINTCMD.do_print-expanded"><a name="L413"></a><tt class="py-lineno">413</tt>  <tt class="py-line">        <tt class="py-docstring">"""\</tt> </tt>
+<a name="L414"></a><tt class="py-lineno">414</tt>  <tt class="py-line"><tt class="py-docstring">        Execute an external command that has been defined on construction </tt> </tt>
+<a name="L415"></a><tt class="py-lineno">415</tt>  <tt class="py-line"><tt class="py-docstring">        of this L{X2goPrintActionPRINTCMD} instance.</tt> </tt>
+<a name="L416"></a><tt class="py-lineno">416</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L417"></a><tt class="py-lineno">417</tt>  <tt class="py-line"><tt class="py-docstring">        @param pdf_file: PDF file name as placed in to the X2go spool directory</tt> </tt>
+<a name="L418"></a><tt class="py-lineno">418</tt>  <tt class="py-line"><tt class="py-docstring">        @type pdf_file: C{str}</tt> </tt>
+<a name="L419"></a><tt class="py-lineno">419</tt>  <tt class="py-line"><tt class="py-docstring">        @param job_title: human readable print job title</tt> </tt>
+<a name="L420"></a><tt class="py-lineno">420</tt>  <tt class="py-line"><tt class="py-docstring">        @type job_title: C{str}</tt> </tt>
+<a name="L421"></a><tt class="py-lineno">421</tt>  <tt class="py-line"><tt class="py-docstring">        @param spool_dir: location of the X2go client's spool directory</tt> </tt>
+<a name="L422"></a><tt class="py-lineno">422</tt>  <tt class="py-line"><tt class="py-docstring">        @type spool_dir: C{str}</tt> </tt>
+<a name="L423"></a><tt class="py-lineno">423</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L424"></a><tt class="py-lineno">424</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L425"></a><tt class="py-lineno">425</tt>  <tt class="py-line">        <tt class="py-name">_hr_filename</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_humanreadable_filename</tt><tt class="py-op">(</tt><tt class="py-name">pdf_file</tt><tt class="py-op">,</tt> <tt class="py-name">job_title</tt><tt class="py-op">,</tt> <tt class="py-name">spool_dir</tt><tt class="py-op">)</tt> </tt>
+<a name="L426"></a><tt class="py-lineno">426</tt>  <tt class="py-line">        <tt class="py-name">shutil</tt><tt class="py-op">.</tt><tt class="py-name">copy2</tt><tt class="py-op">(</tt><tt class="py-name">pdf_file</tt><tt class="py-op">,</tt> <tt class="py-name">_hr_filename</tt><tt class="py-op">)</tt> </tt>
+<a name="L427"></a><tt class="py-lineno">427</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logger</tt><tt class="py-op">(</tt><tt class="py-string">'executing external command ,,%s\'\' on PDF file %s'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">print_cmd</tt><tt class="py-op">,</tt> <tt class="py-name">_hr_filename</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">loglevel</tt><tt class="py-op">=</tt><tt id="link-130" class="py-name"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-130', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt id="link-131" class="py-name"><a title="x2go.log.loglevel_NOTICE" class="py-name" href="#" onclick="return doclink('link-131', 'loglevel_NOTICE', 'link-94');">loglevel_NOTICE</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L428"></a><tt class="py-lineno">428</tt>  <tt class="py-line">        <tt class="py-name">cmd_line</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">print_cmd</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L429"></a><tt class="py-lineno">429</tt>  <tt class="py-line">        <tt class="py-name">cmd_line</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">_hr_filename</tt><tt class="py-op">)</tt> </tt>
+<a name="L430"></a><tt class="py-lineno">430</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logger</tt><tt class="py-op">(</tt><tt class="py-string">'executing external command: %s'</tt> <tt class="py-op">%</tt> <tt class="py-string">" "</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">cmd_line</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">loglevel</tt><tt class="py-op">=</tt><tt id="link-132" class="py-name"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-132', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt id="link-133" class="py-name"><a title="x2go.log.loglevel_DEBUG" class="py-name" href="#" onclick="return doclink('link-133', 'loglevel_DEBUG', 'link-40');">loglevel_DEBUG</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L431"></a><tt class="py-lineno">431</tt>  <tt class="py-line">        <tt class="py-name">p</tt> <tt class="py-op">=</tt> <tt class="py-name">subprocess</tt><tt class="py-op">.</tt><tt id="link-134" class="py-name"><a title="x2go.gevent_subprocess.Popen" class="py-name" href="#" onclick="return doclink('link-134', 'Popen', 'link-48');">Popen</a></tt><tt class="py-op">(</tt><tt class="py-name">cmd_line</tt><tt class="py-op">,</tt> <tt class="py-name">stdout</tt><tt class="py-op">=</tt><tt class="py-name">subprocess</tt><tt class="py-op">.</tt><tt id="link-135" class="py-name"><a title="x2go.gevent_subprocess.PIPE" class="py-name" href="#" onclick="return doclink('link-135', 'PIPE', 'link-49');">PIPE</a></tt><tt class="py-op">,</tt> <tt class="py-name">stderr</tt><tt class="py-op">=</tt><tt class="py-name">subprocess</tt><tt class="py-op">.</tt><tt id="link-136" class="py-name"><a title="x2go.gevent_subprocess.STDOUT" class="py-name" href="#" onclick="return doclink('
 link-136
 ', 'STDOUT', 'link-50');">STDOUT</a></tt><tt class="py-op">,</tt> <tt class="py-name">env</tt><tt class="py-op">=</tt><tt id="link-137" class="py-name"><a title="x2go.printactions._PRINT_ENV" class="py-name" href="#" onclick="return doclink('link-137', '_PRINT_ENV', 'link-8');">_PRINT_ENV</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L432"></a><tt class="py-lineno">432</tt>  <tt class="py-line"> </tt>
+<a name="L433"></a><tt class="py-lineno">433</tt>  <tt class="py-line">        <tt class="py-comment"># this is nasty!!!!</tt> </tt>
+<a name="L434"></a><tt class="py-lineno">434</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logger</tt><tt class="py-op">(</tt><tt class="py-string">'waiting 20s longer before deleting the PDF file ,,%s\'\''</tt> <tt class="py-op">%</tt> <tt class="py-name">_hr_filename</tt><tt class="py-op">,</tt> <tt class="py-name">loglevel</tt><tt class="py-op">=</tt><tt id="link-138" class="py-name"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-138', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt id="link-139" class="py-name"><a title="x2go.log.loglevel_DEBUG" class="py-name" href="#" onclick="return doclink('link-139', 'loglevel_DEBUG', 'link-40');">loglevel_DEBUG</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L435"></a><tt class="py-lineno">435</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">20</tt><tt class="py-op">)</tt> </tt>
+<a name="L436"></a><tt class="py-lineno">436</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt class="py-name">_hr_filename</tt><tt class="py-op">)</tt> </tt>
+<a name="L437"></a><tt class="py-lineno">437</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">OSError</tt><tt class="py-op">:</tt> <tt class="py-keyword">pass</tt> </tt>
+</div></div><a name="L438"></a><tt class="py-lineno">438</tt>  <tt class="py-line"> </tt>
+<a name="X2goPrintActionDIALOG"></a><div id="X2goPrintActionDIALOG-def"><a name="L439"></a><tt class="py-lineno">439</tt>  <tt class="py-line"> </tt>
+<a name="L440"></a><tt class="py-lineno">440</tt> <a class="py-toggle" href="#" id="X2goPrintActionDIALOG-toggle" onclick="return toggle('X2goPrintActionDIALOG');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="x2go.printactions.X2goPrintActionDIALOG-class.html">X2goPrintActionDIALOG</a><tt class="py-op">(</tt><tt class="py-base-class">X2goPrintAction</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="X2goPrintActionDIALOG-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="X2goPrintActionDIALOG-expanded"><a name="L441"></a><tt class="py-lineno">441</tt>  <tt class="py-line">    <tt class="py-docstring">"""\</tt> </tt>
+<a name="L442"></a><tt class="py-lineno">442</tt>  <tt class="py-line"><tt class="py-docstring">    Print action that mediates opening a print dialog window. This class is rather empty,</tt> </tt>
+<a name="L443"></a><tt class="py-lineno">443</tt>  <tt class="py-line"><tt class="py-docstring">    the actual print dialog box must be implemented in our GUI application (with the application's</tt> </tt>
+<a name="L444"></a><tt class="py-lineno">444</tt>  <tt class="py-line"><tt class="py-docstring">    L{X2goClient} instance.</tt> </tt>
+<a name="L445"></a><tt class="py-lineno">445</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L446"></a><tt class="py-lineno">446</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L447"></a><tt class="py-lineno">447</tt>  <tt class="py-line">    <tt id="link-140" class="py-name"><a title="x2go.dropboxactions.X2goDropboxAction.__name__
 x2go.dropboxactions.X2goDropboxActionOPEN.__name__
 x2go.dropboxactions.X2goDropboxActionOPENWITH.__name__
 x2go.dropboxactions.X2goDropboxActionSAVEAS.__name__
@@ -841,33 +850,33 @@ x2go.printactions.X2goPrintActionDIALOG.__name__
 x2go.printactions.X2goPrintActionPDFSAVE.__name__
 x2go.printactions.X2goPrintActionPDFVIEW.__name__
 x2go.printactions.X2goPrintActionPRINT.__name__
-x2go.printactions.X2goPrintActionPRINTCMD.__name__" class="py-name" href="#" onclick="return doclink('link-129', '__name__', 'link-9');">__name__</a></tt>      <tt class="py-op">=</tt> <tt class="py-string">'DIALOG'</tt> </tt>
-<a name="L439"></a><tt class="py-lineno">439</tt>  <tt class="py-line">    <tt id="link-130" class="py-name"><a title="x2go.dropboxactions.X2goDropboxActionOPEN.__decription__
+x2go.printactions.X2goPrintActionPRINTCMD.__name__" class="py-name" href="#" onclick="return doclink('link-140', '__name__', 'link-9');">__name__</a></tt>      <tt class="py-op">=</tt> <tt class="py-string">'DIALOG'</tt> </tt>
+<a name="L448"></a><tt class="py-lineno">448</tt>  <tt class="py-line">    <tt id="link-141" class="py-name"><a title="x2go.dropboxactions.X2goDropboxActionOPEN.__decription__
 x2go.dropboxactions.X2goDropboxActionOPENWITH.__decription__
 x2go.dropboxactions.X2goDropboxActionSAVEAS.__decription__
 x2go.printactions.X2goPrintActionDIALOG.__decription__
 x2go.printactions.X2goPrintActionPDFSAVE.__decription__
 x2go.printactions.X2goPrintActionPDFVIEW.__decription__
 x2go.printactions.X2goPrintActionPRINT.__decription__
-x2go.printactions.X2goPrintActionPRINTCMD.__decription__" class="py-name" href="#" onclick="return doclink('link-130', '__decription__', 'link-27');">__decription__</a></tt><tt class="py-op">=</tt> <tt class="py-string">'Open a print dialog box'</tt> </tt>
-<a name="L440"></a><tt class="py-lineno">440</tt>  <tt class="py-line"> </tt>
-<a name="X2goPrintActionDIALOG.__init__"></a><div id="X2goPrintActionDIALOG.__init__-def"><a name="L441"></a><tt class="py-lineno">441</tt> <a class="py-toggle" href="#" id="X2goPrintActionDIALOG.__init__-toggle" onclick="return toggle('X2goPrintActionDIALOG.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.printactions.X2goPrintActionDIALOG-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">client_instance</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">logger</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">loglevel</tt><tt class="py-op">=</tt><tt id="link-131" class="py-name"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-131', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt id="link-132" 
 class="p
 y-name"><a title="x2go.log.loglevel_DEFAULT" class="py-name" href="#" onclick="return doclink('link-132', 'loglevel_DEFAULT', 'link-12');">loglevel_DEFAULT</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="X2goPrintActionDIALOG.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="X2goPrintActionDIALOG.__init__-expanded"><a name="L442"></a><tt class="py-lineno">442</tt>  <tt class="py-line">        <tt class="py-docstring">"""\</tt> </tt>
-<a name="L443"></a><tt class="py-lineno">443</tt>  <tt class="py-line"><tt class="py-docstring">        @param client_instance: an L{X2goClient} instance, within your customized L{X2goClient} make sure </tt> </tt>
-<a name="L444"></a><tt class="py-lineno">444</tt>  <tt class="py-line"><tt class="py-docstring">            you have a C{HOOK_open_print_dialog(filename=<str>)} method defined that will actually</tt> </tt>
-<a name="L445"></a><tt class="py-lineno">445</tt>  <tt class="py-line"><tt class="py-docstring">            open the print dialog.</tt> </tt>
-<a name="L446"></a><tt class="py-lineno">446</tt>  <tt class="py-line"><tt class="py-docstring">        @type client_instance: C{instance}</tt> </tt>
-<a name="L447"></a><tt class="py-lineno">447</tt>  <tt class="py-line"><tt class="py-docstring">        @param logger: you can pass an L{X2goLogger} object to the</tt> </tt>
-<a name="L448"></a><tt class="py-lineno">448</tt>  <tt class="py-line"><tt class="py-docstring">            L{X2goPrintActionDIALOG} constructor</tt> </tt>
-<a name="L449"></a><tt class="py-lineno">449</tt>  <tt class="py-line"><tt class="py-docstring">        @type logger: C{instance}</tt> </tt>
-<a name="L450"></a><tt class="py-lineno">450</tt>  <tt class="py-line"><tt class="py-docstring">        @param loglevel: if no L{X2goLogger} object has been supplied a new one will be</tt> </tt>
-<a name="L451"></a><tt class="py-lineno">451</tt>  <tt class="py-line"><tt class="py-docstring">            constructed with the given loglevel</tt> </tt>
-<a name="L452"></a><tt class="py-lineno">452</tt>  <tt class="py-line"><tt class="py-docstring">        @type loglevel: C{int}</tt> </tt>
-<a name="L453"></a><tt class="py-lineno">453</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L454"></a><tt class="py-lineno">454</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
-<a name="L455"></a><tt class="py-lineno">455</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">client_instance</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L456"></a><tt class="py-lineno">456</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt id="link-133" class="py-name"><a title="x2go.x2go_exceptions" class="py-name" href="#" onclick="return doclink('link-133', 'x2go_exceptions', 'link-7');">x2go_exceptions</a></tt><tt class="py-op">.</tt><tt id="link-134" class="py-name" targets="Class x2go.x2go_exceptions.X2goPrintActionException=x2go.x2go_exceptions.X2goPrintActionException-class.html"><a title="x2go.x2go_exceptions.X2goPrintActionException" class="py-name" href="#" onclick="return doclink('link-134', 'X2goPrintActionException', 'link-134');">X2goPrintActionException</a></tt><tt class="py-op">(</tt><tt class="py-string">'the DIALOG print action needs to know the X2goClient instance (client=<instance>)'</tt><tt class="py-op">)</tt> </tt>
-<a name="L457"></a><tt class="py-lineno">457</tt>  <tt class="py-line">        <tt id="link-135" class="py-name"><a title="x2go.printactions.X2goPrintAction" class="py-name" href="#" onclick="return doclink('link-135', 'X2goPrintAction', 'link-37');">X2goPrintAction</a></tt><tt class="py-op">.</tt><tt id="link-136" class="py-name"><a title="x2go.backends.control._stdout.X2goControlSessionSTDOUT.__init__
+x2go.printactions.X2goPrintActionPRINTCMD.__decription__" class="py-name" href="#" onclick="return doclink('link-141', '__decription__', 'link-27');">__decription__</a></tt><tt class="py-op">=</tt> <tt class="py-string">'Open a print dialog box'</tt> </tt>
+<a name="L449"></a><tt class="py-lineno">449</tt>  <tt class="py-line"> </tt>
+<a name="X2goPrintActionDIALOG.__init__"></a><div id="X2goPrintActionDIALOG.__init__-def"><a name="L450"></a><tt class="py-lineno">450</tt> <a class="py-toggle" href="#" id="X2goPrintActionDIALOG.__init__-toggle" onclick="return toggle('X2goPrintActionDIALOG.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.printactions.X2goPrintActionDIALOG-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">client_instance</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">logger</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">loglevel</tt><tt class="py-op">=</tt><tt id="link-142" class="py-name"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-142', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt id="link-143" 
 class="p
 y-name"><a title="x2go.log.loglevel_DEFAULT" class="py-name" href="#" onclick="return doclink('link-143', 'loglevel_DEFAULT', 'link-12');">loglevel_DEFAULT</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="X2goPrintActionDIALOG.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="X2goPrintActionDIALOG.__init__-expanded"><a name="L451"></a><tt class="py-lineno">451</tt>  <tt class="py-line">        <tt class="py-docstring">"""\</tt> </tt>
+<a name="L452"></a><tt class="py-lineno">452</tt>  <tt class="py-line"><tt class="py-docstring">        @param client_instance: an L{X2goClient} instance, within your customized L{X2goClient} make sure </tt> </tt>
+<a name="L453"></a><tt class="py-lineno">453</tt>  <tt class="py-line"><tt class="py-docstring">            you have a C{HOOK_open_print_dialog(filename=<str>)} method defined that will actually</tt> </tt>
+<a name="L454"></a><tt class="py-lineno">454</tt>  <tt class="py-line"><tt class="py-docstring">            open the print dialog.</tt> </tt>
+<a name="L455"></a><tt class="py-lineno">455</tt>  <tt class="py-line"><tt class="py-docstring">        @type client_instance: C{instance}</tt> </tt>
+<a name="L456"></a><tt class="py-lineno">456</tt>  <tt class="py-line"><tt class="py-docstring">        @param logger: you can pass an L{X2goLogger} object to the</tt> </tt>
+<a name="L457"></a><tt class="py-lineno">457</tt>  <tt class="py-line"><tt class="py-docstring">            L{X2goPrintActionDIALOG} constructor</tt> </tt>
+<a name="L458"></a><tt class="py-lineno">458</tt>  <tt class="py-line"><tt class="py-docstring">        @type logger: C{instance}</tt> </tt>
+<a name="L459"></a><tt class="py-lineno">459</tt>  <tt class="py-line"><tt class="py-docstring">        @param loglevel: if no L{X2goLogger} object has been supplied a new one will be</tt> </tt>
+<a name="L460"></a><tt class="py-lineno">460</tt>  <tt class="py-line"><tt class="py-docstring">            constructed with the given loglevel</tt> </tt>
+<a name="L461"></a><tt class="py-lineno">461</tt>  <tt class="py-line"><tt class="py-docstring">        @type loglevel: C{int}</tt> </tt>
+<a name="L462"></a><tt class="py-lineno">462</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L463"></a><tt class="py-lineno">463</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L464"></a><tt class="py-lineno">464</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">client_instance</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L465"></a><tt class="py-lineno">465</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt id="link-144" class="py-name"><a title="x2go.x2go_exceptions" class="py-name" href="#" onclick="return doclink('link-144', 'x2go_exceptions', 'link-7');">x2go_exceptions</a></tt><tt class="py-op">.</tt><tt id="link-145" class="py-name" targets="Class x2go.x2go_exceptions.X2goPrintActionException=x2go.x2go_exceptions.X2goPrintActionException-class.html"><a title="x2go.x2go_exceptions.X2goPrintActionException" class="py-name" href="#" onclick="return doclink('link-145', 'X2goPrintActionException', 'link-145');">X2goPrintActionException</a></tt><tt class="py-op">(</tt><tt class="py-string">'the DIALOG print action needs to know the X2goClient instance (client=<instance>)'</tt><tt class="py-op">)</tt> </tt>
+<a name="L466"></a><tt class="py-lineno">466</tt>  <tt class="py-line">        <tt id="link-146" class="py-name"><a title="x2go.printactions.X2goPrintAction" class="py-name" href="#" onclick="return doclink('link-146', 'X2goPrintAction', 'link-37');">X2goPrintAction</a></tt><tt class="py-op">.</tt><tt id="link-147" class="py-name"><a title="x2go.backends.control._stdout.X2goControlSessionSTDOUT.__init__
 x2go.backends.info._stdout.X2goServerSessionListSTDOUT.__init__
 x2go.backends.printing._file.X2goClientPrintingFILE.__init__
 x2go.backends.printing._gconf.X2goClientPrintingGCONF.__init__
@@ -912,32 +921,31 @@ x2go.session.X2goSession.__init__
 x2go.sftpserver.X2goRevFwTunnelToSFTP.__init__
 x2go.sshproxy.X2goSSHProxy.__init__
 x2go.xserver.X2goClientXConfig.__init__
-x2go.xserver.X2goXServer.__init__" class="py-name" href="#" onclick="return doclink('link-136', '__init__', 'link-38');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">client_instance</tt><tt class="py-op">=</tt><tt class="py-name">client_instance</tt><tt class="py-op">,</tt> <tt class="py-name">logger</tt><tt class="py-op">=</tt><tt class="py-name">logger</tt><tt class="py-op">,</tt> <tt class="py-name">loglevel</tt><tt class="py-op">=</tt><tt class="py-name">loglevel</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L458"></a><tt class="py-lineno">458</tt>  <tt class="py-line"> </tt>
-<a name="X2goPrintActionDIALOG.do_print"></a><div id="X2goPrintActionDIALOG.do_print-def"><a name="L459"></a><tt class="py-lineno">459</tt> <a class="py-toggle" href="#" id="X2goPrintActionDIALOG.do_print-toggle" onclick="return toggle('X2goPrintActionDIALOG.do_print');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.printactions.X2goPrintActionDIALOG-class.html#do_print">do_print</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">pdf_file</tt><tt class="py-op">,</tt> <tt class="py-param">job_title</tt><tt class="py-op">,</tt> <tt class="py-param">spool_dir</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="X2goPrintActionDIALOG.do_print-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="X2goPrintActionDIALOG.do_print-expanded"><a name="L460"></a><tt class="py-lineno">460</tt>  <tt class="py-line">        <tt class="py-docstring">"""\</tt> </tt>
-<a name="L461"></a><tt class="py-lineno">461</tt>  <tt class="py-line"><tt class="py-docstring">        Execute an external command that has been defined on construction </tt> </tt>
-<a name="L462"></a><tt class="py-lineno">462</tt>  <tt class="py-line"><tt class="py-docstring">        of this L{X2goPrintActionPRINTCMD} instance.</tt> </tt>
-<a name="L463"></a><tt class="py-lineno">463</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L464"></a><tt class="py-lineno">464</tt>  <tt class="py-line"><tt class="py-docstring">        @param pdf_file: PDF file name as placed in to the X2go spool directory</tt> </tt>
-<a name="L465"></a><tt class="py-lineno">465</tt>  <tt class="py-line"><tt class="py-docstring">        @type pdf_file: C{str}</tt> </tt>
-<a name="L466"></a><tt class="py-lineno">466</tt>  <tt class="py-line"><tt class="py-docstring">        @param job_title: human readable print job title</tt> </tt>
-<a name="L467"></a><tt class="py-lineno">467</tt>  <tt class="py-line"><tt class="py-docstring">        @type job_title: C{str}</tt> </tt>
-<a name="L468"></a><tt class="py-lineno">468</tt>  <tt class="py-line"><tt class="py-docstring">        @param spool_dir: location of the X2go client's spool directory</tt> </tt>
-<a name="L469"></a><tt class="py-lineno">469</tt>  <tt class="py-line"><tt class="py-docstring">        @type spool_dir: C{str}</tt> </tt>
-<a name="L470"></a><tt class="py-lineno">470</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L471"></a><tt class="py-lineno">471</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
-<a name="L472"></a><tt class="py-lineno">472</tt>  <tt class="py-line">        <tt class="py-name">_hr_filename</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_humanreadable_filename</tt><tt class="py-op">(</tt><tt class="py-name">pdf_file</tt><tt class="py-op">,</tt> <tt class="py-name">job_title</tt><tt class="py-op">,</tt> <tt class="py-name">spool_dir</tt><tt class="py-op">)</tt> </tt>
-<a name="L473"></a><tt class="py-lineno">473</tt>  <tt class="py-line">        <tt class="py-name">shutil</tt><tt class="py-op">.</tt><tt class="py-name">copy2</tt><tt class="py-op">(</tt><tt class="py-name">pdf_file</tt><tt class="py-op">,</tt> <tt class="py-name">_hr_filename</tt><tt class="py-op">)</tt> </tt>
-<a name="L474"></a><tt class="py-lineno">474</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logger</tt><tt class="py-op">(</tt><tt class="py-string">'Session %s (%s) is calling X2goClient class hook method <client_instance>.HOOK_open_print_dialog(%s)'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">session_name</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">profile_name</tt><tt class="py-op">,</tt> <tt class="py-name">_hr_filename</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">loglevel</tt><tt class="py-op">=</tt><tt id="link-137" class="py-name"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-137', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt id="link-138" class="py-name"><a title="x2go.log.loglevel_NOTICE" clas
 s="py-na
 me" href="#" onclick="return doclink('link-138', 'loglevel_NOTICE', 'link-83');">loglevel_NOTICE</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L475"></a><tt class="py-lineno">475</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">client_instance</tt><tt class="py-op">.</tt><tt id="link-139" class="py-name" targets="Method x2go.client.X2goClient.HOOK_open_print_dialog()=x2go.client.X2goClient-class.html#HOOK_open_print_dialog"><a title="x2go.client.X2goClient.HOOK_open_print_dialog" class="py-name" href="#" onclick="return doclink('link-139', 'HOOK_open_print_dialog', 'link-139');">HOOK_open_print_dialog</a></tt><tt class="py-op">(</tt><tt class="py-name">_hr_filename</tt><tt class="py-op">,</tt><tt class="py-name">profile_name</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">profile_name</tt><tt class="py-op">,</tt> <tt class="py-name">session_name</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">session_name</tt><tt class="py-op">)</tt> </tt>
-<a name="L476"></a><tt class="py-lineno">476</tt>  <tt class="py-line"> </tt>
-<a name="L477"></a><tt class="py-lineno">477</tt>  <tt class="py-line">        <tt class="py-comment"># this is nasty!!!!</tt> </tt>
-<a name="L478"></a><tt class="py-lineno">478</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logger</tt><tt class="py-op">(</tt><tt class="py-string">'waiting 20s longer before deleting the PDF file ,,%s\'\''</tt> <tt class="py-op">%</tt> <tt class="py-name">_hr_filename</tt><tt class="py-op">,</tt> <tt class="py-name">loglevel</tt><tt class="py-op">=</tt><tt id="link-140" class="py-name"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-140', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt id="link-141" class="py-name"><a title="x2go.log.loglevel_DEBUG" class="py-name" href="#" onclick="return doclink('link-141', 'loglevel_DEBUG', 'link-40');">loglevel_DEBUG</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L479"></a><tt class="py-lineno">479</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">20</tt><tt class="py-op">)</tt> </tt>
-<a name="L480"></a><tt class="py-lineno">480</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt class="py-name">_hr_filename</tt><tt class="py-op">)</tt> </tt>
-<a name="L481"></a><tt class="py-lineno">481</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">OSError</tt><tt class="py-op">:</tt> <tt class="py-keyword">pass</tt> </tt>
-</div></div><a name="L482"></a><tt class="py-lineno">482</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+x2go.xserver.X2goXServer.__init__" class="py-name" href="#" onclick="return doclink('link-147', '__init__', 'link-38');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">client_instance</tt><tt class="py-op">=</tt><tt class="py-name">client_instance</tt><tt class="py-op">,</tt> <tt class="py-name">logger</tt><tt class="py-op">=</tt><tt class="py-name">logger</tt><tt class="py-op">,</tt> <tt class="py-name">loglevel</tt><tt class="py-op">=</tt><tt class="py-name">loglevel</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L467"></a><tt class="py-lineno">467</tt>  <tt class="py-line"> </tt>
+<a name="X2goPrintActionDIALOG.do_print"></a><div id="X2goPrintActionDIALOG.do_print-def"><a name="L468"></a><tt class="py-lineno">468</tt> <a class="py-toggle" href="#" id="X2goPrintActionDIALOG.do_print-toggle" onclick="return toggle('X2goPrintActionDIALOG.do_print');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.printactions.X2goPrintActionDIALOG-class.html#do_print">do_print</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">pdf_file</tt><tt class="py-op">,</tt> <tt class="py-param">job_title</tt><tt class="py-op">,</tt> <tt class="py-param">spool_dir</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="X2goPrintActionDIALOG.do_print-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="X2goPrintActionDIALOG.do_print-expanded"><a name="L469"></a><tt class="py-lineno">469</tt>  <tt class="py-line">        <tt class="py-docstring">"""\</tt> </tt>
+<a name="L470"></a><tt class="py-lineno">470</tt>  <tt class="py-line"><tt class="py-docstring">        Execute an external command that has been defined on construction </tt> </tt>
+<a name="L471"></a><tt class="py-lineno">471</tt>  <tt class="py-line"><tt class="py-docstring">        of this L{X2goPrintActionPRINTCMD} instance.</tt> </tt>
+<a name="L472"></a><tt class="py-lineno">472</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L473"></a><tt class="py-lineno">473</tt>  <tt class="py-line"><tt class="py-docstring">        @param pdf_file: PDF file name as placed in to the X2go spool directory</tt> </tt>
+<a name="L474"></a><tt class="py-lineno">474</tt>  <tt class="py-line"><tt class="py-docstring">        @type pdf_file: C{str}</tt> </tt>
+<a name="L475"></a><tt class="py-lineno">475</tt>  <tt class="py-line"><tt class="py-docstring">        @param job_title: human readable print job title</tt> </tt>
+<a name="L476"></a><tt class="py-lineno">476</tt>  <tt class="py-line"><tt class="py-docstring">        @type job_title: C{str}</tt> </tt>
+<a name="L477"></a><tt class="py-lineno">477</tt>  <tt class="py-line"><tt class="py-docstring">        @param spool_dir: location of the X2go client's spool directory</tt> </tt>
+<a name="L478"></a><tt class="py-lineno">478</tt>  <tt class="py-line"><tt class="py-docstring">        @type spool_dir: C{str}</tt> </tt>
+<a name="L479"></a><tt class="py-lineno">479</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L480"></a><tt class="py-lineno">480</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L481"></a><tt class="py-lineno">481</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logger</tt><tt class="py-op">(</tt><tt class="py-string">'Session %s (%s) is calling X2goClient class hook method <client_instance>.HOOK_open_print_dialog'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">session_name</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">profile_name</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">loglevel</tt><tt class="py-op">=</tt><tt id="link-148" class="py-name"><a title="x2go.log" class="py-name" href="#" onclick="return doclink('link-148', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt id="link-149" class="py-name"><a title="x2go.log.loglevel_NOTICE" class="py-name" href="#" onclick="return doclink('link-149', 'loglevel
 _NOTICE'
 , 'link-94');">loglevel_NOTICE</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L482"></a><tt class="py-lineno">482</tt>  <tt class="py-line">        <tt class="py-name">_new_print_action</tt><tt class="py-op">,</tt> <tt class="py-name">_new_print_action_properties</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">client_instance</tt><tt class="py-op">.</tt><tt id="link-150" class="py-name" targets="Method x2go.client.X2goClient.HOOK_open_print_dialog()=x2go.client.X2goClient-class.html#HOOK_open_print_dialog"><a title="x2go.client.X2goClient.HOOK_open_print_dialog" class="py-name" href="#" onclick="return doclink('link-150', 'HOOK_open_print_dialog', 'link-150');">HOOK_open_print_dialog</a></tt><tt class="py-op">(</tt><tt class="py-name">profile_name</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">profile_name</tt><tt class="py-op">,</tt> <tt class="py-name">session_name</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="p
 y-op">.<
 /tt><tt class="py-name">session_name</tt><tt class="py-op">)</tt> </tt>
+<a name="L483"></a><tt class="py-lineno">483</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">_new_print_action</tt><tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L484"></a><tt class="py-lineno">484</tt>  <tt class="py-line">            <tt class="py-name">_new_print_action</tt><tt class="py-op">.</tt><tt id="link-151" class="py-name" targets="Method x2go.printactions.X2goPrintAction.do_print()=x2go.printactions.X2goPrintAction-class.html#do_print,Method x2go.printactions.X2goPrintActionDIALOG.do_print()=x2go.printactions.X2goPrintActionDIALOG-class.html#do_print,Method x2go.printactions.X2goPrintActionPDFSAVE.do_print()=x2go.printactions.X2goPrintActionPDFSAVE-class.html#do_print,Method x2go.printactions.X2goPrintActionPDFVIEW.do_print()=x2go.printactions.X2goPrintActionPDFVIEW-class.html#do_print,Method x2go.printactions.X2goPrintActionPRINT.do_print()=x2go.printactions.X2goPrintActionPRINT-class.html#do_print,Method x2go.printactions.X2goPrintActionPRINTCMD.do_print()=x2go.printactions.X2goPrintActionPRINTCMD-class.html#do_print"><a title="x2go.printactions.X2goPrintAction.do_print
+x2go.printactions.X2goPrintActionDIALOG.do_print
+x2go.printactions.X2goPrintActionPDFSAVE.do_print
+x2go.printactions.X2goPrintActionPDFVIEW.do_print
+x2go.printactions.X2goPrintActionPRINT.do_print
+x2go.printactions.X2goPrintActionPRINTCMD.do_print" class="py-name" href="#" onclick="return doclink('link-151', 'do_print', 'link-151');">do_print</a></tt><tt class="py-op">(</tt><tt class="py-name">pdf_file</tt><tt class="py-op">,</tt> <tt class="py-name">job_title</tt><tt class="py-op">,</tt> <tt class="py-name">spool_dir</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L485"></a><tt class="py-lineno">485</tt>  <tt class="py-line"> </tt><script type="text/javascript">
 <!--
 expandto(location.href);
 // -->
@@ -975,7 +983,7 @@ expandto(location.href);
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:34 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:26 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.printactions.X2goPrintAction-class.html b/doc/html/x2go.printactions.X2goPrintAction-class.html
index c977e33..c1e70d3 100644
--- a/doc/html/x2go.printactions.X2goPrintAction-class.html
+++ b/doc/html/x2go.printactions.X2goPrintAction-class.html
@@ -347,7 +347,7 @@ object --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.printactions.X2goPrintActionDIALOG-class.html b/doc/html/x2go.printactions.X2goPrintActionDIALOG-class.html
index 1e95b23..eaa9420 100644
--- a/doc/html/x2go.printactions.X2goPrintActionDIALOG-class.html
+++ b/doc/html/x2go.printactions.X2goPrintActionDIALOG-class.html
@@ -311,7 +311,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.printactions.X2goPrintActionPDFSAVE-class.html b/doc/html/x2go.printactions.X2goPrintActionPDFSAVE-class.html
index c7253cb..b0057d5 100644
--- a/doc/html/x2go.printactions.X2goPrintActionPDFSAVE-class.html
+++ b/doc/html/x2go.printactions.X2goPrintActionPDFSAVE-class.html
@@ -309,7 +309,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.printactions.X2goPrintActionPDFVIEW-class.html b/doc/html/x2go.printactions.X2goPrintActionPDFVIEW-class.html
index 322225b..ae18a96 100644
--- a/doc/html/x2go.printactions.X2goPrintActionPDFVIEW-class.html
+++ b/doc/html/x2go.printactions.X2goPrintActionPDFVIEW-class.html
@@ -312,7 +312,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.printactions.X2goPrintActionPRINT-class.html b/doc/html/x2go.printactions.X2goPrintActionPRINT-class.html
index 3a47618..bf4db6f 100644
--- a/doc/html/x2go.printactions.X2goPrintActionPRINT-class.html
+++ b/doc/html/x2go.printactions.X2goPrintActionPRINT-class.html
@@ -305,7 +305,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.printactions.X2goPrintActionPRINTCMD-class.html b/doc/html/x2go.printactions.X2goPrintActionPRINTCMD-class.html
index f300a31..fdb8bf3 100644
--- a/doc/html/x2go.printactions.X2goPrintActionPRINTCMD-class.html
+++ b/doc/html/x2go.printactions.X2goPrintActionPRINTCMD-class.html
@@ -311,7 +311,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.printqueue-module.html b/doc/html/x2go.printqueue-module.html
index 961b180..bf2de91 100644
--- a/doc/html/x2go.printqueue-module.html
+++ b/doc/html/x2go.printqueue-module.html
@@ -239,7 +239,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.printqueue-pysrc.html b/doc/html/x2go.printqueue-pysrc.html
index 8f3c74c..80da49a 100644
--- a/doc/html/x2go.printqueue-pysrc.html
+++ b/doc/html/x2go.printqueue-pysrc.html
@@ -577,7 +577,7 @@ expandto(location.href);
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:34 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:25 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.printqueue.X2goPrintJob-class.html b/doc/html/x2go.printqueue.X2goPrintJob-class.html
index 5272056..b19ac13 100644
--- a/doc/html/x2go.printqueue.X2goPrintJob-class.html
+++ b/doc/html/x2go.printqueue.X2goPrintJob-class.html
@@ -221,7 +221,7 @@ threading._Verbose --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.printqueue.X2goPrintQueue-class.html b/doc/html/x2go.printqueue.X2goPrintQueue-class.html
index 3386237..e9c8b13 100644
--- a/doc/html/x2go.printqueue.X2goPrintQueue-class.html
+++ b/doc/html/x2go.printqueue.X2goPrintQueue-class.html
@@ -471,7 +471,7 @@ threading._Verbose --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.pulseaudio-module.html b/doc/html/x2go.pulseaudio-module.html
index 160682b..b4a4e7b 100644
--- a/doc/html/x2go.pulseaudio-module.html
+++ b/doc/html/x2go.pulseaudio-module.html
@@ -130,7 +130,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.pulseaudio-pysrc.html b/doc/html/x2go.pulseaudio-pysrc.html
index 43bca5d..dde8991 100644
--- a/doc/html/x2go.pulseaudio-pysrc.html
+++ b/doc/html/x2go.pulseaudio-pysrc.html
@@ -340,7 +340,7 @@ expandto(location.href);
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:34 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:25 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.pulseaudio.X2goPulseAudio-class.html b/doc/html/x2go.pulseaudio.X2goPulseAudio-class.html
index 6ecba42..aeff5d8 100644
--- a/doc/html/x2go.pulseaudio.X2goPulseAudio-class.html
+++ b/doc/html/x2go.pulseaudio.X2goPulseAudio-class.html
@@ -276,7 +276,7 @@ threading._Verbose --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.registry-module.html b/doc/html/x2go.registry-module.html
index 09fe5f3..38fbff8 100644
--- a/doc/html/x2go.registry-module.html
+++ b/doc/html/x2go.registry-module.html
@@ -133,7 +133,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.registry-pysrc.html b/doc/html/x2go.registry-pysrc.html
index 713d642..ae30748 100644
--- a/doc/html/x2go.registry-pysrc.html
+++ b/doc/html/x2go.registry-pysrc.html
@@ -792,7 +792,7 @@ expandto(location.href);
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:34 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:25 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.registry.X2goSessionRegistry-class.html b/doc/html/x2go.registry.X2goSessionRegistry-class.html
index c746f62..807b600 100644
--- a/doc/html/x2go.registry.X2goSessionRegistry-class.html
+++ b/doc/html/x2go.registry.X2goSessionRegistry-class.html
@@ -849,7 +849,7 @@ object --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.rforward-module.html b/doc/html/x2go.rforward-module.html
index c3ca75f..c247802 100644
--- a/doc/html/x2go.rforward-module.html
+++ b/doc/html/x2go.rforward-module.html
@@ -293,7 +293,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.rforward-pysrc.html b/doc/html/x2go.rforward-pysrc.html
index 92b7e98..d80cad8 100644
--- a/doc/html/x2go.rforward-pysrc.html
+++ b/doc/html/x2go.rforward-pysrc.html
@@ -590,7 +590,7 @@ expandto(location.href);
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:34 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:25 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.rforward.X2goRevFwChannelThread-class.html b/doc/html/x2go.rforward.X2goRevFwChannelThread-class.html
index 9bd8906..1dc380f 100644
--- a/doc/html/x2go.rforward.X2goRevFwChannelThread-class.html
+++ b/doc/html/x2go.rforward.X2goRevFwChannelThread-class.html
@@ -235,7 +235,7 @@ threading._Verbose --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.rforward.X2goRevFwTunnel-class.html b/doc/html/x2go.rforward.X2goRevFwTunnel-class.html
index 6177234..7917400 100644
--- a/doc/html/x2go.rforward.X2goRevFwTunnel-class.html
+++ b/doc/html/x2go.rforward.X2goRevFwTunnel-class.html
@@ -480,7 +480,7 @@ threading._Verbose --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.session-module.html b/doc/html/x2go.session-module.html
index 2a7acdb..abeaeb2 100644
--- a/doc/html/x2go.session-module.html
+++ b/doc/html/x2go.session-module.html
@@ -131,7 +131,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.session-pysrc.html b/doc/html/x2go.session-pysrc.html
index 5e7cc6d..f94722e 100644
--- a/doc/html/x2go.session-pysrc.html
+++ b/doc/html/x2go.session-pysrc.html
@@ -1255,7 +1255,7 @@ expandto(location.href);
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:35 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:26 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.session.X2goSession-class.html b/doc/html/x2go.session.X2goSession-class.html
index da7985b..f9647ce 100644
--- a/doc/html/x2go.session.X2goSession-class.html
+++ b/doc/html/x2go.session.X2goSession-class.html
@@ -1522,7 +1522,7 @@ object --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.sftpserver-module.html b/doc/html/x2go.sftpserver-module.html
index 1f2178c..61f8724 100644
--- a/doc/html/x2go.sftpserver-module.html
+++ b/doc/html/x2go.sftpserver-module.html
@@ -236,7 +236,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.sftpserver-pysrc.html b/doc/html/x2go.sftpserver-pysrc.html
index 926d598..4cd77c6 100644
--- a/doc/html/x2go.sftpserver-pysrc.html
+++ b/doc/html/x2go.sftpserver-pysrc.html
@@ -846,7 +846,7 @@ expandto(location.href);
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:35 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:25 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.sftpserver.X2goRevFwSFTPChannelThread-class.html b/doc/html/x2go.sftpserver.X2goRevFwSFTPChannelThread-class.html
index b62db5e..6b90a6a 100644
--- a/doc/html/x2go.sftpserver.X2goRevFwSFTPChannelThread-class.html
+++ b/doc/html/x2go.sftpserver.X2goRevFwSFTPChannelThread-class.html
@@ -169,7 +169,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.sftpserver.X2goRevFwTunnelToSFTP-class.html b/doc/html/x2go.sftpserver.X2goRevFwTunnelToSFTP-class.html
index c63d383..35ff6fc 100644
--- a/doc/html/x2go.sftpserver.X2goRevFwTunnelToSFTP-class.html
+++ b/doc/html/x2go.sftpserver.X2goRevFwTunnelToSFTP-class.html
@@ -323,7 +323,7 @@ threading._Verbose --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.sshproxy-module.html b/doc/html/x2go.sshproxy-module.html
index beb50b3..f8db204 100644
--- a/doc/html/x2go.sshproxy-module.html
+++ b/doc/html/x2go.sshproxy-module.html
@@ -135,7 +135,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.sshproxy-pysrc.html b/doc/html/x2go.sshproxy-pysrc.html
index 3c99cd8..494fd83 100644
--- a/doc/html/x2go.sshproxy-pysrc.html
+++ b/doc/html/x2go.sshproxy-pysrc.html
@@ -476,7 +476,7 @@ expandto(location.href);
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:34 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:25 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.sshproxy.X2goSSHProxy-class.html b/doc/html/x2go.sshproxy.X2goSSHProxy-class.html
index 1a31dd0..a69406d 100644
--- a/doc/html/x2go.sshproxy.X2goSSHProxy-class.html
+++ b/doc/html/x2go.sshproxy.X2goSSHProxy-class.html
@@ -403,7 +403,7 @@ threading._Verbose --+   |
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.utils-module.html b/doc/html/x2go.utils-module.html
index ba1f36a..37ca8d2 100644
--- a/doc/html/x2go.utils-module.html
+++ b/doc/html/x2go.utils-module.html
@@ -238,6 +238,22 @@
       
     </td>
   </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="is_abs_path"></a><span class="summary-sig-name">is_abs_path</span>(<span class="summary-sig-arg">path</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="x2go.utils-pysrc.html#is_abs_path">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
 </table>
 <!-- ==================== VARIABLES ==================== -->
 <a name="section-Variables"></a>
@@ -293,7 +309,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.utils-pysrc.html b/doc/html/x2go.utils-pysrc.html
index 3c3f8ee..87a48e2 100644
--- a/doc/html/x2go.utils-pysrc.html
+++ b/doc/html/x2go.utils-pysrc.html
@@ -129,278 +129,283 @@ x2go.xserver.__NAME__" class="py-name" href="#" onclick="return doclink('link-0'
 <a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">paramiko</tt> </tt>
 <a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">socket</tt> </tt>
 <a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">gevent</tt> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line"> </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line"><tt class="py-comment"># Python X2go modules</tt> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-1" class="py-name" targets="Module x2go.defaults=x2go.defaults-module.html"><a title="x2go.defaults" class="py-name" href="#" onclick="return doclink('link-1', 'defaults', 'link-1');">defaults</a></tt> <tt class="py-keyword">import</tt> <tt id="link-2" class="py-name" targets="Variable x2go.defaults.X2GOCLIENT_OS=x2go.defaults-module.html#X2GOCLIENT_OS"><a title="x2go.defaults.X2GOCLIENT_OS" class="py-name" href="#" onclick="return doclink('link-2', 'X2GOCLIENT_OS', 'link-2');">X2GOCLIENT_OS</a></tt> <tt class="py-keyword">as</tt> <tt class="py-name">_X2GOCLIENT_OS</tt> </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-3" class="py-name"><a title="x2go.defaults" class="py-name" href="#" onclick="return doclink('link-3', 'defaults', 'link-1');">defaults</a></tt> <tt class="py-keyword">import</tt> <tt id="link-4" class="py-name" targets="Variable x2go.defaults.X2GO_SESSIONPROFILE_DEFAULTS=x2go.defaults-module.html#X2GO_SESSIONPROFILE_DEFAULTS"><a title="x2go.defaults.X2GO_SESSIONPROFILE_DEFAULTS" class="py-name" href="#" onclick="return doclink('link-4', 'X2GO_SESSIONPROFILE_DEFAULTS', 'link-4');">X2GO_SESSIONPROFILE_DEFAULTS</a></tt> <tt class="py-keyword">as</tt> <tt class="py-name">_X2GO_SESSIONPROFILE_DEFAULTS</tt> </tt>
-<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-5" class="py-name"><a title="x2go.defaults" class="py-name" href="#" onclick="return doclink('link-5', 'defaults', 'link-1');">defaults</a></tt> <tt class="py-keyword">import</tt> <tt id="link-6" class="py-name" targets="Variable x2go.defaults.X2GO_DROPBOX_ACTIONS=x2go.defaults-module.html#X2GO_DROPBOX_ACTIONS"><a title="x2go.defaults.X2GO_DROPBOX_ACTIONS" class="py-name" href="#" onclick="return doclink('link-6', 'X2GO_DROPBOX_ACTIONS', 'link-6');">X2GO_DROPBOX_ACTIONS</a></tt> <tt class="py-keyword">as</tt> <tt class="py-name">_X2GO_DROPBOX_ACTIONS</tt> </tt>
-<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-7" class="py-name"><a title="x2go.defaults" class="py-name" href="#" onclick="return doclink('link-7', 'defaults', 'link-1');">defaults</a></tt> <tt class="py-keyword">import</tt> <tt id="link-8" class="py-name" targets="Variable x2go.defaults._pack_methods_nx3=x2go.defaults-module.html#_pack_methods_nx3"><a title="x2go.defaults._pack_methods_nx3" class="py-name" href="#" onclick="return doclink('link-8', '_pack_methods_nx3', 'link-8');">_pack_methods_nx3</a></tt> </tt>
-<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line"> </tt>
-<a name="is_in_nx3packmethods"></a><div id="is_in_nx3packmethods-def"><a name="L42"></a><tt class="py-lineno"> 42</tt> <a class="py-toggle" href="#" id="is_in_nx3packmethods-toggle" onclick="return toggle('is_in_nx3packmethods');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.utils-module.html#is_in_nx3packmethods">is_in_nx3packmethods</a><tt class="py-op">(</tt><tt class="py-param">method</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="is_in_nx3packmethods-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="is_in_nx3packmethods-expanded"><a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line"> </tt>
-<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">    <tt class="py-docstring">"""\</tt> </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line"><tt class="py-docstring">    Test if a given compression method is valid for NX3 Proxy.</tt> </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">method</tt> <tt class="py-keyword">in</tt> <tt id="link-9" class="py-name"><a title="x2go.defaults._pack_methods_nx3" class="py-name" href="#" onclick="return doclink('link-9', '_pack_methods_nx3', 'link-8');">_pack_methods_nx3</a></tt> </tt>
-</div><a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line"> </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line"> </tt>
-<a name="find_session_line_in_x2golistsessions"></a><div id="find_session_line_in_x2golistsessions-def"><a name="L51"></a><tt class="py-lineno"> 51</tt> <a class="py-toggle" href="#" id="find_session_line_in_x2golistsessions-toggle" onclick="return toggle('find_session_line_in_x2golistsessions');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.utils-module.html#find_session_line_in_x2golistsessions">find_session_line_in_x2golistsessions</a><tt class="py-op">(</tt><tt class="py-param">session_name</tt><tt class="py-op">,</tt> <tt class="py-param">x2go_stdout</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="find_session_line_in_x2golistsessions-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="find_session_line_in_x2golistsessions-expanded"><a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">    <tt class="py-docstring">"""\</tt> </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line"><tt class="py-docstring">    Return the X2go session meta info as output by x2golistsessions command</tt> </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line"><tt class="py-docstring">    for session C{session_name}.</tt> </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">    <tt class="py-name">sessions</tt> <tt class="py-op">=</tt> <tt class="py-name">stdout</tt><tt class="py-op">.</tt><tt class="py-name">read</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">"\n"</tt><tt class="py-op">)</tt> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">line</tt> <tt class="py-keyword">in</tt> <tt class="py-name">sessions</tt><tt class="py-op">:</tt> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">        <tt class="py-comment"># skip empty lines</tt> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">line</tt><tt class="py-op">:</tt> </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">            <tt class="py-keyword">continue</tt> </tt>
-<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">session_name</tt> <tt class="py-op">==</tt> <tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">"|"</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">line</tt> </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
-</div><a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line"> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line"> </tt>
-<a name="slugify"></a><div id="slugify-def"><a name="L67"></a><tt class="py-lineno"> 67</tt> <a class="py-toggle" href="#" id="slugify-toggle" onclick="return toggle('slugify');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.utils-module.html#slugify">slugify</a><tt class="py-op">(</tt><tt class="py-param">value</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="slugify-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="slugify-expanded"><a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">    <tt class="py-docstring">"""\</tt> </tt>
-<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line"><tt class="py-docstring">    Normalizes string, converts to lowercase, removes non-alpha characters,</tt> </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line"><tt class="py-docstring">    and converts spaces to hyphens.</tt> </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">    <tt class="py-keyword">import</tt> <tt class="py-name">unicodedata</tt> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">    <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-name">unicodedata</tt><tt class="py-op">.</tt><tt class="py-name">normalize</tt><tt class="py-op">(</tt><tt class="py-string">'NFKD'</tt><tt class="py-op">,</tt> <tt class="py-name">unicode</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">encode</tt><tt class="py-op">(</tt><tt class="py-string">'ascii'</tt><tt class="py-op">,</tt> <tt class="py-string">'ignore'</tt><tt class="py-op">)</tt> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">    <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">'[^\w\s-]'</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">    <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">'[(]'</tt><tt class="py-op">,</tt> <tt class="py-string">'<'</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">    <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">'[)]'</tt><tt class="py-op">,</tt> <tt class="py-string">'>'</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">value</tt> </tt>
-</div><a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line"> </tt>
-<a name="_genSessionProfileId"></a><div id="_genSessionProfileId-def"><a name="L80"></a><tt class="py-lineno"> 80</tt> <a class="py-toggle" href="#" id="_genSessionProfileId-toggle" onclick="return toggle('_genSessionProfileId');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.utils-module.html#_genSessionProfileId">_genSessionProfileId</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_genSessionProfileId-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_genSessionProfileId-expanded"><a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">    <tt class="py-docstring">"""\</tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line"><tt class="py-docstring">    Generate a session profile ID as used in x2goclient's sessions config file.</tt> </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">    <tt class="py-keyword">import</tt> <tt class="py-name">datetime</tt> </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">datetime</tt><tt class="py-op">.</tt><tt class="py-name">datetime</tt><tt class="py-op">.</tt><tt class="py-name">utcnow</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">strftime</tt><tt class="py-op">(</tt><tt class="py-string">'%Y%m%d%H%m%S%f'</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line"> </tt>
-<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line"> </tt>
-<a name="_checkIniFileDefaults"></a><div id="_checkIniFileDefaults-def"><a name="L88"></a><tt class="py-lineno"> 88</tt> <a class="py-toggle" href="#" id="_checkIniFileDefaults-toggle" onclick="return toggle('_checkIniFileDefaults');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.utils-module.html#_checkIniFileDefaults">_checkIniFileDefaults</a><tt class="py-op">(</tt><tt class="py-param">defaults</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_checkIniFileDefaults-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_checkIniFileDefaults-expanded"><a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">    <tt class="py-docstring">"""\</tt> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line"><tt class="py-docstring">    Check an ini file data structure passed on by a user app or class.</tt> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-10" class="py-name"><a title="x2go.defaults" class="py-name" href="#" onclick="return doclink('link-10', 'defaults', 'link-1');">defaults</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt id="link-11" class="py-name"><a title="x2go.defaults" class="py-name" href="#" onclick="return doclink('link-11', 'defaults', 'link-1');">defaults</a></tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">DictType</tt><tt class="py-op">:</tt> </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">string</tt> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line"> </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line"><tt class="py-comment"># Python X2go modules</tt> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-1" class="py-name" targets="Module x2go.defaults=x2go.defaults-module.html"><a title="x2go.defaults" class="py-name" href="#" onclick="return doclink('link-1', 'defaults', 'link-1');">defaults</a></tt> <tt class="py-keyword">import</tt> <tt id="link-2" class="py-name" targets="Variable x2go.defaults.X2GOCLIENT_OS=x2go.defaults-module.html#X2GOCLIENT_OS"><a title="x2go.defaults.X2GOCLIENT_OS" class="py-name" href="#" onclick="return doclink('link-2', 'X2GOCLIENT_OS', 'link-2');">X2GOCLIENT_OS</a></tt> <tt class="py-keyword">as</tt> <tt class="py-name">_X2GOCLIENT_OS</tt> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-3" class="py-name"><a title="x2go.defaults" class="py-name" href="#" onclick="return doclink('link-3', 'defaults', 'link-1');">defaults</a></tt> <tt class="py-keyword">import</tt> <tt id="link-4" class="py-name" targets="Variable x2go.defaults.X2GO_SESSIONPROFILE_DEFAULTS=x2go.defaults-module.html#X2GO_SESSIONPROFILE_DEFAULTS"><a title="x2go.defaults.X2GO_SESSIONPROFILE_DEFAULTS" class="py-name" href="#" onclick="return doclink('link-4', 'X2GO_SESSIONPROFILE_DEFAULTS', 'link-4');">X2GO_SESSIONPROFILE_DEFAULTS</a></tt> <tt class="py-keyword">as</tt> <tt class="py-name">_X2GO_SESSIONPROFILE_DEFAULTS</tt> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-5" class="py-name"><a title="x2go.defaults" class="py-name" href="#" onclick="return doclink('link-5', 'defaults', 'link-1');">defaults</a></tt> <tt class="py-keyword">import</tt> <tt id="link-6" class="py-name" targets="Variable x2go.defaults.X2GO_DROPBOX_ACTIONS=x2go.defaults-module.html#X2GO_DROPBOX_ACTIONS"><a title="x2go.defaults.X2GO_DROPBOX_ACTIONS" class="py-name" href="#" onclick="return doclink('link-6', 'X2GO_DROPBOX_ACTIONS', 'link-6');">X2GO_DROPBOX_ACTIONS</a></tt> <tt class="py-keyword">as</tt> <tt class="py-name">_X2GO_DROPBOX_ACTIONS</tt> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-7" class="py-name"><a title="x2go.defaults" class="py-name" href="#" onclick="return doclink('link-7', 'defaults', 'link-1');">defaults</a></tt> <tt class="py-keyword">import</tt> <tt id="link-8" class="py-name" targets="Variable x2go.defaults._pack_methods_nx3=x2go.defaults-module.html#_pack_methods_nx3"><a title="x2go.defaults._pack_methods_nx3" class="py-name" href="#" onclick="return doclink('link-8', '_pack_methods_nx3', 'link-8');">_pack_methods_nx3</a></tt> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line"> </tt>
+<a name="is_in_nx3packmethods"></a><div id="is_in_nx3packmethods-def"><a name="L44"></a><tt class="py-lineno"> 44</tt> <a class="py-toggle" href="#" id="is_in_nx3packmethods-toggle" onclick="return toggle('is_in_nx3packmethods');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.utils-module.html#is_in_nx3packmethods">is_in_nx3packmethods</a><tt class="py-op">(</tt><tt class="py-param">method</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="is_in_nx3packmethods-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="is_in_nx3packmethods-expanded"><a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line"> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">    <tt class="py-docstring">"""\</tt> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line"><tt class="py-docstring">    Test if a given compression method is valid for NX3 Proxy.</tt> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">method</tt> <tt class="py-keyword">in</tt> <tt id="link-9" class="py-name"><a title="x2go.defaults._pack_methods_nx3" class="py-name" href="#" onclick="return doclink('link-9', '_pack_methods_nx3', 'link-8');">_pack_methods_nx3</a></tt> </tt>
+</div><a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line"> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line"> </tt>
+<a name="find_session_line_in_x2golistsessions"></a><div id="find_session_line_in_x2golistsessions-def"><a name="L53"></a><tt class="py-lineno"> 53</tt> <a class="py-toggle" href="#" id="find_session_line_in_x2golistsessions-toggle" onclick="return toggle('find_session_line_in_x2golistsessions');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.utils-module.html#find_session_line_in_x2golistsessions">find_session_line_in_x2golistsessions</a><tt class="py-op">(</tt><tt class="py-param">session_name</tt><tt class="py-op">,</tt> <tt class="py-param">x2go_stdout</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="find_session_line_in_x2golistsessions-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="find_session_line_in_x2golistsessions-expanded"><a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">    <tt class="py-docstring">"""\</tt> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line"><tt class="py-docstring">    Return the X2go session meta info as output by x2golistsessions command</tt> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line"><tt class="py-docstring">    for session C{session_name}.</tt> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">    <tt class="py-name">sessions</tt> <tt class="py-op">=</tt> <tt class="py-name">stdout</tt><tt class="py-op">.</tt><tt class="py-name">read</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">"\n"</tt><tt class="py-op">)</tt> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">line</tt> <tt class="py-keyword">in</tt> <tt class="py-name">sessions</tt><tt class="py-op">:</tt> </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">        <tt class="py-comment"># skip empty lines</tt> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">line</tt><tt class="py-op">:</tt> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">            <tt class="py-keyword">continue</tt> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">session_name</tt> <tt class="py-op">==</tt> <tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">"|"</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">line</tt> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+</div><a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line"> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line"> </tt>
+<a name="slugify"></a><div id="slugify-def"><a name="L69"></a><tt class="py-lineno"> 69</tt> <a class="py-toggle" href="#" id="slugify-toggle" onclick="return toggle('slugify');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.utils-module.html#slugify">slugify</a><tt class="py-op">(</tt><tt class="py-param">value</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="slugify-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="slugify-expanded"><a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">    <tt class="py-docstring">"""\</tt> </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line"><tt class="py-docstring">    Normalizes string, converts to lowercase, removes non-alpha characters,</tt> </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line"><tt class="py-docstring">    and converts spaces to hyphens.</tt> </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">    <tt class="py-keyword">import</tt> <tt class="py-name">unicodedata</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">    <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-name">unicodedata</tt><tt class="py-op">.</tt><tt class="py-name">normalize</tt><tt class="py-op">(</tt><tt class="py-string">'NFKD'</tt><tt class="py-op">,</tt> <tt class="py-name">unicode</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">encode</tt><tt class="py-op">(</tt><tt class="py-string">'ascii'</tt><tt class="py-op">,</tt> <tt class="py-string">'ignore'</tt><tt class="py-op">)</tt> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">    <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">'[^\w\s-]'</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">    <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">'[(]'</tt><tt class="py-op">,</tt> <tt class="py-string">'<'</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">    <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">'[)]'</tt><tt class="py-op">,</tt> <tt class="py-string">'>'</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">value</tt> </tt>
+</div><a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line"> </tt>
+<a name="_genSessionProfileId"></a><div id="_genSessionProfileId-def"><a name="L82"></a><tt class="py-lineno"> 82</tt> <a class="py-toggle" href="#" id="_genSessionProfileId-toggle" onclick="return toggle('_genSessionProfileId');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.utils-module.html#_genSessionProfileId">_genSessionProfileId</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_genSessionProfileId-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_genSessionProfileId-expanded"><a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">    <tt class="py-docstring">"""\</tt> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line"><tt class="py-docstring">    Generate a session profile ID as used in x2goclient's sessions config file.</tt> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">    <tt class="py-keyword">import</tt> <tt class="py-name">datetime</tt> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">datetime</tt><tt class="py-op">.</tt><tt class="py-name">datetime</tt><tt class="py-op">.</tt><tt class="py-name">utcnow</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">strftime</tt><tt class="py-op">(</tt><tt class="py-string">'%Y%m%d%H%m%S%f'</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line"> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line"> </tt>
+<a name="_checkIniFileDefaults"></a><div id="_checkIniFileDefaults-def"><a name="L90"></a><tt class="py-lineno"> 90</tt> <a class="py-toggle" href="#" id="_checkIniFileDefaults-toggle" onclick="return toggle('_checkIniFileDefaults');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.utils-module.html#_checkIniFileDefaults">_checkIniFileDefaults</a><tt class="py-op">(</tt><tt class="py-param">defaults</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_checkIniFileDefaults-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_checkIniFileDefaults-expanded"><a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">    <tt class="py-docstring">"""\</tt> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line"><tt class="py-docstring">    Check an ini file data structure passed on by a user app or class.</tt> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-10" class="py-name"><a title="x2go.defaults" class="py-name" href="#" onclick="return doclink('link-10', 'defaults', 'link-1');">defaults</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
 <a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">sub_dict</tt> <tt class="py-keyword">in</tt> <tt id="link-12" class="py-name"><a title="x2go.defaults" class="py-name" href="#" onclick="return doclink('link-12', 'defaults', 'link-1');">defaults</a></tt><tt class="py-op">.</tt><tt class="py-name">values</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">sub_dict</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">DictType</tt><tt class="py-op">:</tt> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
-</div><a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line"> </tt>
-<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line"> </tt>
-<a name="_checkSessionProfileDefaults"></a><div id="_checkSessionProfileDefaults-def"><a name="L103"></a><tt class="py-lineno">103</tt> <a class="py-toggle" href="#" id="_checkSessionProfileDefaults-toggle" onclick="return toggle('_checkSessionProfileDefaults');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.utils-module.html#_checkSessionProfileDefaults">_checkSessionProfileDefaults</a><tt class="py-op">(</tt><tt class="py-param">defaults</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_checkSessionProfileDefaults-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_checkSessionProfileDefaults-expanded"><a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">    <tt class="py-docstring">"""\</tt> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line"><tt class="py-docstring">    Check the data structure of a default session profile passed by a user app.</tt> </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-13" class="py-name"><a title="x2go.defaults" class="py-name" href="#" onclick="return doclink('link-13', 'defaults', 'link-1');">defaults</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
-<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt id="link-14" class="py-name"><a title="x2go.defaults" class="py-name" href="#" onclick="return doclink('link-14', 'defaults', 'link-1');">defaults</a></tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">DictType</tt><tt class="py-op">:</tt> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt id="link-11" class="py-name"><a title="x2go.defaults" class="py-name" href="#" onclick="return doclink('link-11', 'defaults', 'link-1');">defaults</a></tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">DictType</tt><tt class="py-op">:</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">sub_dict</tt> <tt class="py-keyword">in</tt> <tt id="link-12" class="py-name"><a title="x2go.defaults" class="py-name" href="#" onclick="return doclink('link-12', 'defaults', 'link-1');">defaults</a></tt><tt class="py-op">.</tt><tt class="py-name">values</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">sub_dict</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">DictType</tt><tt class="py-op">:</tt> </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
+</div><a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line"> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line"> </tt>
+<a name="_checkSessionProfileDefaults"></a><div id="_checkSessionProfileDefaults-def"><a name="L105"></a><tt class="py-lineno">105</tt> <a class="py-toggle" href="#" id="_checkSessionProfileDefaults-toggle" onclick="return toggle('_checkSessionProfileDefaults');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.utils-module.html#_checkSessionProfileDefaults">_checkSessionProfileDefaults</a><tt class="py-op">(</tt><tt class="py-param">defaults</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_checkSessionProfileDefaults-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_checkSessionProfileDefaults-expanded"><a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">    <tt class="py-docstring">"""\</tt> </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line"><tt class="py-docstring">    Check the data structure of a default session profile passed by a user app.</tt> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-13" class="py-name"><a title="x2go.defaults" class="py-name" href="#" onclick="return doclink('link-13', 'defaults', 'link-1');">defaults</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
 <a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
-</div><a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line"> </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line"> </tt>
-<a name="_convert_SessionProfileOptions_2_SessionParams"></a><div id="_convert_SessionProfileOptions_2_SessionParams-def"><a name="L115"></a><tt class="py-lineno">115</tt> <a class="py-toggle" href="#" id="_convert_SessionProfileOptions_2_SessionParams-toggle" onclick="return toggle('_convert_SessionProfileOptions_2_SessionParams');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.utils-module.html#_convert_SessionProfileOptions_2_SessionParams">_convert_SessionProfileOptions_2_SessionParams</a><tt class="py-op">(</tt><tt class="py-param">_options</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_convert_SessionProfileOptions_2_SessionParams-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_convert_SessionProfileOptions_2_SessionParams-expanded"><a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line"> </tt>
-<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">        <tt class="py-name">_params</tt> <tt class="py-op">=</tt> <tt class="py-name">copy</tt><tt class="py-op">.</tt><tt class="py-name">deepcopy</tt><tt class="py-op">(</tt><tt class="py-name">_options</tt><tt class="py-op">)</tt> </tt>
-<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line"> </tt>
-<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">        <tt class="py-comment"># get rid of unknown session profile options</tt> </tt>
-<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">        <tt class="py-name">_known_options</tt> <tt class="py-op">=</tt> <tt class="py-name">_X2GO_SESSIONPROFILE_DEFAULTS</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name" targets="Method x2go.registry.X2goSessionRegistry.keys()=x2go.registry.X2goSessionRegistry-class.html#keys"><a title="x2go.registry.X2goSessionRegistry.keys" class="py-name" href="#" onclick="return doclink('link-15', 'keys', 'link-15');">keys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">p</tt> <tt class="py-keyword">in</tt> <tt class="py-name">_params</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name"><a title="x2go.registry.X2goSessionRegistry.keys" class="py-name" href="#" onclick="return doclink('link-16', 'keys', 'link-15');">keys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">p</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">_known_options</tt><tt class="py-op">:</tt> </tt>
-<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">                <tt class="py-keyword">del</tt> <tt class="py-name">_params</tt><tt class="py-op">[</tt><tt class="py-name">p</tt><tt class="py-op">]</tt> </tt>
-<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line"> </tt>
-<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">        <tt class="py-name">_rename_dict</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
-<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">            <tt class="py-string">'host'</tt><tt class="py-op">:</tt> <tt class="py-string">'server'</tt><tt class="py-op">,</tt> </tt>
-<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">            <tt class="py-string">'user'</tt><tt class="py-op">:</tt> <tt class="py-string">'username'</tt><tt class="py-op">,</tt> </tt>
-<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">            <tt class="py-string">'soundsystem'</tt><tt class="py-op">:</tt> <tt class="py-string">'snd_system'</tt><tt class="py-op">,</tt> </tt>
-<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">            <tt class="py-string">'sndport'</tt><tt class="py-op">:</tt> <tt class="py-string">'snd_port'</tt><tt class="py-op">,</tt> </tt>
-<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">            <tt class="py-string">'type'</tt><tt class="py-op">:</tt> <tt class="py-string">'kbtype'</tt><tt class="py-op">,</tt> </tt>
-<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">            <tt class="py-string">'layout'</tt><tt class="py-op">:</tt> <tt class="py-string">'kblayout'</tt><tt class="py-op">,</tt> </tt>
-<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">            <tt class="py-string">'speed'</tt><tt class="py-op">:</tt> <tt class="py-string">'link'</tt><tt class="py-op">,</tt> </tt>
-<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">            <tt class="py-string">'sshport'</tt><tt class="py-op">:</tt> <tt class="py-string">'port'</tt><tt class="py-op">,</tt> </tt>
-<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">            <tt class="py-string">'useexports'</tt><tt class="py-op">:</tt> <tt class="py-string">'allow_share_local_folders'</tt><tt class="py-op">,</tt> </tt>
-<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">            <tt class="py-string">'export'</tt><tt class="py-op">:</tt> <tt class="py-string">'share_local_folders'</tt><tt class="py-op">,</tt> </tt>
-<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">            <tt class="py-string">'usedropbox'</tt><tt class="py-op">:</tt> <tt class="py-string">'allow_dropbox'</tt><tt class="py-op">,</tt> </tt>
-<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">            <tt class="py-string">'dropboxextensions'</tt><tt class="py-op">:</tt> <tt class="py-string">'dropbox_extensions'</tt><tt class="py-op">,</tt> </tt>
-<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">            <tt class="py-string">'dropboxaction'</tt><tt class="py-op">:</tt> <tt class="py-string">'dropbox_action'</tt><tt class="py-op">,</tt> </tt>
-<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">            <tt class="py-string">'print'</tt><tt class="py-op">:</tt> <tt class="py-string">'printing'</tt><tt class="py-op">,</tt> </tt>
-<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">            <tt class="py-string">'name'</tt><tt class="py-op">:</tt> <tt class="py-string">'profile_name'</tt><tt class="py-op">,</tt> </tt>
-<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">            <tt class="py-string">'key'</tt><tt class="py-op">:</tt> <tt class="py-string">'key_filename'</tt><tt class="py-op">,</tt> </tt>
-<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">            <tt class="py-string">'command'</tt><tt class="py-op">:</tt> <tt class="py-string">'cmd'</tt><tt class="py-op">,</tt> </tt>
-<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">            <tt class="py-string">'rdpserver'</tt><tt class="py-op">:</tt> <tt class="py-string">'rdp_server'</tt><tt class="py-op">,</tt> </tt>
-<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">            <tt class="py-string">'rdpoptions'</tt><tt class="py-op">:</tt> <tt class="py-string">'rdp_options'</tt><tt class="py-op">,</tt> </tt>
-<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">            <tt class="py-string">'xdmcpserver'</tt><tt class="py-op">:</tt> <tt class="py-string">'xdmcp_server'</tt><tt class="py-op">,</tt> </tt>
-<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">            <tt class="py-string">'useiconv'</tt><tt class="py-op">:</tt> <tt class="py-string">'convert_encoding'</tt><tt class="py-op">,</tt> </tt>
-<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">            <tt class="py-string">'iconvto'</tt><tt class="py-op">:</tt> <tt class="py-string">'server_encoding'</tt><tt class="py-op">,</tt> </tt>
-<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">            <tt class="py-string">'iconvfrom'</tt><tt class="py-op">:</tt> <tt class="py-string">'client_encoding'</tt><tt class="py-op">,</tt> </tt>
-<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">            <tt class="py-string">'usesshproxy'</tt><tt class="py-op">:</tt> <tt class="py-string">'use_sshproxy'</tt><tt class="py-op">,</tt> </tt>
-<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">            <tt class="py-string">'sshproxyhost'</tt><tt class="py-op">:</tt> <tt class="py-string">'sshproxy_host'</tt><tt class="py-op">,</tt> </tt>
-<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">            <tt class="py-string">'sshproxyuser'</tt><tt class="py-op">:</tt> <tt class="py-string">'sshproxy_user'</tt><tt class="py-op">,</tt> </tt>
-<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">            <tt class="py-string">'sshproxykeyfile'</tt><tt class="py-op">:</tt> <tt class="py-string">'sshproxy_key_filename'</tt><tt class="py-op">,</tt> </tt>
-<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">            <tt class="py-string">'sshproxytunnel'</tt><tt class="py-op">:</tt> <tt class="py-string">'sshproxy_tunnel'</tt><tt class="py-op">,</tt> </tt>
-<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line"> </tt>
-<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">        <tt class="py-op">}</tt> </tt>
-<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">        <tt class="py-name">_speed_dict</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
-<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">            <tt class="py-string">'0'</tt><tt class="py-op">:</tt> <tt class="py-string">'modem'</tt><tt class="py-op">,</tt> </tt>
-<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">            <tt class="py-string">'1'</tt><tt class="py-op">:</tt> <tt class="py-string">'isdn'</tt><tt class="py-op">,</tt> </tt>
-<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">            <tt class="py-string">'2'</tt><tt class="py-op">:</tt> <tt class="py-string">'adsl'</tt><tt class="py-op">,</tt> </tt>
-<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">            <tt class="py-string">'3'</tt><tt class="py-op">:</tt> <tt class="py-string">'wan'</tt><tt class="py-op">,</tt> </tt>
-<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">            <tt class="py-string">'4'</tt><tt class="py-op">:</tt> <tt class="py-string">'lan'</tt><tt class="py-op">,</tt> </tt>
-<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">        <tt class="py-op">}</tt> </tt>
-<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line"> </tt>
-<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">opt</tt><tt class="py-op">,</tt> <tt class="py-name">val</tt> <tt class="py-keyword">in</tt> <tt class="py-name">_options</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt id="link-14" class="py-name"><a title="x2go.defaults" class="py-name" href="#" onclick="return doclink('link-14', 'defaults', 'link-1');">defaults</a></tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">DictType</tt><tt class="py-op">:</tt> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
+<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
+</div><a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line"> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line"> </tt>
+<a name="_convert_SessionProfileOptions_2_SessionParams"></a><div id="_convert_SessionProfileOptions_2_SessionParams-def"><a name="L117"></a><tt class="py-lineno">117</tt> <a class="py-toggle" href="#" id="_convert_SessionProfileOptions_2_SessionParams-toggle" onclick="return toggle('_convert_SessionProfileOptions_2_SessionParams');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.utils-module.html#_convert_SessionProfileOptions_2_SessionParams">_convert_SessionProfileOptions_2_SessionParams</a><tt class="py-op">(</tt><tt class="py-param">_options</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_convert_SessionProfileOptions_2_SessionParams-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_convert_SessionProfileOptions_2_SessionParams-expanded"><a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line"> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">        <tt class="py-name">_params</tt> <tt class="py-op">=</tt> <tt class="py-name">copy</tt><tt class="py-op">.</tt><tt class="py-name">deepcopy</tt><tt class="py-op">(</tt><tt class="py-name">_options</tt><tt class="py-op">)</tt> </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line"> </tt>
+<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">        <tt class="py-comment"># get rid of unknown session profile options</tt> </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">        <tt class="py-name">_known_options</tt> <tt class="py-op">=</tt> <tt class="py-name">_X2GO_SESSIONPROFILE_DEFAULTS</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name" targets="Method x2go.registry.X2goSessionRegistry.keys()=x2go.registry.X2goSessionRegistry-class.html#keys"><a title="x2go.registry.X2goSessionRegistry.keys" class="py-name" href="#" onclick="return doclink('link-15', 'keys', 'link-15');">keys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">p</tt> <tt class="py-keyword">in</tt> <tt class="py-name">_params</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name"><a title="x2go.registry.X2goSessionRegistry.keys" class="py-name" href="#" onclick="return doclink('link-16', 'keys', 'link-15');">keys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">p</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">_known_options</tt><tt class="py-op">:</tt> </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">                <tt class="py-keyword">del</tt> <tt class="py-name">_params</tt><tt class="py-op">[</tt><tt class="py-name">p</tt><tt class="py-op">]</tt> </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line"> </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">        <tt class="py-name">_rename_dict</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">            <tt class="py-string">'host'</tt><tt class="py-op">:</tt> <tt class="py-string">'server'</tt><tt class="py-op">,</tt> </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">            <tt class="py-string">'user'</tt><tt class="py-op">:</tt> <tt class="py-string">'username'</tt><tt class="py-op">,</tt> </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">            <tt class="py-string">'soundsystem'</tt><tt class="py-op">:</tt> <tt class="py-string">'snd_system'</tt><tt class="py-op">,</tt> </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">            <tt class="py-string">'sndport'</tt><tt class="py-op">:</tt> <tt class="py-string">'snd_port'</tt><tt class="py-op">,</tt> </tt>
+<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">            <tt class="py-string">'type'</tt><tt class="py-op">:</tt> <tt class="py-string">'kbtype'</tt><tt class="py-op">,</tt> </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">            <tt class="py-string">'layout'</tt><tt class="py-op">:</tt> <tt class="py-string">'kblayout'</tt><tt class="py-op">,</tt> </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">            <tt class="py-string">'speed'</tt><tt class="py-op">:</tt> <tt class="py-string">'link'</tt><tt class="py-op">,</tt> </tt>
+<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">            <tt class="py-string">'sshport'</tt><tt class="py-op">:</tt> <tt class="py-string">'port'</tt><tt class="py-op">,</tt> </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">            <tt class="py-string">'useexports'</tt><tt class="py-op">:</tt> <tt class="py-string">'allow_share_local_folders'</tt><tt class="py-op">,</tt> </tt>
+<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">            <tt class="py-string">'export'</tt><tt class="py-op">:</tt> <tt class="py-string">'share_local_folders'</tt><tt class="py-op">,</tt> </tt>
+<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">            <tt class="py-string">'usedropbox'</tt><tt class="py-op">:</tt> <tt class="py-string">'allow_dropbox'</tt><tt class="py-op">,</tt> </tt>
+<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">            <tt class="py-string">'dropboxextensions'</tt><tt class="py-op">:</tt> <tt class="py-string">'dropbox_extensions'</tt><tt class="py-op">,</tt> </tt>
+<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">            <tt class="py-string">'dropboxaction'</tt><tt class="py-op">:</tt> <tt class="py-string">'dropbox_action'</tt><tt class="py-op">,</tt> </tt>
+<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">            <tt class="py-string">'print'</tt><tt class="py-op">:</tt> <tt class="py-string">'printing'</tt><tt class="py-op">,</tt> </tt>
+<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">            <tt class="py-string">'name'</tt><tt class="py-op">:</tt> <tt class="py-string">'profile_name'</tt><tt class="py-op">,</tt> </tt>
+<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">            <tt class="py-string">'key'</tt><tt class="py-op">:</tt> <tt class="py-string">'key_filename'</tt><tt class="py-op">,</tt> </tt>
+<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">            <tt class="py-string">'command'</tt><tt class="py-op">:</tt> <tt class="py-string">'cmd'</tt><tt class="py-op">,</tt> </tt>
+<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">            <tt class="py-string">'rdpserver'</tt><tt class="py-op">:</tt> <tt class="py-string">'rdp_server'</tt><tt class="py-op">,</tt> </tt>
+<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">            <tt class="py-string">'rdpoptions'</tt><tt class="py-op">:</tt> <tt class="py-string">'rdp_options'</tt><tt class="py-op">,</tt> </tt>
+<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">            <tt class="py-string">'xdmcpserver'</tt><tt class="py-op">:</tt> <tt class="py-string">'xdmcp_server'</tt><tt class="py-op">,</tt> </tt>
+<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">            <tt class="py-string">'useiconv'</tt><tt class="py-op">:</tt> <tt class="py-string">'convert_encoding'</tt><tt class="py-op">,</tt> </tt>
+<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">            <tt class="py-string">'iconvto'</tt><tt class="py-op">:</tt> <tt class="py-string">'server_encoding'</tt><tt class="py-op">,</tt> </tt>
+<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">            <tt class="py-string">'iconvfrom'</tt><tt class="py-op">:</tt> <tt class="py-string">'client_encoding'</tt><tt class="py-op">,</tt> </tt>
+<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">            <tt class="py-string">'usesshproxy'</tt><tt class="py-op">:</tt> <tt class="py-string">'use_sshproxy'</tt><tt class="py-op">,</tt> </tt>
+<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">            <tt class="py-string">'sshproxyhost'</tt><tt class="py-op">:</tt> <tt class="py-string">'sshproxy_host'</tt><tt class="py-op">,</tt> </tt>
+<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">            <tt class="py-string">'sshproxyuser'</tt><tt class="py-op">:</tt> <tt class="py-string">'sshproxy_user'</tt><tt class="py-op">,</tt> </tt>
+<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line">            <tt class="py-string">'sshproxykeyfile'</tt><tt class="py-op">:</tt> <tt class="py-string">'sshproxy_key_filename'</tt><tt class="py-op">,</tt> </tt>
+<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">            <tt class="py-string">'sshproxytunnel'</tt><tt class="py-op">:</tt> <tt class="py-string">'sshproxy_tunnel'</tt><tt class="py-op">,</tt> </tt>
+<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line"> </tt>
+<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">        <tt class="py-op">}</tt> </tt>
+<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">        <tt class="py-name">_speed_dict</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
+<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">            <tt class="py-string">'0'</tt><tt class="py-op">:</tt> <tt class="py-string">'modem'</tt><tt class="py-op">,</tt> </tt>
+<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">            <tt class="py-string">'1'</tt><tt class="py-op">:</tt> <tt class="py-string">'isdn'</tt><tt class="py-op">,</tt> </tt>
+<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">            <tt class="py-string">'2'</tt><tt class="py-op">:</tt> <tt class="py-string">'adsl'</tt><tt class="py-op">,</tt> </tt>
+<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">            <tt class="py-string">'3'</tt><tt class="py-op">:</tt> <tt class="py-string">'wan'</tt><tt class="py-op">,</tt> </tt>
+<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">            <tt class="py-string">'4'</tt><tt class="py-op">:</tt> <tt class="py-string">'lan'</tt><tt class="py-op">,</tt> </tt>
+<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">        <tt class="py-op">}</tt> </tt>
 <a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line"> </tt>
-<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line">            <tt class="py-comment"># rename options if necessary</tt> </tt>
-<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">opt</tt> <tt class="py-keyword">in</tt> <tt class="py-name">_rename_dict</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="x2go.registry.X2goSessionRegistry.keys" class="py-name" href="#" onclick="return doclink('link-17', 'keys', 'link-15');">keys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">                <tt class="py-keyword">del</tt> <tt class="py-name">_params</tt><tt class="py-op">[</tt><tt class="py-name">opt</tt><tt class="py-op">]</tt> </tt>
-<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line">                <tt class="py-name">opt</tt> <tt class="py-op">=</tt> <tt class="py-name">_rename_dict</tt><tt class="py-op">[</tt><tt class="py-name">opt</tt><tt class="py-op">]</tt> </tt>
-<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">                <tt class="py-name">_params</tt><tt class="py-op">[</tt><tt class="py-name">opt</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">val</tt> </tt>
-<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line"> </tt>
-<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line">            <tt class="py-comment"># translate integer values for connection speed to readable strings</tt> </tt>
-<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">opt</tt> <tt class="py-op">==</tt> <tt class="py-string">'link'</tt><tt class="py-op">:</tt> </tt>
-<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line">                <tt class="py-name">val</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">val</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">val</tt> <tt class="py-keyword">in</tt> <tt class="py-name">_speed_dict</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="x2go.registry.X2goSessionRegistry.keys" class="py-name" href="#" onclick="return doclink('link-18', 'keys', 'link-15');">keys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line">                    <tt class="py-name">val</tt> <tt class="py-op">=</tt> <tt class="py-name">_speed_dict</tt><tt class="py-op">[</tt><tt class="py-name">val</tt><tt class="py-op">]</tt> </tt>
-<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line">                <tt class="py-name">val</tt> <tt class="py-op">=</tt> <tt class="py-name">val</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">                <tt class="py-name">_params</tt><tt class="py-op">[</tt><tt class="py-string">'link'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">val</tt> </tt>
-<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line"> </tt>
-<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">            <tt class="py-comment"># share_local_folders is a list</tt> </tt>
-<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">opt</tt> <tt class="py-keyword">in</tt> <tt class="py-op">(</tt><tt class="py-string">'share_local_folders'</tt><tt class="py-op">,</tt> <tt class="py-string">'dropbox_extensions'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">val</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">StringType</tt><tt class="py-op">:</tt> </tt>
-<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">val</tt><tt class="py-op">:</tt> </tt>
-<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line">                        <tt class="py-name">_params</tt><tt class="py-op">[</tt><tt class="py-name">opt</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">val</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">','</tt><tt class="py-op">)</tt> </tt>
-<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line">                    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line">                        <tt class="py-name">_params</tt><tt class="py-op">[</tt><tt class="py-name">opt</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line"> </tt>
-<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line">        <tt class="py-comment"># append value for quality to value for pack method</tt> </tt>
-<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">_params</tt><tt class="py-op">[</tt><tt class="py-string">'quality'</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
-<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line">            <tt class="py-name">_params</tt><tt class="py-op">[</tt><tt class="py-string">'pack'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'%s-%s'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">_params</tt><tt class="py-op">[</tt><tt class="py-string">'pack'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">_params</tt><tt class="py-op">[</tt><tt class="py-string">'quality'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line">            <tt class="py-keyword">del</tt> <tt class="py-name">_params</tt><tt class="py-op">[</tt><tt class="py-string">'quality'</tt><tt class="py-op">]</tt> </tt>
-<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line"> </tt>
-<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line">        <tt class="py-keyword">del</tt> <tt class="py-name">_params</tt><tt class="py-op">[</tt><tt class="py-string">'fstunnel'</tt><tt class="py-op">]</tt> </tt>
+<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">opt</tt><tt class="py-op">,</tt> <tt class="py-name">val</tt> <tt class="py-keyword">in</tt> <tt class="py-name">_options</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line"> </tt>
+<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">            <tt class="py-comment"># rename options if necessary</tt> </tt>
+<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">opt</tt> <tt class="py-keyword">in</tt> <tt class="py-name">_rename_dict</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="x2go.registry.X2goSessionRegistry.keys" class="py-name" href="#" onclick="return doclink('link-17', 'keys', 'link-15');">keys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">                <tt class="py-keyword">del</tt> <tt class="py-name">_params</tt><tt class="py-op">[</tt><tt class="py-name">opt</tt><tt class="py-op">]</tt> </tt>
+<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line">                <tt class="py-name">opt</tt> <tt class="py-op">=</tt> <tt class="py-name">_rename_dict</tt><tt class="py-op">[</tt><tt class="py-name">opt</tt><tt class="py-op">]</tt> </tt>
+<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line">                <tt class="py-name">_params</tt><tt class="py-op">[</tt><tt class="py-name">opt</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">val</tt> </tt>
+<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line"> </tt>
+<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line">            <tt class="py-comment"># translate integer values for connection speed to readable strings</tt> </tt>
+<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">opt</tt> <tt class="py-op">==</tt> <tt class="py-string">'link'</tt><tt class="py-op">:</tt> </tt>
+<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line">                <tt class="py-name">val</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">val</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">val</tt> <tt class="py-keyword">in</tt> <tt class="py-name">_speed_dict</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="x2go.registry.X2goSessionRegistry.keys" class="py-name" href="#" onclick="return doclink('link-18', 'keys', 'link-15');">keys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">                    <tt class="py-name">val</tt> <tt class="py-op">=</tt> <tt class="py-name">_speed_dict</tt><tt class="py-op">[</tt><tt class="py-name">val</tt><tt class="py-op">]</tt> </tt>
+<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">                <tt class="py-name">val</tt> <tt class="py-op">=</tt> <tt class="py-name">val</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">                <tt class="py-name">_params</tt><tt class="py-op">[</tt><tt class="py-string">'link'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">val</tt> </tt>
+<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line"> </tt>
+<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">            <tt class="py-comment"># share_local_folders is a list</tt> </tt>
+<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">opt</tt> <tt class="py-keyword">in</tt> <tt class="py-op">(</tt><tt class="py-string">'share_local_folders'</tt><tt class="py-op">,</tt> <tt class="py-string">'dropbox_extensions'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">val</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">StringType</tt><tt class="py-op">:</tt> </tt>
+<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">val</tt><tt class="py-op">:</tt> </tt>
+<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line">                        <tt class="py-name">_params</tt><tt class="py-op">[</tt><tt class="py-name">opt</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">val</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">','</tt><tt class="py-op">)</tt> </tt>
+<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line">                    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line">                        <tt class="py-name">_params</tt><tt class="py-op">[</tt><tt class="py-name">opt</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line"> </tt>
+<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line">        <tt class="py-comment"># append value for quality to value for pack method</tt> </tt>
+<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">_params</tt><tt class="py-op">[</tt><tt class="py-string">'quality'</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">            <tt class="py-name">_params</tt><tt class="py-op">[</tt><tt class="py-string">'pack'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'%s-%s'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">_params</tt><tt class="py-op">[</tt><tt class="py-string">'pack'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">_params</tt><tt class="py-op">[</tt><tt class="py-string">'quality'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line">            <tt class="py-keyword">del</tt> <tt class="py-name">_params</tt><tt class="py-op">[</tt><tt class="py-string">'quality'</tt><tt class="py-op">]</tt> </tt>
 <a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line"> </tt>
-<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">_params</tt><tt class="py-op">.</tt><tt class="py-name">has_key</tt><tt class="py-op">(</tt><tt class="py-string">'share_local_folders'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line">            <tt class="py-name">_params</tt><tt class="py-op">[</tt><tt class="py-string">'share_local_folders'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">f</tt> <tt class="py-keyword">for</tt> <tt class="py-name">f</tt> <tt class="py-keyword">in</tt> <tt class="py-name">_params</tt><tt class="py-op">[</tt><tt class="py-string">'share_local_folders'</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">','</tt><tt class="py-op">)</tt> <tt class="py-keyword">if</tt> <tt class="py-name">f</tt> <tt class="py-op">]</tt> </tt>
-<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line"> </tt>
-<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">_options</tt><tt class="py-op">[</tt><tt class="py-string">'fullscreen'</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
-<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line">            <tt class="py-name">_params</tt><tt class="py-op">[</tt><tt class="py-string">'geometry'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'%sx%s'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">_options</tt><tt class="py-op">[</tt><tt class="py-string">'width'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">_options</tt><tt class="py-op">[</tt><tt class="py-string">'height'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">            <tt class="py-name">_params</tt><tt class="py-op">[</tt><tt class="py-string">'geometry'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'fullscreen'</tt> </tt>
-<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">        <tt class="py-keyword">del</tt> <tt class="py-name">_params</tt><tt class="py-op">[</tt><tt class="py-string">'width'</tt><tt class="py-op">]</tt> </tt>
-<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">        <tt class="py-keyword">del</tt> <tt class="py-name">_params</tt><tt class="py-op">[</tt><tt class="py-string">'height'</tt><tt class="py-op">]</tt> </tt>
-<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">        <tt class="py-keyword">del</tt> <tt class="py-name">_params</tt><tt class="py-op">[</tt><tt class="py-string">'fullscreen'</tt><tt class="py-op">]</tt> </tt>
-<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line"> </tt>
-<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">_options</tt><tt class="py-op">[</tt><tt class="py-string">'sound'</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
-<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">            <tt class="py-name">snd_system</tt> <tt class="py-op">=</tt> <tt class="py-string">'none'</tt> </tt>
-<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">        <tt class="py-keyword">del</tt> <tt class="py-name">_params</tt><tt class="py-op">[</tt><tt class="py-string">'sound'</tt><tt class="py-op">]</tt> </tt>
-<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line"> </tt>
-<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">_options</tt><tt class="py-op">[</tt><tt class="py-string">'rootless'</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
-<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line">            <tt class="py-name">_params</tt><tt class="py-op">[</tt><tt class="py-string">'session_type'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'application'</tt> </tt>
-<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line">            <tt class="py-name">_params</tt><tt class="py-op">[</tt><tt class="py-string">'session_type'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'desktop'</tt> </tt>
-<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line">        <tt class="py-keyword">del</tt> <tt class="py-name">_params</tt><tt class="py-op">[</tt><tt class="py-string">'rootless'</tt><tt class="py-op">]</tt> </tt>
-<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line"> </tt>
-<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">_params</tt><tt class="py-op">[</tt><tt class="py-string">'dropbox_action'</tt><tt class="py-op">]</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">_X2GO_DROPBOX_ACTIONS</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name"><a title="x2go.registry.X2goSessionRegistry.keys" class="py-name" href="#" onclick="return doclink('link-19', 'keys', 'link-15');">keys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line">            <tt class="py-name">_params</tt><tt class="py-op">[</tt><tt class="py-string">'dropbox_action'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'OPEN'</tt> </tt>
-<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line"> </tt>
-<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line">        <tt class="py-comment"># currently known but ignored in Python X2go</tt> </tt>
-<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line">        <tt class="py-name">_ignored_options</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> </tt>
-<a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line">            <tt class="py-string">'dpi'</tt><tt class="py-op">,</tt> </tt>
-<a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line">            <tt class="py-string">'setdpi'</tt><tt class="py-op">,</tt> </tt>
-<a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line">            <tt class="py-string">'usekbd'</tt><tt class="py-op">,</tt> </tt>
-<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line">            <tt class="py-string">'startsoundsystem'</tt><tt class="py-op">,</tt> </tt>
-<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line">            <tt class="py-string">'soundtunnel'</tt><tt class="py-op">,</tt> </tt>
-<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line">            <tt class="py-string">'defsndport'</tt><tt class="py-op">,</tt> </tt>
-<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line">            <tt class="py-string">'icon'</tt><tt class="py-op">,</tt> </tt>
-<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line">            <tt class="py-string">'applications'</tt><tt class="py-op">,</tt> </tt>
-<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line">        <tt class="py-op">]</tt> </tt>
-<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-20" class="py-name" targets="Variable x2go.defaults.i=x2go.defaults-module.html#i"><a title="x2go.defaults.i" class="py-name" href="#" onclick="return doclink('link-20', 'i', 'link-20');">i</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">_ignored_options</tt><tt class="py-op">:</tt> </tt>
-<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line">            <tt class="py-keyword">del</tt> <tt class="py-name">_params</tt><tt class="py-op">[</tt><tt id="link-21" class="py-name"><a title="x2go.defaults.i" class="py-name" href="#" onclick="return doclink('link-21', 'i', 'link-20');">i</a></tt><tt class="py-op">]</tt> </tt>
-<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line"> </tt>
-<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">_params</tt> </tt>
-</div><a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line"> </tt>
-<a name="session_names_by_timestamp"></a><div id="session_names_by_timestamp-def"><a name="L235"></a><tt class="py-lineno">235</tt> <a class="py-toggle" href="#" id="session_names_by_timestamp-toggle" onclick="return toggle('session_names_by_timestamp');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.utils-module.html#session_names_by_timestamp">session_names_by_timestamp</a><tt class="py-op">(</tt><tt class="py-param">session_infos</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="session_names_by_timestamp-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="session_names_by_timestamp-expanded"><a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line"> </tt>
-<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line">    <tt class="py-name">session_names</tt> <tt class="py-op">=</tt> <tt class="py-name">session_infos</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="x2go.registry.X2goSessionRegistry.keys" class="py-name" href="#" onclick="return doclink('link-22', 'keys', 'link-15');">keys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line">    <tt class="py-name">sortable_session_names</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-string">'%s|%s'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">session_name</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'-'</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'_'</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">session_name</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">session_name</tt> <tt class="py-keyword">in</tt> <tt class="py-name">session_names</tt> <tt class="py-op">]</tt> </tt>
-<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line">    <tt class="py-name">sortable_session_names</tt><tt class="py-op">.</tt><tt class="py-name">sort</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-op">[</tt> <tt class="py-name">session_name</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'|'</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-keyword">for</tt> <tt class="py-name">session_name</tt> <tt class="py-keyword">in</tt> <tt class="py-name">sortable_session_names</tt> <tt class="py-op">]</tt> </tt>
-</div><a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line"> </tt>
-<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line"> </tt>
-<a name="touch_file"></a><div id="touch_file-def"><a name="L243"></a><tt class="py-lineno">243</tt> <a class="py-toggle" href="#" id="touch_file-toggle" onclick="return toggle('touch_file');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.utils-module.html#touch_file">touch_file</a><tt class="py-op">(</tt><tt class="py-param">filename</tt><tt class="py-op">,</tt> <tt class="py-param">mode</tt><tt class="py-op">=</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="touch_file-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="touch_file-expanded"><a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line"> </tt>
-<a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">isdir</tt><tt class="py-op">(</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">dirname</tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line">        <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">makedirs</tt><tt class="py-op">(</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">dirname</tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">mode</tt><tt class="py-op">=</tt><tt class="py-number">00700</tt><tt class="py-op">)</tt> </tt>
-<a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line">    <tt class="py-name">f</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">,</tt> <tt class="py-name">mode</tt><tt class="py-op">=</tt><tt class="py-name">mode</tt><tt class="py-op">)</tt> </tt>
-<a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line">    <tt class="py-name">f</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line"> </tt>
-<a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line"> </tt>
-<a name="unique"></a><div id="unique-def"><a name="L251"></a><tt class="py-lineno">251</tt> <a class="py-toggle" href="#" id="unique-toggle" onclick="return toggle('unique');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.utils-module.html#unique">unique</a><tt class="py-op">(</tt><tt class="py-param">seq</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="unique-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="unique-expanded"><a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line">    <tt class="py-comment"># order preserving</tt> </tt>
-<a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line">    <tt class="py-name">noDupes</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line">    <tt class="py-op">[</tt><tt class="py-name">noDupes</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-23" class="py-name"><a title="x2go.defaults.i" class="py-name" href="#" onclick="return doclink('link-23', 'i', 'link-20');">i</a></tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt id="link-24" class="py-name"><a title="x2go.defaults.i" class="py-name" href="#" onclick="return doclink('link-24', 'i', 'link-20');">i</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">seq</tt> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">noDupes</tt><tt class="py-op">.</tt><tt class="py-name">count</tt><tt class="py-op">(</tt><tt id="link-25" class="py-name"><a title="x2go.defaults.i" class="py-name" href="#" onclick="return doclink('link-25', 'i', 'link-20');">i</a></tt><tt class="py-op">)</tt><tt class="py-op">]<
 /tt> </t
 t>
-<a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">noDupes</tt> </tt>
-</div><a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line"> </tt>
-<a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line"> </tt>
-<a name="known_encodings"></a><div id="known_encodings-def"><a name="L258"></a><tt class="py-lineno">258</tt> <a class="py-toggle" href="#" id="known_encodings-toggle" onclick="return toggle('known_encodings');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.utils-module.html#known_encodings">known_encodings</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="known_encodings-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="known_encodings-expanded"><a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line">    <tt class="py-keyword">from</tt> <tt class="py-name">encodings</tt><tt class="py-op">.</tt><tt class="py-name">aliases</tt> <tt class="py-keyword">import</tt> <tt class="py-name">aliases</tt> </tt>
-<a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line">    <tt class="py-name">_raw_encname_list</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line">    <tt class="py-name">_raw_encname_list</tt><tt class="py-op">.</tt><tt class="py-name">extend</tt><tt class="py-op">(</tt><tt class="py-name">aliases</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name"><a title="x2go.registry.X2goSessionRegistry.keys" class="py-name" href="#" onclick="return doclink('link-26', 'keys', 'link-15');">keys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line">    <tt class="py-name">_raw_encname_list</tt><tt class="py-op">.</tt><tt class="py-name">extend</tt><tt class="py-op">(</tt><tt class="py-name">aliases</tt><tt class="py-op">.</tt><tt class="py-name">values</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line">    <tt class="py-name">_raw_encname_list</tt><tt class="py-op">.</tt><tt class="py-name">sort</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line">    <tt class="py-name">_encname_list</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">_raw_encname</tt> <tt class="py-keyword">in</tt> <tt class="py-name">_raw_encname_list</tt><tt class="py-op">:</tt> </tt>
-<a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line">        <tt class="py-name">_encname</tt> <tt class="py-op">=</tt> <tt class="py-name">_raw_encname</tt><tt class="py-op">.</tt><tt class="py-name">upper</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L267"></a><tt class="py-lineno">267</tt>  <tt class="py-line">        <tt class="py-name">_encname</tt> <tt class="py-op">=</tt> <tt class="py-name">_encname</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">'_'</tt><tt class="py-op">,</tt> <tt class="py-string">'-'</tt><tt class="py-op">)</tt> </tt>
-<a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line">        <tt class="py-name">_encname_list</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">_encname</tt><tt class="py-op">)</tt> </tt>
-<a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line">    <tt class="py-name">_encname_list</tt><tt class="py-op">.</tt><tt class="py-name">sort</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line">    <tt class="py-name">_encname_list</tt> <tt class="py-op">=</tt> <tt id="link-27" class="py-name" targets="Function x2go.utils.unique()=x2go.utils-module.html#unique"><a title="x2go.utils.unique" class="py-name" href="#" onclick="return doclink('link-27', 'unique', 'link-27');">unique</a></tt><tt class="py-op">(</tt><tt class="py-name">_encname_list</tt><tt class="py-op">)</tt> </tt>
-<a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">_encname_list</tt> </tt>
-</div><a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line"> </tt>
-<a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line"> </tt>
-<a name="patiently_remove_file"></a><div id="patiently_remove_file-def"><a name="L274"></a><tt class="py-lineno">274</tt> <a class="py-toggle" href="#" id="patiently_remove_file-toggle" onclick="return toggle('patiently_remove_file');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.utils-module.html#patiently_remove_file">patiently_remove_file</a><tt class="py-op">(</tt><tt class="py-param">_dir</tt><tt class="py-op">,</tt> <tt class="py-param">_file</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="patiently_remove_file-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="patiently_remove_file-expanded"><a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line">    <tt class="py-name">_not_removed</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L276"></a><tt class="py-lineno">276</tt>  <tt class="py-line">    <tt class="py-keyword">while</tt> <tt class="py-name">_not_removed</tt><tt class="py-op">:</tt> </tt>
-<a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line">            <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">_dir</tt><tt class="py-op">,</tt> <tt id="link-28" class="py-name" targets="Module x2go.backends.printing._file=x2go.backends.printing._file-module.html,Module x2go.backends.profiles._file=x2go.backends.profiles._file-module.html,Module x2go.backends.settings._file=x2go.backends.settings._file-module.html"><a title="x2go.backends.printing._file
+<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line">        <tt class="py-keyword">del</tt> <tt class="py-name">_params</tt><tt class="py-op">[</tt><tt class="py-string">'fstunnel'</tt><tt class="py-op">]</tt> </tt>
+<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line"> </tt>
+<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">_params</tt><tt class="py-op">.</tt><tt class="py-name">has_key</tt><tt class="py-op">(</tt><tt class="py-string">'share_local_folders'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line">            <tt class="py-name">_params</tt><tt class="py-op">[</tt><tt class="py-string">'share_local_folders'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">f</tt> <tt class="py-keyword">for</tt> <tt class="py-name">f</tt> <tt class="py-keyword">in</tt> <tt class="py-name">_params</tt><tt class="py-op">[</tt><tt class="py-string">'share_local_folders'</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">','</tt><tt class="py-op">)</tt> <tt class="py-keyword">if</tt> <tt class="py-name">f</tt> <tt class="py-op">]</tt> </tt>
+<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line"> </tt>
+<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">_options</tt><tt class="py-op">[</tt><tt class="py-string">'fullscreen'</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">            <tt class="py-name">_params</tt><tt class="py-op">[</tt><tt class="py-string">'geometry'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'%sx%s'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">_options</tt><tt class="py-op">[</tt><tt class="py-string">'width'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">_options</tt><tt class="py-op">[</tt><tt class="py-string">'height'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">            <tt class="py-name">_params</tt><tt class="py-op">[</tt><tt class="py-string">'geometry'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'fullscreen'</tt> </tt>
+<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">        <tt class="py-keyword">del</tt> <tt class="py-name">_params</tt><tt class="py-op">[</tt><tt class="py-string">'width'</tt><tt class="py-op">]</tt> </tt>
+<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">        <tt class="py-keyword">del</tt> <tt class="py-name">_params</tt><tt class="py-op">[</tt><tt class="py-string">'height'</tt><tt class="py-op">]</tt> </tt>
+<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">        <tt class="py-keyword">del</tt> <tt class="py-name">_params</tt><tt class="py-op">[</tt><tt class="py-string">'fullscreen'</tt><tt class="py-op">]</tt> </tt>
+<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line"> </tt>
+<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">_options</tt><tt class="py-op">[</tt><tt class="py-string">'sound'</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line">            <tt class="py-name">snd_system</tt> <tt class="py-op">=</tt> <tt class="py-string">'none'</tt> </tt>
+<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line">        <tt class="py-keyword">del</tt> <tt class="py-name">_params</tt><tt class="py-op">[</tt><tt class="py-string">'sound'</tt><tt class="py-op">]</tt> </tt>
+<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line"> </tt>
+<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">_options</tt><tt class="py-op">[</tt><tt class="py-string">'rootless'</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line">            <tt class="py-name">_params</tt><tt class="py-op">[</tt><tt class="py-string">'session_type'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'application'</tt> </tt>
+<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line">            <tt class="py-name">_params</tt><tt class="py-op">[</tt><tt class="py-string">'session_type'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'desktop'</tt> </tt>
+<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line">        <tt class="py-keyword">del</tt> <tt class="py-name">_params</tt><tt class="py-op">[</tt><tt class="py-string">'rootless'</tt><tt class="py-op">]</tt> </tt>
+<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line"> </tt>
+<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">_params</tt><tt class="py-op">[</tt><tt class="py-string">'dropbox_action'</tt><tt class="py-op">]</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">_X2GO_DROPBOX_ACTIONS</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name"><a title="x2go.registry.X2goSessionRegistry.keys" class="py-name" href="#" onclick="return doclink('link-19', 'keys', 'link-15');">keys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line">            <tt class="py-name">_params</tt><tt class="py-op">[</tt><tt class="py-string">'dropbox_action'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'OPEN'</tt> </tt>
+<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line"> </tt>
+<a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line">        <tt class="py-comment"># currently known but ignored in Python X2go</tt> </tt>
+<a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line">        <tt class="py-name">_ignored_options</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> </tt>
+<a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line">            <tt class="py-string">'dpi'</tt><tt class="py-op">,</tt> </tt>
+<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line">            <tt class="py-string">'setdpi'</tt><tt class="py-op">,</tt> </tt>
+<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line">            <tt class="py-string">'usekbd'</tt><tt class="py-op">,</tt> </tt>
+<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line">            <tt class="py-string">'startsoundsystem'</tt><tt class="py-op">,</tt> </tt>
+<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line">            <tt class="py-string">'soundtunnel'</tt><tt class="py-op">,</tt> </tt>
+<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line">            <tt class="py-string">'defsndport'</tt><tt class="py-op">,</tt> </tt>
+<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line">            <tt class="py-string">'icon'</tt><tt class="py-op">,</tt> </tt>
+<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line">            <tt class="py-string">'applications'</tt><tt class="py-op">,</tt> </tt>
+<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line">        <tt class="py-op">]</tt> </tt>
+<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-20" class="py-name" targets="Variable x2go.defaults.i=x2go.defaults-module.html#i"><a title="x2go.defaults.i" class="py-name" href="#" onclick="return doclink('link-20', 'i', 'link-20');">i</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">_ignored_options</tt><tt class="py-op">:</tt> </tt>
+<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line">            <tt class="py-keyword">del</tt> <tt class="py-name">_params</tt><tt class="py-op">[</tt><tt id="link-21" class="py-name"><a title="x2go.defaults.i" class="py-name" href="#" onclick="return doclink('link-21', 'i', 'link-20');">i</a></tt><tt class="py-op">]</tt> </tt>
+<a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line"> </tt>
+<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">_params</tt> </tt>
+</div><a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line"> </tt>
+<a name="session_names_by_timestamp"></a><div id="session_names_by_timestamp-def"><a name="L237"></a><tt class="py-lineno">237</tt> <a class="py-toggle" href="#" id="session_names_by_timestamp-toggle" onclick="return toggle('session_names_by_timestamp');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.utils-module.html#session_names_by_timestamp">session_names_by_timestamp</a><tt class="py-op">(</tt><tt class="py-param">session_infos</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="session_names_by_timestamp-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="session_names_by_timestamp-expanded"><a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line"> </tt>
+<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line">    <tt class="py-name">session_names</tt> <tt class="py-op">=</tt> <tt class="py-name">session_infos</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="x2go.registry.X2goSessionRegistry.keys" class="py-name" href="#" onclick="return doclink('link-22', 'keys', 'link-15');">keys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line">    <tt class="py-name">sortable_session_names</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-string">'%s|%s'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">session_name</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'-'</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'_'</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">session_name</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">session_name</tt> <tt class="py-keyword">in</tt> <tt class="py-name">session_names</tt> <tt class="py-op">]</tt> </tt>
+<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line">    <tt class="py-name">sortable_session_names</tt><tt class="py-op">.</tt><tt class="py-name">sort</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-op">[</tt> <tt class="py-name">session_name</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'|'</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-keyword">for</tt> <tt class="py-name">session_name</tt> <tt class="py-keyword">in</tt> <tt class="py-name">sortable_session_names</tt> <tt class="py-op">]</tt> </tt>
+</div><a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line"> </tt>
+<a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line"> </tt>
+<a name="touch_file"></a><div id="touch_file-def"><a name="L245"></a><tt class="py-lineno">245</tt> <a class="py-toggle" href="#" id="touch_file-toggle" onclick="return toggle('touch_file');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.utils-module.html#touch_file">touch_file</a><tt class="py-op">(</tt><tt class="py-param">filename</tt><tt class="py-op">,</tt> <tt class="py-param">mode</tt><tt class="py-op">=</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="touch_file-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="touch_file-expanded"><a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line"> </tt>
+<a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">isdir</tt><tt class="py-op">(</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">dirname</tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line">        <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">makedirs</tt><tt class="py-op">(</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">dirname</tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">mode</tt><tt class="py-op">=</tt><tt class="py-number">00700</tt><tt class="py-op">)</tt> </tt>
+<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line">    <tt class="py-name">f</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">,</tt> <tt class="py-name">mode</tt><tt class="py-op">=</tt><tt class="py-name">mode</tt><tt class="py-op">)</tt> </tt>
+<a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line">    <tt class="py-name">f</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line"> </tt>
+<a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line"> </tt>
+<a name="unique"></a><div id="unique-def"><a name="L253"></a><tt class="py-lineno">253</tt> <a class="py-toggle" href="#" id="unique-toggle" onclick="return toggle('unique');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.utils-module.html#unique">unique</a><tt class="py-op">(</tt><tt class="py-param">seq</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="unique-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="unique-expanded"><a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line">    <tt class="py-comment"># order preserving</tt> </tt>
+<a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line">    <tt class="py-name">noDupes</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line">    <tt class="py-op">[</tt><tt class="py-name">noDupes</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-23" class="py-name"><a title="x2go.defaults.i" class="py-name" href="#" onclick="return doclink('link-23', 'i', 'link-20');">i</a></tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt id="link-24" class="py-name"><a title="x2go.defaults.i" class="py-name" href="#" onclick="return doclink('link-24', 'i', 'link-20');">i</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">seq</tt> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">noDupes</tt><tt class="py-op">.</tt><tt class="py-name">count</tt><tt class="py-op">(</tt><tt id="link-25" class="py-name"><a title="x2go.defaults.i" class="py-name" href="#" onclick="return doclink('link-25', 'i', 'link-20');">i</a></tt><tt class="py-op">)</tt><tt class="py-op">]<
 /tt> </t
 t>
+<a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">noDupes</tt> </tt>
+</div><a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line"> </tt>
+<a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line"> </tt>
+<a name="known_encodings"></a><div id="known_encodings-def"><a name="L260"></a><tt class="py-lineno">260</tt> <a class="py-toggle" href="#" id="known_encodings-toggle" onclick="return toggle('known_encodings');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.utils-module.html#known_encodings">known_encodings</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="known_encodings-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="known_encodings-expanded"><a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line">    <tt class="py-keyword">from</tt> <tt class="py-name">encodings</tt><tt class="py-op">.</tt><tt class="py-name">aliases</tt> <tt class="py-keyword">import</tt> <tt class="py-name">aliases</tt> </tt>
+<a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line">    <tt class="py-name">_raw_encname_list</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line">    <tt class="py-name">_raw_encname_list</tt><tt class="py-op">.</tt><tt class="py-name">extend</tt><tt class="py-op">(</tt><tt class="py-name">aliases</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name"><a title="x2go.registry.X2goSessionRegistry.keys" class="py-name" href="#" onclick="return doclink('link-26', 'keys', 'link-15');">keys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line">    <tt class="py-name">_raw_encname_list</tt><tt class="py-op">.</tt><tt class="py-name">extend</tt><tt class="py-op">(</tt><tt class="py-name">aliases</tt><tt class="py-op">.</tt><tt class="py-name">values</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line">    <tt class="py-name">_raw_encname_list</tt><tt class="py-op">.</tt><tt class="py-name">sort</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line">    <tt class="py-name">_encname_list</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L267"></a><tt class="py-lineno">267</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">_raw_encname</tt> <tt class="py-keyword">in</tt> <tt class="py-name">_raw_encname_list</tt><tt class="py-op">:</tt> </tt>
+<a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line">        <tt class="py-name">_encname</tt> <tt class="py-op">=</tt> <tt class="py-name">_raw_encname</tt><tt class="py-op">.</tt><tt class="py-name">upper</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line">        <tt class="py-name">_encname</tt> <tt class="py-op">=</tt> <tt class="py-name">_encname</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">'_'</tt><tt class="py-op">,</tt> <tt class="py-string">'-'</tt><tt class="py-op">)</tt> </tt>
+<a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line">        <tt class="py-name">_encname_list</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">_encname</tt><tt class="py-op">)</tt> </tt>
+<a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line">    <tt class="py-name">_encname_list</tt><tt class="py-op">.</tt><tt class="py-name">sort</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line">    <tt class="py-name">_encname_list</tt> <tt class="py-op">=</tt> <tt id="link-27" class="py-name" targets="Function x2go.utils.unique()=x2go.utils-module.html#unique"><a title="x2go.utils.unique" class="py-name" href="#" onclick="return doclink('link-27', 'unique', 'link-27');">unique</a></tt><tt class="py-op">(</tt><tt class="py-name">_encname_list</tt><tt class="py-op">)</tt> </tt>
+<a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">_encname_list</tt> </tt>
+</div><a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line"> </tt>
+<a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line"> </tt>
+<a name="patiently_remove_file"></a><div id="patiently_remove_file-def"><a name="L276"></a><tt class="py-lineno">276</tt> <a class="py-toggle" href="#" id="patiently_remove_file-toggle" onclick="return toggle('patiently_remove_file');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.utils-module.html#patiently_remove_file">patiently_remove_file</a><tt class="py-op">(</tt><tt class="py-param">_dir</tt><tt class="py-op">,</tt> <tt class="py-param">_file</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="patiently_remove_file-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="patiently_remove_file-expanded"><a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line">    <tt class="py-name">_not_removed</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line">    <tt class="py-keyword">while</tt> <tt class="py-name">_not_removed</tt><tt class="py-op">:</tt> </tt>
+<a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L280"></a><tt class="py-lineno">280</tt>  <tt class="py-line">            <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">_dir</tt><tt class="py-op">,</tt> <tt id="link-28" class="py-name" targets="Module x2go.backends.printing._file=x2go.backends.printing._file-module.html,Module x2go.backends.profiles._file=x2go.backends.profiles._file-module.html,Module x2go.backends.settings._file=x2go.backends.settings._file-module.html"><a title="x2go.backends.printing._file
 x2go.backends.profiles._file
 x2go.backends.settings._file" class="py-name" href="#" onclick="return doclink('link-28', '_file', 'link-28');">_file</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line">            <tt class="py-name">_not_removed</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L280"></a><tt class="py-lineno">280</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
-<a name="L281"></a><tt class="py-lineno">281</tt>  <tt class="py-line">            <tt class="py-comment"># file is probably locked</tt> </tt>
-<a name="L282"></a><tt class="py-lineno">282</tt>  <tt class="py-line">            <tt class="py-name">gevent</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">5</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L283"></a><tt class="py-lineno">283</tt>  <tt class="py-line"> </tt>
-<a name="detect_unused_port"></a><div id="detect_unused_port-def"><a name="L284"></a><tt class="py-lineno">284</tt> <a class="py-toggle" href="#" id="detect_unused_port-toggle" onclick="return toggle('detect_unused_port');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.utils-module.html#detect_unused_port">detect_unused_port</a><tt class="py-op">(</tt><tt class="py-param">bind_address</tt><tt class="py-op">=</tt><tt class="py-string">''</tt><tt class="py-op">,</tt> <tt class="py-param">preferred_port</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="detect_unused_port-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="detect_unused_port-expanded"><a name="L285"></a><tt class="py-lineno">285</tt>  <tt class="py-line"> </tt>
-<a name="L286"></a><tt class="py-lineno">286</tt>  <tt class="py-line">    <tt class="py-name">sock</tt> <tt class="py-op">=</tt> <tt class="py-name">socket</tt><tt class="py-op">.</tt><tt class="py-name">socket</tt><tt class="py-op">(</tt><tt class="py-name">socket</tt><tt class="py-op">.</tt><tt class="py-name">AF_INET</tt><tt class="py-op">,</tt> <tt class="py-name">socket</tt><tt class="py-op">.</tt><tt class="py-name">SOCK_STREAM</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L287"></a><tt class="py-lineno">287</tt>  <tt class="py-line">    <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L288"></a><tt class="py-lineno">288</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">preferred_port</tt><tt class="py-op">:</tt> </tt>
-<a name="L289"></a><tt class="py-lineno">289</tt>  <tt class="py-line">            <tt class="py-name">sock</tt><tt class="py-op">.</tt><tt class="py-name">bind</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">bind_address</tt><tt class="py-op">,</tt> <tt class="py-name">preferred_port</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L290"></a><tt class="py-lineno">290</tt>  <tt class="py-line">            <tt class="py-name">ipaddr</tt><tt class="py-op">,</tt> <tt class="py-name">port</tt> <tt class="py-op">=</tt> <tt class="py-name">sock</tt><tt class="py-op">.</tt><tt class="py-name">getsockname</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L291"></a><tt class="py-lineno">291</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L292"></a><tt class="py-lineno">292</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> </tt>
-<a name="L293"></a><tt class="py-lineno">293</tt>  <tt class="py-line">    <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
-<a name="L294"></a><tt class="py-lineno">294</tt>  <tt class="py-line">        <tt class="py-name">sock</tt><tt class="py-op">.</tt><tt class="py-name">bind</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-string">''</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L295"></a><tt class="py-lineno">295</tt>  <tt class="py-line">        <tt class="py-name">ipaddr</tt><tt class="py-op">,</tt> <tt class="py-name">port</tt> <tt class="py-op">=</tt> <tt class="py-name">sock</tt><tt class="py-op">.</tt><tt class="py-name">getsockname</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L296"></a><tt class="py-lineno">296</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">port</tt> </tt>
-</div><a name="L297"></a><tt class="py-lineno">297</tt>  <tt class="py-line"> </tt>
-<a name="get_encoding"></a><div id="get_encoding-def"><a name="L298"></a><tt class="py-lineno">298</tt> <a class="py-toggle" href="#" id="get_encoding-toggle" onclick="return toggle('get_encoding');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.utils-module.html#get_encoding">get_encoding</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="get_encoding-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="get_encoding-expanded"><a name="L299"></a><tt class="py-lineno">299</tt>  <tt class="py-line">    <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L300"></a><tt class="py-lineno">300</tt>  <tt class="py-line">        <tt class="py-name">encoding</tt> <tt class="py-op">=</tt> <tt class="py-name">locale</tt><tt class="py-op">.</tt><tt class="py-name">getdefaultlocale</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
-<a name="L301"></a><tt class="py-lineno">301</tt>  <tt class="py-line">    <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
-<a name="L302"></a><tt class="py-lineno">302</tt>  <tt class="py-line">        <tt class="py-name">encoding</tt> <tt class="py-op">=</tt> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">getdefaultencoding</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L303"></a><tt class="py-lineno">303</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">encoding</tt> </tt>
-</div><a name="L304"></a><tt class="py-lineno">304</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<a name="L281"></a><tt class="py-lineno">281</tt>  <tt class="py-line">            <tt class="py-name">_not_removed</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L282"></a><tt class="py-lineno">282</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L283"></a><tt class="py-lineno">283</tt>  <tt class="py-line">            <tt class="py-comment"># file is probably locked</tt> </tt>
+<a name="L284"></a><tt class="py-lineno">284</tt>  <tt class="py-line">            <tt class="py-name">gevent</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">5</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L285"></a><tt class="py-lineno">285</tt>  <tt class="py-line"> </tt>
+<a name="detect_unused_port"></a><div id="detect_unused_port-def"><a name="L286"></a><tt class="py-lineno">286</tt> <a class="py-toggle" href="#" id="detect_unused_port-toggle" onclick="return toggle('detect_unused_port');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.utils-module.html#detect_unused_port">detect_unused_port</a><tt class="py-op">(</tt><tt class="py-param">bind_address</tt><tt class="py-op">=</tt><tt class="py-string">''</tt><tt class="py-op">,</tt> <tt class="py-param">preferred_port</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="detect_unused_port-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="detect_unused_port-expanded"><a name="L287"></a><tt class="py-lineno">287</tt>  <tt class="py-line"> </tt>
+<a name="L288"></a><tt class="py-lineno">288</tt>  <tt class="py-line">    <tt class="py-name">sock</tt> <tt class="py-op">=</tt> <tt class="py-name">socket</tt><tt class="py-op">.</tt><tt class="py-name">socket</tt><tt class="py-op">(</tt><tt class="py-name">socket</tt><tt class="py-op">.</tt><tt class="py-name">AF_INET</tt><tt class="py-op">,</tt> <tt class="py-name">socket</tt><tt class="py-op">.</tt><tt class="py-name">SOCK_STREAM</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L289"></a><tt class="py-lineno">289</tt>  <tt class="py-line">    <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L290"></a><tt class="py-lineno">290</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">preferred_port</tt><tt class="py-op">:</tt> </tt>
+<a name="L291"></a><tt class="py-lineno">291</tt>  <tt class="py-line">            <tt class="py-name">sock</tt><tt class="py-op">.</tt><tt class="py-name">bind</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">bind_address</tt><tt class="py-op">,</tt> <tt class="py-name">preferred_port</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L292"></a><tt class="py-lineno">292</tt>  <tt class="py-line">            <tt class="py-name">ipaddr</tt><tt class="py-op">,</tt> <tt class="py-name">port</tt> <tt class="py-op">=</tt> <tt class="py-name">sock</tt><tt class="py-op">.</tt><tt class="py-name">getsockname</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L293"></a><tt class="py-lineno">293</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L294"></a><tt class="py-lineno">294</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> </tt>
+<a name="L295"></a><tt class="py-lineno">295</tt>  <tt class="py-line">    <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L296"></a><tt class="py-lineno">296</tt>  <tt class="py-line">        <tt class="py-name">sock</tt><tt class="py-op">.</tt><tt class="py-name">bind</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-string">''</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L297"></a><tt class="py-lineno">297</tt>  <tt class="py-line">        <tt class="py-name">ipaddr</tt><tt class="py-op">,</tt> <tt class="py-name">port</tt> <tt class="py-op">=</tt> <tt class="py-name">sock</tt><tt class="py-op">.</tt><tt class="py-name">getsockname</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L298"></a><tt class="py-lineno">298</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">port</tt> </tt>
+</div><a name="L299"></a><tt class="py-lineno">299</tt>  <tt class="py-line"> </tt>
+<a name="get_encoding"></a><div id="get_encoding-def"><a name="L300"></a><tt class="py-lineno">300</tt> <a class="py-toggle" href="#" id="get_encoding-toggle" onclick="return toggle('get_encoding');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.utils-module.html#get_encoding">get_encoding</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="get_encoding-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="get_encoding-expanded"><a name="L301"></a><tt class="py-lineno">301</tt>  <tt class="py-line">    <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L302"></a><tt class="py-lineno">302</tt>  <tt class="py-line">        <tt class="py-name">encoding</tt> <tt class="py-op">=</tt> <tt class="py-name">locale</tt><tt class="py-op">.</tt><tt class="py-name">getdefaultlocale</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L303"></a><tt class="py-lineno">303</tt>  <tt class="py-line">    <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L304"></a><tt class="py-lineno">304</tt>  <tt class="py-line">        <tt class="py-name">encoding</tt> <tt class="py-op">=</tt> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">getdefaultencoding</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L305"></a><tt class="py-lineno">305</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">encoding</tt> </tt>
+</div><a name="L306"></a><tt class="py-lineno">306</tt>  <tt class="py-line"> </tt>
+<a name="is_abs_path"></a><div id="is_abs_path-def"><a name="L307"></a><tt class="py-lineno">307</tt> <a class="py-toggle" href="#" id="is_abs_path-toggle" onclick="return toggle('is_abs_path');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="x2go.utils-module.html#is_abs_path">is_abs_path</a><tt class="py-op">(</tt><tt class="py-param">path</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="is_abs_path-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="is_abs_path-expanded"><a name="L308"></a><tt class="py-lineno">308</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">bool</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">startswith</tt><tt class="py-op">(</tt><tt class="py-string">'/'</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">'^[%s]\:\\\\'</tt> <tt class="py-op">%</tt> <tt class="py-name">string</tt><tt class="py-op">.</tt><tt class="py-name">ascii_letters</tt><tt class="py-op">,</tt> <tt class="py-name">path</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L309"></a><tt class="py-lineno">309</tt>  <tt class="py-line"> </tt><script type="text/javascript">
 <!--
 expandto(location.href);
 // -->
@@ -438,7 +443,7 @@ expandto(location.href);
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:34 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:25 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.x2go_exceptions-module.html b/doc/html/x2go.x2go_exceptions-module.html
index fa25ecb..3dcea99 100644
--- a/doc/html/x2go.x2go_exceptions-module.html
+++ b/doc/html/x2go.x2go_exceptions-module.html
@@ -80,6 +80,20 @@
     <td width="15%" align="right" valign="top" class="summary">
       <span class="summary-type"> </span>
     </td><td class="summary">
+        <a href="x2go.x2go_exceptions.X2goClientPrintingException-class.html" class="summary-name">X2goClientPrintingException</a>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="x2go.x2go_exceptions.X2goClientSettingsException-class.html" class="summary-name">X2goClientSettingsException</a>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
         <a href="x2go.x2go_exceptions.X2goSessionException-class.html" class="summary-name">X2goSessionException</a>
     </td>
   </tr>
@@ -143,13 +157,6 @@
     <td width="15%" align="right" valign="top" class="summary">
       <span class="summary-type"> </span>
     </td><td class="summary">
-        <a href="x2go.x2go_exceptions.X2goSettingsException-class.html" class="summary-name">X2goSettingsException</a>
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
         <a href="x2go.x2go_exceptions.X2goFwTunnelException-class.html" class="summary-name">X2goFwTunnelException</a>
     </td>
   </tr>
@@ -264,7 +271,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.x2go_exceptions-pysrc.html b/doc/html/x2go.x2go_exceptions-pysrc.html
index 81d55db..180e240 100644
--- a/doc/html/x2go.x2go_exceptions-pysrc.html
+++ b/doc/html/x2go.x2go_exceptions-pysrc.html
@@ -138,28 +138,29 @@ x2go.xserver.__NAME__" class="py-name" href="#" onclick="return doclink('link-0'
 <a name="L41"></a><tt class="py-lineno">41</tt>  <tt class="py-line"> </tt>
 <a name="_X2goException"></a><div id="_X2goException-def"><a name="L42"></a><tt class="py-lineno">42</tt> <a class="py-toggle" href="#" id="_X2goException-toggle" onclick="return toggle('_X2goException');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="x2go.x2go_exceptions._X2goException-class.html">_X2goException</a><tt class="py-op">(</tt><tt class="py-base-class">exceptions</tt><tt class="py-op">.</tt><tt class="py-base-class">BaseException</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-keyword">pass</tt> </tt>
 </div><a name="X2goClientException"></a><div id="X2goClientException-def"><a name="L43"></a><tt class="py-lineno">43</tt> <a class="py-toggle" href="#" id="X2goClientException-toggle" onclick="return toggle('X2goClientException');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="x2go.x2go_exceptions.X2goClientException-class.html">X2goClientException</a><tt class="py-op">(</tt><tt class="py-base-class">_X2goException</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-keyword">pass</tt> </tt>
-</div><a name="X2goSessionException"></a><div id="X2goSessionException-def"><a name="L44"></a><tt class="py-lineno">44</tt> <a class="py-toggle" href="#" id="X2goSessionException-toggle" onclick="return toggle('X2goSessionException');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="x2go.x2go_exceptions.X2goSessionException-class.html">X2goSessionException</a><tt class="py-op">(</tt><tt class="py-base-class">_X2goException</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-keyword">pass</tt> </tt>
-</div><a name="X2goControlSessionException"></a><div id="X2goControlSessionException-def"><a name="L45"></a><tt class="py-lineno">45</tt> <a class="py-toggle" href="#" id="X2goControlSessionException-toggle" onclick="return toggle('X2goControlSessionException');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="x2go.x2go_exceptions.X2goControlSessionException-class.html">X2goControlSessionException</a><tt class="py-op">(</tt><tt class="py-base-class">_X2goException</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-keyword">pass</tt> </tt>
-</div><a name="X2goHostKeyException"></a><div id="X2goHostKeyException-def"><a name="L46"></a><tt class="py-lineno">46</tt> <a class="py-toggle" href="#" id="X2goHostKeyException-toggle" onclick="return toggle('X2goHostKeyException');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="x2go.x2go_exceptions.X2goHostKeyException-class.html">X2goHostKeyException</a><tt class="py-op">(</tt><tt class="py-base-class">_X2goException</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-keyword">pass</tt> </tt>
-</div><a name="X2goSSHProxyHostKeyException"></a><div id="X2goSSHProxyHostKeyException-def"><a name="L47"></a><tt class="py-lineno">47</tt> <a class="py-toggle" href="#" id="X2goSSHProxyHostKeyException-toggle" onclick="return toggle('X2goSSHProxyHostKeyException');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="x2go.x2go_exceptions.X2goSSHProxyHostKeyException-class.html">X2goSSHProxyHostKeyException</a><tt class="py-op">(</tt><tt class="py-base-class">_X2goException</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-keyword">pass</tt> </tt>
-</div><a name="X2goTerminalSessionException"></a><div id="X2goTerminalSessionException-def"><a name="L48"></a><tt class="py-lineno">48</tt> <a class="py-toggle" href="#" id="X2goTerminalSessionException-toggle" onclick="return toggle('X2goTerminalSessionException');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="x2go.x2go_exceptions.X2goTerminalSessionException-class.html">X2goTerminalSessionException</a><tt class="py-op">(</tt><tt class="py-base-class">_X2goException</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-keyword">pass</tt> </tt>
-</div><a name="X2goSessionCacheException"></a><div id="X2goSessionCacheException-def"><a name="L49"></a><tt class="py-lineno">49</tt> <a class="py-toggle" href="#" id="X2goSessionCacheException-toggle" onclick="return toggle('X2goSessionCacheException');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="x2go.x2go_exceptions.X2goSessionCacheException-class.html">X2goSessionCacheException</a><tt class="py-op">(</tt><tt class="py-base-class">_X2goException</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-keyword">pass</tt> </tt>
-</div><a name="X2goUserException"></a><div id="X2goUserException-def"><a name="L50"></a><tt class="py-lineno">50</tt> <a class="py-toggle" href="#" id="X2goUserException-toggle" onclick="return toggle('X2goUserException');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="x2go.x2go_exceptions.X2goUserException-class.html">X2goUserException</a><tt class="py-op">(</tt><tt class="py-base-class">_X2goException</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-keyword">pass</tt> </tt>
-</div><a name="X2goProfileException"></a><div id="X2goProfileException-def"><a name="L51"></a><tt class="py-lineno">51</tt> <a class="py-toggle" href="#" id="X2goProfileException-toggle" onclick="return toggle('X2goProfileException');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="x2go.x2go_exceptions.X2goProfileException-class.html">X2goProfileException</a><tt class="py-op">(</tt><tt class="py-base-class">_X2goException</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-keyword">pass</tt> </tt>
-</div><a name="X2goSessionRegistryException"></a><div id="X2goSessionRegistryException-def"><a name="L52"></a><tt class="py-lineno">52</tt> <a class="py-toggle" href="#" id="X2goSessionRegistryException-toggle" onclick="return toggle('X2goSessionRegistryException');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="x2go.x2go_exceptions.X2goSessionRegistryException-class.html">X2goSessionRegistryException</a><tt class="py-op">(</tt><tt class="py-base-class">_X2goException</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-keyword">pass</tt> </tt>
-</div><a name="X2goSettingsException"></a><div id="X2goSettingsException-def"><a name="L53"></a><tt class="py-lineno">53</tt> <a class="py-toggle" href="#" id="X2goSettingsException-toggle" onclick="return toggle('X2goSettingsException');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="x2go.x2go_exceptions.X2goSettingsException-class.html">X2goSettingsException</a><tt class="py-op">(</tt><tt class="py-base-class">_X2goException</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-keyword">pass</tt> </tt>
-</div><a name="X2goFwTunnelException"></a><div id="X2goFwTunnelException-def"><a name="L54"></a><tt class="py-lineno">54</tt> <a class="py-toggle" href="#" id="X2goFwTunnelException-toggle" onclick="return toggle('X2goFwTunnelException');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="x2go.x2go_exceptions.X2goFwTunnelException-class.html">X2goFwTunnelException</a><tt class="py-op">(</tt><tt class="py-base-class">_X2goException</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-keyword">pass</tt> </tt>
-</div><a name="X2goRevFwTunnelException"></a><div id="X2goRevFwTunnelException-def"><a name="L55"></a><tt class="py-lineno">55</tt> <a class="py-toggle" href="#" id="X2goRevFwTunnelException-toggle" onclick="return toggle('X2goRevFwTunnelException');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="x2go.x2go_exceptions.X2goRevFwTunnelException-class.html">X2goRevFwTunnelException</a><tt class="py-op">(</tt><tt class="py-base-class">_X2goException</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-keyword">pass</tt> </tt>
-</div><a name="X2goPrintException"></a><div id="X2goPrintException-def"><a name="L56"></a><tt class="py-lineno">56</tt> <a class="py-toggle" href="#" id="X2goPrintException-toggle" onclick="return toggle('X2goPrintException');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="x2go.x2go_exceptions.X2goPrintException-class.html">X2goPrintException</a><tt class="py-op">(</tt><tt class="py-base-class">_X2goException</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-keyword">pass</tt> </tt>
-</div><a name="X2goPrintQueueException"></a><div id="X2goPrintQueueException-def"><a name="L57"></a><tt class="py-lineno">57</tt> <a class="py-toggle" href="#" id="X2goPrintQueueException-toggle" onclick="return toggle('X2goPrintQueueException');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="x2go.x2go_exceptions.X2goPrintQueueException-class.html">X2goPrintQueueException</a><tt class="py-op">(</tt><tt class="py-base-class">_X2goException</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-keyword">pass</tt> </tt>
-</div><a name="X2goPrintActionException"></a><div id="X2goPrintActionException-def"><a name="L58"></a><tt class="py-lineno">58</tt> <a class="py-toggle" href="#" id="X2goPrintActionException-toggle" onclick="return toggle('X2goPrintActionException');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="x2go.x2go_exceptions.X2goPrintActionException-class.html">X2goPrintActionException</a><tt class="py-op">(</tt><tt class="py-base-class">_X2goException</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-keyword">pass</tt> </tt>
-</div><a name="X2goSSHProxyException"></a><div id="X2goSSHProxyException-def"><a name="L59"></a><tt class="py-lineno">59</tt> <a class="py-toggle" href="#" id="X2goSSHProxyException-toggle" onclick="return toggle('X2goSSHProxyException');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="x2go.x2go_exceptions.X2goSSHProxyException-class.html">X2goSSHProxyException</a><tt class="py-op">(</tt><tt class="py-base-class">_X2goException</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-keyword">pass</tt> </tt>
-</div><a name="X2goSSHProxyAuthenticationException"></a><div id="X2goSSHProxyAuthenticationException-def"><a name="L60"></a><tt class="py-lineno">60</tt> <a class="py-toggle" href="#" id="X2goSSHProxyAuthenticationException-toggle" onclick="return toggle('X2goSSHProxyAuthenticationException');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="x2go.x2go_exceptions.X2goSSHProxyAuthenticationException-class.html">X2goSSHProxyAuthenticationException</a><tt class="py-op">(</tt><tt class="py-base-class">_X2goException</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-keyword">pass</tt> </tt>
-</div><a name="X2goNotImplementedYetException"></a><div id="X2goNotImplementedYetException-def"><a name="L61"></a><tt class="py-lineno">61</tt> <a class="py-toggle" href="#" id="X2goNotImplementedYetException-toggle" onclick="return toggle('X2goNotImplementedYetException');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="x2go.x2go_exceptions.X2goNotImplementedYetException-class.html">X2goNotImplementedYetException</a><tt class="py-op">(</tt><tt class="py-base-class">_X2goException</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-keyword">pass</tt> </tt>
-</div><a name="L62"></a><tt class="py-lineno">62</tt>  <tt class="py-line"><tt class="py-keyword">if</tt> <tt class="py-name">_X2GOCLIENT_OS</tt> <tt class="py-op">!=</tt> <tt class="py-string">'Windows'</tt><tt class="py-op">:</tt> </tt>
-<a name="L63"></a><tt class="py-lineno">63</tt>  <tt class="py-line">    <tt class="py-comment"># faking Windows errors on non-Windows systems...</tt> </tt>
-<a name="WindowsError"></a><div id="WindowsError-def"><a name="L64"></a><tt class="py-lineno">64</tt> <a class="py-toggle" href="#" id="WindowsError-toggle" onclick="return toggle('WindowsError');">-</a><tt class="py-line">    <tt class="py-keyword">class</tt> <a class="py-def-name" href="x2go.x2go_exceptions.WindowsError-class.html">WindowsError</a><tt class="py-op">(</tt><tt class="py-base-class">_X2goException</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-keyword">pass</tt> </tt>
-</div><a name="L65"></a><tt class="py-lineno">65</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+</div><a name="X2goClientPrintingException"></a><div id="X2goClientPrintingException-def"><a name="L44"></a><tt class="py-lineno">44</tt> <a class="py-toggle" href="#" id="X2goClientPrintingException-toggle" onclick="return toggle('X2goClientPrintingException');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="x2go.x2go_exceptions.X2goClientPrintingException-class.html">X2goClientPrintingException</a><tt class="py-op">(</tt><tt class="py-base-class">_X2goException</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-keyword">pass</tt> </tt>
+</div><a name="X2goClientSettingsException"></a><div id="X2goClientSettingsException-def"><a name="L45"></a><tt class="py-lineno">45</tt> <a class="py-toggle" href="#" id="X2goClientSettingsException-toggle" onclick="return toggle('X2goClientSettingsException');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="x2go.x2go_exceptions.X2goClientSettingsException-class.html">X2goClientSettingsException</a><tt class="py-op">(</tt><tt class="py-base-class">_X2goException</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-keyword">pass</tt> </tt>
+</div><a name="X2goSessionException"></a><div id="X2goSessionException-def"><a name="L46"></a><tt class="py-lineno">46</tt> <a class="py-toggle" href="#" id="X2goSessionException-toggle" onclick="return toggle('X2goSessionException');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="x2go.x2go_exceptions.X2goSessionException-class.html">X2goSessionException</a><tt class="py-op">(</tt><tt class="py-base-class">_X2goException</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-keyword">pass</tt> </tt>
+</div><a name="X2goControlSessionException"></a><div id="X2goControlSessionException-def"><a name="L47"></a><tt class="py-lineno">47</tt> <a class="py-toggle" href="#" id="X2goControlSessionException-toggle" onclick="return toggle('X2goControlSessionException');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="x2go.x2go_exceptions.X2goControlSessionException-class.html">X2goControlSessionException</a><tt class="py-op">(</tt><tt class="py-base-class">_X2goException</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-keyword">pass</tt> </tt>
+</div><a name="X2goHostKeyException"></a><div id="X2goHostKeyException-def"><a name="L48"></a><tt class="py-lineno">48</tt> <a class="py-toggle" href="#" id="X2goHostKeyException-toggle" onclick="return toggle('X2goHostKeyException');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="x2go.x2go_exceptions.X2goHostKeyException-class.html">X2goHostKeyException</a><tt class="py-op">(</tt><tt class="py-base-class">_X2goException</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-keyword">pass</tt> </tt>
+</div><a name="X2goSSHProxyHostKeyException"></a><div id="X2goSSHProxyHostKeyException-def"><a name="L49"></a><tt class="py-lineno">49</tt> <a class="py-toggle" href="#" id="X2goSSHProxyHostKeyException-toggle" onclick="return toggle('X2goSSHProxyHostKeyException');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="x2go.x2go_exceptions.X2goSSHProxyHostKeyException-class.html">X2goSSHProxyHostKeyException</a><tt class="py-op">(</tt><tt class="py-base-class">_X2goException</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-keyword">pass</tt> </tt>
+</div><a name="X2goTerminalSessionException"></a><div id="X2goTerminalSessionException-def"><a name="L50"></a><tt class="py-lineno">50</tt> <a class="py-toggle" href="#" id="X2goTerminalSessionException-toggle" onclick="return toggle('X2goTerminalSessionException');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="x2go.x2go_exceptions.X2goTerminalSessionException-class.html">X2goTerminalSessionException</a><tt class="py-op">(</tt><tt class="py-base-class">_X2goException</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-keyword">pass</tt> </tt>
+</div><a name="X2goSessionCacheException"></a><div id="X2goSessionCacheException-def"><a name="L51"></a><tt class="py-lineno">51</tt> <a class="py-toggle" href="#" id="X2goSessionCacheException-toggle" onclick="return toggle('X2goSessionCacheException');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="x2go.x2go_exceptions.X2goSessionCacheException-class.html">X2goSessionCacheException</a><tt class="py-op">(</tt><tt class="py-base-class">_X2goException</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-keyword">pass</tt> </tt>
+</div><a name="X2goUserException"></a><div id="X2goUserException-def"><a name="L52"></a><tt class="py-lineno">52</tt> <a class="py-toggle" href="#" id="X2goUserException-toggle" onclick="return toggle('X2goUserException');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="x2go.x2go_exceptions.X2goUserException-class.html">X2goUserException</a><tt class="py-op">(</tt><tt class="py-base-class">_X2goException</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-keyword">pass</tt> </tt>
+</div><a name="X2goProfileException"></a><div id="X2goProfileException-def"><a name="L53"></a><tt class="py-lineno">53</tt> <a class="py-toggle" href="#" id="X2goProfileException-toggle" onclick="return toggle('X2goProfileException');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="x2go.x2go_exceptions.X2goProfileException-class.html">X2goProfileException</a><tt class="py-op">(</tt><tt class="py-base-class">_X2goException</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-keyword">pass</tt> </tt>
+</div><a name="X2goSessionRegistryException"></a><div id="X2goSessionRegistryException-def"><a name="L54"></a><tt class="py-lineno">54</tt> <a class="py-toggle" href="#" id="X2goSessionRegistryException-toggle" onclick="return toggle('X2goSessionRegistryException');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="x2go.x2go_exceptions.X2goSessionRegistryException-class.html">X2goSessionRegistryException</a><tt class="py-op">(</tt><tt class="py-base-class">_X2goException</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-keyword">pass</tt> </tt>
+</div><a name="X2goFwTunnelException"></a><div id="X2goFwTunnelException-def"><a name="L55"></a><tt class="py-lineno">55</tt> <a class="py-toggle" href="#" id="X2goFwTunnelException-toggle" onclick="return toggle('X2goFwTunnelException');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="x2go.x2go_exceptions.X2goFwTunnelException-class.html">X2goFwTunnelException</a><tt class="py-op">(</tt><tt class="py-base-class">_X2goException</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-keyword">pass</tt> </tt>
+</div><a name="X2goRevFwTunnelException"></a><div id="X2goRevFwTunnelException-def"><a name="L56"></a><tt class="py-lineno">56</tt> <a class="py-toggle" href="#" id="X2goRevFwTunnelException-toggle" onclick="return toggle('X2goRevFwTunnelException');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="x2go.x2go_exceptions.X2goRevFwTunnelException-class.html">X2goRevFwTunnelException</a><tt class="py-op">(</tt><tt class="py-base-class">_X2goException</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-keyword">pass</tt> </tt>
+</div><a name="X2goPrintException"></a><div id="X2goPrintException-def"><a name="L57"></a><tt class="py-lineno">57</tt> <a class="py-toggle" href="#" id="X2goPrintException-toggle" onclick="return toggle('X2goPrintException');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="x2go.x2go_exceptions.X2goPrintException-class.html">X2goPrintException</a><tt class="py-op">(</tt><tt class="py-base-class">_X2goException</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-keyword">pass</tt> </tt>
+</div><a name="X2goPrintQueueException"></a><div id="X2goPrintQueueException-def"><a name="L58"></a><tt class="py-lineno">58</tt> <a class="py-toggle" href="#" id="X2goPrintQueueException-toggle" onclick="return toggle('X2goPrintQueueException');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="x2go.x2go_exceptions.X2goPrintQueueException-class.html">X2goPrintQueueException</a><tt class="py-op">(</tt><tt class="py-base-class">_X2goException</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-keyword">pass</tt> </tt>
+</div><a name="X2goPrintActionException"></a><div id="X2goPrintActionException-def"><a name="L59"></a><tt class="py-lineno">59</tt> <a class="py-toggle" href="#" id="X2goPrintActionException-toggle" onclick="return toggle('X2goPrintActionException');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="x2go.x2go_exceptions.X2goPrintActionException-class.html">X2goPrintActionException</a><tt class="py-op">(</tt><tt class="py-base-class">_X2goException</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-keyword">pass</tt> </tt>
+</div><a name="X2goSSHProxyException"></a><div id="X2goSSHProxyException-def"><a name="L60"></a><tt class="py-lineno">60</tt> <a class="py-toggle" href="#" id="X2goSSHProxyException-toggle" onclick="return toggle('X2goSSHProxyException');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="x2go.x2go_exceptions.X2goSSHProxyException-class.html">X2goSSHProxyException</a><tt class="py-op">(</tt><tt class="py-base-class">_X2goException</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-keyword">pass</tt> </tt>
+</div><a name="X2goSSHProxyAuthenticationException"></a><div id="X2goSSHProxyAuthenticationException-def"><a name="L61"></a><tt class="py-lineno">61</tt> <a class="py-toggle" href="#" id="X2goSSHProxyAuthenticationException-toggle" onclick="return toggle('X2goSSHProxyAuthenticationException');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="x2go.x2go_exceptions.X2goSSHProxyAuthenticationException-class.html">X2goSSHProxyAuthenticationException</a><tt class="py-op">(</tt><tt class="py-base-class">_X2goException</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-keyword">pass</tt> </tt>
+</div><a name="X2goNotImplementedYetException"></a><div id="X2goNotImplementedYetException-def"><a name="L62"></a><tt class="py-lineno">62</tt> <a class="py-toggle" href="#" id="X2goNotImplementedYetException-toggle" onclick="return toggle('X2goNotImplementedYetException');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="x2go.x2go_exceptions.X2goNotImplementedYetException-class.html">X2goNotImplementedYetException</a><tt class="py-op">(</tt><tt class="py-base-class">_X2goException</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-keyword">pass</tt> </tt>
+</div><a name="L63"></a><tt class="py-lineno">63</tt>  <tt class="py-line"><tt class="py-keyword">if</tt> <tt class="py-name">_X2GOCLIENT_OS</tt> <tt class="py-op">!=</tt> <tt class="py-string">'Windows'</tt><tt class="py-op">:</tt> </tt>
+<a name="L64"></a><tt class="py-lineno">64</tt>  <tt class="py-line">    <tt class="py-comment"># faking Windows errors on non-Windows systems...</tt> </tt>
+<a name="WindowsError"></a><div id="WindowsError-def"><a name="L65"></a><tt class="py-lineno">65</tt> <a class="py-toggle" href="#" id="WindowsError-toggle" onclick="return toggle('WindowsError');">-</a><tt class="py-line">    <tt class="py-keyword">class</tt> <a class="py-def-name" href="x2go.x2go_exceptions.WindowsError-class.html">WindowsError</a><tt class="py-op">(</tt><tt class="py-base-class">_X2goException</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-keyword">pass</tt> </tt>
+</div><a name="L66"></a><tt class="py-lineno">66</tt>  <tt class="py-line"> </tt><script type="text/javascript">
 <!--
 expandto(location.href);
 // -->
@@ -197,7 +198,7 @@ expandto(location.href);
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:34 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:26 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.x2go_exceptions.WindowsError-class.html b/doc/html/x2go.x2go_exceptions.WindowsError-class.html
index 9c6e4c0..d4cd460 100644
--- a/doc/html/x2go.x2go_exceptions.WindowsError-class.html
+++ b/doc/html/x2go.x2go_exceptions.WindowsError-class.html
@@ -156,7 +156,7 @@ exceptions.BaseException --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.x2go_exceptions.X2goClientException-class.html b/doc/html/x2go.x2go_exceptions.X2goClientException-class.html
index 31d7dbb..96cae2b 100644
--- a/doc/html/x2go.x2go_exceptions.X2goClientException-class.html
+++ b/doc/html/x2go.x2go_exceptions.X2goClientException-class.html
@@ -156,7 +156,7 @@ exceptions.BaseException --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.x2go_exceptions.X2goControlSessionException-class.html b/doc/html/x2go.x2go_exceptions.X2goControlSessionException-class.html
index 31c1c43..7120c4b 100644
--- a/doc/html/x2go.x2go_exceptions.X2goControlSessionException-class.html
+++ b/doc/html/x2go.x2go_exceptions.X2goControlSessionException-class.html
@@ -156,7 +156,7 @@ exceptions.BaseException --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.x2go_exceptions.X2goFwTunnelException-class.html b/doc/html/x2go.x2go_exceptions.X2goFwTunnelException-class.html
index acd35b0..eba2abf 100644
--- a/doc/html/x2go.x2go_exceptions.X2goFwTunnelException-class.html
+++ b/doc/html/x2go.x2go_exceptions.X2goFwTunnelException-class.html
@@ -156,7 +156,7 @@ exceptions.BaseException --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.x2go_exceptions.X2goHostKeyException-class.html b/doc/html/x2go.x2go_exceptions.X2goHostKeyException-class.html
index 1fa4aea..4569580 100644
--- a/doc/html/x2go.x2go_exceptions.X2goHostKeyException-class.html
+++ b/doc/html/x2go.x2go_exceptions.X2goHostKeyException-class.html
@@ -156,7 +156,7 @@ exceptions.BaseException --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.x2go_exceptions.X2goNotImplementedYetException-class.html b/doc/html/x2go.x2go_exceptions.X2goNotImplementedYetException-class.html
index e138e03..8f71c0d 100644
--- a/doc/html/x2go.x2go_exceptions.X2goNotImplementedYetException-class.html
+++ b/doc/html/x2go.x2go_exceptions.X2goNotImplementedYetException-class.html
@@ -156,7 +156,7 @@ exceptions.BaseException --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.x2go_exceptions.X2goPrintActionException-class.html b/doc/html/x2go.x2go_exceptions.X2goPrintActionException-class.html
index 9a2fa81..9e3fef3 100644
--- a/doc/html/x2go.x2go_exceptions.X2goPrintActionException-class.html
+++ b/doc/html/x2go.x2go_exceptions.X2goPrintActionException-class.html
@@ -156,7 +156,7 @@ exceptions.BaseException --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.x2go_exceptions.X2goPrintException-class.html b/doc/html/x2go.x2go_exceptions.X2goPrintException-class.html
index fc460ad..6718063 100644
--- a/doc/html/x2go.x2go_exceptions.X2goPrintException-class.html
+++ b/doc/html/x2go.x2go_exceptions.X2goPrintException-class.html
@@ -156,7 +156,7 @@ exceptions.BaseException --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.x2go_exceptions.X2goPrintQueueException-class.html b/doc/html/x2go.x2go_exceptions.X2goPrintQueueException-class.html
index 92d1fd7..bdb79f8 100644
--- a/doc/html/x2go.x2go_exceptions.X2goPrintQueueException-class.html
+++ b/doc/html/x2go.x2go_exceptions.X2goPrintQueueException-class.html
@@ -156,7 +156,7 @@ exceptions.BaseException --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.x2go_exceptions.X2goProfileException-class.html b/doc/html/x2go.x2go_exceptions.X2goProfileException-class.html
index 43e87c4..53c65e6 100644
--- a/doc/html/x2go.x2go_exceptions.X2goProfileException-class.html
+++ b/doc/html/x2go.x2go_exceptions.X2goProfileException-class.html
@@ -156,7 +156,7 @@ exceptions.BaseException --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.x2go_exceptions.X2goRevFwTunnelException-class.html b/doc/html/x2go.x2go_exceptions.X2goRevFwTunnelException-class.html
index 6167102..6ecd70b 100644
--- a/doc/html/x2go.x2go_exceptions.X2goRevFwTunnelException-class.html
+++ b/doc/html/x2go.x2go_exceptions.X2goRevFwTunnelException-class.html
@@ -156,7 +156,7 @@ exceptions.BaseException --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.x2go_exceptions.X2goSSHProxyAuthenticationException-class.html b/doc/html/x2go.x2go_exceptions.X2goSSHProxyAuthenticationException-class.html
index d56341a..b56ba53 100644
--- a/doc/html/x2go.x2go_exceptions.X2goSSHProxyAuthenticationException-class.html
+++ b/doc/html/x2go.x2go_exceptions.X2goSSHProxyAuthenticationException-class.html
@@ -156,7 +156,7 @@ exceptions.BaseException --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.x2go_exceptions.X2goSSHProxyException-class.html b/doc/html/x2go.x2go_exceptions.X2goSSHProxyException-class.html
index a6aefb3..8570947 100644
--- a/doc/html/x2go.x2go_exceptions.X2goSSHProxyException-class.html
+++ b/doc/html/x2go.x2go_exceptions.X2goSSHProxyException-class.html
@@ -156,7 +156,7 @@ exceptions.BaseException --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.x2go_exceptions.X2goSSHProxyHostKeyException-class.html b/doc/html/x2go.x2go_exceptions.X2goSSHProxyHostKeyException-class.html
index 8742442..49f00a1 100644
--- a/doc/html/x2go.x2go_exceptions.X2goSSHProxyHostKeyException-class.html
+++ b/doc/html/x2go.x2go_exceptions.X2goSSHProxyHostKeyException-class.html
@@ -156,7 +156,7 @@ exceptions.BaseException --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.x2go_exceptions.X2goSessionCacheException-class.html b/doc/html/x2go.x2go_exceptions.X2goSessionCacheException-class.html
index 17ae080..3b6517b 100644
--- a/doc/html/x2go.x2go_exceptions.X2goSessionCacheException-class.html
+++ b/doc/html/x2go.x2go_exceptions.X2goSessionCacheException-class.html
@@ -156,7 +156,7 @@ exceptions.BaseException --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.x2go_exceptions.X2goSessionException-class.html b/doc/html/x2go.x2go_exceptions.X2goSessionException-class.html
index 94c720b..e3f1a7c 100644
--- a/doc/html/x2go.x2go_exceptions.X2goSessionException-class.html
+++ b/doc/html/x2go.x2go_exceptions.X2goSessionException-class.html
@@ -156,7 +156,7 @@ exceptions.BaseException --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.x2go_exceptions.X2goSessionRegistryException-class.html b/doc/html/x2go.x2go_exceptions.X2goSessionRegistryException-class.html
index 996f0b6..a37bff7 100644
--- a/doc/html/x2go.x2go_exceptions.X2goSessionRegistryException-class.html
+++ b/doc/html/x2go.x2go_exceptions.X2goSessionRegistryException-class.html
@@ -156,7 +156,7 @@ exceptions.BaseException --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.x2go_exceptions.X2goSettingsException-class.html b/doc/html/x2go.x2go_exceptions.X2goSettingsException-class.html
deleted file mode 100644
index 2a92f23..0000000
--- a/doc/html/x2go.x2go_exceptions.X2goSettingsException-class.html
+++ /dev/null
@@ -1,178 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>x2go.x2go_exceptions.X2goSettingsException</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>   <a
-        href="x2go-module.html">Home</a>   </th>
-
-  <!-- Tree link -->
-      <th>   <a
-        href="module-tree.html">Trees</a>   </th>
-
-  <!-- Index link -->
-      <th>   <a
-        href="identifier-index.html">Indices</a>   </th>
-
-  <!-- Help link -->
-      <th>   <a
-        href="help.html">Help</a>   </th>
-
-  <!-- Project homepage -->
-      <th class="navbar" align="right" width="100%">
-        <table border="0" cellpadding="0" cellspacing="0">
-          <tr><th class="navbar" align="center"
-            ><a class="navbar" target="_top" href="http://www.x2go.org">Python X2go</a></th>
-          </tr></table></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="x2go-module.html">Package x2go</a> ::
-        <a href="x2go.x2go_exceptions-module.html">Module x2go_exceptions</a> ::
-        Class X2goSettingsException
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >] | <a href="x2go.x2go_exceptions.X2goSettingsException-class.html"
-            target="_top">no frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class X2goSettingsException</h1><p class="nomargin-top"><span class="codelink"><a href="x2go.x2go_exceptions-pysrc.html#X2goSettingsException">source code</a></span></p>
-<pre class="base-tree">
-              object --+        
-                       |        
-exceptions.BaseException --+    
-                           |    
-              _X2goException --+
-                               |
-                              <strong class="uidshort">X2goSettingsException</strong>
-</pre>
-
-<hr />
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td align="left" colspan="2" class="table-header">
-    <span class="table-header">Instance Methods</span></td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>__delattr__</code>,
-      <code>__getattribute__</code>,
-      <code>__getitem__</code>,
-      <code>__getslice__</code>,
-      <code>__init__</code>,
-      <code>__new__</code>,
-      <code>__reduce__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__setstate__</code>,
-      <code>__str__</code>,
-      <code>__unicode__</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__format__</code>,
-      <code>__hash__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__sizeof__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td align="left" colspan="2" class="table-header">
-    <span class="table-header">Properties</span></td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
-      <code>args</code>,
-      <code>message</code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>   <a
-        href="x2go-module.html">Home</a>   </th>
-
-  <!-- Tree link -->
-      <th>   <a
-        href="module-tree.html">Trees</a>   </th>
-
-  <!-- Index link -->
-      <th>   <a
-        href="identifier-index.html">Indices</a>   </th>
-
-  <!-- Help link -->
-      <th>   <a
-        href="help.html">Help</a>   </th>
-
-  <!-- Project homepage -->
-      <th class="navbar" align="right" width="100%">
-        <table border="0" cellpadding="0" cellspacing="0">
-          <tr><th class="navbar" align="center"
-            ><a class="navbar" target="_top" href="http://www.x2go.org">Python X2go</a></th>
-          </tr></table></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/doc/html/x2go.x2go_exceptions.X2goTerminalSessionException-class.html b/doc/html/x2go.x2go_exceptions.X2goTerminalSessionException-class.html
index d7bab47..7470c0c 100644
--- a/doc/html/x2go.x2go_exceptions.X2goTerminalSessionException-class.html
+++ b/doc/html/x2go.x2go_exceptions.X2goTerminalSessionException-class.html
@@ -156,7 +156,7 @@ exceptions.BaseException --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.x2go_exceptions.X2goUserException-class.html b/doc/html/x2go.x2go_exceptions.X2goUserException-class.html
index 9b2c0de..ed3ccfe 100644
--- a/doc/html/x2go.x2go_exceptions.X2goUserException-class.html
+++ b/doc/html/x2go.x2go_exceptions.X2goUserException-class.html
@@ -156,7 +156,7 @@ exceptions.BaseException --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.xserver-module.html b/doc/html/x2go.xserver-module.html
index 18ce5df..13bae59 100644
--- a/doc/html/x2go.xserver-module.html
+++ b/doc/html/x2go.xserver-module.html
@@ -139,7 +139,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.xserver-pysrc.html b/doc/html/x2go.xserver-pysrc.html
index 2275634..de7d505 100644
--- a/doc/html/x2go.xserver-pysrc.html
+++ b/doc/html/x2go.xserver-pysrc.html
@@ -486,7 +486,7 @@ expandto(location.href);
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:35 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:25 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.xserver.X2goClientXConfig-class.html b/doc/html/x2go.xserver.X2goClientXConfig-class.html
index aa65483..ffad6e6 100644
--- a/doc/html/x2go.xserver.X2goClientXConfig-class.html
+++ b/doc/html/x2go.xserver.X2goClientXConfig-class.html
@@ -129,6 +129,7 @@
       <code><a href="x2go.inifiles.X2goIniFile-class.html#get">get</a></code>,
       <code><a href="x2go.inifiles.X2goIniFile-class.html#get_type">get_type</a></code>,
       <code><a href="x2go.inifiles.X2goIniFile-class.html#get_value">get_value</a></code>,
+      <code><a href="x2go.inifiles.X2goIniFile-class.html#load">load</a></code>,
       <code><a href="x2go.inifiles.X2goIniFile-class.html#update_value">update_value</a></code>,
       <code><a href="x2go.inifiles.X2goIniFile-class.html#write">write</a></code>
       </p>
@@ -440,7 +441,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/x2go.xserver.X2goXServer-class.html b/doc/html/x2go.xserver.X2goXServer-class.html
index a521777..9366162 100644
--- a/doc/html/x2go.xserver.X2goXServer-class.html
+++ b/doc/html/x2go.xserver.X2goXServer-class.html
@@ -276,7 +276,7 @@ threading._Verbose --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Sun Feb 27 02:35:33 2011
+    Generated by Epydoc 3.0.1 on Tue Mar  1 00:34:24 2011
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/pdf/Python-X2go_API.pdf b/doc/pdf/Python-X2go_API.pdf
index b4843e6..565af77 100644
Binary files a/doc/pdf/Python-X2go_API.pdf and b/doc/pdf/Python-X2go_API.pdf differ


hooks/post-receive
-- 
python-x2go.git (Python X2Go Client API)

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "python-x2go.git" (Python X2Go Client API).




More information about the x2go-commits mailing list