Style <name> or StartsOnPage problem???

I have been trying to get certain applications start on certain
pages, and I cannot seem to get this working. I am very well aware the basic syntax is

Style <name, class, visible name, or resource string of window> StartsOnPage n m

where “*” and “?” can be used in the usual Unix file wildcard meaning.
I want to use this for the following (admittedly kludgy) hack:

Style "*on page 2 2" StartsOnPage 2 2

(So that any window whose name ends thus will start on page 2 2. For
example, “Emacs on page 2 2”.)

The only with which I have got StartsOnPage working
so far, however, is the catch-all “*”. This applies whether I use it
in a config file or whether I type it into FvwmForm-Talk.

So first I thought I was having some problem with the window name, and
I in order to verify this with some other Style option, I typed this
into FvwmTalk:

Style "*on page 2 2" TitleAtRight

But this immediately moved the title bar of said window to the right, if
the window already existed. However, when I typed this BEFORE that
window was launched, the window launched with its title bar in the
usual place (at the top). Same effect with Sticky, for example:
It only changes windows which are already present.

Both options do not show this behaviour if they are specified after

Style "*"

Then, even windows created after this command have the TitleAtRight or
are Sticky.

What does all this tell me? I tend to conclude:

  1. There is no problem with the name, as Style options TitleAtRight and
    Sticky, for example, are assigned to windows with the desired name
    as expected.

  2. However, there does, on my system, seem to be a difference between
    assigning a Style to “" and a Style to a more specific name, in
    that only "
    ” works for windows which are created later than the Style
    command is issued. As I have Fvwm start without any windows, this seems to
    mean that a Style command other than for “*” in the config files has
    no effect.

Of course, StartsOnPage can never be assigned to already existing
windows (because it only says where they start). But the behaviour
seems to be in line with what I have observed for TitleAtRight and
Sticky: Only “*” applies to windows which are created later.

I not only find this behaviour counter-inutitive, but I am next to
sure that it can’t be the Fvwm standard behaviour. (Not least, I do
have some more specific styles in my config, which do seem to work.)

Can anybody point out to me what could cause this behaviour?

Or is there a mistake in my logic? I have tried to figure this out for hours now; I would
not be surprised if my thinking was compromised.

Many, many thanks for any insights.



Is there really nobody who can say anything to this problem?

I would be equally grateful for any suggestions how I could isolate the problem further.

Failing that, maybe somebody knows any other way for an application to spawn a window and control on which page it appears? I would not really mind if it was a kludgy workaround, als long as it works.

Again, really MANY thanks for any further help into that direction. I cannot believe it is possible to have a, say, desktop with 5 x 3 pages, but that it is impossible to automatically populate these pages with windows.



2 days to ask for an answer in this forum… :slight_smile: you’re just kidding. :smiley:

I’ve read this post now… and i have a similar problem. On Fvwm-init i try to start the browser on one page and the mailclient on another page on the same desk.

This is the Function, with which i start the browser.

[code]DestroyFunc FvwmBrowserInit
AddToFunc FvwmBrowserInit

  • I Exec exec $[infostore.default_browser] &
  • I Piperead ‘echo Style “$(echo -n “"; basename readlink -f $[infostore.default_browser]|sed -e "s/^.//”)” SkipMapping, !FPGrabFocus, !FPFocusByProgram, StartsOnPage 0 2 0’[/code]

It works with Chromium.

Class is “Chromium” and Ressource ist “chromium”

It doesn’t work with Iceweasel. There ist Class “Iceweasel” and Ressource “Navigator”.

infostore.default_browser gives icedove or /usr/bin/icedove or firefox or /usr/bin/firefox. Whatever.

Any ideas?