When Does A Window Manager Become An Environment?
psycona asks: "This may seem kind of a nonsensical question, but it has been bugging me for some time now. When does a window manager become a desktop environment? Where's the point of transition? I've been a big fan of Window Maker for some time now, and here's the thing; it has wmfinder, FSViewer and a few other file managers, it has postilion and Aileron and probably other email clients, it has a ton of dockapps to do most desktop, filesystem, LAN, ppp etc. monitoring and even admin work and gawdknowswhatelse. It even has scripts to change screen resolution and colour on the fly. So can it start calling itself a desktop environment like kde,gnome,cde and xfce? And if not, what else is needed?" A simple answer might be: 'when it does more than manage windows', but that would describe most of our current crop WMs, wouldn't it?
Emacs is an environment. Actually, it's a whole ecosystem, isn't it? Complete with its own population of strange beings. Back in the VAX 780 days, it was bigger than the kernel, that's how we knew it was an environment, not just an editor. We just figured that 4BSD was the bootloader for Emacs. :-)
Bruce
Bruce Perens.
...whatever the hell you decide to define it to be.
:-)
That said, I think the key things that seperates GNOME, KDE, and CDE (and to a certain extent, OpenWindows and HP VUE) from the rest of the window managers is the concept of underlying services that facilitate communication between apps. In Windows, it's OLE (or COM or whatever they call it nowdays). In CDE, it's ToolTalk; in GNOME, it's CORBA (I don't know what it is in KDE).
You see this underlying communication in various ways: the most obvious is Drag-and-Drop between apps (or the desktop and apps). It also shows up in inter-app communication with documents (think Excel spreadsheet embeded in a Word Doc).
I'd almost consider WindowMaker an environment. It has most of the hooks that Enlightenment and Kwm have for their underlying services, and can work nicely in a GNOMEish or KDEish setup.
I think when people say "environment", they're referring to the whole shebang: backend libraries and daemons that provide Inter-app communication, a Window manager that uses those backend facilities, and apps that also are aware of the available functionality. Integration is the key here: all the parts need to be aware (and use) eachother, and not just be able to function next to eachother.
-Erik
There are always four sides to every story: your side, their side, the truth, and what really happened.