|
| Tue, Oct 14th | home | browse | articles | contact | chat | submit | faq | newsletter | about | stats | scoop | 16:39 UTC |
|
login « register « recover password « |
| [Article] | add comment | [Article] |
The freedom of choice offered by GNU and Linux, combined with the technological design of the X Window System, gives desktop users a windowing environment with a flexibility and capability that is unrivaled. In recent times, the desktop Linux world has been enriched beyond recognition by the KDE and GNOME projects, but window managers are still at the heart of these environments, as well being used widely on their own. In this review, I'll delve into this exciting world and look at the development and the state of the art of some of the most significant and most popular window managers. Copyright notice: All reader-contributed material on freshmeat.net is the property and responsibility of its author; for reprint rights, please contact the author directly. Given the volume of entries in this category, I can't hope to cover all of them in any sort of detail, so instead I will concentrate on a select few in more detail. I've tried to pick a selection representing a range of styles and philosophies, weighted by their current popularity and importance in the development of windowing technologies. Many of the features explained along the way are found in other window managers, and each window manager's level of support for the GNOME and KDE environments is also discussed. I'll offer my apologies in advance to all those great window managers that haven't been mentioned in this article. FVWMFVWM is one of the oldest window mangers that is still in widespread use and actively maintained. It dates back to around 1993 and was originally developed by Robert Nation, based on the then dominant TWM, which stands for either Tab Window Manager or Tom's Window Manager. The "VWM" in FVWM stands for Virtual Window Manager, as virtual desktop functionality had been added, but the meaning of the "F" has been lost in the mists of time -- see the FVWM FAQ for some possibilities. The early days of FVWM development were exciting times. After being stuck with the bland and somewhat featureless TWM, the new appearance and functionality offered by the rapid stream of FVWM releases breathed new life into the X Window System, even on a monochrome X terminal. In more recent times, it has been overshadowed to some extent by newer window managers and the GNOME and KDE desktop environments, but it has stood the test of time well and remains a solid, popular, and feature-rich window manager. We will now examine a few of its many features in a little more detail. In addition to the virtual desktop capability mentioned above, one of the main selling points of FVWM in the early days was its high speed and low memory consumption. Many years of feature adding can lead to bloated software, and FVWM has tried to tackle this by providing some of the extra functionality as separate modules which are only loaded if required. Also, two different releases were maintained for some time: FVWM 1.xx (ending with 1.24r) was the streamlined version for low resource environments, and FVWM 2.xx (2.4.13 is the latest stable release at the time I write this) is the slightly larger but more capable version. The 1.xx versions are no longer supported or distributed; the recommended version is the latest 2.xx stable release, which, in terms of resource requirements, still compares favorably with many other window managers. The first and foremost FVWM module was called GoodStuff, which was later renamed "FVWM Buttons". It was primarily an application launcher, consisting of a grid or line of buttons, typically with icons, each of which launch a particular application or command when pressed. Variations and extensions of this are present in a large number of window managers, including Afterstep's "Wharf" (and also "Zharf"), Window Maker's "dock", and the "slit" from Blackbox and its descendants. Another important feature of this FVWM module is its ability to swallow other applications. This involves running a program (for example, an email watcher such as xbiff), and, instead of FVWM adding window borders and placing it on the desktop as a normal window, it is captured by the GoodStuff/Buttons module and displayed inside the module's window. This functionality was so popular that a large number of small applications have been written specifically for this purpose, and are known variously as applets, epplets (for Enlightenment), and dockapps. Some of the other features common to both the 1.xx and 2.xx versions are full support for keyboard operations (which improves usability and accessibility), full color shaped (non-rectangular) icons, switching of viewports or virtual desktops by "pushing" the pointer against the edges of the screen, automatic raising of windows when they receive the input focus, and support for multiple policies for icon placement and initial placement of opened windows. Many of these features are now provided by other window managers, but some of them were pioneered by FVWM. We will now briefly cover some of the additional features present in the latest stable 2.4 series. First, there is full support for internationalization, so FVWM can handle the fonts and conventions of the languages and locales supported by the underlying operating system. Standards are also important to FVWM, which provides full compliance with the ICCCM (Inter-Client Communication Conventions Manual) version 2 and recognition of windows hints for Open Look, Motif, and GNOME. Support for KDE 2.xx and later and GNOME 2.xx is available as a patch, or in the latest development versions. Various font rendering capabilities are available, such as anti-aliasing, vertical text, and shadows on text. The "WindowShade" function allows windows to be temporarily "collapsed" out of the way. This function can operate horizontally or vertically, or even diagonally. A very useful feature for those with two or more physical displays is support for the Xinerama X11 extension, which allows all of the available displays to be combined into a single seamless desktop. Finally, there is also support for session management, dynamic changes to most properties, mouse strokes (executing functions based on patterns of mouse movement), PNG image support (including alpha blending), and modules for building GTK+ dialogs and Perl extensions. As you can see, FVWM has an almost endless feature set, and there's plenty more that hasn't been mentioned. The modular approach of FVWM works well to reduce the "bloat" factor of all these features, so the only real drawback is the work required to customize your setup to make use of the desired features. IceWMIceWM was first released in 1997 by Marko Macek, who coded it from scratch in C++ instead of starting with an existing window manager (as is more common). It is designed primarily to be small, fast, and lightweight. A key feature of the early versions was the ability to emulate the look and feel of Motif, OS/2, and Windows desktops. Since then, this feature has evolved into a flexible theme engine, with a large number of readily-available themes. IceWM is a popular window manager which is still in active development. Other features of IceWM include full keyboard support, multiple focus modes, sound support, multiple workspaces, dynamically updating menus, a taskbar, and complete internalization support. It is also compliant with a number of standards and conventions, such as Motif window hints, KDE hints, almost full ICCCM compliance, and full GNOME integration support. Window MakerWindow Maker is designed to emulate the look and feel of part of the NEXTSTEP GUI. The AfterStep window manager has a similar goal, but was based on FVWM, whereas Window Maker is written largely from scratch. The first release of Window Maker (or "WindowMaker" as it was then -- the space in the name came later) was made in 1997, and the principal author was (and still is) Alfredo K. Kojima. Window Maker is part of the GNU project, and is designed to integrate with the GNUstep desktop framework. The application dock provided by Window Maker is powerful and easy to use, supporting drag-and-drop operations. A large number of specifically-written "dockapps" are available. Another good usability feature is the built-in GUI configuration utility which allows you to adjust the window manager's settings without having to edit the configuration files directly with a text editor. Like many modern window managers, support for themes is also present, with a large number of themes available. Support for different window hints is also very good, covering GNUstep, GNOME, KDE, Motif, and OpenLook, which improves the integration of Window Maker with those environments. Other features of this fast and easy-to-use window manager include internationalization support, near ICCCM compliance, icon dithering for displays with low color depths, multiple workspaces, and the ability to change all preferences and menus without having to restart. SawfishDeveloped by John Harper, Sawfish began life in 1999 as Sawmill, but later changed its name to avoid a clash with another product. It is a lightweight and highly configurable window manager which makes use of an Emacs Lisp-like language. It is designed to implement only core window manager functionality, and not any extras such as panels and desktop backgrounds. This makes it ideal for use with desktop environments (particularly GNOME, as both use the GTK+ toolkit). In fact, Sawfish is the default window manager for 1.xx versions of the GNOME desktop (replacing Enlightenment), and a version for use with GNOME 2.xx is available. Configuration can be done by writing Lisp code, but more accessible is the GUI customization system, which provides a quick and easy way of controlling the many aspects of this flexible window manager's behavior and appearance. It supports themes, so complete frame decoration can be changed in one go. Global and window-based keyboard shortcuts can be easily defined for a very large number of operations. Different focus policies are available with many options, such as auto-raise delay, and different properties can be set for individual windows or groups of windows, specified by name or wildcard. MetacityThe first release of Metacity, by Havoc Pennington, was version 2.3 in 2001, so it is still in a fairly early state of development. Like Sawfish, the intention is to only implement core window manager functionality, but Metacity takes this even further and only implements a very low level of flexibility and configuration options. Current versions require GTK+ 2.0, and it does not work with 1.xx versions of the GNOME desktop. It is now the default window manager for some GNOME 2.xx configurations, although it can also be used with KDE, version 3.xx onward. The current trend with GNOME 2.xx and Metacity seems to be to follow the approach of other windowing systems, to hide the window manager separation from the user and present a single desktop interface. This means that the limited configuration options available for Metacity are shown as desktop options, not as Metacity options (although there is an optional "Metacity-setup" panel which conflicts with this approach). There is also currently no panel to allow the user to switch to a different window manager (this can be done manually by killing one window manager and starting another, relying on session management to record the change). Author's bio: Matt Chapman is the creator and maintainer of the xwinman.org: "Window Managers for X" site, which has been providing a wealth of window manager-related material since 1995. T-Shirts and Fame! We're eager to find people interested in writing articles on software-related topics. We're flexible on length, style, and topic, so long as you know what you're talking about and back up your opinions with facts. Anyone who writes an article gets a t-shirt from ThinkGeek in addition to 15 minutes of fame. If you think you'd like to try your hand at it, let jeff.covey@freshmeat.net know what you'd like to write about. [Comments are disabled]
[»]
Window Managers??? Who needs them!!! Just start with fullsize Emacs, and use it.
[»]
Ion -- radical new direction for a WM Anyone who feels more comfortable inside a terminal using screen, or with Emacs maximized for the entire session, should try using ion. It's also great for anyone who wants to use the mouse less or use their screen real estate more efficiently. I think it would work very nicely on a laptop. Ion is a tiled window manager -- there are no overlapping windows. The screen is split up horizontally and vertically into various tiles, and an application takes up the entirety of its tile. Multiple applications in a tile are tabbed. As a result 100% of the screen is always in use, and window arrangement is much similar. In most cases I leave me window split in two, with different tasks on different virtual desktops. I may have an editor on the right, browser on the left. Or browser/email, etc. It's one greatest flaw is dealing with popup dialogs. There's no windows. Some dialogs just appear at the bottom of the window, but others are forced to completely obscure the parent window. It would be nice if the tiling wasn't quite so complete. Ratpoison seems very similar, and specifically aimed at screen fans. PWM provides some of the same features without completely discarding overlapping windows. I believe it shares some sort of history or developer base with Ion.
[»]
Re: Ion -- radical new direction for a WM They share the same developer (i think). PWM had been an innovative window manager with it's tabbed window (or meeged/groupped window) concept. It could have easily been the BEST window manager today, but unfortunately its development had been abandoned. it can deal easily with transients/pop-ups unlike its succesor (ion). Today, some new and modern window managers like fluxbox and pekwm (and waimea in its CVS version) has adopted PWM concepts. But no one can be as speedy and small as PWM.... --
[»]
Hi Like me & my lines --
[»]
Ommissions... Well I think the most popular WM should at least have
[»]
Re: Ommissions... I must agee with your comment i also think kwin is the way to go :D --
[»]
Sawfish still lightweight? Correct me if I'm wrong, but can Sawfish still really be considered a
lightweight window manager? I know it started out as being "more
lightweight than enlightenment with better Gnome integration and
configurability", thus giving it its popularity, but I doubt it still
can be considered to be lightweight.
[»]
the killer enlightenment rastermans team made it, the one, the only one that makes an desktop
winning just everything.
[»]
Skimpy article. Very skimpy, doesn't say anything new, and doesn't even cover the new
features of FVWM (of which there are a *lot*). Or that many window
managers. Not even that many old window managers.
[»]
objective of article? The initial paragraph is promising. "Delving into the exciting world
and looking into the development..." of window managers is a
worthwhile thing to bring people new up to speed on things and others who
just never bothered to care before. But it accomplishes none of this.
More than half of the article is about fvwm and comparing it to some other
window managers. The fact that fvwm was the default window manager for
redhat for a long time makes it no surprise that this would be a window
manager people would be fairly knowledgable about. But like the author
said, the sheer number of window managers make discussing individual
features of a select few window managers unable to even touch the scope of
the article. If you want to talk about the exciting world of window
managers talk about it's progressive function on top of X and with other
software. Most window managers support the same functions, there is no
point in naming particular window managers to talk about a feature that
likely more than half have. Talk about important basic features and why
they are basic to a window manager. Talk about the speed of development
and the footprint left behind by different window managers. Talk about
where window managers are heading. Are they going to have a future of
common use ? Talk about what is the state of the art before you call
something state of the art. Is E state of the art? Why? Is there
justification for the popularity of the window managers that were in this
article or are they just enjoying use because of authority and by
justification i mean other than simple subjectivity? No discussion was even
mentioned about the state of cvs branches of even the window managers
discussed, much less interesting cvs projects going on that aren't popular
yet but very original and/or creative. Canvas should be the first thing
mentioned in the article for cutting edge state of the art window managers.
Likely, the entire article should focus mostly on what's going on in cvs
trees. KDE/gnome/xfce/cde and the desktop environment groups should be
nothing but a passing mention in the article.
[»]
if you like amiga and speed try this amiwm, which looks like an amiga. If you don't have/want X but still like amiga, try amigashell. Should you be a debian user on an amiga, register.
[»]
Re: if you like amiga and speed try this Sorry for the typo of course it's http://www.linuks.mine.nu/debian-worldmap/ without the " and here's my configuration file for amiwm, www.linuks.mine.nu/conf/dotamiwmrc. The screenshot is of amiwm running on a SPARC classic with NetBSD.
[»]
Same old same For once I'd like to read a review that concentrated on the less popular
window managers out there. So many times I've read reviews about FVWM,
Blackbox, Window Maker and the likes. Time after time its the same junk
just repeated by different people on different websites. Just about every
review says something along the lines that there are far too many window
managers to cover in depth. So they cover the window managers that everyone
is already using and already know about.
[»]
Re: Same old same Is there any possibility that somebody could write an unbiased review of the less popular window managers like aewm, pekwm, larswm, ratpoison, evilwm, pawm, etc...?
The obvious question...
[»]
Re: Same old same Looks like you have a great introduction and thesis! :) Nice start; I can't
wait to see the finished draft.
[»]
Re: Same old same One WM I haven't seen mentioned much (mostly because the project is still in its infancy) is InterfaceWM. It's a window manager written entirely in Objective-C and taking advantage of the excellent GNUstep frameworks. The project was stalled for a while but two new developers have come on board recently, so things should start moving along pretty soon. Not ready for prime time yet but keep it in mind if you're interested in seeing a Linux-kernel-based NeXT clone. And when the GNUstep theme engine matures, maybe a Mac OS X clone too...
[»]
This could have been better The lack of Openwin, mwm, CDE and twm keeps this from being an informative
history. There's a ton of WM's out there but there's only 4 real options
for desktop environments; KDE, GNOME, CDE & XFce. It would have been better to talk
about either DE's or try and include most of the WM's out there.
--
[»]
Re: This could have been better There's a ton of WM's out there but there's only 4 real options for desktop environments; KDE, GNOME, CDE & XFce. There's also GNUstep. It's an object oriented framework for developing user applications, and there are already quite a few apps. It also aims to be a complete desktop solution one day. It's source-code compatible with Apple's Cocoa frameworks used on Mac OS X. As I mentioned in a post above, there's an Objective-C WM being written for GNUstep called InterfaceWM that is just getting started.
[»]
Huh... WMs history/features article? What is this article all about? --
[»]
Re: Huh... WMs history/features article?
--
[»]
Re: Huh... WMs history/features article?
[»]
Re: Huh... WMs history/features article? % Weird... I used to like Enlightenment
--
[»]
Re: Huh... WMs history/features article?
--
[»]
Re: Huh... WMs history/features article? the right way to get a large number of testers/users and feedback for e17, is to do frequent releases (even once in 3-4 months in frequent enough), of sources which can be compiled and installed. right now compile/install from CVS seems to be only suitable for "proffesionals". a statement like "if CVS doesn't compile it's your problem, and we are not doing any releases in the near future" is driving potential users, to seek for other options... --
[»]
Re: enlightenment
[»]
Re: Huh... WMs history/features article?
[»]
Re: Huh... WMs history/features article?
--
[»]
Weak review... This is a discussion of X window managers, not how they relate to current
desktop systems such as KDE, and GNOME. I personally use Enlightenment,
because not only am I an eye candy junky, but I dig functionality too. I
like quick access to virtual desktops via keyboard, and the ability to
perform massive customizations. I like the availability of many themes,
and a strong loyal community style user base.
[»]
Re: Weak review... Yes the article lacks Ion Ion has everything i want from a window manager and it is simply the One, which gets out of my way best.
[»]
Window manager on its own While Gnome and KDE can be quite usefull, I would like to stress that (if
configured properly), a window manager used on its own can be very
ergonomical. --
[»]
Re: Window manager on its own
[»]
Re: Window manager on its own
--
[»]
Re: Window manager on its own % why not just use windowmaker ? sounds
[»]
What about kwin and blackbox? Kwin is the very flexible window manager that
[»]
Fluxbox Aww.. no fluxbox ? Its window tabbing feature is a blessing!
[»]
Re: Fluxbox I agree. No mention of fluxbox/blackbox made this review look fairly
uncomprehensive.
[»]
Re: Fluxbox
[»]
Re: Fluxbox
[»]
Re: Fluxbox One more feature I forgot to mention (and perhaps one of the most popular pekwm features) is the AutoProps... This is a very robust feature that allows you to specify all sorts of properties for a window to have on launch (Being grouped with other windows, size, position, which desktop, whether it has a border/titlebar, sticky, etc).
[»]
Re: Fluxbox
[»]
Re: Fluxbox I have tried both fluxbox and pekwm. fluxbox is based on blackbox, and pekwm on aewm++. therefore the WM "itself" has better functionality in fluxbox. In the "Added" functionality, fluxbox is still better in navigation between workspaces/windows, and has the advantage of compatibility to all blackbox styles... pekwm - has only "icon" menu no "workspace" menu available. and the new "hpanel" gives only partial solution to workspace navigation (it is still not convenient to find a window in another workspace). But, pekwm is much better than fluxbox in windows grouping and auto-properties. The automatic grouping of windows works better on pekwm. But, blackbox/fluxbox slit is still much better than the harbor. So, fluxbox is more usable right now, but pekwm has a bright future - if it has frequent releases... --
|