The Desktop in Linux
Desktop Environments, Window Managers and the X Window System
NELUG meeting 15/3/2000
Horst Kausch
v0.1 2000-03-15
Overview
The desktop/graphical user interface experienced by the user consists of several layers.
| Application |
| Window Manager |
compound
architecture |
| X-lib |
X-tended Graphical Environment |
| X Window System |
X Window system
- client/server architecture
- the server delivers input events to clients and displays the output
- the client is the application calling on the server to do the input/output processing.
- network transparent
- X-lib library provides low-level manipulation of graphics
Window Managers
- provides window management functions:
- focus - which client gets input events
- create/destroy windows
- move windows
- resize windows
- stacking - raise/lower windows
- provides window decorations as visual clues of window status and functions:
- title bar
- borders
- buttons for window operations
- window menu
- highlighting of window with focus
Widget Sets
- toolkits implementing the abstract objects of the user interface:
- check buttons
- radio buttons
- text entry fields
- scroll bars
- scroll lists
- tabbed dialogs
- provides look and feel of the user interface (X-tended Graphical Environment)
Desktop Environment
- panel for starting programs, displaying task list, monitors, etc.
- desktop - object can be dragged onto desktop for quick access
- consistent look and feel
- standardized menu and toolbars, keybindings, color-schemes, etc.
- internationalization
- centralized consisted dialog driven desktop configuration
- themeable
- integrated help system
- complete network transparency
- component architecture
- object oriented inter-program communications mechanism through CORBA or DCOM
- Document Object Model (DOM) using XML file formats
- suite of applications
Only KDE and Gnome (will) implement all of these features.
Advanced Feature Comparison
| |
KDE |
Gnome |
MS Win9x |
| themable |
yes |
yes |
yes |
| component model |
KOM/OpenParts |
bonobo |
COM/ActiveX |
| file manager + browser |
Kfm (1.1)
Konqueror (2.0) |
Gmc (1.0)
Nautilus (2.0) |
InternetExplorer |
| word processor |
KWord |
abiword |
MS Word |
| spread sheet |
KSpread |
Gnumeric |
MS Excel |
| image manipulation |
KIllustrator |
The Gimp |
Photoshop |
| personal finance |
-- |
Gnucash |
Quicken |
Typical configurations
| desktop |
window manager |
widget set |
| plain |
twm |
Athena (libXaw) |
| AnotherLevel |
fvwm2 |
Athena,... |
| CDE |
mwm |
motif |
| KDE |
kwm |
Qt |
| Gnome |
enlightenment |
gdk/gtk |
Screen Shots
 |
| Plain X desktop with only an xterm and no window manager |
 |
| Plain X desktop with twm managing an xterm |
 |
| AnotherLevel Desktop (RedHat 5.* default) |
 |
| KDE-1.1 Desktop |
 |
| Gnome 1.0 Desktop |
|