Subject: FVWM: Like RATS from a sinking SHIP...

From: Stig <[email-masked]>
Date: Fri, 4 Jul 1997 16:33:00 -0700

Without trying to sound like too much of an unduly judgemental grump...

This is a tale of
    Dissatisfaction ...
	Industry ...
	    Shock ...
		Horror ...
		    Despair ...
			Discovery ...
and HOPE.

A few nights ago, I started hacking on fvwm2 to fix a few, uh, misfeatures.

    - unnecessary conflict between maximization and windowshading

    - arbitrary differences in argument handling of similar otherwise
      commands (iconify and windowshade)

    - silly inability to maximize between different zoom factors without
      returning to the original window size.

As I worked, I found myself cursing the, uh, "randomness," slipshod
non-design and layering of cargo-cult duct-taped additions...  The
profusion of variables named 'val1' and 'val2'.  The poor state of
documentation and commenting, etc...

Basically, I kept wanting to rewrite bigger and bigger chunks of code...
What started as two XEmacs buffers grew to six and then eight and then ten
and beyond.

Then it dawned upon me that this was probably a huge waste of time.
Especially considering that fvwm-2.0.45 was released months ago and the
patches on the mailing list aren't even being collected and rereleased.

Has anyone done a survey of the "cleanliness" of other fvwm-derived
windowmanagers?  Enlightenment, WindowMaker, and AfterStep all have diverged
significantly from whatever fvwm roots they might once have had.  

Enlightenment is STUNNINGLY BEAUTIFUL and many of the AfterStep Themes are
as well.  X11 has traditionally been pretty artless and so I'm quite drawn
to the energy and "aliveness" of these other efforts.

These are the window managers of the GIMP generation...

    Window Managers for X
    http://www.plig.org/xwinman/

    Enlightenment
    http://www.cse.unsw.EDU.AU/~s2154962/enlightenment
    
    WindowMaker
    http://mushi.colo.neosoft.com/wmaker/
    
    The Official AfterStep HomePage
    http://afterstep.edoc.com/
    
    Vote for your favourite Window Manager
    http://www.plig.org/xwinman/vote.html

Tales of your experiences are appreciated...

    Stig
--
Visit the official FVWM web page at <URL:http://www.hpc.uh.edu/fvwm/>.
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: Alexis Rosoff <[email-masked]>
Date: Fri, 04 Jul 1997 22:36:39 -0400

On Fri, 04 Jul 1997 16:33:00 PDT, Stig wrote:

|> Tales of your experiences are appreciated...
|> 
|>     Stig

On a fairly slow (486DX2/66) with only 8MB of RAM and 1MB of video RAM (I
can run 16bpp, but it's slow, so I've usually only 256 colours) PC running
Linux, fvwm is by far the speediest window manager and with proper care in
icon selection, the one using the fewest colours for the nicest-looking
result.

Afterstep has some nice features; from what I've seen, enlightenment looks
nice too. But they're far too slow for me. Perhaps fvwm's code isn't the
most elegant, but officially it's still beta, and perhaps a code cleanup
will take place either before the official 2.1 release, or during the next
development cycle. 

Alexis -- who just saw how many times she used the word `nice' in this 
e-mail; I think it's time for a thesaurus... 
--
   |\     _.,,---,._        `The main things which seem to me important 
  /, `.-'`'   -.  ;-;;._     on their own account, and not merely as 
 |,4-  ) )-,_..;\ (  `'-'    means to other things, are knowledge, art, 
'---''(_/--'  `-'\_)         instinctive happiness, and relations of 
Alexis Rosoff [email-masked]  friendship or affection.' --Bertrand Russell

---

From: Stig <[email-masked]>
Date: Fri, 4 Jul 1997 22:46:45 -0700

> e-mail; I think it's time for a thesaurus... 

  ^ nice cat                  ^ nice quote

> icon selection, the one using the fewest colours for the nicest-looking

Yeah, but I'm not much into retrocomputing.  I have a dx2/66 notebook with
three times the memory and I can't stand to use X with or without fvwm.

It's basically junk.

Programming for the computers of today and tomorrow is more interesting and
more rewarding than programming for the computers that you only keep around
because you're sentimentally attached to the stickers that you can't peel
off their cases.

Hmmmmmm, maybe I should just scan the case and use it as a screen background!
Want another computer?  ;-)  

> nice too. But they're far too slow for me. 

Enlightenment is slow because it uses ImageMagick to do weird things to the
window decorations.  I'll bet that it'd be relatively easy to add boring but
efficient window decorations to get back vanilla fvwm2/win95 decors for
retrocomputing buffs...

