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".