Matchbox -- a Small Footprint Window Manager
An anonymous reader writes "In this technical article at LinuxDevices.com, Matchbox project leader Matthew Allum introduces his creation Matchbox: a small footprint window manager for PDAs and other resource-constrained embedded devices. Allum recalls why he decided to embark on the project, outlines its key objectives, describes its architecture and unique characteristics, and ponders its future. Cool piece of software; good read."
I think that's actually one of the nicer WMs I've seen ...
This is actually sleek and efficient. The gaps between interface widgets aren't TOTALLY consistent, but they're better than in most WMs. And all three of the themes look pretty nice, which is three more good themes than most window managers have. I will seriously consider using this for my window manager on NORMAL, non-pda unix when i get back up to college and am using Solaris regularly again.
:)
Would someone (i.e., a company) consider doing some serious, professional usability testing on this thing, or something like it? A lot of people who used the newton still swear by it because apple did everything they could to engineer the thing such that the interface lived up to every single bit of potential it had.. so it just felt incredibly natural.
Of course, my thought would be that building a resource-light, minimalist UI on top of xlib is like designing an energy-efficient, space-conserving, environmentally friendly steering column, dashboard and built-in radio into an SUV.. but that's just me.
The people running Linux on the iPaq aren't your average PDA users. Many of them run it exactly because they can get semi-standard networking and can run standard apps. Have you ever played (well, played is an understatement sicne I could only see the top left corner) starcraft on your PDA? You can only do it via a remote display unless you've found a way to efficeiently emulate an 80386 on a StrongARM (and make it fast enough to run the game and still have time left over for the display and such).
Most people don't need X. There's OPIE/QTopia for people who wanta PDA. But for people who want to tinker or do rather odd thigns, X works pretty nicely, especially with this specially designed WM.
--MonMotha
Although Matchbox "wastes" real estate with titlebars, it uses them very smartly. As you can see from the screenshot in the article, the titlebars double as taskbars. If I ran KDE's kicker on my iPaq, I'd have no room left for anything. So, since everyone needs a taskbar in order to switch windows, and since I don't want to have to press a hard-button to do that, I think Matchbox does it very logically, in an interface with which everyone is already familiar.
What you say makes sense, but it gives me no aversions to Matchbox; it looks damn slick!
like using the framebuffer device, or Qt/embedded
First of all, QT/embedded is just as bloated as X (maybe even more).
The framebuffer is a good idea, but by the time you end up implementing all the stuff you need to actually run a decent program, you have implemented most of the XLib anyway. Trust me, I have gone that route before.
X has its advantages when used on networks, like the client/server model, but it's overkill for personal devices.
Ok - first of all - if you want to run multiple apps in a window manager environment, you *need* to run it as a client/server setup - Thats exactly what you are looking at on a window manager - multiple clients running on a single server. IMHO, its much better to have a client and server than a monolithic application - less resources to be used.
Secondly, X uses this same client/server configuration on the desktop - and though some take advantage of the networkability of the protocol, most don't. Yet, nobody ever attacks RedHat or SuSE for using X in a client/server configuration.
Do you have Linux and a DotPal? Click here now!
Is it just me or does resource-constrained and X sound like they do not belong in the same sentence. I for one would like a slimmed down desktop environment then just a simple window manager on a bloated X. X was designed for server/terminal archicture and is not needed for pda's. I know a slimmed down programmable desktop environment is possible because of the original mac. With a 6mhz processor and 128k of ram it could run with a desktop environment, networking, and its own apps! Of course 256k or 500k was more optimal back then but I look at old 80's computers as todays pda's. Infact today's pda's are more powerfull with 4 megs of ram and 16 mhz processors which are as fast as 286's and some of the early 386's. If it could be done like the original mac and Windows 2.0 then it can be done with pda's.
:-)
If I had better coding skills I would like to play around with gtk or qt-embedded and actually create one for the hell of it. I would even create some of the functionality of kparts and call it kparts-lite. This would be a programmers haeven. Hmmm maybe I just found a perfect project for myself.
http://saveie6.com/
The reason a lot of people say that X is a memory hog is because when they run top, all they see is X. In fact, X is a hog because X mmap the graphics memory and pixmaps to be more efficient. If you take away these, X is quite efficient. Of course, for the ultimately efficiency, Matchbox is GREAT! I just want to point out some of the misunderstanding out there.
because it was designed for mobile applications using styli?
Concepts like pointer, cursor, etc. don't make sense in that environment. "Dragging" to the edge of the screen won't work because it adds another action, and interfers with useage (i.e. auto scrolling when at the top or bottom of the screen if dragging), not to mention the fact that it adds annother action to be done.
I'd do something interesting, but my server can't handle a slashdotting.
X is a resource hog
./ mantra that "X is bloated"?
Prove it!
My X is currently using 21M of my RAM (RSS). That is with 6 1600x1200 virtual desktops and a whole lot of windows open.
Seeing as how 21 * 2^20 * (6*1600*1200*4*2). It seems to be doing a very good job of managing resources. Much better than Mozilla (55M RSS) or Evolution (45M RSS).
Are you going to back up your assertion with numbers, your are you just going to recite the tired
FVWM is snazzy and all, but it tends to lose a little of that leanness if you try to implement too much of a fancy config (ie by running fvwm-themes). Still, I got a kick outta using PipeRead + awk + cda to implement a point & click, CDDB aware CD player in my wm menus.
Sawfish (without Gnome) and Ouroborus are nice for low-footprint desktop WMs, too...
Or if you're a true hairshirt, there's always twm.
Click here if you just like to click on shit.
It also uses Tiny-X server instead of the standard Xfree86, which I'm sure has quite a bit to do with the reason it's not huge and doesn't suck.
Saying Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders.
Who would run a lean, small-footprint second window manager ON TOP OF the first window manager that already takes 75% of their CPU resources? What is the world coming to? We already have window manager managers. I suppose someone might want to use Matchbox for their window manager manager window manager.
:D If you can run the WM on Windows, programmers inclined to develop systems using your Window Manager, because this way they can test the solutions wherever they want to.
For testing purposes, "Weasel"...