Here comes a confusing part. StartsOnPage takes up to three numeric
arguments. If there is only one argument, it corresponds to the number
of the desk on which to open the application. If there are three
arguments, the second and third additionally identify the page, using
an X,Y coordinate scheme. We'll come back to this in a moment. (Two
arguments alone are interpreted as the X,Y coordinates of the page.)
And what about the closely associated StartsOnDesk variable? A little
more confusion here. StartsOnDesk takes only one argument: the desk
number. But since you can set this with StartsOnPage, along with the
more specific page address, in practice there is no need to use
StartsOnDesk at all. The only real reason to use
StartsOnDesk
is if
you want your .fvwm2rc file definitions to be as
obvious as possible.
Now back to desktop and page addressing. Let's consider the addressing
scheme of a single two-by-two-page desktop. Just as the first desk is
addressed as number 0, the first page on a desk is 0,0. The next page
to the right is 1,0. The third page clockwise (the lower-right
quadrant) is 1,1. And the fourth page clockwise (the lower-left
quadrant) is 0,1.
Supposing there are at least two desktops of four pages each, the
following definition says that when you run an xterm called "bigxterm" it will be opened in the
lower-left quadrant (0,1) of the second desktop (number 1):
Style "bigxterm" StartsOnPage 1 0 1
Once you make this update to your .fvwm2rc file
and restart the window manager, running the command:
xterm -name bigxterm &
will open the window where you want it.
You also have the option of accomplishing the same thing using X
resource syntax on the command line. This strategy may even be a
little more practical than putting the definitions in your
.fvwm2rc file because you won't have to define
many different instances of the various programs (e.g., bigxterm,
littlexterm, mailwindow, or whatever). The -xrm option (recognized by many X clients)
lets you specify an X resource variable on the command line:
xterm -xrm '*Page: 1 0 1' &
You can even put a series of such lines in your X session startup file
in order to open applications wherever you want them on your
desktop(s) when you log in.
While it looks as if these two methods of opening windows on different
desktops/pages (the Style variable with StartsOnPage or StartsOnDesk
and the -xrm command-line option)
produce identical results, there is actually a subtle difference in
behavior. When you use Style with StartsOnPage (or StartsOnDesk) and
you specify only the desktop number, the window is opened on the first
page (0,0) of that desk. If you give the same information on the
command line (using -xrm), the
destination page of the new window is related to the page you're on
when you run the command. The new window appears on the analogous page
of the desktop you specify.
You have still one more alternative if you're interested in opening a
window on a different page within the current desktop. Run a window
with the -geometry option and
supply large enough coordinates to place it on a particular page in
the desktop. If you use a desktop three pages square, the following
line places a window in the middle page (of the nine-page grid):
xterm -geometry +1200+1200 &
Keep in mind, however, that display-specific characteristics play a
big part in gauging these distances, and they are not easy to guess.
 |  |  |
17.10. Making the Same Window
Appear on Every Page |  | 17.12. If It's Too Hard (or Easy) to Move
the Pointer Between Pages |