WinWorkstation.st
changeset 4576 04bf0d3a0ddd
parent 4575 e082b3fa71c8
child 4577 3df3646d702f
--- a/WinWorkstation.st	Fri Sep 08 16:18:40 2006 +0200
+++ b/WinWorkstation.st	Fri Sep 08 18:19:43 2006 +0200
@@ -7289,22 +7289,36 @@
      Normally, the same as extent, but may be smaller, in
      case some menu space is taken up by the window manager (windows)"
 
-    |w h |
-
-    w := self getSystemMetrics:#SM_CXVIRTUALSCREEN.
-    h := self getSystemMetrics:#SM_CYVIRTUALSCREEN.
-    (w isNil or:[h isNil]) ifTrue:[
-        "/ not supported under win95 and win-nt4 - fallback to real extent
-        w := self getSystemMetrics:#SM_CXFULLSCREEN.
-        h := self getSystemMetrics:#SM_CYFULLSCREEN.
+    |wSingle hSingle w h dx dy|
+
+    w := wSingle := self getSystemMetrics:#SM_CXFULLSCREEN.
+    h := hSingle := self getSystemMetrics:#SM_CYFULLSCREEN.
+
+    (self getSystemMetrics:#SM_CMONITORS) > 1 ifTrue:[
+        w := self getSystemMetrics:#SM_CXVIRTUALSCREEN.
+        h := self getSystemMetrics:#SM_CYVIRTUALSCREEN.
+        (w isNil or:[h isNil]) ifTrue:[
+            "/ not supported under win95 and win-nt4 - fallback to real extent
+            w := wSingle.
+            h := hSingle.
+        ] ifFalse:[
+            dx := (self getSystemMetrics:#SM_CXSCREEN) - wSingle.
+            dy := (self getSystemMetrics:#SM_CYSCREEN) - hSingle.
+            w := w - dx.
+            h := h - dy - 8.
+        ].
     ].
     ^ w @ h.
 
     "
      Display usableExtent 
-    "
-
-    "Modified: / 08-09-2006 / 16:18:49 / cg"
+     Display getSystemMetrics:#SM_CYVIRTUALSCREEN 
+     Display getSystemMetrics:#SM_CYFULLSCREEN
+     Display getSystemMetrics:#SM_CYSCREEN 
+     Display getSystemMetrics:#SM_CMONITORS 
+    "
+
+    "Modified: / 08-09-2006 / 18:19:22 / cg"
 ! !
 
 !WinWorkstation methodsFor:'bitmap/window creation'!
@@ -16879,7 +16893,7 @@
 !WinWorkstation class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libview/WinWorkstation.st,v 1.329 2006-09-08 14:18:40 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libview/WinWorkstation.st,v 1.330 2006-09-08 16:19:43 cg Exp $'
 ! !
 
 WinWorkstation initialize!