X systems separate out the various components that one would use on a "desktop" as separate subsystems. Thus, one may have:
A "window manager," which controls what happens when the mouse pointer is pointing outside of screen areas controlled by specific applications.
This particularly includes controlling the "decorations" that surround windows; there are window managers that assortedly make screens resemble those of Windows 3.1, Windows 95, MacOS, AmigaOS, and NeXTStep.
This also often includes a "pager" that is used to manage the ability to switch between "virtual desktops." One might thus have multiple "desktops" on which different groups of applications are displayed.
A "program manager," which is commonly a program that displays icons representing applications, and allows the user to run those applications.
It is common for window managers to include some functionality of this sort, which I find somewhat unfortunate. I'd rather that it be optional, so I may spawn it, if I wish, omit it if I wish, and not draw bloat into the window manager. After all, if the window manager process gets bloated, fixing that frequently requires killing an X session.
Window managers commonly include "program menus" where one may select applications from some form of "pop-up" menu. Windows 95 copied this with its "Start" button.
The standard scheme for X clients to communicate is commonly termed ICCCM.
The "holy grail," as it were, particularly involves giving users the ability to "drag and drop," that is, to grab an object with mouse or other pointer, drag it over to an application, and have the system automagically do something "appropriate and useful" with the object, and to provide functionality similar to the "object linking" of OpenDoc.
freedesktop.org - home of the X Desktop Group.
The X Desktop Group is a free software project to work on interoperability and shared technology among desktop environments for the X Window System. The most famous X desktops are GNOME and KDE. This web site is for developers interested in joining the X Desktop Group, and for people interested in developing applications that take advantage of X desktop technology.
One of the ideas is to build common "theme handlers," so that there are easy ways to use the same sets of window and widget decorations with GNOME and KDE.
Akin to Apple Rendezvous, this is an automated service discovery system.
Synergy - share a mouse/keyboard across multiple computers