XWorkstation.st
changeset 5891 a8f6f8d746ef
parent 5890 9bfc1df32428
child 5892 491bf533899e
--- a/XWorkstation.st	Tue Mar 13 14:52:20 2012 +0100
+++ b/XWorkstation.st	Tue Mar 13 15:02:57 2012 +0100
@@ -20,9 +20,9 @@
 		clipboardAtom stringAtom wmStateAtom motifWMHintsAtom
 		listOfXFonts buttonsPressed eventRootX eventRootY displayName
 		eventTrace dispatchingExpose rgbVisual virtualRootId rootId
-		altModifierMask metaModifierMask lastEventTime
-		lastButtonPressTime deviceIOTimeoutErrorSignal activateOnClick
-		rawKeySymTranslation selectionOwner selectionTime
+		altModifierMask metaModifierMask lastEventTime rawMonitorBounds
+		monitorBounds lastButtonPressTime deviceIOTimeoutErrorSignal
+		activateOnClick rawKeySymTranslation selectionOwner selectionTime
 		selectionFetchers selectionHandlers preWaitAction xlibTimeout
 		xlibTimeoutForWindowCreation hasConnectionBroken uniqueDeviceID
 		stxDeviceAtom uuidAtom'
@@ -1247,6 +1247,9 @@
         "no xinerama - the display is the only monitor"
         ^ Array with:self bounds.
     ].
+    rawMonitorBounds = resultArray ifTrue:[
+        ^ monitorBounds.
+    ].
 
     bounds := Array new:numberOfMonitors.
     1 to:numberOfMonitors do:[:idx|
@@ -1259,6 +1262,15 @@
                     height:(resultArray at:baseIdx+5).
         bounds at:idx put:rect.
     ].
+
+    rawMonitorBounds := resultArray.
+    monitorBounds := bounds.
+
+    "since the monitor configuration changed,
+     we have to update the monitor settings"
+
+"/    self initializeMonitorBounds.
+
     ^ bounds
 
     "
@@ -12294,7 +12306,7 @@
 !XWorkstation class methodsFor:'documentation'!
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libview/XWorkstation.st,v 1.531 2012-03-13 13:52:20 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libview/XWorkstation.st,v 1.532 2012-03-13 14:02:57 stefan Exp $'
 !
 
 version_SVN