There's a lot of effort going in parallel directions on the window manager
front.  Granted that almost zero effort is going into fvwm2, but it would be
a really good thing to unsplinter the various window manager factions out
there and, uh...take over the world? no that's not it!...uh, look forwards
instead of backwards...

> Perhaps fvwm's code isn't the most elegant, but officially it's still
> beta, and perhaps a code cleanup will take place either before the
> official 2.1 release, or during the next development cycle.

I don't see anyone doing the work and it strikes me as easier to start from
a different codebase.

Laziness is Enlightenment, WindowMaker, or AfterStep...
    AfterStep is probably the most mature.
    WindowMaker will leave AfterStep behind soon (if it hasn't already)
    Enlightenment is probably the most promising because it's really NEW.

So, I've taken a look at the code for Enlightenment.

    It is totally undocumented and spare but it's pretty readable...

    There's a third-party project afoot to add documentation.

    The theme interface is neat.  It reads prepackaged tarballs so that
    sampling interfaces written by other people is pretty idiot-proof.

    There is no "modules" interface.

The lack of a modules interface is good because I think that modules in
their current incarnation are a pain.

A threadable scripting language makes a lot more sense.  Guile, python and
perl are almost there (patches are available but the standard releases don't
thread yet).  Because Enlightenment lacks a lot of baggage, it's a very good
candidate for being SWIG-ified...  SWIG generates scripting language glue
for all the popular scripting languages: perl, tcl, guile, & python.  And
interestingly enough, it seems that python 1.5 will become a guile
"personality."

    Stig

---

From: Chris Laas <[email-masked]>
Date: Sat, 5 Jul 1997 17:43:01 -0400 (EDT)

Before I begin, let me note that my knowledge of WindowMaker and
Enlightenment is _solely_ from screenshots on the Web pages you pointed
me to.

> three times the memory and I can't stand to use X with or without fvwm.

You might want to take into account the fact that some of us don't have
the resources to continually upgrade hardware.  I'm running a Pentium
120 with 64 MB of RAM and 2 MB VRAM, which ain't bad (I wouldn't
consider it "retrocomputing"), but is already about a year obsolete. 
When I'm running Netscape, a few Tcl/Tk apps, a few Emacses, a lot of
Xterms, and the Gimp or POV-Ray (a situation that happens not
infrequently), I go heavily into swap space and my CPU load is
sometimes high.  In these situations (as I have while I'm writing this
letter), I very much like to have a simple and efficient window look.
 
> It's basically junk.

I think what you mean is that it LOOKS like junk; for the most part, I
agree, since the default system is not flashy.  However, fvwm's pixmap
capabilities, while certainly not as extensive as Enlightenment's, can
make a very nice-looking desktop if you're into that kind of thing (I'm
not).

What X and FVWM, and, indeed, most Unix apps are, is _functional_. 
Unix programmers optimize for functionality and speed, but usually not
good looks.  (The Gimp is the exception, though it loses in speed and
bloat, IMHO.)  From what I saw of Enlightenment's desktops, it is
indeed stunningly beautiful, but I can't really imagine getting any
serious work done with all that visual noise.  Also, with such a
complete predominance of images over text, I would be very confused
trying to figure out, for example, Enlightenment's button bar.

In other words, Enlightenment might be great for graphics buffs
running i686/366's with 1 GB of RAM and 4 MB of VRAM, like you, but for
the rest of us who just want to USE their wm's, as opposed to admiring
them, FVWM is great.

> because you're sentimentally attached to the stickers that you can't peel

As I said, my computer is pretty good, but I still like FVWM's
efficiency.

> Want another computer?  ;-)  

Good idea!  I'd love a laptop, of any speed!

> efficient window decorations to get back vanilla fvwm2/win95 decors for

Better yet, why not just use FVWM itself?

> there and, uh...take over the world? no that's not it!...uh, look forwards

One of the nice things about Unix is that you have many choices.  I
definitely wouldn't like it if all the wm's were combined into one as
inefficient as Enlightenment must be.  (Remember, I've only seen the
screenshots, but I surmise that it uses the hellishly slow X11 SHAPE
extensions, no?)

BTW, it might be nice to add Shaped decoration support to FVWM...  I'll
look into it, though, I agree, fvwm's code is extremely messy.

> I don't see anyone doing the work and it strikes me as easier to start from

Maybe it just takes an evil spy like you to give us a kick in the seat
of the pants :)

>     AfterStep is probably the most mature.

