Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×
X GUI

Interview With Tom LaStrange (The T In twm) 73

VSarkiss writes "A very nice (and rare) interview with Tom LaStrange, the developer of twm, is on Linuxplanet. Fascinating how some of the most useful programs are developed by one person, just because they wanted something better. In this case, Tom wanted something better than the truly-awful uwm, rumored to be an abbreviation for 'ugly window manager.'"
This discussion has been archived. No new comments can be posted.

Interview with Tom LaStrange (the T in twm)

Comments Filter:
  • "But I wish the Enlightenment people could've taken a hint when it comes to CPU-usage."

    Enlightenment is meant to be graphics-intensive, visually stunning, and capable of looking like almost anything. This inevitably means that E is going to use more computing resources than, say, twm or fvwm or blackbox. From what I can tell from browsing the mailing lists for E, a lot of attention *is* paid to making as fast as it can be.

    E, though, is definitely never going to be another FVWM or blackbox. It is a window manager for aesthetes with computing horsepower to spare.

  • The first two lines of my .twmrc file:

    # .twmrc Prefs File
    # Nov 4, 1990

    I still use it every day.

    My TWM is configured for no title bars, and all windowing functions are controlled by key presses or by key presses in conjunction with mouse movements.

    I have not come across anything faster in my 11+ years of writing code for flipping between xterms and emacs windows during coding.

    TWM rules!
  • Academics have spent years devising the correct way to design software:

    1. Research the problem.
    2. Design the software.
    3. Implement the software, according to the design.
    4. Test software, adjust design if necessary, return to 3.

    This is the correct way to design mediocre software, the kind no-one wants to use. Following this plan restricts you to working with the knowledge, understanding, and insight that you had when you started the project. Changing the last point to "return to 1" improves this process to the point where its at least useable.

    There is no definite line where you can seperate feature creep from inspiration, which is why software deadlines are best expressed in vague terms...

  • by pabs ( 1629 )
    You know, it's ironic that you mention Enlightenment, since none other than Tom LaStrange himself dropped a note of encouragement to the Enlightenment development list. I believe I've still got the email in here somewhere. Yup.. Here it is:

    I installed Linux for the first time a few days ago and was amazed at how far things have come since the "old days." I was browsing around and wanted to drop a note of praise to the Enlightenment authors until I found this:


    > "Enlightenment is my little baby. It's still growing and getting more adept - but
    > it's still a baby. Enlightenment was my answer to ``DAMNIT! stop giving me
    > twm!''. My University decided twm was a great window manager and a great
    > environment to get things done in... I have to thank them for this cruelty of
    > imposing this on us poor students as we, for the first time had to deal with
    > UNIX. It drove me to the edge of insantiy"


    Ouch! How should I respond?!?!?! I'll bet *you* never tried to write a window manager on punched cards! ;-)

    Anyone here ever heard of "uwm"? It was the only window manager available when X11R1 was released in 1987 and it turned out to be my inspiration to write twm because uwm "drove me to the edge of insanity." I know the twm code spawned a whole family of other window managers and I can see from the above comment that it's still inspiring new development. ;-)

    Back to my original topic, a big thanks to the Enlightenment authors, you've done a great job. Hopefully you'll have the time and resources to continue your work.... otherwise, I may have to come out of X Window retirement and write something that opens up a can of "whup-ass" on the big E. ;-)


    Anyways, just thought you'd be interested in seeing that. The entire thread was positive (Tom's a really cheerful guy), and I'm sure you can find it by looking drudging through the E archives (circa November 1999).

    As for EFM [enlightenment.org], I've been running it on my work machien for months now. It's being rewritten; this time around it's going to use Evas (read: OpenGL acceleration) instead of vanilla Imlib2. Just to put things in perspective: Imlib2 currently blows the socks off of other comperable software image rendering libraries (including Imlib1 and gdk-pixbuf). So, once EFM is workign again, you'll be able to pick your poision: ridiculously fast Imlib2 rendering, or -- if your card supports it -- ludicrously fast OpenGL rendering.

    Hope that answers your questions :-).

    --
    odds of being killed by lightning and

  • Debian's menu system should do that.


    --
  • by chrome ( 3506 )
    Exactly.

    Try running Enlightenment on an old 486/100. :)

    I don't use TWM myself, but I can understand why people find it aesthetically pleasing. I tend to go back to WindowMaker time after time though, simply because I can get it do compile on almost anything. (Solaris, BSD, Digital UNIX, whatever).

    This might change, however, if Enlightenment ever gets that filemanager thing that Rasterman's been promising for the past eon ;)
  • > And what about if the design was flawed?

    I think your scenario proves his point exactly. Research and design are much more important than coding. In your example, if MS had really done market research (as I assure you they do) they would have known that they need some sort of converter, and it would be designed into the product. This has in fact happened every time the Word .doc format has changed, which is with just about every release of the product.

    If you get to the end stage of a project and discover that design decisions you made at the very beginning were flawed it is a sure sign that you did not spend enough time in the design phase and instead fell victim to the "Why Isn't Anyone Coding Yet" syndrome that dooms many projects. A proper design cycle would have revealed flaws in basic design before they were finalized in code.

    Many developers call themselves software engineers but have terrible engineering practice compared to the "real" engineering fields. Imagine if you were building a bridge and discovered half way through construction that it would not be able to span the channel, or that it would collapse under its own weight. Many software projects suffer from analagous failures because nobody bothered to design before they started coding.
  • You are looking for wm2, the really small windowmanager - I got it running nice on a 386sx16/4MB-RAM (or at least four xterms opened within one minute or so :-)
  • As they say - the best decisions are made by committees of three people: comprising of one person who's away ill, one person who dislikes meetings and one person who has a clue and who turns up and who gets things done ...

    All of the best software/utilities (even Linux for crissakes) has its roots in a fortunate combination of someone both wanting a better way to fill a gap in what was currently available *and* being able to code something to plug it.

    That is truly the freedom to innovate.

  • I've heard that it stood for 'Kool' or before that, for 'Kalle Dalleheimer's' (hope I spelled that right).
  • lightweight and stable...

    lightweight. Something I don't particularly care about, I have plenty of system resources to be wasting on my WM ;)

    stability is something that some WM's don't give but I would still pick ANY WM over TWM. It just looks SO damn ugly :)

    Just my worthless .02
  • I would say that most /. users have never even seen mush less used TWM.

    I used TWM on my slackware box just long enough to download and compile WindowMaker. Does that count?
  • People Used to complain about the slowness and memory footprint of Emacs???

    Amongst Swedish (and the Swedish-speaking Finnish) Computer-Science students, there is an often sung song about how bloated Emacs is. And before anyone gets a flamefest started: yes, even the Emacs:ians I know happily sings along and admits that Emacs IS slow and bloated. Depending on hardware of course.

    (To be honest, VIM is also a bit on the large side nowadays, but it's fully usable on my 486slc2 with 16MB memory, something I can't say about Emacs.

  • "I was lucky to be in the right place at the right time with something that a bunch of other people found useful," LaStrange explained. "I exchanged some e-mail with the Enlightenment developers about a year ago. It turns out the ugliness of twm inspired them to write Enlightenment--much like the ugliness of uwm inspired me."

    Ahhhh. So that's why Enlightenment is so ugly?! :^) Nahhhhh. But I wish the Enlightenment people could've taken a hint when it comes to CPU-usage. TWM really shows off here (oh, Enlightenment does too, but on the other scale.)

  • A real window manager that did not
    add all this madning decoration on
    everything. Also all those funny
    key combinations where to stop RSI
    problems.
  • > Yep, fvwm is probably the fastest and smallest

    Oh yeah?


    gamera:~% ls -l `which lwm`
    -rwxr-xr-x 1 root wheel 31015 Feb 3 11:30 /usr/local/bin/lwm


    Can't beat that with a stick. It's a great wm, too, very reminiscent of twm. You can get it here [genedata.com].

    (jfb)
  • Actually, the man page says "Tab Window Manager", but twm.c still says "Tom's Window Manager". Since the source is the ultimate documentation for any program, "Tom's" it is.
  • Just comment out the definition in Xlib.h. There's a comment there anyway that says to change it, so it shouldn't hurt.

    Unfortunately, once I run it it doesn't respond to clicks, ALT-clicks, SHIFT-clicks, META-clicks, or anything... :-(

    The only thing I can do is type the name of a program in xterm then click the "icon" and choose where I want it to map.

    So, I guess uwm stands for "Unusable Window Manager"...

    P.S. the README says it comes from X11R2, not X10.
  • Wintel. <sigh>

    (Hi Tom!)

    - Sam

  • by tap ( 18562 )
    mwm, light weight? Before the new generation of bloated eye-candy WMs, mwm was about as big as they came.

    fvwm1 was designed to have less memory usage than twm, though fvwm2 is probably larger.

    I still use fvwm2, because you can configure it so much more than other WMs.
  • CDE lets you have as many workspaces as you want.

    I think you missed the guy's point. Under tvtwm, the screen you were looking at is just a viewpoint to the entire desktop. The entire virtual desktop is continuually scrollable. A quick example is running your XF86 desktop at a higher resolution than your physical screen.

    tvtwm includes a 'pan window' that allows you to move the viewpoint wherever you want in the virtual desktop. You aren't limited to moving in integral screen widths/heights, its a continuous scroll unlike CDE style 'desktops' where you can't view parts of more than 1 desktop at the same time. It even has a little map of where all your windows are.

  • Software has been struggling for years to take some ideas from manufacturing industry, and it has still not achieved it.
    This is a very interesting observation. A lot of persistent failure can be attributed to the use of the wrong metaphor.

    The question is, what would be a better metaphor?

    On the other hand, software is like designing a new product, if you consider the coding to be part of the design - and the production to be non-existent.

    Boss of nothin. Big deal.
    Son, go get daddy's hard plastic eyes.

  • I've been using twm on and off for years just because it's a lightweight wm. Say what you want about Blackbox and icewm but when you need to run X on a 486 with 8MB memory you'll want one of these: twm, olwm or mwm.

    My current flavor of the month is mwm + bits from xfce as I'm trying to get something as lightweight as VUE:)

  • Yep, fvwm is probably the fastest and smallest (empirical test only) but I'm masochistically fond of mwm. Last time I used fvwm was in 1996.

    Besides, I don't really like these new eyecandy WMs. Too much crap on the screen and I normally want to run programs instead of window managers and screen savers.

    Oh and my home machine is still only a dual-headed mono workstation..
  • Perhaps he should've called it TUWM..Tom's ugly window manager. I had no idea anything looked more dated/worse than TWM. Then again, I did use GEOS on the old Commie64 back in the day, and TWM is a little (not much) prettier. Functionality of TWM is unfadable though, gotta give credit for that.

  • The article says:
    To sweeten the pot: the person with the best suggestion will get a free boxed copy of the Linux distribution of their choice (personal editions only).
    So what happens if you choose Debian? Does he stick your CDs in a shoebox?
  • As much as I dislike e, that I don't think the CPU usage was a problem. People used to complain about the slowness and memory footprint of Emacs, too.
  • Two overlooked window manager that I used to use all the time because of their small memory footprint and size are wmx [all-day-breakfast.com] and its little brother wm2 [all-day-breakfast.com] (Usually I preferred wmx).
    Now that I have overpowered machines, I use enlightenment, but I used to love that window manager.
    I'm getting choked up. <sniff> Maybe I'll try it again.
  • I was attracted to wm2 'cos it's just plain gorgeous.

    Nowadays, I get my minimalist grumpy old unix bigot kicks from 'larswm'.

  • I feel compelled to post because my login name and initials are "twm".
  • I think another 'lightweight' aspect of twm (and it's close desendants), makes it extremely useful. You can either run twm or download the source and compile on almost all possible computer system with a valid X-environment! It will compile nicely and run without much hassle setting upp the tons of libraries required by Gnome/KDE and enlightenment.

    Have you ever tried to compile Gnome/KDE or enlightenment on unprepared alphastations with digital unix, improperly installed sun stations or in hp-unix? Sure, eventually you get it to work, but with a properly configured .twmrc or .vtwmrc you have a working desktop in minutes (the twm defaults are in my opinion unusable)

    If you work on many different systems (and they keep changing) and wish to have a common environment on them all; I think twm or vtwm is the best choise available.

  • Based on his "architect" job title, I'd say what he uses most often day in and day out is PowerPoint.

    I changed from twm to vtwm about 5 years ago because I thought I'd like virtual screens, but I never use 'em on purpose.

    -dB

  • So, what did the K in KDE stand for?
  • On the other hand, if I remember correctly, I switched from whatever non-X windowing system Sun was using (can't remember the name) directly to X with TWM sometime in the late 80's.

    Sun-stools :) (okay, suntools :) Yeah, I hated that too... switched to X11 and twm and used that for many years. Then about a year or so ago, I got tired of everyone having a cooler-looking X desktop than me, so I use windowmaker now :)

  • CDE lets you have as many workspaces as you want. Right click on the workspaces in the front panel and a menu will appear allowing you to add more. You can add as many as you want and rename them to whatever you want.
  • by shepd ( 155729 )

    I still use VTWM [visi.com] whenever I set up a machine. TWM, updated, and with Virtual Paging. Wow!

    Here's a screenshot [visi.com].

    Easy to understand files, alyways compiles, and lightning quick. Makes my 1990 NCD XTerms usable again! :-)

  • It's interesting how they renamed it from Tom's Window Manager to Tab Window Manager.

    We renamed it from "Tom's..." to "Tab..." primarily because Keith Packard and I had reworked it (read: hacked) enough that we thought Tom shouldn't be blamed for our egregious actions. Being crammed together in a tiny office yielded some weird code at times. :-)

    The details are getting foggy (it was upwards of 12 years ago, afterall), but I believe I hacked in a bunch of the ICCCM compliance and various usability (mis)features, then Keith added the SHAPEd windows support. I can't remember which of us then did the tabbed titlebars, so I'll say that he probably should get the credit (although he always ran with titlebars turned off for his xeyes and oclock).

    Jim Fulton

  • Also all those funny key combinations where (sic) to stop RSI problems.

    Nope. RSI didn't become an issue until well after uwm was written.

    They were a hold-over from the early window management functions that were implemented in X6-X10. And those were motivated, in large part, by a need to avoid key sequences used by applications (including Emacs and Ted which were among the more commonly-used editors at MIT at the time).

    The keyboard model in X10 and prior versions of the protocol was modeled on the DEC LK201 keyboard that was used on the VS100 and various MicroVaxen. It had a Meta key, but lacked keys present on many other keyboards in use at the time (remember, this was before all keyboards looked like they came from off a PC).

    Jim Fulton

  • We find that TWM is made by committee, and according to a client communications manual.

    No, it wasn't made by committee. Like much open source software, it was the result of serial efforts by several people, all of whom contributed to make it better.

    The Inter-Client Communications Conventions Manual (ICCCM) was the specification of the protocol used between applications and window managers. It controlled how applications requested placement on the screen and other functions. At the time it was adopted by the X Consortium as a standard, there weren't any window managers that implemented it.

    We looked at trying to retrofit UWM to be compliant, but it was simply too primitive and really had a pretty crappy UI. TWM offered a much better foundation, so we asked Tom (nicely) if we could use it. He was gracious enough to say "yes" and the rest is (blurry) history.

    Jim Fulton

  • I am intrigued by this horse/camel/committee thing. Isn't a camel perfect (or at least well fitted) for what it does?
  • I always thought of it as Tom's Window Manager, but couldn't for the life of me figure out who Tom was.

    The first time I can across TWM was probably about 9 years ago. It was when I first started at university and no idea there was an alternative to the standard WM the students used. Someone came up to me and said, "Hey, you should try using Tom's Window Manger." I figured he must be one of the other students who had manged to configure his desktop differently. I was very impressed by this Tom guy.

  • The best programs will ALWAYS be written by those people who are dissatisfied with what is available. Often the most productive programming is done by one person initially (reember that a camel is a horse designed by a committee).

    Yet any comprehensive suite needs continuing development-- something that a single individual or small group cannot provide themselves. For this reason, open source and/or open standards are important for continued developemnt and/or interoperability.

    I think that Tim is truly brilliant.

  • If something is broke, code it yourself...you gain valuble experience with everything you do and it makes you feel great once you're done. Make sure you release it under GPL though..
  • Well, I did try to run Enlightenment on a 486 a long time ago. While it wasn't _that_ slow, it really cluttered up my small display ;-)

    I was really happy to go back to fvwm after that experience.

    Moz.
  • Design is the single most important factor of the product, and the lifecycle should reflect that the design should only be modified during the coding process.

    And what about if the design was flawed?
    Perhaps some considerations you made at the beginning were incomplete or plain wrong thus the design did not solve the problem. Sorry, you have to go back and modify the design. Example: M$ releases WordPLus (or whatever, long time since I lost track of what M$ was doing in this field) but they judge that nobody needs the old doc format so they don't include compatibily in their product. You are Billy Boy, have 90% of the World population of computer users angry: what do you do? Do you stick to your design or allow for a converter to/from the old format?

    The incorrect answer is "you should have done it properly from the begining" because we are just people that do mistakes, a lifecycle model that does not allow for this mistakes that always happen to be corrected, is not worth the bytes in which it is PowerPointed.

  • I like TWM. It's very simple, doesn't have any of the croft or complication of the newer WMs. It's well documented in the O'Reilly 8 (9?) volume X Window System book set.

    And it's available on every version of X anywhere, in my experience. It's the only really usable WM for my Mac SE/30 running NetBSD. (far too few pixels to support any of the croft-infested windows managers, even FVWM).

  • There are shrink-wrapped versions of Debian (bundled with a book). I know I've seen them for sale at Borders.
  • Quite an entertaining morning reading these comments. Thanks for the (mostly ;-) kind words.

    --
    Tom LaStrange toml@channelpoint.com

  • To answer a number of questions:
    • I don't use Unix/X on a daily basis
    • I use Windows 2000 99% of the time for development, we then deploy on Unix
    • The most common app I use is emacs (yup, finally made the jump from vi)
    • The thing I run most from within emacs is make (cygnus tools)
    • These days I spend most of my time writing code and fixing bugs (Java/HTML)
    Hi Sam. Hey Jim, long time, no see...

    --
    Tom LaStrange &nbsp toml@channelpoint.com

  • by volsung ( 378 )
    Amen to the DOS comment. I started using computers with CP/M and DOS. DOS was light-years ahead of CP/M, but it was a horrible command-line interface. I never realized it until I installed Linux and learned how to use bash. It was wonderful! DOS batch files are a joke. I would hate command line interfaces too if all I ever used was the COMMAND.COM that came with DOS.
  • Make sure you release it under GPL though.

    The jury is still out on that one. Release it as open source by all means, but choose whichever license fits you best. I use the Artistic License myself. Other's will dissagree with it, but thats their choice.
  • Still - I've tried KDE, then I tried Gnome, but now I'm back with twm. Neat, nice and lovely.

    GNOME and KDE are not window managers. They are "Desktop Environments". They include a window manager, but they are more.

    For the record, GNOME has used Enlightenment, while KDE writes their own window manager.

    cheers,
    sklein

  • by GC ( 19160 )
    I never said they were.
  • by GC ( 19160 )
    errr... I do not imply that KDE nor Gnome were Window managers.... where did you get that from???

    Hmmm... two posts have said this, perhaps I can't read my own post...

    *confused*
  • by GC ( 19160 )
    Well, it certainly a lot lighter than Gnome or KDE.

    Has anyone ever seen a GUI based ".twmrc" creator? I have spent years writing ".twmrc" files and have been constantly editing them every time I've installed a new system or application on a system. It's the kind of thing where I think - why don't I just keep a good one on a floppy... I never seem to get round to it.

    An annoying thing is that in it's default state there isn't a way to start an xterm. This can be quite daunting for newbies. The default colors are pretty god damn awful too.

    Still - I've tried KDE, then I tried Gnome, but now I'm back with twm. Neat, nice and lovely.
  • It's interesting how they renamed it from Tom's Window Manager to Tab Window Manager.

    I always thought of it as Tom's Window Manager, but couldn't for the life of me figure out who Tom was.
  • One TWM I've not seen mentioned here is CTWM [plig.org], which is a TWM I used for quite a while after TWM.

    It actually stands for "Claude's Tab Window Manager", which is rather funny given how they took out "Tom" The two things I liked most were the virtual screens (I think one of the first, but I'm not sure about that), and the color support...

    It had great support for customizing the look of the WM with pixmaps and various colors, and I think more options that TWM had - I remember having nice gradient shaded menus. I think it also had the easiest to use virtual room support of anything I've ever tried since, but I haven't used that feature in the newer VM's much and have been too lazy to really customize my WM as much as I used to.

    I like to think of TWM as the "VI" of WM's, as no matter what machine you connect to you know TWM will be there and it's easy to use (OK, in one way it's like VI...). I use TWM all the time when connecting to various machines around the company if I'm using a lightweight X server like WierdX [jcraft.com] on an NT box.
  • Here's some real info for those of you who couldn't figure out what was true in and among all of the conflicting info posted here.

    1. uwm did have icons of a sort. You could iconify a window, and it would place a small text box where the window had been with the name of the window in it. The great part was you could edit the name on the fly!

    2. No decorations, a window had what it was born with. All actions performed on a window were done with key-mouse combinations.

    3. uwm was not the first X window manager, that would be wm.

    4. The timeline is something like this:

    wm
    uwm
    twm
    olwm, mwm
    fvwm, gwm, tvwm, olvwm
    fvwm2, windowmaker
    enlightenment, icewm
    sawmill (later sawfish)

    There are many others, but those are the ones I can think of.

    Hope this helps folks out. I started using X around the tail end of X10. uwm was the only window manager that shipped with X as far as I could tell, but it was enough for me at the time.

    Now I wonder how I ever got along without at least fvwm2's "sloppy focus" (which everyone supports in one way or another, now).
  • "Not only don't I work on window managers anymore, I haven't really used a UNIX system in a significant way for about four years," he explained. I'm sure some of the Linux users out there are thinking 'he's old, he's sold out, and he's lost touch with his open source roots.' That's OK, I have some younger co-workers that think the same thing..."
    The article just ends. So what does he use?

  • If you want the twm look and feel, but with GNOME compliance, you can achieve it with sawfish. There are two twm themes at sawfish.themes.org [themes.org]. Take a look at the screenshots and try one or both of them out.


    --
    The scalloped tatters of the King in Yellow must cover
    Yhtill forever. (R. W. Chambers, the King in Yellow)
  • by Baki ( 72515 )
    Whether the code is light or not, is not that important these days (maybe fvwm is somewhat faster, but still twm is not exactly bloated either).

    More important: the look&feel of twm is light. There are no large borders, no 3D effects, no taskbars, menues, icons everywhere taking up valuable space on your screen.

    I use twm 6-8 hours a day, I tried many (all) other window manager the last 12 years but I always come back to twm. It is the ideal window manager that does exactly what a window manager has to do: manage windows, no more and no less.

    Using keybindings (if you want) you can work very fast and switch between windows etc. Btw., should you give it a try, then don't forget the icon manager! It replaces the need for icons (disable icons) and you get a kind of taskbar (but better) where you can open/iconize apps and switch the input focus between them. Once you're used to it, you won't settle for less. In fact the lack of a similar icon manager in any other window manager has been the reason for me to return to twm each time.

  • If something is broke, code it yourself...you gain valuble experience with everything you do and it makes you feel great once you're done

    Unfortunately it's such a big job writing a half-decent piece of software that if you try and write it alone, you'll still be struggling 2 years later on version 0.1 *grin*

    Worthy statement though, and I agree the insight and experience you gain is well worth trying it out in the first place. If nothing else it teaches you that useful applications are big & complex and you don't try and write them yourself!

  • Academics have spent years devising the correct way to design software:
    1. Research the problem.
    2. Design the software.
    3. Implement the software, according to the design.
    4. Test software, adjust design if necessary, return to 3.
    Not wishing to be unfair, this disregard for the rules of programming really manifests itself in the poor performance of twm.


    I have to take some issue with your methodology:
    Design is the single most important factor of the product, and the lifecycle should reflect that the design should only be modified during the coding process.

    If we take point 4 in your article to mean the actual system test of the product, then we should not be modifying the design at this stage. If the design has not held, then you have to start compromising the development in order to now make the software perform the task it was allegedly designed to do.

    Software has been struggling for years to take some ideas from manufacturing industry, and it has still not achieved it. Honda can design a car, and then procede to end-manufacture without a single change being made to the original design: they went through the due process required to test the design before committing to the actual manufacturing (i.e. development) process.

    This is why most software projects run massively over budget, and a large percentage are eventually abandoned because the original design work was worthless.

    With all due respect to academia (I went to Uni myself, and it never done me any harm :-), they are capable of having a naive view of the business world, where 99% of software is destined to be developed and delivered.

  • As someone who was lucky enough to be hanging around at the time, let me add a little bit to the twm history. (I'm sure Keith will correct me if I get some of this wrong. :-)

    The change from Tom's Window Manager to the Tabbed Window Manager was Keith Packard's doing, actually. He had just written the Shape extension to X, to allow non-rectangular windows, and used it to implement xeyes and oclock. Keith used twm exclusively at that point, so tabbing the title bars was a natural next step. Much of the ICCM compliance was due to Keith, as well, during the period the ICCCM was being developed.

    I've tried a number of window managers since then: I still use twm...

  • Redundant comment: TWM _was_ ugly as hell by contemporary standards. On the other hand, if I remember correctly, I switched from whatever non-X windowing system Sun was using (can't remember the name) directly to X with TWM sometime in the late 80's. I hated Sun's system and, comparatively, TWM and X seemed wonderful, elegant, versatile and aesthetically inspired. FVWM was another huge leap forward. Oddly enough, although I like KDE and Gnome and currently use KDE, they haven't made as big a difference as TWM and FVWM have to me. I can't even imagine anything as horrible as UWM sounds; so maybe even the old Sun's had a comparatively nice interface.

    For those who want to knock Unix for horrible interfaces and design-by-committee, remember that most non-Unix types were using DOS at this time and later they were using pre-95 versions of Windows. DOS was (and is) a shockingly bad and difficult to use command line interface despite its simplicity and early versions of Windows IMO claim the title for worst graphical interface of all time. VMS generally meant a command line over a text terminal.

    Macs may have been ahead of most other commercial offerings, but Unix not being at least reasonably competitive on the user interface front is a relatively recent thing (from 1995 on); and of course, just a few short years later, without much help from vendors, we have competitive interfaces again. Unix hasn't done as badly in this area as many seem to think. Unix has either been ahead of MS (mid 80's to 95) or quickly catching up.

    Of course this is intended to address only the windowing system. Unix people still like apps that send most Windows people running and crying to mommy.

  • I used to use twm a lot, but I always felt that it was slow and rather more resource intensive than such a simple window manager should have been. After reading this article, the reason for twm's poor performance is obvious. I quote:

    "I sat down at my monochrome Sun 3/50 and typed vi twm.c and then opened the X11 documentation"

    Leaving aside vi/EMACS flamewars for the moment, I think this shows a complete disregard of correct software design practice. No-one in their right mind could advocate starting to code a program first, then reading the relevant documentation, then designing the program whilst coding it.

    Academics have spent years devising the correct way to design software:
    1. Research the problem.
    2. Design the software.
    3. Implement the software, according to the design.
    4. Test software, adjust design if necessary, return to 3.

    Not wishing to be unfair, this disregard for the rules of programming really manifests itself in the poor performance of twm.

    Considering the relatively large scale of twm, he should also have considered using an object orientated language, such as C++. Although C++ objects carry a lot of overhead, the benefits of a better OO software design can help to balance out these performance issues.

    And finally, what the hell was he trying to achieve by coding the whole of twm in just one file, twm.c? Surely he learned during Computer Science class that it's a good idea to split your code up over several files, so that if one file gets corrupted you don't lose the whole project? Then again, with his obvious dislike of correct design procedures, he probably coded the entire program with just one function, main().

    I know that some people within the open source community don't like to do things by the rule book, but by trying to cheat the rules you only end up with poor software. The rules were invented for a reason!

    --

  • uwm didn't add any window decorations. It merely left windows with their standard borders. You moved windows around with meta keys. It was a very lightweight and pretty innocuous. The main problem with it was that new users walking up to a UNIX machine had no idea how to move windows around.

    You can get a similar look with the Sawfish "nanoGUI" theme.

    It's hard to see how uwm could be considered "ugly" since it largely just left your windows alone. In fact, I think "twm" looked worse, but it ended up being more usable for new X11 users because they could just grab title bars, without using any keys.

  • by Ed Avis ( 5917 ) <ed@membled.com> on Thursday February 08, 2001 @02:01AM (#447408) Homepage
    Actually, twm is not particularly light. Fvwm started out as a version of twm with certain data structures rewritten to take less memory. This made fvwm more useful on 4Mbyte machines. Fvwm was originally called the Flimsy Virtual Window Manager - 'flimsy' being managementspeak for 'small and compact'. But like KDE, they soon deliberately forgot what the first letter stood for.

    This is all IIRC of course. But I'm fairly sure that twm is not the lightest window manager out there; just relatively small compared to monstrosities like E :-).
  • by Screwtape ( 9319 ) on Thursday February 08, 2001 @02:44AM (#447409) Homepage

    There's something uglier than twm? I'd hardly credit it.

    Doing a quick google search, I turned up the Unix Desktop Environment's window manager, which looks rather nice, but hunting a bit more I found the uwm source code [plig.org] at, surprise surprise, the PLiG window manager page [plig.org].

    Unfortunately it doesn't compile immediately here on RedHat 6.0, (conflicting definitions of wchar_t in glibc and XFree86, of all things), so I can't post screenshots. If someone *does* manage to get it to compile and work (any experts on porting from X10 here?) why not post a reply and keep us all informed? :)

  • by Lonesmurf ( 88531 ) on Thursday February 08, 2001 @01:44AM (#447410) Homepage
    I went looking for some screenshots of TWM as I had never used it (went from CLI to Enlightenment.. :). I found this page with lots of screenshots [plig.org].

    Of particular interest was this [plig.org]. Is it just me, or does this stike you as vaguely reminiscent of BeOS?

    Rami
    --
  • by mirko ( 198274 ) on Thursday February 08, 2001 @01:26AM (#447411) Journal
    A huge advantage that TWM has over the others WM is his lightness :
    You can use TWM/X-VGA server with no problem on any old laptop. It is damn' stable and especially saved many computosaurus from the dust-bin, here.
    (when someone visits our firewall rooms, he actually think he is in a computer museum ;-)
    --
  • by stripes ( 3681 ) on Thursday February 08, 2001 @04:37AM (#447412) Homepage Journal
    Unfortunately it doesn't compile immediately here on RedHat 6.0, (conflicting definitions of wchar_t in glibc and XFree86, of all things), so I can't post screenshots. If someone *does* manage to get it to compile and work (any experts on porting from X10 here?) why not post a reply and keep us all informed? :)

    You can simulate it for purposes of a screen shot pretty easally. Arange your windows in a normal window manager. Kill the window manager. Take a screen shot.

    UWM has (or had) no title bars, no window borders, no icon box, no icons, no menu bar, no on screen hint of any kind that it was running. Well, except when you were actually draggin or resizing a window, it gave the rubberband, and maybe a little text (I havn't used it for about a decade!). I think it had manus when you clicked the root window, but they were in the fixed font, and plain black on white with the circle cursor.

    TWM really was the Enlightment of it's day. I fiddled with config files for hours and hours. In fact I hacked it to use M4 to preprocess the config files so I could waste even more time tweeking config files (as far as I can tell the FVWM M4 code was at least inspired by mine as it sets all the same macro values).

HELP!!!! I'm being held prisoner in /usr/games/lib!

Working...