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.'"
Re:Ahhh! Finally an explanation about Enlightenmen (Score:1)
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.
Still using TWM after 11 years (Score:1)
#
# 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!
Re:Questionable Software Design Methodology? (Score:1)
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...
Re:TWM (Score:1)
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
Re:TWM (Score:1)
Debian's menu system should do that.
--
Re:TWM (Score:1)
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
Re:Questionable Software Design Methodology? (Score:1)
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
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.
Re:TWM (Score:1)
Re:Comments... Go OSS and Open Standards. (Score:1)
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.
Re:TWM (Score:1)
Re:hmm. (Score:1)
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
Re:Ignorance must be bliss (Score:1)
I used TWM on my slackware box just long enough to download and compile WindowMaker. Does that count?
Re:*rubs sleep from eyes* (Score:1)
Re:Ahhh! Finally an explanation about Enlightenmen (Score:1)
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.
Ahhh! Finally an explanation about Enlightenment! (Score:1)
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.)
UWM was cool (Score:1)
add all this madning decoration on
everything. Also all those funny
key combinations where to stop RSI
problems.
lwm! (was: TWM) (Score:1)
Oh yeah?
gamera:~% ls -l `which lwm`
-rwxr-xr-x 1 root wheel 31015 Feb 3 11:30
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)
Re:Tom/Tab Window Manager. (Score:1)
Re:UWM? (Score:1)
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.
Re:Not Unix...then what? (Score:1)
Wintel. <sigh>
(Hi Tom!)
- Sam
Re:TWM (Score:1)
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.
Re:tvtwm was fantastic (Score:1)
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.
Re:Questionable Software Design Methodology? (Score:1)
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.
Re:TWM (Score:1)
My current flavor of the month is mwm + bits from xfce as I'm trying to get something as lightweight as VUE:)
Re:TWM (Score:1)
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..
TWM a misnomer? (Score:1)
"Win boxed Linux distro of your choice" ??? (Score:1)
Re:Ahhh! Finally an explanation about Enlightenmen (Score:1)
wm2 and wmx (Score:1)
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.
Re:wm2 and wmx (Score:1)
Nowadays, I get my minimalist grumpy old unix bigot kicks from 'larswm'.
Sorry... (Score:1)
Re:Lightweight TWM (Score:1)
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.
Re:Not Unix...then what? (Score:1)
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
Re:TWM (Score:1)
Re:TWM (Score:1)
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 :)
Re:tvtwm was fantastic (Score:1)
VTWM (Score:1)
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! :-)
Re:Tom/Tab Window Manager. (Score:1)
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
Re:UWM was cool (Score:1)
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
Re:Interesting (Score:1)
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
Re:Comments... Go OSS and Open Standards. (Score:1)
Re:Tom/Tab Window Manager. (Score:1)
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.
Comments... Go OSS and Open Standards. (Score:1)
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.
Toms is a role model (Score:1)
Re:TWM (Score:1)
I was really happy to go back to fvwm after that experience.
Moz.
Re:Questionable Software Design Methodology? (Score:1)
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.
TWM is good stuff (Score:1)
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).
Re:"Win boxed Linux distro of your choice" ??? (Score:1)
thanks (Score:1)
--
Tom LaStrange toml@channelpoint.com
Re:thanks (Score:1)
--
Tom LaStrange   toml@channelpoint.com
DOS (Score:2)
Re:Toms is a role model (Score:2)
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.
Re:TWM (Score:2)
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
Re:TWM (Score:2)
Re:TWM (Score:2)
Hmmm... two posts have said this, perhaps I can't read my own post...
*confused*
Re:TWM (Score:2)
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.
Tom/Tab Window Manager. (Score:2)
I always thought of it as Tom's Window Manager, but couldn't for the life of me figure out who Tom was.
My favorite TWM - CTWM! (Score:2)
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.
Lots of misinformation (Score:2)
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 Unix...then what? (Score:2)
twm themes for sawfish (Score:2)
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)
Re:TWM (Score:2)
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.
Re:Toms is a role model (Score:2)
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!
Re:Questionable Software Design Methodology? (Score:2)
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
twm History (Score:2)
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...
TWM (Score:2)
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.
Questionable Software Design Methodology? (Score:2)
"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 looks like sawfish nanoGUI (Score:2)
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.
Re:TWM (Score:3)
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
UWM? (Score:4)
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? :)
hmm. (Score:4)
Of particular interest was this [plig.org]. Is it just me, or does this stike you as vaguely reminiscent of BeOS?
Rami
--
TWM (Score:4)
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
--
Re:UWM? (Score:5)
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).