I was just wondering what is to be put directly into config file and what is to be put in InitFunction/StartFunction? There is a function I call on startup that is defined after where I want to call it so I’ve put it in InitFunction. But it seems that, except for the cosmetic point of view, anything can be put directly in .fvwm2rc.

Sorry for the delay on this.

I’ve answered this already here:


Note that putting “anythiing” in the fvwm2rc file is misleading – there’s a number of factors which effect how/when/where the file is read.

– Thomas Adam

Ok, I think I was not clear in this post, and that my english is a little weak (though to post you pointed out contains interresting evidences).

My config file is :

A few Style commands,
A few Destroy/AddToFunc commands …
A few key/mouse bindings.
A few Module

In StartFunction a few Exec

However people who use only StartFunction to launch module and a few app at startup (but not at restart) can put directly “module Fvwm*” and “exec …” in the config file and not use StartFunction at all. However, it seems that most people uses StartFunction instead.

I was wondering if there are good reason to put exec and module in StartFunction rather than directly in config file, and generally, what is to be put in StartFunction.

For instance, what is not usual but could be done is

[code]AddToFunc StartFunction

  • I FocusStyle …
  • I AddToDecor …
  • I Style * …

Test (Init) Exec xterm
Test (Init) Exec gkrellm…[/code]

Yes – consider what happens when the flow of a config file is split up for instance, with there being many Read statements.

It’s collectional and simply a way of convenience. Without a function you have a lot of problems in conditional operations since things like TestRc only work in functions – these have their places even in StartFunction for instance.

– Thomas Adam