|
Warning and apology: this post is a bit of a mess, since it relied
on a second, now lost article for context. Long live bit rot...
2008-07-18 14:03:01 CDT (Jul Fri) 1216407781
Posted as a reply (okay, rant ) into Digg about an
article
– long since consumed by link rot –
which I felt was describing desktops and window managers a bit narrowly,
especially in skipping modern compositing WMs like Compiz.
Although the article
states that window managers are a GNU/Linux
phenomenon, they're actually a more generic Unix phenomenon, even
bleeding into all other OSes where X itself is supported. So the early
sentence starting with "Officially, a window manager [...] is" is a
bit off. Further, in X, technically the program "X" (or some variation
thereof) actually draws *everything* (except for what OpenGL might
draw, but that's beyond the scope of this reply). The client programs
simply send requests to the X server to draw various things, move
windows, get input, etc., and the window managers are just specialized
client programs that focus on reparenting other applications' windows
into the WM's windows, and then decorating, moving, or manipulating
those.
Desktop Environments are generally considered to be combinations of a
window manager and other tools to set up a particular default
environment for a user seen upon login before any specific application
is run. The other tools often include special bars at the edge,
clocks, email notifiers, file managers, screensavers/lockers, popup
menus on the root screen, etc. Some DEs are tied only very loosely to
any specific window manager, while in other cases the WM is the
dominant part, or even the entirety, of the default experience.
X's first window managers in the 1980s were things like "xwm", a truly
minimalist window manager with (in X10) an odd special quirk of making
iconified XTerms still have tiny active icons using the "nil2" font.
Other popular ones were "uwm", "twm", "vtwm" (I think), and "tvtwm"
(Tom's Virtual Tabbed Window Manager). The ones with "v" in them
introduced the fantastically successful idea of a virtual desktop. A
early LISP-based one was "gwm", based on a LISP dialect called Wool,
although it ran too slowly on the hardware of the day to become
popular. FVWM's module facility, on the other hand, was a major stride
forward being both fast and becoming quite popular. Later WMs like
Enlightenment started appearing with serious support for decorating
window parts with images, although uptake with stalled by its initial
notorious fragility: for example you could start Enlightenment without
a config file, and it would simply unmap/hide all of your windows and
exit - now *there* is desktop simplicity). Enlightenment was, if I
remember correctly, tied in with the development of a support library
for reading a much wider range of image formats with fueled creativity
in other projects as well. More recent developments include
virtualizing the windows themselves into 3D textures (initially usually
with X servers modified to render into OpenGL textures) like XGGI,
XGLTEX/XVFBTEX, and the recent and fabulously successful Compiz/Fusion.
After decades, we have windows (including XTerm) with real translucency
instead of the hack of copying the root screen into the window
background. Cool. Of course, that's still just a single alpha value
for the whole window, which is a bit limiting, but that'll have to do
until we start seeing windows that render into RGBA OpenGL textures
from the outset.
Contrary to the article, hardly anyone calls the "*Boxes" that; simply
calling them "minimalist" highlights their true commonality better.
Normal, non-tiled window managers *could* be called "floating", but to
most people who've never even heard of a tiled WM (or a tiled dev
environment like Oberon or something), using the extra adjective would
just be superfluous.
The article mentions SawMill [ed: may have meant SawFish here], but
leaves out the heart-wrenching loss of SawMill from Redhat Linux, as
all of its rich features were steadily discarded on RedHat's warpath to
make Gnome and KDE both have the same basic UI, and same
least-common-denominator inflexibility. Seeing WMs caged down to the
level of Microsoft products has not been all that pleasant to watch,
although it does, perhaps, prevent people like my Mom from setting
their entire window environment to use dark purple text on a black
background, which *might* be a good thing. For them.
NextStep was awesome - we were completely blown away during the NeXT
cube demo at MCC in Austin in 1990. Although we didn't get good
answers to what happened when a dictionary search popped up too many
(more than 127ish) windows, and had to raise a fuss about the
permissions UI labelling the "user" part of the file mode bits as "me"
- regardless of files' real ownership. Still, such a gorgeous system,
built on Unix and Open Software, was a jewel. Small wonder Id Software
loved them. :-)
The real question in window managers now is how to handle 3D. Face it,
for the most part Compiz is still fundamentally managing 2D windows
from the 1980s. When do we start seeing *native* OpenGL terminals with
RGBA to just make the *background* translucent instead of the text.
And the long-term question is when do we start seeing true 3D
applications in a *shared* space, instead of each one being caged in a
little 2D window?
|