xenocara/app/fvwm/docs/FAQ

1522 lines
63 KiB
Plaintext

======================================================================
FVWM Frequently Asked Questions
======================================================================
Last updated 18 Feb 1999 for release 2.2.0.
Contents
1. About Fvwm
1.1 What does FVWM stand for?
1.2 Where do I find the current versions of fvwm?
1.3 Any WWW Sites about FVWM?
1.4 Where do I ask questions about FVWM?
1.5 What are the differences between FVWM 1.xx and 2.xx?
1.6 What's the relative memory usage for the various window managers
out there?
1.7 Why the rename of the various files (fvwm2, .fvwm2rc,
fvwm2.man)?
1.8 When will fvwm release X.Y.Z be ready?
2. Installation
2.1 I want to use FVWM, but I don't have root access on my
machine. Can I still install and run it?
2.2 I'm trying to use fvwm under CDE/COSE, but encountering
difficulties. Any suggestions?
2.3 I'm trying to compile FVWM under SunOS using cc, but the compiler
is having lots of problems. What gives?
2.4 I want colored icons, but they won't work. Why not?
When I run configure, it reports "no" to "Have XPM support?" How
can I get XPM support?
2.5 I'm a sysadmin, and if I wanted to force fvwm to read a
system rc file and then the user's rc file, how would I do
that?
2.6 I'm a sysadmin, and if I wanted fvwm to look for all of
it's rc files in a hidden directory, say ~/.fvwm, much like
CDE does, how could I do that?
3. Features, Configuration, Functions & Commands
3.1 I use FVWM on a RedHat Linux system and can't figure out how to
change my FVWM configuration. I've read the FVWM manpage but when
I edit my .fvwm2rc nothing seems to happen. What's going on ?
3.2 Is it possible to raise a window when I click into the
window itself, not just the border?
3.3 How do I get Alt-Tab behaviour like another GUI?
3.4 What's the difference between the Focus and FlipFocus commands?
3.5 You can bind mouse movements to keystrokes, how about mouse
presses?
3.6 I'd like to bind a key to paste/use the current selection,
how can I do that?
3.7 Will FVWM ever support a separate colormap for each desktop?
3.8 I really like the horizontal bars that appear on the title bars of
sticky windows. Can I get those on other windows as well?
3.9 How do I set the Sun keyboard key xxxx to an FVWM command?
Or more generally, I'm having problems defining key
bindings for FVWM - what can I do?
3.10 My .fvwmrc from version 1.xx no longer works. What do I do?
3.11 What happened to the FVWM 1.xx 'include' command?
3.12 How do I get window titles on sub windows of ...
4. Modules
4.1 I'm using FvwmButtons (or GoodStuff in 1.xx), and sometimes the
buttons stay depressed, and other times they don't. Why is that?
4.2 When having FvwmButtons swallow an app, is it possible to
have button presses assigned to actions as well? For
instance, I'd like to swallow xload and have a button press
pop up an xterm, or swallow xbiff and have a button press
bring up the list of messages.
4.3 I'm seeing odd things when trying to preprocess files with
the FvwmM4/Cpp module...
4.4 I heard about this FvwmFileMgr module. Where can I find it?
4.5 I used to use GoodStuff in FVWM 1.xx, but it's not in the 2.xx
distribution. What do I use now?
5. Development, Known Problems & Bug Reports
5.1 I'd really like to see neat feature XYZ in FVWM.
Wouldn't that be cool? I even have a patch. When can it
be added?
5.2 How do I create/submit/apply patches?
5.3 How do I submit a bug report?
5.4 I have a window that is behaving unexpectedly under FVWM, but just
fine under (whatever other window manager), or I have just some
random bug. What do I do?
5.5 Why do NumLock and CapsLock interfere with ClickToFocus
and/or my mouse bindings?
5.6 Menus with gradient backgrounds flicker or are very slow.
5.7 Why won't the StartIconic style work with {Netscape, etc.}?
5.8 How do I capture the output (eg errors) of fvwm?
5.9 I try to run some program under FVWM, but it dies with an
X11 error like BadAccess. The same program works just fine
under MWM or OLWM. What's going on?
5.10 Every time I update my install, my currently running fvwm
session dies. Why is that?
6. Miscellaneous
6.1 What exactly is the differenct between a DESK, a PAGE, and
the SCREEN?
6.2 I'd really like {NeXT, Win95, etc} look and feel. Are you
going to support that?
6.3 Where can I get more XPMs for icons?
6.4 Linux XF86 virtual screen size & fvwm interaction...
6.5 I know this question doesn't have to do with FVWM, but what
happened to to rxvt and rclock which Rob Nation used to
support? Where can I find them now?
7. Hints and Examples from the Developers
7.1 An easy way to test new configurations.
7.2 Using shell commands for configuration.
7.3 How to start applications on a page or desk other than the
current.
7.4 How to start applications on a page or desk other than the
current without moving the viewport to the new page or desk.
7.5 A more efficient MWM menu style.
7.6 Placing menus on the screen.
7.7 Are you flipping pages by accident when moving the mouse
close to the border of the screen?
7.8 Lining up your windows and icons.
7.9 Moving the mouse/focus/page with the keyboard.
7.10 The cat safe desktop :-)
7.11 Lowering and moving windows.
======================================================================
1 - About Fvwm
======================================================================
1.1 What does FVWM stand for?
A: "Fill_in_the_blank_with_whatever_f_word_you_like_at_the_time
Virtual Window Manager". Rob Nation (the original Author of FVWM)
doesn't really remember what the F stood for origninally, so we
have several potential answers:
Feeble, Fabulous, Famous, Fast, Foobar, Fantastic, Flexible,
F!@#$%, Flashy, FVWM (the GNU recursive approach), Free, Final,
Funky, Fred's (who the heck is Fred?), Freakin', Flawed,
Father-of-all, Feivel (the mouse from "An American Tail"), etc.
Just pick your favorite (hey, there's another one!), which will of
course change depending on your mood and whether or not you've run
across any bugs recently. I prefer Fabulous or Fantastic myself,
although I often use F!@#$% or Freakin' while debugging...
Recently 'Feline' is becoming popular. Perhaps this has something
to do with the discovery that four of the six core developers have
cats (averaging 1.17 cats)? Miaow.
----------------------------------------------------------------------
1.2 Where do I find the current versions of fvwm?
A: New main distribution site (official + beta code):
ftp://ftp.fvwm.org/pub/fvwm/
Alternate sites:
USA:
ftp://sunsite.unc.edu/pub/Linux/X11/window-managers/
ftp://ftp.cs.columbia.edu/pub/cheah/
Europe:
ftp://unix.hensa.ac.uk/pub/walnut.creek/FreeBSD/incoming/
ftp://ftp.jussieu.fr/pub/X11/fvwm/
ftp://ftp.loria.fr/pub/unix/fvwm/
BTW, 1.24r was the last released version of the 1.xx series and the
first official release of 2.xx will be 2.2. As of 2.2, an odd second
digit denotes development releases and even numbers denote stable
releases.
----------------------------------------------------------------------
1.3 Any WWW Sites about FVWM?
A: Yup. The official site is:
http://www.fvwm.org/
There are links on the official site to other related fvwm sites.
----------------------------------------------------------------------
1.4 Where do I ask questions about FVWM?
A: If your local FVWM maintainer can't help you, then the newsgroup
comp.windows.x.apps is a good place, but the fvwm mailing list is
usually better. The new FVWM discussion mailing list address is:
fvwm@fvwm.org
And there is an announce mailing list as well:
fvwm-announce@fvwm.org
They are maintained by Jason Tibbitts, and are Majordomo based
mailing lists. To subscribe to the list, send "subscribe fvwm" in
the body of a message to <list>-request@fvwm.org. For example, to
subscribe to the fvwm mailing list, send a request to
fvwm-request@fvwm.org.
To unsubscribe from a list, send "unsubscribe fvwm" in the body of a
message to <list>-request@fvwm.org. To report problems, send mail to
fvwm-owner@fvwm.org.
Here's the list descriptions and instructions directly from Jason:
=================================================================
(fvwm)
Description
-----------
This list is for discussion relating to the FVWM window manager,
which is intended to have a small memory footprint and a rich
feature set, be extremely customizable and extendable and have a
high degree of Motif mwm compatibility. All relevant discussion is
encouraged. Posting of binaries or irrelevant discussion is
strongly frowned upon. Posting of short patches (less than 200
lines) is acceptable, but all patches should also be sent to the
fvwm-workers list (see Q5.2, below) for inspection and possible
inclusion in the distribution.
Instructions
------------
To send a message to the list, mail to fvwm@fvwm.org. For help on
dealing with the mailing list software (for getting the archives or
other files which may be made available) send the message "help" to
fvwm-request@fvwm.org. If you have problems with the mailing list
itself and need to talk to a human, send mail to fvwm-owner@fvwm.org.
This address is for mailing list issues only; reports on the FVWM
software will be sent to /dev/null.
Archives of previous messages are available; to get them send the
above mentioned help message and investigate the "index" and "get"
commands or ftp them from ftp://ftp.fvwm.org/pub/fvwm/list-archive/.
(fvwm-announce)
This list is for announcements relating to the FVWM window manager,
which is intended to have a small memory footprint and a rich
feature set, be extremely customizable and extendable and have a
high degree of Motif mwm compatibility.
Replies to messages from this list are set by default to go the
FVWM discussion list, fvwm@fvwm.org.
The current FVWM distribution is available for ftp at
ftp://ftp.fvwm.org/pub/fvwm/
=================================================================
----------------------------------------------------------------------
1.5 What are the differences between FVWM 1.xx and 2.xx?
A: A lot. To name a few general ones:
- Bugfixes. 1.xx is not worked on at all any more.
- Better rc file format. No longer order dependent.
- More flexible and powerful. For example, many previously
global options now operate on a per window group level
instead.
- More and better modules.
- OpaqueResize is gone (fear not, it may come back).
- M4 preprocessing is no longer part of the fvwm exec, but
rather has been moved to a module. There is also a module
to use cpp too. See the FvwmM4 and FvwmCpp man pages.
Be sure to check the NEWS file for new or changed features too.
----------------------------------------------------------------------
1.6 What's the relative memory usage for the various window managers
out there?
A: Here's a little table comparing some of them. It was done on an
AIX based IBM RS6000 model 355 using the same number of windows (3)
and XSession to switch between the window managers, and I used
'top' to show the values:
SIZE RES
545K 652K fvwm2 (fvwm 2.0.35)
457K 528K fvwm (fvwm 1.24rb)
856K 960K ctwm (ctwm 3.2p1)
1004K 1156K mwm (mwm 1.2)
543K 632K twm (???)
263K 328K aixwm (a simple ugly window manager included w/ aix)
----------------------------------------------------------------------
1.7 Why the rename of the various files (fvwm2, .fvwm2rc, fvwm2.man)?
A: Some people find this annoying, but let me say that I did that for
several reasons:
- so both 1.xx and 2.xx can be installed for use, in case some
people at the same site would rather stay at 1.xx
- fvwm2 coredumps usually if it tries to read in a 1.xx rc
file because the syntax is pretty different and completely
incompatable
- when people ask questions, if they explicitly mention their
.fvwm2rc file I know that they are running one of the 2.xx
versions, since they rarely mention exactly what version
they are running.
----------------------------------------------------------------------
1.8 When will fvwm release X.Y.Z be ready?
A: This is always a difficult question to answer. We work on fvwm on
a volunteer basis. Things get done when we have the time.
Joining the fvwm-workers mailing list might prove instructive.
======================================================================
2 - Installation
======================================================================
2.1 I want to use FVWM, but I don't have root access on my machine.
Can I still install and run it?
A: Very easily, using the '--prefix' flag at configure time.
Suppose your home directory is /home/sam. After unpacking the
fvwm2 sources, do "./configure --prefix=/home/sam [other options as
needed]'. Now, after building ("make") and installing ("make
install"), you will find the binaries in /home/sam/bin, the
manpages in /home/sam/man, etc. The modules will be in
/home/sam/libexec, and fvwm2 binary will have this module path
built in.
----------------------------------------------------------------------
2.2 I'm trying to use fvwm under CDE/COSE, but encountering
difficulties. Any suggestions?
A: Sure - here's one from Graeme McCaffery:
-----
Finally I have found out how to run fvwm properly from cde 8-))
(thanks to Lars Sodergren).
First set your home session in Dtwm. That usually is an empty
session, though you could have the cde session manager remember
what your desktop was like instead of FvwmSaveDesk etc..
Then you have to set two resources in .Xdefaults:
*wmStartupCommand: /home/orion/spxgm/bin/Fvwm
*waitWmTimeout: 1
In this case I run fvwm from a shell script so that library
variables etc are set properly for everyone. The waitWmTimeout
tells the session manager how long to wait until it starts the
window manager. I've set it to 1 second. By default it's 60 secs.
Finally you have to quit with
/usr/dt/bin/dtaction ExitSession (or whatever your path is for dtaction)
Now you can happily use cde programs and fvwm.
-----
----------------------------------------------------------------------
2.3 I'm trying to compile FVWM under SunOS using cc, but the compiler
is having lots of problems. What gives?
A: cc under SunOS is not an ANSI C compiler. Try using acc or gcc
instead.
----------------------------------------------------------------------
2.4 I want colored icons, but they won't work. Why not?
When I run configure, it reports "no" to "Have XPM support?" How
can I get XPM support?
A: FVWM uses the XPM (X PixMap) library to provide support for colored
and shaped icons. XPM doesn't ship with the basic X distribution as
provided by The Open Group or XFree86. However, many vendors will
bundle it as a standard component anyway. If not, you can get a copy
of the source from ftp://ftp.x.org/contrib/libraries/ and build it
yourself.
If you have XPM on your system, there are a number of ways configure
could still decide not to use it.
First, if you've installed XPM in a non-standard place (not in the
normal system or X11 directories--say in /opt/xpm or /usr/local or
similar) then you need to tell configure where to look. Use the
--with-xpm-library and --with-xpm-includes options (see
INSTALL.fvwm). Typically configure will say "Xpm library or header
not found" if this is the problem.
Second, your version of XPM may be too old. FVWM requires XPM 3.4f
or better. Typically configure will say "Xpm library version is too
old!" if this is the problem. In that case, you'll need to install a
newer version.
Third, XPM may be mis-installed on your system. If configure says "
Xpm library version and header file version don't match!" then this
may be the problem. Either use the --with-xpm-library and
--with-xpm-includes options to specify more precisely what you want,
or try re-installing XPM.
Last, there could be a linker error. This is especially common on
systems where XPM may be built as a shared library and installed in a
non-standard directory (Solaris is a good example). There are some
notes about building using shared libraries in the INSTALL.fvwm
file.
If you can't figure it out, contact the FVWM mailing list. Please be
sure to provide the type of hardware and operating system you're
using, how you invoked configure, and extract the lines dealing with
XPM from the config.log file and include that.
----------------------------------------------------------------------
2.5 I'm a sysadmin, and if I wanted to force fvwm to read a system rc
file and then the user's rc file, how would I do that?
A: Well, you could probably do something like this:
- have the first line of everyone's .fvwm2rc be 'Read
global.fvwm2rc' and have global.fvwm2rc reside in your
defined "sysconfdir" (from the ./configure step).
----------------------------------------------------------------------
2.6 I'm a sysadmin, and if I wanted fvwm to look for all of it's rc
files in a hidden directory, say ~/.fvwm, much like CDE does, how
could I do that?
A: This could be probably done similarily to Q2.5 above. The system rc
file in the "sysconfdir" could do something like:
Read .fvwm/Init quiet
Read .fvwm/Decors quiet
Read .fvwm/Styles quiet
Read .fvwm/Functions quiet
Read .fvwm/Menus quiet
Read .fvwm/Keys quiet
Read .fvwm/Modules quiet
or whatever breakdown you deemed appropriate, and you would have
default versions of these in {"sysconfdir"}/.fvwm/ that it could find in
case the user was missing one of them and you wanted to supply defaults.
======================================================================
3 - Features, Configuration, Functions & Commands
======================================================================
3.1 I use FVWM on a RedHat Linux system and can't figure out how to
change my FVWM configuration. I've read the FVWM manpage but when
I edit my .fvwm2rc nothing seems to happen. What's going on?
A: RedHat Linux installs the X server accompanied (by default) by a
configuration management system. In earlier releases it was called
TheNextLevel and in more recent releases it's called AnotherLevel.
For further information about TheNextLevel, consult RedHat's
documentation in /usr/doc/TheNextLevel/. For information about
AnotherLevel, do a 'man AnotherLevel'.
----------------------------------------------------------------------
3.2 Is it possible to raise a window when I click into the window
itself, not just the border?
A: Any version later than 2.0.46 (i.e. 2.1.0 or later) has this
feature. Currently it is provided through the GlobalOpts command.
This will possibly change in the future and be made an option to
the Style command:
GlobalOpts MouseFocusClickRaises
----------------------------------------------------------------------
3.3 How do I get Alt-Tab behaviour like another GUI?
A: The built in command WindowList provides a very close approximation
to the Alt-Tab feature found in another GUI. It doesn't look the
same but the following .fvwm2rc sample will provide a similar
interface:
Key Tab A M WindowList Root c c NoDeskSort
Hitting Alt-Tab will pop up the WindowList menu. Unlike another GUI
you should not keep the Alt key held down, the menu will stay up
until you hit Return/Enter or Escape. You can change focus to a
window on the menu by using the up and down arrow keys to move the
menu selection and then hitting Return or Enter. Hitting Escape will
close the menu without doing anything. The WindowList menu has hot
keys assigned for the first 26 windows and you can use the hot key to
go directly to the window.
The menu invoked with the above line will show all windows in
most recently focused order unless you have used the Focus
command (see Q3.4). It shows each windows name and geometry
with some extra flags to indicate Sticky, OnTop and iconified
windows.
A simpler style can be used with the following:
Key Tab A M WindowList Root c c CurrentDesk NoGeometry
This will just list the windows on the current desk (titles only).
The other GUI has the feature of selecting the previous window if
Alt-TAB is hit and released quickly. This behaviour cannot be exactly
duplicated but similar functionality can be assigned to hitting
Alt-TAB twice in quick succession (like a double click for keys):
DestroyFunc my_dbltab2
AddToFunc my_dbltab2 "I" WindowListFunc $w
DestroyFunc my_dbltab
AddToFunc my_dbltab "I" Prev (CurrentDesk) my_dbltab2
Key Tab A M WindowList Root c c CurrentDesk NoGeometry my_dbltab
There are a lot of options to the WindowList command to control which
windows are listed in which order and it may not be possible to set
conditions for the Prev command to reliably select the second item
when double keying. The WindowList command has no parallel for
CurrentPage, Transient, Visible, Maximised, Raised, and pattern
matching. The Prev conditions have no parallel for OnTop, Alphabetic
and desk sorting. The WindowList menu respects the WindowListSkip
style attribute whereas Prev respects the CirculateSkip and
CirculateSkipIcon style attributes.
----------------------------------------------------------------------
3.4 What's the difference between the Focus and FlipFocus commands?
A: Both of these commands change the keyboard focus to the target
window. They differ only in the way they affect the internally held
list of windows. This list is used by the Next, Prev and WindowList
commands. The list is normally sorted in most recently focused order
with new windows being added to the end. The FlipFocus command plucks
the target window from the list and inserts it at the beginning, The
Focus command rotates the list around until the target window is at
the beginning. The behaviour of FlipFocus is also used when changing
focus with the mouse and the automatic focus changing when using
ClickToFocus style.
If you never use the Focus command the list will remain in most
recently focused order. If you do use the Focus command the list will
gradually get back to most recently focused order as you use
FlipFocus.
The Focus command is very useful in conjunction with the Next and
Prev commands. e.g.
Key KP_Add A M Next (CurrentDesk !Iconic) Focus
Key KP_Subtract A M Prev (CurrentDesk !Iconic) Focus
These bindings allow you to circulate the focus around the windows on
the current desk in both directions. If Prev FlipFocus were used the
focus would toggle between the top two windows on the window list.
If you have several windows on a desk and you want to set the
circulation order for the Next and Prev commands you should focus on
the windows using the mouse or FlipFocus in the order you want. Fvwm2
will learn the order and use it for the Next and Prev commands. If
you subsequently use the mouse to focus or FlipFocus the order will
be lost.
----------------------------------------------------------------------
3.5 You can bind mouse movements to keystrokes, how about mouse
presses?
A: Hm. This one is a little tougher. It could be done, but many
programs ignore synthetic events, which is what would be generated.
In X11R6.1 there is an extension (called XKBD?) which can do this,
but I don't want to code to anything specific to one of the newer
X11 versions like this. You could try using Xse, which is a
program to interface to XSendEvent, available at ftp.x.org. It
could probably be used in a smiliar manner to xcb above (or in
conjunction with it). If anyone comes up with good examples for
this, please send it to the fvwm mailing list for inclusion here.
----------------------------------------------------------------------
3.6 I'd like to bind a key to paste/use the current selection, how can
I do that?
A: You can't directly with fvwm, but there may be a solution that is
more generally applicable - use the program 'xcb' available at
ftp://ftp.x.org/contrib/utilities/ or from your favorite mirror. It
could probably be used to get the desired effect or close to it.
This is most useful for running programs and passing the selection to
them (eg - invoke your favorite browser with the current selection as
the URL). To get a semi-generic paste facility to work, you'll
probably need to use 'xse' (see Q3.5). If anyone comes up with a
good example of this, please send it to the fvwm mailing list for
inclusion here.
----------------------------------------------------------------------
3.7 Will FVWM ever support a separate colormap for each desktop?
A: Doubtful, althougth I'd like to see it too. I believe that it'd be
possible to change the default colormap whenever you switch desks,
which would give programs started when that desk is active that
colormap, how would you deal with windows being moved across desks?
Plus fvwm itself needs certain colormap entries for all of its
drawing (borders, menus, etc), so these colors would have to be
pre-allocated in all of the colormaps, or something like that.
While this all *might* be technically possible, I don't feel that
it's really feasable right now (too much code bloat and
complexity), especially since most color hog programs (ie Netscape)
allow you to have them install private colormaps.
I may explore this a little at some point in the future though.
----------------------------------------------------------------------
3.8 I really like the horizontal bars that appear on the title bars of
sticky windows. Can I get those on other windows as well?
A: Yes. Put the line "GlobalOpts StipledTitles" in your .fvwm2rc.
Note that this is a purposely undocumented feature since it
will eventually be made a Style option. If you use this,
it is guaranteed to stop working some day.
----------------------------------------------------------------------
3.9 How do I set the Sun keyboard key xxxx to an FVWM command? Or
more generally, I'm having problems defining key bindings for FVWM
- what can I do?
A: From Jon Mountjoy, one of FVWM's users:
- Function keys on Sun Keyboard on Top Row are F1 - F8
- Keys on the function keypad on the Left of the Sun Keyboard
are F11 == Stop, F12 == Again, ..., F20 == Cut
His Example:
# Function keys on Sun Keyboard on Top Row
Key F1 A N Exec me(netscape) &
Key F2 A N Exec me(netscape -install) &
Key F5 A N Exec makex(Adder)
Key F6 A N Exec makex(Lambda)
Key F7 A N Exec makex(Castor)
Key F8 A N Exec xterm -T Local &
# Keys on the function keypad on the Left of the Sun Keyboard:
# F11 = Stop, F12 = Again, ..., F20 = Cut
Key F11 AWF N Next [!iconic CurrentScreen CurrentDesk] Focus
Key F12 AWF N Prev [!iconic CurrentScreen CurrentDesk] Focus
Key F13 WF N Maximize 100 100
Key F15 WF N RaiseLower ""
Key F17 WIF N Iconify ""
Key F18 WF N Stick ""
Key F20 WIF N Delete ""
Key Help AWF N Iconify ""
A more general solution is to use xev (usually distributed w/ X11)
or xkeykaps (an X11 interface to xmodmap written by Jamie Zawinski,
available from ftp.x.org) to find out what the keysym for whatever
key you want REALLY is, and use that for binding fvwm commands.
----------------------------------------------------------------------
3.10 My .fvwmrc from version 1.xx no longer works. What do I do?
A: Start with a new one or convert your old one. This can be done by
hand or with a little help from the 'fvwmrc_convert' in the
utils directory.
And here is a list of rc file command changes compiled by Makoto
'MAR_kun' MATSUSHITA <matusita@ics.es.osaka-u.ac.jp>. It may or
may not be 100% accurate or complete, especially as changes evolve,
but it's a good start.
Note that there have been some changes in 2.1.x and up that are
not reflected in the conversion script yet.
** Fvwm-1.xx commands ** ** Fvwm-2.0.x equiv **
AppsBackingStore (obsoleted)
AutoRaise delay (obsoleted, use FvwmAuto)
BackingStore (obsoleted)
BoundaryWidth Width Style (BorderWidth width)
ButtonStyle button# WidthxHeight <-
CenterOnCirculate (obsoleted)
CirculateSkip windowname Style (CirculateSkip)
CirculateSkipIcons Style (CirculateSkipIcon)
ClickTime delay <-
ClickToFocus Style (ClickToFocus)
Cursor cursor_num cursor_type CursorStyle context cursornum
DecorateTransients Style (DecorateTransient)
DeskTopScale Scale (obsoleted, use FvwmPager)
DeskTopSize HorizontalxVertical <-
DontMoveOff (obsoleted)
EdgeResistance scrolling moving <-
EdgeScroll horizontal vertical <-
Font fontname MenuStyle (arg4)
Function FunctionName AddToFunc (not compatible)
HiBackColor colorname HilightColor (arg1)
HiForeColor colorname HilightColor (arg2)
Icon windowname bitmap-file Style (Icon iconname-file)
IconBox left top right bottom Style (IconBox l t r b)
IconFont fontname <-
IconPath path <-
Key keyname Context Modifiers Function <-
Lenience Style (Lenience)
MenuBackColor colorname MenuStyle (arg2)
MenuForeColor colorname MenuStyle (arg1)
MenuStippleColor colorname MenuStyle (arg3)
Module ModuleName <-
ModulePath path <-
Mouse Button Context Modifiers Function <-
MWMBorders Style (MWMBorder)
MWMButtons Style (MWMButtons)
MWMDecorHints Style (MWMDecor)
MWMFunctionHints Style (MWMFunctions)
MWMHintOverride Style (HintOverride)
MWMMenus MenuStyle (arg5)
NoBorder windowname Style (NoBorder)
NoBoundaryWidth Width Style (HandleWidth width)
NoPPosition Style (NoPPosition)
NoTitle windowname Style (NoTitle)
OpaqueMove percentage OpaqueMoveSize percentage
OpaqueResize (obsoleted)
Pager X_Location Y_Location (obsoleted, use FvwmPager)
PagerForeColor colorname (obsoleted, use FvwmPager)
PagerBackColor colorname (obsoleted, use FvwmPager)
PagerFont fontname (obsoleted, use FvwmPager)
PagingDefault pagingdefaultvalue (obsoleted)
PixmapPath path <-
Popup PopupName AddToMenu (not compatible)
RandomPlacement Style (RandomPlacement)
SaveUnders (obsoleted)
SloppyFocus Style (SloppyFocus)
SmartPlacement Style (SmartPlacement)
StartsOnDesk windowname desk-number Style (StartsOnDesk desk-number)
StaysOnTop windowname Style (StaysOnTop)
StdBackColor colorname Style (BackColor color)
StdForeColor colorname Style (ForeColor color)
StickyBackColor colorname (obsoleted)
StickyForeColor colorname (obsoleted)
Sticky windowname Style (Sticky)
StickyIcons Style (StickyIcon)
StubbornIcons (obsoleted)
StubbornIconPlacement (obsoleted)
StubbornPlacement (obsoleted)
Style windowname options <-
SuppressIcons Style (NoIcon)
WindowFont fontname <-
WindowListSkip windowname Style (WindowListSkip)
XORvalue number <-
** fvwm-1 built-in functions ***
Beep <-
CirculateDown [ name window_name ] Next (not compatible)
CirculateUp [ name window_name ] Prev (not compatible)
Close <-
CursorMove horizonal vertical <-
Delete <-
Desk arg1 arg2 <-
Destroy <-
Exec name command <-
Focus <-
Function <-
GotoPage x y <-
Iconify [ value ] <-
Lower <-
Maximize [ horizontal vertical ] <-
Module name ModuleName Module ModuleName
Move [ x y ] <-
Nop <-
Popup <-
Quit <-
Raise <-
RaiseLower <-
Refresh <-
Resize [ x y ] <-
Restart name WindowManagerName <-
Stick <-
Scroll horizonal vertical <-
Title <-
TogglePage (obsoleted)
Wait name <-
Warp [ name window_name ] Next or Prev (not compatible)
WindowsDesk new_desk (obsoleted, use MoveToDesk)
WindowList arg1 arg2 <-
*** New in fvwm-2 **
AnimatedMove
Destroy
DestroyMenu
ExecUseShell
KillModule
Menu menu-name double-click-action
MoveToDesk
MoveToPage
Next [conditions] command
None [arguments] command
Prev [conditions] command
Read filename
Recapture
SnapAttraction
SnapGrid
+
(more functions are being added from time to time, so please check
the manpage too).
----------------------------------------------------------------------
3.11 What happened to the FVWM 1.xx 'include' command?
A: It was actually part of the M4 preprocessing. You can use the 'Read'
builtin to get the same effect, or use the FvwmM4 module.
----------------------------------------------------------------------
3.12 How do I get window titles on sub windows of ... (e.g. Netscape)?
A: These windows are known as 'transient' windows because of their
short lived nature. To get the window decorations for transient
windows you can use the Style command:
Style * DecorateTransient
or to switch it off:
Style * NakedTransient
======================================================================
4 - Modules
======================================================================
4.1 I'm using FvwmButtons (or GoodStuff in 1.xx), and sometimes the
buttons stay depressed, and other times they don't. Why is that?
A: From the FvwmButtons man page:
If command is an fvwm Exec command, then the button
will remain pushed in until a window whose name or
class matches the qouted portion of the command is
encountered. This is intended to provide visual
feedback to the user that the action he has requested
will be performed. If the qouted portion contains no
characters, then the button will pop out immediately.
Note that users can continue pressing the button, and
re-executing the command, even when it looks "pressed
in."
----------------------------------------------------------------------
4.2 When having FvwmButtons swallow an app, is it possible to have
button presses assigned to actions as well? For instance, I'd
like to swallow xload and have a button press pop up an xterm, or
swallow xbiff and have a button press bring up the list of
messages.
A: You can do this, but it's not obvious how. The button presses
normally get passed through to the swallowed application, but if
you put a title on the button, you can assign actions to that.
Here's an example that someone sent to the mailing list once:
*FvwmButtons(1x4, \
Title, 'System Info' \
Swallow, "xload" 'Exec xload' \
Action(Mouse 1) 'Exec xosview -cua0 -net 200 -ul -l -geometry 325x325', \
Action(Mouse 2) 'Exec xcpustate -interval 1 -bg "#a4978e" -fg black', \
Action(Mouse 3) 'Exec rxvt -fg "khaki" -bg "dark olive green" \
-fat -n top -T Top -7 -e top' )
And you could come up with something similar for xbiff (untested):
*FvwmButtons(1x2 \
Title 'Check Mail' Swallow "xbiff" 'Exec xbiff' \
Action(Mouse 1) 'Exec from | xmessage -file -' )
plus you could bind another button (say Mouse 3) to run your
mail program.
Sometime in the future I'll probably try and fix it so that you can
actually assign a button press over the app itself...
----------------------------------------------------------------------
4.3 I'm seeing odd things when trying to preprocess files with the
FvwmM4/Cpp module...
A: Yup, I imagine that you might be. Things like the InitFunction not
being called or windows that were running before FVWM started not
getting their Borders & Style options set, etc.
The reason for all this is because of the fact that FvwmM4 is a
module. Fvwm won't be looking at the commands comming back from
the module until after it hits the mainloop of the code, AFTER the
startup is all done and it's already tried to execute the
InitFunction.
So, some solutions I've been thinking about:
- Create an exec or script that will invoke whatever
preprocessor you want appropriately and run that via
PipeRead. All those default macros in the M4/Cpp modules
would need to become FVWM_* env vars, defined by fvwm and
used by the exec/script to pass them on as macros to the
preprocessor.
- I have a new dynamic loading module interface in mind that
would take care of this (among many other things), but that
won't happen for a while...
- As a simple temporary fix, FvwmM4/Cpp could send a
'Recapture' command back as the last thing done, plus
optionally an 'InitFunction' call (but that should be based
on a command line option).
----------------------------------------------------------------------
4.4 I heard about this FvwmFileMgr module. Where can I find it?
A: The FvwmFileMgr module dissappeared because a file manager doesn't
need to be integrated with a window manager and something like xfm
does a much better job. I recommend you pick that up instead (from
ftp.x.org or your favorite mirror).
----------------------------------------------------------------------
4.5 I used to use GoodStuff in FVWM 1.xx, but it's not in the 2.xx
distribution. What do I use now?
A: GoodStuff was renamed to FvwmButtons. Same module, new name (that
fits in with the other modules naming convention).
======================================================================
5 - Development, Known Problems & Bug Reports
======================================================================
5.1 I'd really like to see neat feature XYZ in FVWM. Wouldn't
that be cool? I even have a patch. When can it be added?
A: People are always requesting or suggestion new features (many of
which are great ideas and where a lot of the current features came
from). One of the more common ones for example is Windows 95 look
and feel (although since this was first written, that particular
feature has actually been indirectly implemented via several
appearance effecting features).
I'd like to make a statement about this. FVWM is supposed to be
small, fast, powerful, and flexible, and sometimes tradeoffs have
to be made here. The module interface helps here, as a lot of
features that not everyone wants or needs don't have to be in the
main module consuming resources for those people that don't want or
need them.
So if you have a suggestion (or a patch), please think of a way to
make it as small and generic as possible if you feel it belongs in
the main module. Also, take a look in the TODO list and see if it
isn't already in there.
Bear in mind that we make no guarantees that we'll add any requested
feature or apply any submitted patches to the official version, but
please don't let this dissuade you from submitting them. We like to
get new ideas and we're always curious to see how someone would
implement a given feature, even if we never plan to put it in fvwm.
Also, we may choose to reimplement any patches submitted, which may
change the syntax, functionality, etc. Please don't take offense
from that, as we mean no offense and we generally have a good reason
(at least by our way of thinking) for our actions...
----------------------------------------------------------------------
5.2 How do I create/submit/apply patches?
A: Creating a patch -
1) Copy the original file(s) to the same name with the
additional extension of .orig (or something like that).
2) Update the ChangeLog file. If you use (x)emacs, move the
cursor into the function you changed and hit <ctrl>-x 4 a.
This will generate an empty ChangeLog entry in the right
file (there are several ChangeLogs). Add a description of
what you did. Do this each time you change a function or
file (for changes outside of funtions). You should update
the AUTHORS and NEWS files too if appropriate.
Please take the time to add the ChangeLog entries, it makes
our work a lot easier.
3) Run diff with either the -c (context) or -u (unified)
switch on the sets of files, with the .orig file FIRST. I
prefer unified diff's because they are smaller, but
sometimes they aren't as readable (and some diff versions
don't support unified diffs), so either context or unified
diffs are fine (but please, no "plain" diffs).
ex: cp fvwm.c fvwm.c.orig ; <edit> ; diff -u fvwm.c.orig fvwm.c
Submitting a patch -
Mail it to the fvwm-workers mailing list <fvwm-workers@fvwm.org>.
If your patch is large you should compress it (preferrably
with gzip). Should it still be larger than 25k you might want
to to place it on a web page and email the URL to the mailing
list or ask on the fvwm-workers list first.
Be sure to read the answer to Q16.
Don't forget the ChangeLog.
Applying a patch -
Get a copy of the program 'patch' from your favorite source,
such as ftp://ftp.gnu.org/gnu/patch/, compile it, and then
follow its directions (generally just cd into the appropriate
directory and run 'patch < patchfile').
----------------------------------------------------------------------
5.3 How do I submit a bug report?
A: Please enter a DETAILED description of your problem in our web-based
bug-tracking system. You can find a link on our web page (see Q1.3).
By detailed we mean more than just "my window isn't behaving right" or
"I found a bug":
- Describe the problem as best you can, preferrably with
suggestions on how to reproduce it easily
- If applicable, include information from:
xwininfo (preferably w/ the -all option)
xprop
FvwmIdent
xdpyinfo (maybe)
- What OS & version you are running under
- What version of X11 are you running under, and is it an MIT
server or a vendor specific server (ex the OpenWindow X
server under SunOS)
- What exact version of FVWM you are running.
- How was FVWM compiled (compiler & version, options, etc)
- What settings to you have in your .fvwm2rc that may be
pertinent
----------------------------------------------------------------------
5.4 I have a window that is behaving unexpectedly under FVWM, but just
fine under (whatever other window manager), or I have just some
random bug. What do I do?
A: First, check your rc file and your .Xdefaults to make sure that
something blatantly obvious in there isn't causing the problem.
Second, *PLEASE PLEASE PLEASE* check the FAQ, BUGS, TODO, and man
pages. Finally, check the official WWW page and the mailing list
archives (which have a search facility) stored there.
If you still can't figure it out, report your problem to our bug
tracking system (see Q5.3).
----------------------------------------------------------------------
5.5 Why do NumLock and CapsLock interfere with ClickToFocus and/or my
mouse bindings?
A: Because they are treated as modifiers.
----------------------------------------------------------------------
5.6 Menus with gradient backgrounds flicker or are very slow.
A: The flickering is caused by fvwm constantly redrawing the menus
when a submenu pops up or down. One way to help this is to use a
X server with backing storage (XFree86 has backing storage
support, I don't know about other servers but I guess that any
decent X server has it). If your Xserver is started with the
-bs option, remove it. If not try the -wm option, for example:
startx -- -wm
You may have to adapt this example to your system (e.g. if you
use xinit to start X).
If that doesn't help, either because your X server does not have
backing storage or because system resources are limited, make
sure submenus do not overlap the parent menu:
MenuStyle <stylename> PopupOffset 1 100
Unfortunately this does not work properly with the fvwm
menu style.
For the speed problem both suggestions above might help too.
Another thing to try is to turn hilighting of the active menu
item other than by forground color off. Put these lines in your
.fvwm2rc after the menu styles have been defined:
MenuStyle <stylename> Hilight3DOff, HilightBackOff
MenuStyle <Stylename> ActiveFore <preferred color>
----------------------------------------------------------------------
5.7 Why won't the StartIconic style work with {Netscape, etc.}?
A: The application won't allow it. This has only been observed with
Netscape. When Netscape starts up, FVWM starts the main window in
the iconic state. Netscape immediately issues another MapRequest,
to which the window manager must respond by de-iconifying the
window, according to the ICCCM rules. (Netscape can be persuaded to
start iconic, however, by invoking it with the -iconic command line
flag.)
----------------------------------------------------------------------
5.8 How do I capture the output (eg errors) of fvwm?
A: Errors are reported to the standard error file. You can redirect
standard error to a file when fvwm2 is started: "fvwm2 2>
fvwm-errors". X sessions started by xdm often redirect errors to a
file named ".xsession-errors".
Alternatively, FvwmConsole or FvwmTalk modules will display error
messages.
----------------------------------------------------------------------
5.9 I try to run some program under FVWM, but it dies with an X11
error like BadAccess. The same program works just fine under MWM
or OLWM. What's going on?
A: The error message usually looks something like this:
X Error of failed request: BadAccess (attempt to access private
resource denied)
Major opcode of failed request: 28 (X_GrabButton)
Serial number of failed request: 1595
Current serial number in output stream: 1596
Well, this is telling you that there is a conflict in key/button
assignments. In your .fvwm2rc you have bound some key/button that
this program really wants to bind to an action, but it can't since
FVWM has already done so (but you weren't doing it in the rc file
for your previous window manager). Figure out what the offending
key binding is and remove it from your .fvwm2rc, or temporarily via
FvwmTalk by removing the FVWM binding (see the man page for the Key
& Mouse commands).
----------------------------------------------------------------------
5.10 Every time I update my install, my currently running fvwm session
dies. Why is that?
A: Many OSes swap the program from memory via the image on the disk,
and if you overwrite it, and then the current one tries to swap
something back into memory before you restart, it'll core dump. To
avoid this, rename your old execs or move them to some other
directory. The 'mv' command preserves the inode so it won't
coredump, but then when you restart fvwm it'll pick up the new
copy.
======================================================================
6 - Miscellaneous
======================================================================
6.1 What exactly is the differenct between a DESK, a PAGE, and the
SCREEN?
A: Our naming convention is sometimes a source of confusion, and when
discussing problems and the like it's good to maintain a consistent
meaning. To illustrate how features of fvwm should be referred to
- fvwm has multiple disjoint DESKTOPS, each of which is comprised
of M by N PAGES, which are each the size of the physical SCREEN.
The physical SCREEN acts as a viewport over one of the PAGES of the
current DESK. Here's a picture to clarify (also, take a look at
the FvwmPager module):
Desk 0 Desk 1
+----------+----------+ +----------+----------+
| | | | | |
| Page 0 0 | Page 1 0 | | | |
| | | | | |
| | | | | |
+----------+----------+ +----------+----------+
|+--------+| | | | |
||Page 0 1|| Page 1 1 | | | |
|| || | | | |
|+--------+| | | | |
+----------+----------+ +----------+----------+
It shows two 2 x 2 DESKTOPS. If the current DESK were number 0,
and the current PAGE were 0 1, the SCREEN would show only the
windows located there, plus any sticky ones.
----------------------------------------------------------------------
6.2 I'd really like {OpenWindows, NeXT, Win95, Mac, etc} look and
feel. Are you going to support that?
A: This is not our primary mission, but we think fvwm2 does a pretty
good job of producing these appearances.
----------------------------------------------------------------------
6.3 Where can I get more XPMs for icons?
A: If you want more color icons, grab the ones out of the ctwm
distribution (also at ftp.x.org) which has a lot of nice ones. You
can also find more in other distributions at ftp.x.org, and at
http://www.sct.gu.edu.au/~anthony/icons/ (which has a lot, I
believe).
----------------------------------------------------------------------
6.4 Linux XF86 virtual screen size & fvwm interaction...
A: Turn off the Linux Virtual Screen stuff in your XF86Config file if
you don't like it.... The XFree86 virtual screen feature and hardware
panning support in certain video cards is a pretty useless kludge when
you're using a window manager that implements virtual desktops.
----------------------------------------------------------------------
6.5 I know this question doesn't have to do with FVWM, but what
happened to to rxvt and rclock which Rob Nation used to support?
Where can I find them now?
A: This has come up a few times, so I thought I'd put it here too.
I believe that the new official home for rxvt is:
http://babayaga.math.fu-berlin.de/~rxvt/
and rclock can be found in that rxvt distribution as well.
======================================================================
7 - Hints and Examples from the Developers
======================================================================
7.1 An easy way to test new configurations.
Did you know that you do not need to restart X or fvwm2 to see what
most configuration commands do? There are several modules and
extras that allow you to issue fvwm2 commands at any time. Among
these are FvwmCommand, FvwmTalk and FvwmConsole. Personally I use
FvwmCommand and FvwmConsole.
When you run FvwmConsole you get a shell like window where you can
type configuration commands that are sent to fvwm2. Just add an
entry to some menu that starts it:
AddToMenu main_menu
+ "FvwmConsole" Module FvwmConsole
Using FvwmCommand is a bit more tricky. To use it you need to start
a server in your .fvwm2rc by adding this line:
Module FvwmCommandS
Make sure FvwmCommand is in your search path. Now you can enter
commands on the command line of your favorite shell:
FvwmCommand "MenuStyle * Font 6x9"
Note that you have to quote the command. The advantage of
FvwmCommand over FvwmConsole is that you can use your shell with
all its features to run commands (command completion and history
for example). The disadvantage is that it is a bit slow since a new
FvwmCommand has to be started for each command.
Other related modules and commands are FvwmScript and PipeRead.
----------------------------------------------------------------------
7.2 Using shell commands for configuration.
Sometimes you might want to use the output of a shell command or
script in your .fvwm2rc. For example you might need a menu that has
all filenames in a certain directory as its entries. You can use
the PipeRead command and the FvwmCommand module. I recommend using
PipeRead since creating twenty menu items takes a considerable
amount of time with FvwmCommand.
Example from my .fvwm2rc:
# make the background menu
AddToFunc MakeBackgroundMenu
+ "I" DestroyMenu BackgroundMenu
+ "I" AddToMenu BackgroundMenu Backgrounds Title
+ "I" PipeRead 'for i in `/bin/ls $HOME/.fvwm2/backgrounds/*.bg.*`; \
do echo -e AddToMenu BackgroundMenu `basename $i | sed -e \
"s/\.bg\..*$//"` Function SetDefaultBackground $i; done'
# set the default background
AddToFunc SetDefaultBackground
+ "I" Exec echo -e $0 > $HOME/.fvwm2/background
+ "I" Function SetBackground
# set a new background
AddToFunc SetBackground
+ "I" Exec test -r $HOME/.fvwm2/background && xv -root -quit -viewonly \
`cat $HOME/.fvwm2/background|tr -d "\n"`
# activate setting from last session and build the menu
AddToFunc InitFunction
+ "I" Function SetBackground
+ "I" Function MakeBackgroundMenu
The MakeBackgroundMenu function builds a menu that contains an item
for every file that matches the pattern "*.bg.*" in the directory
$HOME/.fvwm2/backgrounds. The suffix .bg.* is removed. When I
select an item the file is displayed in the background using xv.
Furthermore the path and filename are stored in
$HOME/.fvwm2/background. When I start my next fvwm2 session the
filename is fetched from there so I get the background from my last
session.
I have an even more complex setup for color palettes.
----------------------------------------------------------------------
7.3 How to start applications on a page or desk other than the current.
Use the 'StartsOnDesk' or 'StartsOnPage' style in your .fvwm2rc:
Style Netscape* StartsOnPage 0 1
or
Style Netscape* StartsOnDesk 1
Any window with a title that begins with 'Netscape' will be placed
on page 0 1 (desk 1). You will probably want to use these options
too:
GlobalOpts RecaptureHonorsStartsOnPage, CaptureHonorsStartsOnPage
Note that the GlobalOpts command will be removed some day in the
future and this options will become style flags.
----------------------------------------------------------------------
7.4 How to start applications on a page or desk other than the current
without moving the viewport to the new page or desk.
Use the SkipMapping style:
Style Netscape* StartsOnPage 0 1, SkipMapping
----------------------------------------------------------------------
7.5 A more efficient MWM menu style.
Perhaps you have noticed that with the MWM menu style your sub
menus are shown as soon as the pointer enters their menu item. Even
if you just want to scroll down the list. You can prevent this with
the 'PopupDelay' and 'PopupDelayed' options of the MenuStyle
command:
MenuStyle mwm
MenuStyle PopupDelayed, PopupDelay 80
The sub menu will we shown 80 milliseconds after the pointer enters
the menu item. You will hardly notice the delay. Note that 80 ms
is just long enough to move through the menu with auto repeat on my
cursor keys. You may have to experiment with this number to get it
right.
----------------------------------------------------------------------
7.6 Placing menus on the screen.
Do you have to close windows or move the pointer all over the
screen to find some part of the background where you can bring up
your main menu (or any other root menu)?
Then you should use a keyboard shortcut. For example
Key space A M Menu root c c main_menu
in your .fvwm2rc gives you the menu 'main_menu' in the center of
the screen when you press Alt-space. Or you might want a shortcut
to the window menu:
Key space A SM Menu root c c WindowMenu
You can place menus anywhere you like, not just where the mouse
pointer is. Please read the section for the 'Menu' command in the
manpage.
----------------------------------------------------------------------
7.7 Are you flipping pages by accident when moving the mouse close to
the border of the screen?
You can disable page flipping with the EdgeScroll command:
EdgeScroll 0 0
in your .fvwm2rc turns it off.
----------------------------------------------------------------------
7.8 Lining up your windows and icons.
The SnapAttraction and SnapGrid commands really help to keep your
desktop tidy. With SnapAttraction windows (or icons or both) are
'attracted' to each other. When you drag a window (icon) and it
comes close to another window (icon) it clings to it without a gap
between the borders. Put this command in your .fvwm2rc:
SnapAttraction 8 SameType
This means windows cling to other windows if they get closer than
8 pixels and icons cling to icons. Or if you just want it for
windows/icons use
SnapAttraction 8 Windows
or
SnapAttraction 8 Icons
Or if you want icons to cling to windows and vice versa:
SnapAttraction 8 All
The SnapGrid command is a big help too:
SnapGrid 8
in your .fvwm2rc tells fvwm2 to use a grid of 8 pixels to place
windows and icons. Try it and see if you like it.
Hint: It might be a good idea to use a divisor of your desktop
width and height for SnapGrid.
----------------------------------------------------------------------
7.9 Moving the mouse/focus/page with the keyboard.
Try these key bindings for mouse movement:
# shift-<direction> to move a few pixels
Key Left A S CursorMove -1 0
Key Right A S CursorMove +1 +0
Key Up A S CursorMove +0 -1
Key Down A S CursorMove +0 +1
# shift-meta-<direction> to move 1/4 page
Key Left A SM Scroll -25 +0
Key Right A SM Scroll +25 +0
Key Up A SM Scroll +0 -25
Key Down A SM Scroll +0 +25
or these to flip pages
# shift-control-<direction> to move a full page
Key Left A SC CursorMove -10 +0
Key Right A SC CursorMove +10 +0
Key Up A SC CursorMove +0 -10
Key Down A SC CursorMove +0 +10
# Alt-Fn to go to a specific page (like on the Linux console)
Key F1 A M GotoPage 0 0
Key F2 A M GotoPage 1 0
Key F3 A M GotoPage 0 1
Key F4 A M GotoPage 1 1
or to change the focus to a window in a specific direction:
# number keys on keypad to move the focus
Key KP_1 A C Direction SouthWest Focus
Key KP_2 A C Direction South Focus
Key KP_3 A C Direction SouthEast Focus
Key KP_4 A C Direction West Focus
Key KP_6 A C Direction East Focus
Key KP_7 A C Direction NorthWest Focus
Key KP_8 A C Direction North Focus
Key KP_9 A C Direction NorthEast Focus
----------------------------------------------------------------------
7.10 The cat safe desktop :-)
If your cats keep stepping on your keyboard while you are brewing
another cup of coffee on of these hints may help:
Use 'Style * MouseFocus' and move the mouse pointer over the
background when you go away.
If you can't do without your 'SloppyFocus' you can move the
mouse pointer into a window that takes no keyboard input and
give it the focus (e.g. FvwmButtons or a console message
window). A true fanatic creates a separate window with a picture
of his cat for this :-)
----------------------------------------------------------------------
7.11 Lowering and moving windows.
In some configurations moving a window with the middle mouse
button lowers the window after moving it. Lowering it before
moving gives you a nice visual effect:
Mouse 2 T A Function MoveOrLower
AddToFunc MoveOrLower
+ "Click" Lower
+ "Motion" Lower
+ "Motion" Move
+ "DoubleClick" Lower