The mvwm repository's master branch has been updated.

The following shows the diffstat and patchsets between the merged result
and HEAD.

commit 42ca0b763e637f1c836afb4e94273212210afc0d
Author: Thomas Adam <[email protected]>
Date:   Sun Sep 14 14:58:43 2014 +0100

    Fix parsing of screen geometry
    
    Restore the logic of using the global screen when calculating negative
    offset geometries.
---
 libs/FScreen.c | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/libs/FScreen.c b/libs/FScreen.c
index 0ed5bcb..aa6a754 100644
--- a/libs/FScreen.c
+++ b/libs/FScreen.c
@@ -596,7 +596,7 @@ int FScreenParseGeometry(
        char *parsestring, int *x_return, int *y_return,
        unsigned int *width_return, unsigned int *height_return)
 {
-       struct monitor  *m;
+       struct monitor  *m, *global_m;
        char            *scr = NULL;
        int              rc;
 
@@ -609,18 +609,24 @@ int FScreenParseGeometry(
        else
                m = monitor_get_current();
 
+       global_m = monitor_by_name("global");
+
        /* adapt geometry to selected screen */
        if (rc & XValue)
        {
                if (rc & XNegative)
-                       *x_return -= (m->coord.w - m->coord.x);
+                       *x_return -= (global_m->coord.w -
+                                     m->coord.w -
+                                     m->coord.x);
                else
                        *x_return += m->coord.x;
        }
        if (rc & YValue)
        {
                if (rc & YNegative)
-                       *y_return -= (m->coord.h - m->coord.y);
+                       *y_return -= (global_m->coord.h -
+                                     m->coord.h -
+                                     m->coord.y);
                else
                        *y_return += m->coord.y;
        }


Reply via email to