Subject: FVWM: Fvwm Themes

From: Jason Kibblewhite <[email-masked]>
Date: Tue, 09 Nov 1999 21:04:15 -0700

[email-masked] wrote:

> When restarting fvwm2, does the startup file get
> processed by M4 again? The reason I'm asking this
> is that I'd like to use themes in fvwm. To do this,
> I want to use several .fvwm2rc files, one for each
> theme. To activate a theme, I then copy the rc file
> to the user's home directory and then restart
> the windowmanager. However, when using M4 in the rc
> file, I could run into trouble if it doesn't get
> M4-ed again. (In fact I am running into trouble, and
> I'm wondering if that is the reason.)

I'm sure other people are working on trying to make themes setups for
fvwm2 aswell.  I know I am but I don't really have much time right now
and it it's going slowly.

What I suggest is that all of us somehow get together that talk about
our ideas on this matter so we don't end up with a whole bunch of
conflicting ideas and setups.  Then we can get fvwm.themes.org up and
running again with some new cool fvwm2 themes.

just my $0.02

--
This is my .sig, pretty dull eh

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

---

From: Michael Han <[email-masked]>
Date: Tue, 09 Nov 1999 19:25:19 -0800

Previously...
>and it it's going slowly.

Yeah, there are about five to ten people I can think of who've
muttered things about "themes... no time." But lots of good ideas out
there.

>running again with some new cool fvwm2 themes.

Well, right here seems a good place to talk about themes. Unless the
traffic gets to the point where a fvwm-themes list is needed (I doubt
it belongs on fvwm-workers).

It's gone away, but I remember not liking the themes approach that had
been taken by fvwm.themes.org. First and foremost was the decision to
locate all the themes stuff in $HOME/fvwm. I think $HOME/.fvwm makes a
lot more sense. My local CVS tree is in $HOME/fvwm. Next, I didn't
think it appropriately distinguished between behaviors and themes.
Things like menu items and bindings could be distributed in a theme.
That was bad, IMHO.

There were some other things too. I forget. Anyway, if you've got
ideas about themes, just send 'em here. People may not have time to
write the system, but I'm sure they've got time to kibbitz on the list
;>
-- 
[email-masked]                         http://www.best.com/~mikehan/
coffee achiever                              San Francisco, California
A double negative is a no-no.
--
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].

---

From: Nathan Froyd <[email-masked]>
Date: Tue, 9 Nov 1999 22:40:28 -0500

> Things like menu items and bindings could be distributed in a theme.

Anybody remember fvwm2gnome? It seemed to have a fairly clean way of
distributing themes and a nice way of organizing everything. Certainly themes
don't have to support GNOME in any way, but it might be worth taking a look at
for a start.
-- 
</nathan>  |  [email-masked]  |  http://www.rose-hulman.edu/~froydnj/
Is this *idiocy*? Or something so            If the human brain were so simple
brilliant that it just *looks*                that we could understand it, we
stupid? --Gary Kasparov                       would be so simple we couldn't.
--
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].

---

From: Kendrick Vargas <[email-masked]>
Date: Wed, 10 Nov 1999 14:40:46 -0500 (EST)

> don't have to support GNOME in any way, but it might be worth taking a look at

You know, I'd actually like to start a little script that will convert
between enlightenment themes and fvwm themes. The only issue is with batch
processing the png's to xpm, which brings me to a question... Can FVWM
handle anything other than XPM or XBM format images? If not, are there any
plans to support other formats in the future? 

I wanna read up on FvwmTheme but I don't have the time right
now. Actually, I really just wanna port the minEguE from enlightenment :-)
			-peace

--- BEGIN GEEK CODE BLOCK ------------+-----------
GAT d- s:+ !a C+(+++) UI/L/S/B++(+++) | "In the morning glad I see
P>+ L+(++) E---- W+++ N+ o? K? w++++  |  My foe outstrech'd beneath the tree."
O--- M-- V PS+++@ PE Y-- PGP+ t++ 5   |               -The Poison Tree
X++ R- tv+ b DI++ D+ G e>*  h*(!) r-  |                William Blake
y*(+) ------ END GEEK CODE BLOCK -----+

---

From: Scott Scriven <[email-masked]>
Date: Wed, 10 Nov 1999 19:30:00 -0700 (MST)

On Tue, 9 Nov 1999, Michael Han wrote:

> Well, right here seems a good place to talk about themes.  ...
> 
> been taken by fvwm.themes.org.  ...
> 

I guess I'm probably a bit late..

FWIW, I've got an fvwm theme setup on my page which is similar
to fvwm.themes.org's setup but with some improvements.  I was
pretty disgusted by some of the problems in their setup, but
mine isn't perfect either.  :)

	http://www.vis.colostate.edu/~scriven/fvwm.php3

Here are a few differences, off the top of my head:

 - You can have a system-wide configuration which can be
   overridden or modified by users' individual configurations.

 - It separates "look" from "feel" by putting input bindings in
   their own file.

 - You can switch themes from a menu, without restarting fvwm.
 
 - Themes can be randomly selected upon startup.
 
 - Themes do not include wallpaper, but it should be easy to
   incorporate them using the "bkgd" script on my page.  (for
   example, set a random "green" background with a green theme)
   
 - 12 themes are included; more will come as people make them.
   Two of these were from fvwm.themes.org, the rest are mine.

One problem: It currently requires windows to have 4 title
buttons, a menu on the left and minimize-maximize-close on the
right.  This gives a consistent feel, but restricts visual
freedom for theme designers.

 _  _ _  _ ___ ___  ------------"Use the source, Luke!"---------