I don't know much about it, so I can't comment; however, if I remember
correctly, AfterStep is based on FVWM2.

>     WindowMaker will leave AfterStep behind soon (if it hasn't already)

WindowMaker appears to be in the early beta stages now, and I frankly
can't see what it has that any other wm doesn't...

>     Enlightenment is probably the most promising because it's really NEW.

Enlightenment may well be the wm of the future, and is definitely worth
looking into.  OTOH, it doesn't appear to have any new features other
than the fancy wm decorations, which surely aren't the most important
feature of a wm.

>     It is totally undocumented and spare but it's pretty readable...

Just wait a few years, until it's actually usable on normal
computers...  By then, it'll probably be as munged up as fvwm's :)

>     sampling interfaces written by other people is pretty idiot-proof.

That's nice, but rather superficial, don't you think?  Still, it might
be nice to make FVWM more modular in this respect.

> their current incarnation are a pain.

I disagree wholeheartedly.  Modules are more efficient than scripting
languages, since they can be compiled, but are more versatile, since
many scripting languages can be hooked into the module language.  I
think we now have tcl, perl, and python for FVWM, am I correct?  I
suppose we could have a guile interpreter too, but who'd want to use a
LISP-derivate?  Blech.

Okay, that's my $0.02 (maybe $0.03) in defense of FVWM.  BTW, don't
think I'm against your criticism in this group -- it might just get
some of us off our asses.  Probably the biggest impediment to the Great
Code Rewrite is lack of leadership (no offense, Chuck).  Chuck's been
too busy to organize people, and I guess no one else really feels he
has the Chuck-given right to make massive changes to FVWM's codebase.

--Chris

-- 
WORDS IN THE HEART CAN NOT BE TAKEN.
	-- Terry Pratchett, "Feet of Clay"
______________________________________________________________________
Chris Laas:  out-of-work programmer  / mailto:[email-masked]
< Unix, C/C++, Java, Perl, Tcl/Tk > / http://www.cybercom.net/~chrisl/

---

From: Santeri Paavolainen <[email-masked]>
Date: Sun, 6 Jul 1997 15:07:30 +0300 (EET DST)

> patches on the mailing list aren't even being collected and rereleased.

How true.

One day, not in so distant past I wondered if one could move all
graphics-related code (eg. any code that uses X drawing primitives)
into a separate module, which then could be potentially dynamically
loaded, thus allowing a separation between functionality and the
outlook of the WM. (Think about it: same fvwm code, just different
dynamic libraries for the classic pseudo-motif fvwm look, afterstep
look and so on)

Buggers. Fvwm code is so spaghetti you can't make a head or tail out
of it, it is hardly modularized and contains so much layered code and
almost no documentation of any functions. That is, I gave up after
having touched dozens of files and moving thousands lines of code,
without having really progressed at all.

>From my experiences I think that if fvwm 3.0 is ever released, it
should be a complete rewrite from scratch up, with ICCCM compliancy
and modularity built from ground up.

OTOH, Enlightement is written from scratch -- it might have some hope
after maturing (but no, I don't consider it to be really usable for
doing work with, not yet).

--
[email-masked]                    I have become death, destroyer of the worlds.

---

From: cron <[email-masked]>
Date: Sun, 06 Jul 1997 11:22:08 -0400

Hi All

I've been reading a lot of these negitive comments directed at fvwm for
a day or two.  Perhaps things like this are periodically necessary to
wake up the users.  Maybe this will even be the start of an organized
rewrite to make fvwm a modular, ICCCM compliant WM.  

Having recently made the rounds (afterstep, windowmaker, enlightenment,
as well as several others), I believe fvwm 2.045 is still better.  I
just wish I could find better doc's.
--
Visit the official FVWM web page at <URL:http://www.hpc.uh.edu/fvwm/>.
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: Bruce Stephens <[email-masked]>
Date: Mon, 07 Jul 1997 10:00:26 +0100

Everyone's entitled to their opinions, of course.  Better commented code would 
help, and possibly the time has come for Another Great Rewrite.  Overall, 
though, I find fvwm pretty usable: its virtual windows and desktops are nicely 
done, and the ability to swallow things into the FvwmButtons is nice.  I even 
like the idea of modules for extending the thing, although I've no doubt the 
interface could be better.

If you're interested in a scripting window manager, have you looked at gwm?  I 
don't know how it's being developed now, but it wasn't bad when I last tried 
it.  It uses a lisp variant as the scripting language.  I'm fairly sure there 
was an attempt to add an extension to Tk to provide Tcl/Tk with the ability to 
be a window manager too, but I don't know how far that got.