[X2Go-Commits] python-x2go.git - brokerclient (branch) updated: 0.2.0.10-17-ga737395

X2Go dev team git-admin at x2go.org
Tue Jan 7 16:21:25 CET 2014


The branch, brokerclient has been updated
       via  a737395d986559888c214c894cce07d614bab78a (commit)
      from  d71817b8ec2e482fa41d2bd5fb5a6e5c5c7f66f5 (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 ++
 x2go/backends/terminal/_stdout.py |   16 ++++++++++++++--
 x2go/utils.py                     |   21 +++++++++++++++++++++
 3 files changed, 37 insertions(+), 2 deletions(-)

The diff of changes is:
diff --git a/debian/changelog b/debian/changelog
index 2f8b04c..9940594 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -10,6 +10,8 @@ python-x2go (0.2.0.11-0~x2go1) UNRELEASED; urgency=low
     - Add support for starting maximized session windows. Closes upstream
       issue #12.
     - Fix category ,,Utility'' when parsing .desktop files.
+    - For ,,maxdim'' session property fallback to _NET_DESKTOP_GEOMETRY if
+      _NET_WORKAREA is not available from the window manager.
   * /debian/rules:
     + Allow package build on systems with missing dh_python2.
 
diff --git a/x2go/backends/terminal/_stdout.py b/x2go/backends/terminal/_stdout.py
index 8548cd0..4055f09 100644
--- a/x2go/backends/terminal/_stdout.py
+++ b/x2go/backends/terminal/_stdout.py
@@ -1375,7 +1375,13 @@ class X2goTerminalSessionSTDOUT(object):
         self.params.rewrite_session_type()
 
         if self.params.geometry == 'maximize':
-            self.params.geometry = "%sx%s" % utils.get_workarea_geometry()
+            _geometry = utils.get_workarea_geometry()
+            if len(_geometry) != 2:
+                _geometry = utils.get_desktop_geometry()
+            if len(_geometry) == 2:
+                self.params.geometry = "%sx%s" % _geometry
+            else:
+                self.logger('failed to detect best maxmimized geometry of your client-side desktop', loglevel=log.loglevel_WARN)
 
         cmd_line = [ "x2gostartagent",
                      str(self.params.geometry),
@@ -1462,7 +1468,13 @@ class X2goTerminalSessionSTDOUT(object):
             setkbd = "1"
 
         if self.params.geometry == 'maximize':
-            self.params.geometry = "%sx%s" % utils.get_workarea_geometry()
+            _geometry = utils.get_workarea_geometry()
+            if len(_geometry) != 2:
+                _geometry = utils.get_desktop_geometry()
+            if len(_geometry) == 2:
+                self.params.geometry = "%sx%s" % _geometry
+            else:
+                self.logger('failed to detect best maxmimized geometry of your client-side desktop', loglevel=log.loglevel_WARN)
 
         cmd_line = [ "x2goresume-session", self.session_info.name,
                      self.params.geometry,
diff --git a/x2go/utils.py b/x2go/utils.py
index a6ee4e6..ff240dd 100644
--- a/x2go/utils.py
+++ b/x2go/utils.py
@@ -603,6 +603,27 @@ def find_session_window(session_name):
         return window
 
 
+def get_desktop_geometry():
+    """\
+    Get the geometry of the current screen's desktop by
+    wrapping around
+
+      xprop -root '_NET_DESKTOP_GEOMETRY'
+
+    @return: a (<width>, <height>) tuple will be returned
+    @rtype: C{tuple}
+
+    """
+    if _X2GOCLIENT_OS != 'Windows':
+        p = subprocess.Popen(['xprop', '-root', '_NET_DESKTOP_GEOMETRY',], stdout=subprocess.PIPE, )
+        _paramval = p.stdout.read().split("=")
+        if len(_paramval) == 2:
+            _list = _paramval[1].rstrip('\n').split(',')
+            if len(_list) == 2:
+                return (_list[0].strip(), _list[1].strip())
+
+    return None
+
 def get_workarea_geometry():
     """\
     Get the geometry of the current screen's work area by


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