Subject: FVWM2 Xinerama patch 2

From: Sidik Isani <[email-masked]>
Date: Sun, 23 Sep 2001 15:39:47 -1000 (HST)

diff -ru fvwm-snap-20010916/fvwm/fvwm2.1 fvwm-2.5.0-cfht/fvwm/fvwm2.1
--- fvwm-snap-20010916/fvwm/fvwm2.1	Sun Sep 16 01:00:02 2001
+++ fvwm-2.5.0-cfht/fvwm/fvwm2.1	Sat Sep 15 16:54:45 2001
@@ -5239,7 +5239,7 @@
 .IR StartsOnDesk .
 For those standard Xt programs which understand this usage, the
 starting desk/page can also be specified via a resource (e.g.,
-"-xrm 'Fvwm.Page: 1 0 2'").
+"-xrm '*page: 1 0 2'").
 .I StartsOnPage
 in conjunction with
 .I SkipMapping
@@ -5254,19 +5254,23 @@
 A new window is placed on the specified Xinerama screen.  The
 default is to place windows on the screen that contains the mouse
 pointer at the time the window is created.
-
-.I StartsOnPage
-functions exactly like
-.IR StartsOnDesk .
+However, those windows which are not placed by FVWM (i.e., those with
+a USPosition hint from a user specified geometry) are normally placed
+in a position relative to the global screen.  The
+.I StartsOnScreen
+style is also useful to cause these windows to be placed relative
+to a specific Xinerama screen.  For example:
+.EX
+Style * StartsOnScreen c
+.EE
+Would cause all windows, including those with their own geometry
+to be placed relative to the current Xinerama screen rather than
+the global screen.
 For those standard Xt programs which understand this usage, the
 starting desk/page can also be specified via a resource (e.g.,
-"-xrm 'Fvwm.Page: 1 0 2'").
-.I StartsOnPage
-in conjunction with
-.I SkipMapping
-is a useful technique when you want to start an app on some other
-page and continue with what you were doing, rather than waiting
-for it to appear.
+"-xrm '*wmscreen: c'").  ('wmscreen' was chosen
+because some applications already use '.screen' for other
+purposes.)
 
 .I StartsOnPageIncludesTransients
 causes the
diff -ru fvwm-snap-20010916/fvwm/add_window.c fvwm-2.5.0-cfht/fvwm/add_window.c
--- fvwm-snap-20010916/fvwm/add_window.c	Sun Sep 16 01:00:02 2001
+++ fvwm-2.5.0-cfht/fvwm/add_window.c	Sat Sep 15 20:38:13 2001
@@ -56,6 +56,7 @@
 #include <stdio.h>
 
 #include "libs/fvwmlib.h"
+#include "libs/FScreen.h"
 #include "fvwm.h"
 #include "externs.h"
 #include "cursor.h"
@@ -587,6 +588,12 @@
 	SSET_START_DESK(*pstyle, SGET_START_DESK(*pstyle) + 1);
       }
       pstyle->flags.use_start_on_desk = 1;
+    }
+    if (GetResourceString(db, "wmscreen", client_argv[0], &rm_value) &&
+	rm_value.size != 0)
+    {
+      SSET_START_SCREEN(*pstyle, FScreenGetScreenArgument(rm_value.addr, 'c'));
+      pstyle->flags.use_start_on_screen = 1;
     }
     if (GetResourceString(db, "page", client_argv[0], &rm_value) &&
 	rm_value.size != 0)
--
Visit the official FVWM web page at <URL:http://www.fvwm.org/>.
To unsubscribe from the list, send "unsubscribe fvwm-workers" in the
body of a message to [email-masked].
To report problems, send mail to [email-masked]