Subject: FVWM: Fvwm Themes Continued.

From: Alex Wallis <[email-masked]>
Date: Thu, 11 Nov 1999 00:27:40 +1030

OK Dan Espen wrote:

>Doesn't "sample.fvwmrc/decor_examples" qualify as a theme implementation?

I had a look at it Dan, and it's almost exactly how I've setup my config,
except all the functions relating to a decor I've grouped into separate files.
In fact I started out with one of Mr. gensch's earlier examples and progressed
from there. I just decided after my config grew over 2000 lines long that many
little files were easier to wade through than one BIG file. To start with I put
a symlink from ~/.fvwm2rc to ~/.fvwm2/.fvwm2rc
   So my directory structure looks like this....

~/.fvwm2rc                    # a symlink to ~/.fvwm2/.fvwm2rc
~/.fvwm2/.decor-rc        # a file to tell fvwm2 where to find each decor
~/.fvwm2/.fvwm2rc         # a file to set $PATH's and InitFunction's
~/.fvwm2/.module-rc      # a file to tell fvwm2 about the module configs
~/.fvwm2/.style-rc          # a file to set global styles (lots work needed)   
~/.fvwm2/backgrounds    # a folder to keep background pics
~/.fvwm2/decors             # a folder to keep my decor files tidy
~/.fvwm2/icons	            # I added this directory to IconPath or ImagePath
                                    # and keep my customised icons here.
~/.fvwm2/menus              # at the moment I keep separate menus for each   
                                    #decor (needs work) in this folder
~/.fvwm2/modules           # here each module can have several configs to be 
                                    # loaded by the decors whenever called for.
 ~/.fvwm2/scripts             # a folder for FvwmScript files 
~/.fvwm2/sounds             # I put separate folders for each decor FvwmEvent
                                    # sounds here and add them to rplay.conf

Thus all of my decors, (currently only Win95,Mwm,AfterStep, a DrWho theme, and
my personal customised decor) are each in a separate file along the lines of the
cited above example. But each file is only 2 or 3k in size. I also have a
symlink to the "default" decor that fvwm2 starts/restarts with. And a menu to
select same. (yup.... needs more work) Each theme has it's own FvwmEvent
config, and each Event config is selectable via an FvwmForm module. Even
individual sounds/commands can be set/reset. There's many more features I've
added but probably too long a list to include here. If anyone wants to "try
out" a copy of my config, please email me off list. 

Using this setup I'm able to read-in any part of the config via FvwmConsole or
Talk/CommandS whatever.... for testing etc.... I can also temporarily rm the
symlink ~/.fvwm2rc and point it at any .rc file I want. so I can try out other
configs. Using ModulePath allows symlinks to the modules as well as their
configs to be placed in the ~/.fvwm2/modules directory. As I add decors they
also need to be added into the .decor-rc and at the moment also the individual
menus. 
So to answer Fabien's question, "what exactly is a theme?", in my setup
a theme is a decor that calls it's own set of modules, styles, configs, sounds
etc, and is easily switched to another without restarting fvwm. Even individual
windows can switch decors/themes. But it's a work very much in progress. Even if
it's only progressing slowly. 24 hrs is never enough in a day. I have a 'life'
too. (well almost)

It's proven to be a very versatile arrangement, but requires a lot of minor
adjustments to many files, as features evolve and change with the current rapid
development Fvwm2 is going through. No doubt I'll need to make many more
changes by the time vers 2.4. comes out! C'est la unix.....Thus any proposed
theme needs qualification (as implied by Paul D.Smith), as to the version syntax
it complies with. A good time to pre-select standards if 2.4 is not far off.

At the moment I'm trying to make my config into an easy-install package when I
can find enough time, but it will also need some extensive pruning and editing
as I've got a lot of experimental stuff that either nearly/almost/or_never_will
werks kind of stuff in there too. I'm also sure that M4 preprocessing could
reduce the bulkiness of my config and speedup loading if I can ever find the
time to learn how to do that as well. 
I still think that the "default user" (whoever that may be) will have enough
man pages to read, without needing an M4 instruction page to add to it.
Maybe others could suggest better ways to add all these features.
No doubt they will.....

awol

"If all you've got is a hammer, everything looks like a nail!"
--
Visit the official FVWM web page at <URL: http://www.fvwm.org/>.
To unsubscribe from the list, send "unsubscribe fvwm" in the body of a
message to [email-masked].
To report problems, send mail to [email-masked].