From smpatel@xi.dorm.umd.edu Wed Nov 17 11:54:12 1993
Return-Path: <smpatel@xi.dorm.umd.edu>
Received: from eagle.is.lmsc.lockheed.com (eagle.lockheed.com) by rocket (4.1/SMI-4.1)
	id AA14271; Wed, 17 Nov 93 11:54:07 EST
Received: by eagle.is.lmsc.lockheed.com (5.57/Ultrix-4.2)
	id AA05926; Wed, 17 Nov 93 08:55:46 -0800
Received: from xi.dorm.umd.edu by cville-srv.wam.umd.edu with SMTP id AA09264
  (5.65c/IDA-1.4.4 for <nation@rocket.sanders.lockheed.com>); Wed, 17 Nov 1993 11:55:43 -0500
Received: by xi.dorm.umd.edu (Linux Smail3.1.28.1 #4)
	id m0ozqAO-000MefC; Wed, 17 Nov 93 11:55 EST
Date: Wed, 17 Nov 1993 11:53:37 +0000
From: Sujal Patel <smpatel@xi.dorm.umd.edu>
Subject: Small fvwm patch
To: nation@rocket.sanders.lockheed.com
Message-Id: <Pine.3.87.9311171137.A2470-0100000@xi.dorm.umd.edu>
Mime-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
Status: RO



The following is a small patch that allows you to toggle Edge Scroll on/off
from the menus.  I've found it really annoying when the Edge Scroll pages
the screen when I don't want it to.  I hope you find this useful, I've 
tested it on fvwm1.05 and 1.07d.  Also you may want #ifdef the body of
void DrawPartitionLines(void), because some people, like myself, prefer
the pager without Partition lines.

    Sujal (smpatel@wam.umd.edu)


PS: I love your window manager!




>From the source directory
patch < toggle_edge_scroll.patch
--------------------- CUT LINE ---------------------------
*** configure.c	Wed Nov 17 08:18:32 1993
--- configure.c	Wed Nov 17 10:20:24 1993
***************
*** 176,181 ****
--- 176,182 ----
  #ifndef NON_VIRTUAL
    {"Scroll",       set_func,(char **)F_SCROLL},
    {"GotoPage",     set_func,(char **)F_GOTO_PAGE},
+   {"TogglePage",   set_func,(char **)F_TOGGLE_PAGE},
  #endif
    {"Exec",         set_func,(char **)F_EXEC},
    {"Restart",      set_func,(char **)F_RESTART},
*** functions.c	Wed Nov 17 08:45:52 1993
--- functions.c	Wed Nov 17 10:25:20 1993
***************
*** 49,54 ****
--- 49,55 ----
  extern int menuFromFrameOrWindowOrTitlebar;
  
  extern FvwmWindow *Tmp_win;
+ extern DoHandlePageing;
  
  
  void FocusOn(FvwmWindow *t);
***************
*** 145,150 ****
--- 146,156 ----
  	    x=Scr.VxMax;
  	}
        MoveViewport(x,y,True);
        break;
  #endif
+ #ifndef NON_VIRTUAL      
+     case F_TOGGLE_PAGE:
+       if (DoHandlePageing) DoHandlePageing = 0; else DoHandlePageing = 1;
+       break;
+ #endif
      case F_MOVECURSOR:
*** pager.c	Fri Nov 12 15:49:29 1993
--- pager.c	Wed Nov 17 10:26:02 1993
***************
*** 26,31 ****
--- 26,32 ----
  FvwmWindow *FindCounterpart(Window target);
  Bool pagerOn = True;
  Bool EnablePagerRedraw = True;
+ Bool DoHandlePageing = True;


  
***************
*** 448,453 ****
--- 449,456 ----
    *delta_y = 0;
    
  #ifndef NON_VIRTUAL	  
+   if (DoHandlePageing) 
+   {
    if((Scr.ScrollResistance >= 10000)||((HorWarpSize ==0)&&(VertWarpSize==0)))
      return;
  
***************
*** 573,579 ****
  	    XUngrabServer(dpy);
  	}
      }
! 
  #endif	  
  }
  
--- 576,582 ----
  	    XUngrabServer(dpy);
  	}
      }
!  }
  #endif	  
  }

*** parse.h	Tue Oct 19 16:31:30 1993
--- parse.h	Wed Nov 17 10:21:27 1993
***************
*** 56,61 ****
--- 56,62 ----
  #define F_STICK                 14
  #define F_CIRCULATE_UP          15
  #define F_CIRCULATE_DOWN        16
+ #define F_TOGGLE_PAGE           17
  #define F_GOTO_PAGE             19
  #define F_RAISELOWER            20
  #define F_MAXIMIZE              21
*** system.fvwmrc	Wed Nov 10 14:35:57 1993
--- system.fvwmrc	Wed Nov 17 11:26:45 1993
***************
*** 192,197 ****
--- 192,198 ----
  	Popup	"Exit Fvwm"	Quit-Verify
  	Nop	""
  	Refresh	"Refresh Screen"
+ 	TogglePage "Toggle Edge Scroll"
  EndPopup
  
  # This defines the most common window operations
