On Thu, Apr 19, 2007 at 08:47:56PM +0200, Oliver Bandel wrote:
> Is there no book on fvwm?
> (One, which covers the today versions of fvwm...)

No, but I have been wanting to write one for a few years now.

> Maybe reading the sourceode is necessary?!

No.

> What I'm missing in the introductional texts
> I found (even,if some of them explain some things
> more or less good), is a thing that explains
> what fvwm is doing, when it starts.

What is it you want to know, exactly?  Basically what happens (and this
isn't in the manpage) when FVWM starts, it will always read:

$(fvwm -d)/ConfigFvwmDefaults

This file details some of the functions applications make use of
(WindowListFunc, etc).  Then FVWM will go and look for some files (as
per the INITIALISATION section in the FVWM manpage).

> What is the minimal configuration, what files will be read,
> what is necessary as a minimal configuration to start
> own applications.

At the bare minimum, all you need in your ~/.fvwm/config file (if you're
using FVWM 2.5.X) is:

Exec exec myapplication
Exec exec myapplication2

That will start two applications *everytime* FVWM is loaded or
restarted.  Of course this is invariably not what people want, and so
the concept of determining "actions" about when to do things depending
on what state FVWM is in was introduced.  Traditionally, these were in
the form of two functions:

InitFunction  (Runs when FVWM first loads).
RestartFunction (Runs when FVWM is restarted).

Howvever, given that there is also StartFunction which runs at both
times, it's preferrable now to ditch the use of InitFunction and
RestartFunction and just use StartFunction to define things.  So for
example, if you had this time:

DestroyFunc StartFunction
AddToFunc   StartFunction
+ I Exec exec myapplication
+ I Exec exec myapplication2

This would start both myapplication and myapplication2 across Init and
any subsequent restarts.  That's fine, and it's useful for modules which
get killed when FVWM restarts anyway.   To fine-tune this to limit only
having 'myapplication' run at Init (and hence, only init), you'd use:

DestroyFunc StartFunction
AddToFunc   StartFunction
+ I Test (Init) Exec exec myapplication
+ I Exec exec myapplication2

> Step by step explaining simple things that work,
> and then giving a hint that there are more powerful
> features to try by oneself, that would be fine.

I tend to get very bored of writing and explaining things to do with
FVWM since it falls on deaf ears -- people just don't seem to want to
read at all.

-- Thomas Adam

--
"He wants you back, he screams into the night air, like a fireman going
through a window that has no fire." -- Mike Myers, "This Poem Sucks".

Reply via email to