Subject: Two Patches

From: Olivier Chapuis <[email-masked]>
Date: Sat, 09 Oct 1999 11:21:38 +0200

Hello,
First of all, thanks to apply my patches (and to correct it), I hope
that you like these little things. I do not know if you will like
the two attached to this message (the ChangeLog are not in the attached
file but just below).

1. First patch (WLPatch): New options "UseListSkip" & "OnlySkipList" 
to WindowList.

UseListSkip Causes WindowList to add the windows with WindowListSkip 
style to its list of windows (of course it is not a default option).
OnlyListSkip just causes WindowList to only consider the windows with
WindowListSkip style (so it does not work as the other "Only" option,
which is natural).
I think that the OnlyListSkip option is useful.

ChangeLog (fvwm/ChangeLog):

*fvwm/windowlist.c (do_windowList): 
*fvwm/fvwm2.1:
New options UseListSkip and OnlySkipList to WindowList

2. Second Patch (CuPatch): A busy cursor for every body at startup !

It is a 4 lines patch and it causes fvwm to display the watch
cursor at startup even if you use FvwmCpp/M4 (at startup).

ChangeLog (fvwm/ChangeLog):

*fvwm/read.c (ReadFile): Display the watch cursor at startup if 
ReadFile is run via a module (as FvwmM4/Cpp)

Olivier

Index: fvwm/fvwm2.1
===================================================================
RCS file: /home/cvs/fvwm/fvwm/fvwm/fvwm2.1,v
retrieving revision 1.205
diff -u -b -B -u -r1.205 fvwm2.1
--- fvwm/fvwm2.1	1999/10/08 09:18:55	1.205
+++ fvwm/fvwm2.1	1999/10/09 09:21:27
@@ -2053,7 +2053,8 @@
 <funcname>", "Desk <desknum>", "CurrentDesk", "NoIcons", "Icons",
 "OnlyIcons", "NoNormal", "Normal", "OnlyNormal", "NoSticky", "Sticky",
 "OnlySticky", "NoOnTop", "OnTop", "OnlyOnTop", "Layer m [n]",
-"NoDeskSort", "UseIconName", "Alphabetic", "NotAlphabetic".
+"UseListSkip", "OnlyListSkip", "NoDeskSort", "UseIconName", "Alphabetic", 
+"NotAlphabetic".
 
 (Note - normal means not iconic, sticky, or ontop)
 
@@ -2073,7 +2074,9 @@
 .EX
 WindowList OnlyIcons, Sticky, OnTop, Geometry
 .EE
-(Note - the "Only" options essentially wipe out all other ones...)
+(Note - the "Only" options essentially wipe out all other ones... but
+the "OnlyListSkip" option which just causes WindowList to only consider 
+the windows with WindowListSkip style)

 .TP
Index: fvwm/windowlist.c
===================================================================
RCS file: /home/cvs/fvwm/fvwm/fvwm/windowlist.c,v
retrieving revision 1.16
diff -u -b -B -u -r1.16 windowlist.c
--- fvwm/windowlist.c	1999/08/31 10:35:52	1.16
+++ fvwm/windowlist.c	1999/10/09 09:21:29
@@ -103,6 +103,7 @@
   int low_layer = 0;  /* show all layers by default */
   int high_layer = INT_MAX;
   int tc;
+  int show_listskip = 0; /* do not show listskip by default */
 
   /* Condition vars. */
   Bool use_condition = False;
@@ -193,6 +194,10 @@
         flags |= SHOW_STICKY;
       else if (StrEquals(tok,"OnlySticky"))
         flags = SHOW_STICKY;
+      else if (StrEquals(tok,"UseListSkip"))
+	show_listskip = 1;
+      else if (StrEquals(tok,"OnlyListSkip"))
+	show_listskip = 2;
           /*
              these are a bit dubious, but we
              should keep the OnTop options
@@ -306,9 +311,12 @@
     for (ii = 0; ii < numWindows; ii++)
     {
       t = windowList[ii];
-      if(((t->Desk == next_desk) || (flags & NO_DESK_SORT)) &&
-         (!(DO_SKIP_WINDOW_LIST(t))))
+      if(((t->Desk == next_desk) || (flags & NO_DESK_SORT)))
       {
+	if (!show_listskip && DO_SKIP_WINDOW_LIST(t))
+          continue; /* don't want listskip windows - skip */
+	if (show_listskip == 2 && !DO_SKIP_WINDOW_LIST(t))
+	  continue; /* don't want no listskip one - skip */
 	if (use_condition && !MatchesConditionMask(t, &mask))
 	  continue; /* doesn't match specified condition */
         if (!(flags & SHOW_ICONIC) && (IS_ICONIFIED(t)))
Index: fvwm/read.c
===================================================================
RCS file: /home/cvs/fvwm/fvwm/fvwm/read.c,v
retrieving revision 1.26
diff -u -b -B -u -r1.26 read.c
--- fvwm/read.c	1999/06/27 17:58:15	1.26
+++ fvwm/read.c	1999/10/09 09:21:28
@@ -161,6 +161,13 @@
     int read_quietly;
 
     DoingCommandLine = False;
+    
+    if (fFvwmInStartup && *Module > -1)
+    {
+      Cursor cursor = XCreateFontCursor(dpy, XC_watch);
+      XGrabPointer(dpy, Scr.Root, 0, 0, GrabModeSync, GrabModeSync,
+		   None, cursor, CurrentTime);
+    }
 
     if (debugging)
 	fvwm_msg(DBG,"ReadFile","about to attempt '%s'",action);