[X2Go-Commits] python-x2go.git - build-baikal (branch) updated: 0.1.0.2-4-gf457a2a
X2Go dev team
git-admin at x2go.org
Wed Jan 8 15:26:28 CET 2014
The branch, build-baikal has been updated
via f457a2a390e7b06c7f7194f59bf7f3ccf225cdc4 (commit)
from 4a6442089ce241a377969707a9a6ec0c4e4ba509 (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:
x2go/backends/proxy/_nx3.py | 49 ++++++++++++++++++++++++++++++++++---
x2go/backends/terminal/_stdout.py | 6 ++++-
2 files changed, 50 insertions(+), 5 deletions(-)
The diff of changes is:
diff --git a/x2go/backends/proxy/_nx3.py b/x2go/backends/proxy/_nx3.py
index abed34c..38786af 100644
--- a/x2go/backends/proxy/_nx3.py
+++ b/x2go/backends/proxy/_nx3.py
@@ -34,6 +34,7 @@ import threading
# Python X2go modules
import x2go.forward as forward
+import x2go.utils as utils
import x2go.log as log
import base
@@ -119,10 +120,50 @@ class X2goProxyNX3(base.X2goProxyBASE):
cmd_line.append(_proxy_options)
return cmd_line
-# def process_proxy_options():
-#
-# for opt in self.proxy_options:
-
+ def process_proxy_options(self):
+
+ if self.proxy_options.has_key('defkeymap') and self.proxy_options['defkeymap']:
+
+ # first: draw in xkb_rules_names from xprop output
+ xkb_rules_names = utils.xkb_rules_names()
+ _proxy_options = {
+ 'xkbrules': xkb_rules_names['rules'],
+ 'xkbmodel': xkb_rules_names['model'],
+ 'xkblayout': xkb_rules_names['layout'],
+ 'xkbvariant': xkb_rules_names['variant'],
+ 'xkboptions': xkb_rules_names['options'],
+ }
+
+ # merge self.proxy_options into the proxy_options we obtained from xprop
+ _proxy_options.update(self.proxy_options)
+ self.proxy_options = _proxy_options
+
+ del self.proxy_options['defkeymap']
+
+ # create keyboard file
+ _keyboard = """\
+rules=%s
+model=%s
+layout=%s
+variant=%s
+options=%s""" % ( self.proxy_options['xkbrules'],
+ self.proxy_options['xkbmodel'],
+ self.proxy_options['xkblayout'],
+ self.proxy_options['xkbvariant'],
+ self.proxy_options['xkboptions'], )
+
+ # remove processed options from self.process_options
+ del self.proxy_options['xkbrules']
+ del self.proxy_options['xkbmodel']
+ del self.proxy_options['xkblayout']
+ del self.proxy_options['xkbvariant']
+ del self.proxy_options['xkboptions']
+
+ # write the keyboard file into the remote session directory
+ self.session_instance.control_session._x2go_sftp_write('%s/keyboard' % self.session_info.remote_container, _keyboard)
+
+ # run the base variant of this method (basically for logging of ignored process_options)
+ base.X2goProxyBASE.process_proxy_options(self)
def start_proxy(self):
self.logger('starting local NX3 proxy...', loglevel=log.loglevel_INFO)
diff --git a/x2go/backends/terminal/_stdout.py b/x2go/backends/terminal/_stdout.py
index 6fa8fd1..b2bf621 100644
--- a/x2go/backends/terminal/_stdout.py
+++ b/x2go/backends/terminal/_stdout.py
@@ -177,7 +177,7 @@ class X2goTerminalSessionSTDOUT(object):
"""
def __init__(self, control_session, session_info=None,
geometry="800x600", depth=24, link="adsl", pack="16m-jpeg-9",
- cache_type="unix-kde", kblayout='us', kbtype='pc105/us',
+ cache_type="unix-kde", kblayout='defkeymap', kbtype='pc105/defkeymap',
session_type="application", snd_system='pulse', snd_port=4713, cmd=None,
rdp_server=None, rdp_options=None,
xdmcp_server=None,
@@ -833,6 +833,10 @@ class X2goTerminalSessionSTDOUT(object):
self.session_info.name,
)
+ # let the proxy backend know that we want to define a very special keymap
+ if (self.params.kbtype.endswith('defkeymap') and self.params.kblayout.endswith('defkeymap')) or (self.params.kbtype == '' and self.params.kblayout == ''):
+ self.proxy_options.update({'defkeymap': True, })
+
# set up SSH tunnel for X11 graphical elements
self.proxy = self.proxy_backend(session_info=self.session_info,
ssh_transport=self.control_session.get_transport(),
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