Subject: FVWM: Returning FVWM user requests help with edge scrolling, paging

From: "Adam S. Moskowitz" <[email-masked]>
Date: Thu, 27 Jan 2005 13:10:21 -0500 (EST)

It's been a long time since I last used FVWM, and much seems to have
changed -- so much so that I'm not even sure I have the right words for
what I'm about to ask. Please bear with me . . .

I use a single display but I love the "multi-desktop pager thingy" that
lets me pretend I have multiple displays. Unfortunately, I can't seem to
control edge scrolling the way I'd like. When I move the mouse to an
egde of the current screen (desktop?) *not* while dragging a window I
want it to just stop. The default behavior seems to be to jump to the
next screen (desktop) -- and that's what I *don't* want to happen.

BUT . . .

When I'm dragging a window, I want to be able to slide some portion of
the window off the edge of the current screen. I do not want to be able
to move the window to another screen this way, and I don't care where
(or even if) the "hidden" portion of the window appears. All that
matters is that the "leading" edge of the window (that is, the one
that's about to go off the side of the desktop) doesn't stop at the edge
of the screen.

I can't seem to find the right combination of EdgeResistance and
EdgeScroll to make this happen, nor can I seem to find another way to
accomplish what I want.

Can someone please help me?

Before you ask to see my .fvwm2rc file: I copied the system default file
and so far this is all I've changed.

Please reply directly to me as I'm not subscribed to this mailing list
(although maybe I'll wind up subscribing if it turns out I can't post
without being a member).

Thanks,
AdamM
--
Visit the official FVWM web page at <URL: http://www.fvwm.org/>.
To unsubscribe from the list, send "unsubscribe fvwm" in the body of a
message to [email-masked].
To report problems, send mail to [email-masked].

---

From: Dan Espen <[email-masked]>
Date: Thu, 27 Jan 2005 13:53:16 -0500

> EdgeScroll to make this happen, nor can I seem to find another way to

I think you are looking for:

EdgeThickness 0

-- 
Dan Espen                           E-mail: [email-masked]

---

From: James Kleck <[email-masked]>
Date: Thu, 27 Jan 2005 11:27:39 -0800

In my setup there is a little resistance to moving a window over
the edge (which I like), but if I drage it far enough the window
will slide partway off the screen. Also the mouse stops at the
edge and no paging occurs due to mouse movement. I think the
control to use is:

EdgeResistance 10000 100

but I've attached my .fvwm2rc just in case.

JimK

PS: I did not write this from scratch, I just have tuned it a bit.

> (although maybe I'll wind up subscribing if it turns out I can't post
# This file is copied to a new user's FVWM_USERDIR by FvwmForm-Setup form.
# This file contains the commands fvwm2 reads while starting.
#

#EdgeResistance 250 10
EdgeResistance 10000 100
EdgeScroll 100 100
ClickTime 750

DeskTopSize 3x3
MenuStyle * fvwm, Foreground black, Background grey60, Greyed grey40
MenuStyle * Font -adobe-times-bold-r-*-*-14-*-*-*-*-*-*-*

ColormapFocus FollowsMouse

ImagePath /usr/share/icons:/usr/include/X11/bitmaps

# default Styles:
# make sure these fonts exist on your system:
Style *           Font -adobe-times-bold-r-*-*-18-*-*-*-*-*-*-*
Style *           IconFont -adobe-times-bold-r-*-*-18-*-*-*-*-*-*-*
Style *           HilightFore black, HilightBack palevioletred
Style *           BorderWidth 7, HandleWidth 7
Style *           Icon unknown1.xpm, Color lightgrey/dimgrey
Style *           MWMFunctions, MWMDecor, HintOverride
Style *           DecorateTransient, NoPPosition
Style *           IconBox 0 -10 -280 -1
Style *           FocusFollowsMouse
Style *           TileCascadePlacement
Style xterm       ManualPlacement, NoPPosition
Style XTerm       ManualPlacement, NoPPosition
Style *Mozilla*   ManualPlacement, NoPPosition
Style Emacs       ManualPlacement, NoPPosition

# Styles for various Fvwm modules:
Style Fvwm*       NoTitle,  Sticky, WindowListSkip
Style Fvwm*       BorderWidth 2, CirculateSkipIcon, CirculateSkip
Style FvwmPager   StaysOnTop, NoHandles
Style FvwmBanner  StaysOnTop
#Style FvwmButtons Icon toolbox.xpm, ClickToFocus, StaysOnTop, NoHandles, BorderWidth 0
Style FvwmButtons Icon toolbox.xpm, ClickToFocus, StaysOnTop, NoHandles

# Styles for your common terminal emulator programs.
# xterms and rxvts in a separate icon box:
Style XTerm       Icon xterm.xpm, SloppyFocus
Style xterm       Icon xterm.xpm, SloppyFocus
Style rxvt        MWMBorder, MWMButtons
#Style mtconness   Icon xterm.xpm
Style Kill        Icon rbomb.xpm

# Styles for various common programs:
Style *lock       NoTitle, NoHandles, Sticky, WindowListSkip, ClickToFocus
Style xbiff       NoTitle, Sticky, WindowListSkip, ClickToFocus
Style xcalc       Icon xcalc.xpm, NoButton 2,ClickToFocus
Style xmh         Icon mail1.xpm, NoIconTitle,StickyIcon
Style xmh         NoButton 2
Style xman        Icon xman.xpm, ClickToFocus
Style xmag        Icon mag_glass.xpm, ClickToFocus
Style xgraph      Icon graphs.xpm, ClickToFocus
Style xmosaic     Color Green/Yellow, ClickToFocus
Style *"for [email-masked] - Mozilla"*       StickyIcon, IconBox -780 -80 -700 -1

# some simple default key bindings:
#Key Next         A       SCM     Next [*] FocusA
#Key Prior        A       SCM     Prev [*] Focus
# press arrow + control anywhere, and scroll by 1 page
Key Left	A	C	Scroll -100 0
Key Right	A	C	Scroll +100 +0
Key Up		A	C	Scroll +0   -100
Key Down	A	C	Scroll +0   +100

# some simple default mouse bindings:
#   for the root window:
Mouse 1 R       A       Menu MenuFvwmRoot Nop
Mouse 2 R       A       Menu MenuFvwmWindowOps Nop
Mouse 3 R       A       WindowList

#   for the title bar buttons:
Mouse 0 1       A       Menu MenuFvwmWindowOps2 Close
Mouse 0 2       A       FuncFvwmMaximize
Mouse 0 4       C       WindowShade
Mouse 0 4       N       Iconify

#   for other parts of the window/borders/icons:
Mouse 1 FS      A       FuncFvwmResizeOrRaise
Mouse 1 T       A       FuncFvwmMoveOrRaise
Mouse 1 I       A       FuncFvwmMoveOrIconify
Mouse 2 I       A       Iconify
Mouse 2 FST     N       FuncFvwmMoveOrRaise
Mouse 2 FST     C       Menu MenuFvwmWindowOps2 Nop
Mouse 3 TSIF    A       Lower

######################## Initialization Functions ############################
*FvwmAnimate: Effect Frame
AddToFunc StartFunction
+ I Module FvwmAnimate
+ I Module FvwmBacker

AddToFunc InitFunction
+ I exec xsetroot -mod 2 2 -fg rgb:55/40/55 -bg rgb:70/50/70
+ I exec tcsh ~jimk/bin/altports
+ I exec /usr/bin/X11/xterm -geometry 100x60+0+110 -sb -sl 500 -j -ls -fn 6x13 -T $[HOST] -n $[HOST] &
+ I exec /usr/bin/mozilla -geometry +260+80 &

# For some SM-s (like gnome-session) there is an internal background setter.
AddToFunc SessionInitFunction
+ I Nop

######################## Menus ###################
DestroyMenu MenuFvwmRoot
AddToMenu MenuFvwmRoot  "Root Menu"             Title
+                       "&1. XTerm"             Exec exec xterm -T $[HOST] -n $[HOST]
+                       ""              Nop
+                       "&R. Remote Logins"     Popup MenuFvwmLogins
+                       ""              Nop
+                       "&U. Utilities"         Popup MenuFvwmUtilities
+                       ""              Nop
+                       "&M. Fvwm Modules"      Popup MenuFvwmModules
+                       "&W. Fvwm Window Ops"   Popup MenuFvwmWindowOps
+                       "&S. Fvwm Config Ops"   Popup MenuFvwmConfig
+                       ""              Nop
+                       "&F. Refresh Screen"   Refresh
+                       "&C. Recapture Screen" Recapture
+                       ""              Nop
+                       "&X. Exit Fvwm" Popup MenuFvwmQuitVerify
+                       "&Z. Restart Fvwm" Restart

DestroyMenu MenuFvwmUtilities
AddToMenu MenuFvwmUtilities     "MenuFvwmUtilities" Title
+                       "&T. Top"       Exec exec xterm -T Top -n Top -e top
+                       "&C. Calculator" Exec exec xcalc
+                       "&M. Xman"      Exec exec xman
+                       "&G. Xmag"      Exec exec xmag
+                       "&R. Editres"   Exec exec editres
+                       ""              Nop
+                       "&E. XEmacs"    Exec exec xemacs
+                       ""              Nop
+                       "&L. XLock"     Exec exec xlock -mode random
+                       ""              Nop
+                       "&D. Reset X defaults" Exec xrdb -load $HOME/.Xdefaults

DestroyMenu MenuFvwmConfig
AddToMenu MenuFvwmConfig "Fvwm Config Ops" Title
+ "&S. Sloppy Focus"        FuncFvwmFocusPolicyChange SloppyFocus
+ "&C. Click To Focus"      FuncFvwmFocusPolicyChange ClickToFocus
+ "&F. Focus Follows Mouse" FuncFvwmFocusPolicyChange FocusFollowsMouse
+ "" Nop
+ "&1. Colormap Follows Mouse" ColormapFocus FollowsMouse
+ "&2. Colormap Follows Focus" ColormapFocus FollowsFocus
+ "" Nop
+ "&3. Full Paging ON"           EdgeScroll 100 100
+ "&4. All Paging OFF"           EdgeScroll 0 0
+ "&5. Horizontal Paging Only"   EdgeScroll 100 0
+ "&6. Vertical Paging Only"     EdgeScroll 0 100
+ "&7. Partial Paging"           EdgeScroll 50 50
+ "&8. Full Paging && Edge Wrap" EdgeScroll 100000 100000

# The window Ops menus exhibit a different HotKey style.
# There are 2 versions of the WindowOps Menu, meant to be bound to different
# things.  Here is the "common" part:
DestroyFunc FuncFvwmWindowCommon
AddToFunc FuncFvwmWindowCommon
+ I AddToMenu $0 &Move              Move
+ I AddToMenu $0 &Resize            Resize
+ I AddToMenu $0 R&aise             Raise
+ I AddToMenu $0 &Lower             Lower
+ I AddToMenu $0 (De)&Iconify       Iconify
+ I AddToMenu $0 (Un)&Stick         Stick
+ I AddToMenu $0 (Un)Ma&ximize      Maximize
+ I AddToMenu $0 ""                 Nop
+ I AddToMenu $0 &Delete            Delete
+ I AddToMenu $0 &Close             Close
+ I AddToMenu $0 Destroy            Destroy
+ I AddToMenu $0 ""                 Nop

# First windowops menu, bound to:
# mouse 2 on root
# Root menu
DestroyMenu MenuFvwmWindowOps
AddToMenu MenuFvwmWindowOps     "Window Ops"    Title
FuncFvwmWindowCommon MenuFvwmWindowOps
+ "Re&fresh Window" RefreshWindow

# Second windowops menu, bound to:
# any mouse on titlebar button 1
# mouse 2 on frame, side or titlebar
DestroyMenu MenuFvwmWindowOps2
AddToMenu MenuFvwmWindowOps2
FuncFvwmWindowCommon MenuFvwmWindowOps2
+ Scroll&Bar       Module FvwmScroll 2 2
+ &Print           FuncFvwmPrint
+ "Print Re&verse" FuncFvwmPrintReverse

# 3 different ways to log on, take your pick:
DestroyFunc FuncFvwmRloginXterm
AddToFunc FuncFvwmRloginXterm \
  I Exec xterm -name $0 -title $0 -e ssh $0
DestroyFunc FuncFvwmRloginRxvt
AddToFunc FuncFvwmRloginRxvt \
  I Exec rxvt -name $0 -n $0 -title $USER@$0 -e rlogin $0
DestroyFunc FuncFvwmRloginRshRxvt
AddToFunc FuncFvwmRloginRshRxvt \
  I Exec Exec rsh $0 rxvt -display $HOSTDISPLAY

# be sure to fill these in with your correct machine names:
DestroyMenu MenuFvwmLogins
AddToMenu MenuFvwmLogins
+ &mtconness  FuncFvwmRloginXterm mtconness

DestroyMenu MenuFvwmModules
AddToMenu MenuFvwmModules "Fvwm Modules"        Title
+ "&1. Control Animation" Popup  MenuFvwmAnimate
+ "&B. Button-Bar"        Module FvwmButtons
+ "&O. IconBox"           FuncFvwmConfigureIconBox
+ "&F. Forms"             Popup  MenuFvwmForms
+ "&I. Identify"          Module FvwmIdent
+ "&M. IconMan"           Module FvwmIconMan
+ "&N. Banner"            Module FvwmBanner
+ "&C. Console"           Module FvwmConsole
+ "&P. Pager"             Module FvwmPager 0 0
+ "&2. Pager (2 desks)"   Module FvwmPager 0 1
+ "&R. Backer"            Module FvwmBacker
+ "&S. ScrollBar"         Module FvwmScroll 50 50
+ "&T. FvwmTaskBar"       Module FvwmTaskBar
+ "&U. AutoRaise"         Module FvwmAuto 200 Raise Nop
+ "&W. WinList"           Module FvwmWinList
+ "&X. Stop Module Menu"  Popup  MenuFvwmStopModule

DestroyMenu MenuFvwmStopModule
AddToMenu MenuFvwmStopModule "Stop Fvwm Modules" Title
+ "&B. Stop Button-Bar"  KillModule FvwmButtons
+ "&O. Stop IconBox"     KillModule FvwmIconBox
+ "&M. Stop IconMan"     KillModule FvwmIconMan
+ "&P. Stop Pager"       KillModule FvwmPager
+ "&R. Stop Backer"      KillModule FvwmBacker
+ "&S. Stop ScrollBar"   KillModule FvwmScroll
+ "&T. Stop FvwmTaskBar" KillModule FvwmTaskBar
+ "&U. Stop AutoRaise"   KillModule FvwmAuto
+ "&W. Stop WinList"     KillModule FvwmWinList

DestroyMenu MenuFvwmForms
AddToMenu MenuFvwmForms
+ "&C. Capture"       Module FvwmForm FvwmForm-Capture
+ "&D. Form Defaults" Module FvwmForm FvwmForm-Form
+ "&R. Rlogin"        Module FvwmForm FvwmForm-Rlogin
+ "&P. RootCursor"    Module FvwmForm FvwmForm-RootCursor
+ "&S. Setup"         Module FvwmForm FvwmForm-Setup
+ "&T. Talk Form"     Module FvwmForm FvwmForm-Talk
+ "&Q. QuitVerify"    Module FvwmForm FvwmForm-QuitVerify

# Configure and start using an iconbox on the fly
DestroyFunc FuncFvwmConfigureIconBox
AddToFunc FuncFvwmConfigureIconBox
+ I Module FvwmIconBox
+ I Style     *  NoIcon

DestroyMenu MenuFvwmQuitVerify
AddToMenu MenuFvwmQuitVerify "Really Quit Fvwm?" Title
+ "&Q. Yes, Really Quit" Quit
+ ""                     Nop
+ "&R. Restart"          Restart
+ ""                     Nop
+ "&X. Just an Xterm"    Restart xterm -n '"X Console"' -T '"X Console"'
+ ""                     Nop
+ "&N. No, Don't Quit"   Nop

######################## Sample Functions ##########################

DestroyFunc FuncFvwmMoveOrRaise
AddToFunc FuncFvwmMoveOrRaise
+ I Raise
+ M Move
#+ D Lower

DestroyFunc FuncFvwmMaximize
AddToFunc FuncFvwmMaximize
+ M Maximize   0 100
+ H Maximize   0 100
+ C Maximize   0  80
+ D Maximize 100 100

DestroyFunc FuncFvwmMoveOrIconify
AddToFunc FuncFvwmMoveOrIconify
+ I Raise
+ M Move
+ D Iconify

DestroyFunc FuncFvwmResizeOrRaise
AddToFunc FuncFvwmResizeOrRaise
+ I Raise
+ M Resize
+ D Lower

DestroyFunc FuncFvwmPrint
AddToFunc FuncFvwmPrint
+ I Raise
+ I Exec xdpr -id $w

DestroyFunc FuncFvwmPrintReverse
AddToFunc FuncFvwmPrintReverse
+ I Raise
+ I Exec xdpr 1/2 -h -rv -id $w

DestroyFunc FuncFvwmFocusPolicyChange
AddToFunc FuncFvwmFocusPolicyChange
+ I Style * $0
+ I Recapture

# Read config files for modules:
read ConfigFvwmBacker
# setup pager so FvwmButtons can swallow it
read ConfigFvwmPager
read ConfigFvwmIconBox
#read ConfigFvwmIconMan
read ConfigFvwmIdent
read ConfigFvwmScroll
read ConfigFvwmTaskBar
read ConfigFvwmWinList
read ConfigFvwmButtons

---

From: Jonathan Martin <[email-masked]>
Date: Thu, 27 Jan 2005 14:00:14 -0700

> that's about to go off the side of the desktop) doesn't stop at the edge

If I'm reading this right what you want are multiple desktops, each
1x1 screen big.  Right now you have one (or more desktops), each one more
than one screen.

Try setting "DeskTopSize 1x1" and starting your pager with
"module FvwmPager 0 3" (in InitFunction and RestartFunction).  That will
give you four desktops that you cannot flip between without clicking on
the pager (or using some key sequence).
-- 
WWTDD?
Jon Martin - Undergraduate Labs Systems Administrator (ISG - labadmin)
Department of Computing Science at University of Alberta.
--
Visit the official FVWM web page at <URL: http://www.fvwm.org/>.
To unsubscribe from the list, send "unsubscribe fvwm" in the body of a
message to [email-masked].
To report problems, send mail to [email-masked].