--- a/XWorkstation.st Thu Sep 14 12:01:30 1995 +0200
+++ b/XWorkstation.st Fri Sep 15 02:00:56 1995 +0200
@@ -36,7 +36,7 @@
COPYRIGHT (c) 1989 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libview/XWorkstation.st,v 1.59 1995-09-14 00:51:01 claus Exp $
+$Header: /cvs/stx/stx/libview/XWorkstation.st,v 1.60 1995-09-15 00:00:56 claus Exp $
'!
!XWorkstation class methodsFor:'documentation'!
@@ -57,7 +57,7 @@
version
"
-$Header: /cvs/stx/stx/libview/XWorkstation.st,v 1.59 1995-09-14 00:51:01 claus Exp $
+$Header: /cvs/stx/stx/libview/XWorkstation.st,v 1.60 1995-09-15 00:00:56 claus Exp $
"
!
@@ -1295,6 +1295,32 @@
v noClipByChildren.
v fillRectangleX:10 y:10 width:100 height:100.
"
+!
+
+virtualExtent
+ "return the virtual extent of the display (in pixels).
+ On most systems, this is the same as the physical width;
+ except, if a window manager with a virtual desktop like olvwm
+ (simulating a bigger screen) is running."
+
+%{
+ if ((_INST(rootId) != _INST(virtualRootId))
+ && __isSmallInteger(_INST(virtualRootId))) {
+ Window vRootWin;
+ Window root;
+ int x, y;
+ unsigned int width, height;
+ unsigned int dummy;
+ extern OBJ __MKPOINT_INT();
+
+ vRootWin = _WindowVal(_INST(virtualRootId));
+ if (XGetGeometry(myDpy, vRootWin, &root, &x, &y, &width, &height,
+ &dummy, &dummy)) {
+ RETURN ( __MKPOINT_INT(width, height) );
+ }
+ }
+%}.
+ ^ width @ height
! !
!XWorkstation methodsFor:'bitmap/window creation'!