( \/ ( \/ (__ (__ ) |     Scott Scriven (Toy Keeper / XYZZ)    |
 \  / \  /  //  //  |       mailto:[email-masked]      |
 /  \ / /  //_ //_  |     irc:serdevian.dyn.omnipotent.net     |
(_/\_(_/  (___(___) |  http://www.vis.colostate.edu/~scriven/  |

---

From: Michael Han <[email-masked]>
Date: Thu, 11 Nov 1999 10:13:05 -0800

Previously from Scott Scriven...
>   overridden or modified by users' individual configurations.

I think this is really important, too.

> - You can switch themes from a menu, without restarting fvwm.

This is nice. Basically, themes ought to be set-able with a:
Read theme/theme
or something like that. That means that decors, etc. of the existing
theme should be destroyed before reading, and that, to be safe, before
creating any new structures, a well-behaved theme should destroy
itself. Fortunately, Dominik's working on Style so that they apply
immediately without issuing Recapture... Hope it's ready for 2.4.
Would make theming a lot easier. Otherwise all themes should conclude
with a Recapture.

Really, most of this junk can be automated by designing some built-in
functions that all themes load, like "_DestroyThisTheme" and
"_ReadNewTheme".

>   example, set a random "green" background with a green theme)

FvwmBacker seems to be perfectly alright for this purpose. It relies
on an external program like xv(1) or display(1) for setting background
images. On the upside, it's desk-aware (soon to be page-aware), and
FvwmTheme/Colorset compatible.

>freedom for theme designers.

I remember this one being troublesome to me too. On the one hand,
window buttons are, without doubt, behavior-related, but they also are
an important part of the GUI look. It'd be silly if you have a classic
MWM button layout (0 for menu, 1 for maximize, 3 for minimize) and you
loaded a Win95-style button theme... the buttons would look like they
did things other than what they did, unless you rebound the actions...
bad news, IMHO. Perhaps there's a way to preprocess so that the theme
Does The Right Thing WRT the buttons the user has chosen to bind. I'm
not even sure if that's possible, but it certainly seems the most
desirable thing to do. (In case it's not clear what I mean by "Does
The Right Thing", I mean that the theme should provide a set of
buttons for: menu, min, max, close. It should add buttons where they
belong.)

Any comments, further ideas, etc.?
-- 
[email-masked]                         http://www.best.com/~mikehan/
coffee achiever                              San Francisco, California
"What was your username?" - BOFH
--
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].

---

From: Michael Han <[email-masked]>
Date: Thu, 11 Nov 1999 11:11:38 -0800

Previously...
>plans to support other formats in the future? 

I vaguely recall some discussion of linking to imlib or something
similar if it was present. I no longer recall why anyone wanted it...
Maybe to create xpms from gradients? As a required library, I think it
was kinda unpopular.

As to batch converting png2xpm, what's the issue?

---

From: Alex Wallis <[email-masked]>
Date: Fri, 12 Nov 1999 12:57:19 +1030

> I think this is really important, too.
Well I haven't implemented system-wide config as yet. (on to do list)
> > - You can switch themes from a menu, without restarting fvwm.
Mine does that....
> Would make theming a lot easier. Otherwise all themes should conclude
Yup. Mine do that too.
> FvwmTheme/Colorset compatible.
I personally think random backgrounds silly. Especially on my resource starved
old 486. But I conceed that some would find such frivolity irresistable.
> buttons for: menu, min, max, close. It should add buttons where they
I can set as many buttons as I like or don't like in my themes. With each theme
having appropriate layouts. e.g. my Mwm has buttons 1,2 & 3 ; AfterStep has
buttons 1,2, 3 & 4 ; Win95 has buttons 1,2,4  & 6 etc...Each button has it's
key bindings set as appropriate in the themes decor file. So AfterStep buttons
do what buttons do under the AfterStep WM, likewise Mwm., Win95, etc... My own
customized theme has multi-function buttons that have several key bindings
apiece. 
> Any comments, further ideas, etc.?
All this is not only possible/achievable, but also a lot more that hasn't been
mentioned yet. Such as.....
On my 'to do list':
	Create-A-Theme module
	Change-A-Theme module
	Save-A-Theme module
	Load-A-New-Theme module
and       Load-User-Specified-fvwm2rc-Config  via dynamic menu selection, with
a 'hotkey'  to return to my configuration as desired, thus enabling painless
testing of others configs. I see these features as being just as desirable.
I will implement them as time permits. 
Contributions and/or suggestions most welcome. If anyone cares to send me
their "themes" I will gladly insert them into this config, leaving due credit
intact. It will help me design ways to "read-in" new themes and to learn what
people expect/want.

awol

"If all the world's a stage, where do they harness the horses?"

---

From: Nacho <[email-masked]>
Date: Sat, 13 Nov 1999 21:29:16 +0100

> buttons for: menu, min, max, close. It should add buttons where they

About buttons... I think it could be a separated thing, I mean that once you
have selected a "theme" you could change just the buttons, so for each "theme"
you could choose between (for example) 5 different buttons combinations,
however I don't know if it would be easy to do or ever possible.

The buttons combination I use now is:

Mouse 1 1 N Close
Mouse 1 1 C Destroy

Mouse 1 3 A Popup Window-Ops
Mouse 1 5 A iconify

Mouse 1 7 N exec /usr/bin/X11/xlock -remote -mode random -modelist allnice
-fullrandom -neighbors 0
Mouse 1 7 C exec /usr/bin/X11/xlock -remote -mode random -modelist all
-fullrandom -neighbors 0

(I use this last very often)

Mouse 1 2 A maximize 100 100
Mouse 1 4 A Maximize 0 100
Mouse 1 6 A maximize 100 0

And actually I am thinking about a eighth button for maximizing a xterm/rxvt in
a way it looks like a Linux console (i.e. without watching the borders...).