Subject: Re: A problem with EdgeResistance, EdgeScroll (fvwn 2.1.45)

From: Jui-Hsuan Feng <[email-masked]>
Date: Sun, 20 Dec 1998 1:07:03 CST

Hi folks,

I found my last patch for EdgeScroll does not totally behave what I want,
probably because I use AutoRaise and SloppyFocus (it will be a little
different if other Focus style is used). I forgot to change those lines
where PanFrame will be raised after switching to a new desktop. This patch
will (hopefully) correct it.

Since I don't have the previledge to commit patches, if somebody there has and
check if it works ok, hope this patch can be applied. Thanks.

I have tried the FvwmTaskBar module with PAN_FRAME_THICKNESS 2, no problems.

--
J. Joshua Feng                            (O)608/262-3640
Electrical & Computer Engr., Univ. of Wisconsin - Madison
http://www.cae.wisc.edu/~fengj  [email-masked]

Index: misc.c
===================================================================
RCS file: /home/cvs/fvwm/fvwm/fvwm/misc.c,v
retrieving revision 1.15
diff -u -r1.15 misc.c
--- misc.c      1998/11/24 10:25:28     1.15
+++ misc.c      1998/12/20 05:28:08
@@ -910,6 +910,9 @@
       count += 2;
     }
 
+  /* entries for PanFrames */
+  count += 4;
+
   wins = (Window *)safemalloc(count*sizeof(Window));
 
   i=0;
@@ -925,6 +928,13 @@
        }
     }
 
+  /* used to be in the raisePanFrames */
+  /* won't hurt even they are not mapped at this moment */
+  wins[i++] = Scr.PanFrameTop.win;
+  wins[i++] = Scr.PanFrameLeft.win;
+  wins[i++] = Scr.PanFrameRight.win;
+  wins[i++] = Scr.PanFrameBottom.win;
+  
   /* now raise transients */
 #ifndef DONT_RAISE_TRANSIENTS
   for (t2 = Scr.FvwmRoot.next; t2 != NULL; t2 = t2->next)
@@ -973,7 +983,7 @@
 
   XRestackWindows(dpy,wins,i);
   free(wins);
-  raisePanFrames();
+  /* raisePanFrames(); */
 }

Index: virtual.c
===================================================================
RCS file: /home/cvs/fvwm/fvwm/fvwm/virtual.c,v
retrieving revision 1.11
diff -u -r1.11 virtual.c
--- virtual.c   1998/12/09 06:15:21     1.11
+++ virtual.c   1998/12/20 05:28:08
@@ -234,7 +234,8 @@
     }
   else if ((Scr.Vx > 0 || wrapX) && Scr.PanFrameLeft.isMapped==False)
     {
-      XMapRaised(dpy,Scr.PanFrameLeft.win);
+      /* XMapRaised(dpy,Scr.PanFrameLeft.win); */
+      XMapWindow(dpy,Scr.PanFrameLeft.win);
       Scr.PanFrameLeft.isMapped=True;
     }
   /* RIGHT, hide only if EdgeWrap is off */
@@ -245,7 +246,8 @@
     }
   else if ((Scr.Vx < Scr.VxMax || wrapX) && Scr.PanFrameRight.isMapped==False)
     {
-      XMapRaised(dpy,Scr.PanFrameRight.win);
+      /* XMapRaised(dpy,Scr.PanFrameRight.win); */
+      XMapWindow(dpy,Scr.PanFrameRight.win);
       Scr.PanFrameRight.isMapped=True;
     }
   /* TOP, hide only if EdgeWrap is off */
@@ -256,7 +258,8 @@
     }
   else if ((Scr.Vy > 0 || wrapY) && Scr.PanFrameTop.isMapped==False)
     {
-      XMapRaised(dpy,Scr.PanFrameTop.win);
+      /* XMapRaised(dpy,Scr.PanFrameTop.win); */
+      XMapWindow(dpy,Scr.PanFrameTop.win);
       Scr.PanFrameTop.isMapped=True;
     }
   /* BOTTOM, hide only if EdgeWrap is off */
@@ -267,7 +270,8 @@
     }
   else if ((Scr.Vy < Scr.VyMax || wrapY) && Scr.PanFrameBottom.isMapped==False)
     {
-      XMapRaised(dpy,Scr.PanFrameBottom.win);
+      /* XMapRaised(dpy,Scr.PanFrameBottom.win); */
+      XMapWindow(dpy,Scr.PanFrameBottom.win);
       Scr.PanFrameBottom.isMapped=True;
     }
 }
@@ -280,6 +284,8 @@
  * For some reason, this seems to be unneeded.
  *
  ***************************************************************************/
+/* Only used in RaiseWindow, replaced by new scheme */
+/*
 void raisePanFrames(void)
 {
   if (Scr.PanFrameTop.isMapped) XRaiseWindow(dpy,Scr.PanFrameTop.win);
@@ -287,6 +293,7 @@
   if (Scr.PanFrameRight.isMapped) XRaiseWindow(dpy,Scr.PanFrameRight.win);
   if (Scr.PanFrameBottom.isMapped) XRaiseWindow(dpy,Scr.PanFrameBottom.win);
 }
+*/
 
 /****************************************************************************
  *
--
Visit the official FVWM web page at <URL:http://www.hpc.uh.edu/fvwm/>.
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].

---

From: Dan Espen <[email-masked]>
Date: Sun, 20 Dec 1998 10:14:48 -0500

> I have tried the FvwmTaskBar module with PAN_FRAME_THICKNESS 2, no problems.

You must have missed some  mail on the workers  list.  There were some
objections  raised to EdgeScrolling  not  working when  a stays on top
window gets in the way.

You are welcome to find the mail in question (from Bob) and refute any
arguments you feel are incorrect.

For now, the "fix" is a new command "EdgeThickness 0|1|2".

--
Dan Espen                                Phone: (732) 699-5570
444 Hoes Lane  Room RRC 1C-214           E-mail: [email-masked]
Piscataway, NJ 08854
--
Visit the official FVWM web page at <URL:http://www.hpc.uh.edu/fvwm/>.
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].