The K Desktop Environment

A Screenshot of a KDE desktop

Current State of X11 applications

  1. Many toolkits
  2. Very different User Interfaces
  3. Waste of memory
  4. Slow, costly (Motif/CDE)
  5. Ugly (Athena)
  6. Applications implementing their own toolkits (Gimp, XV)
  7. Programming is hard to learn and C does not allow for intuitive GUI design

KDE tries to address these problems

  1. Uses the Qt C++ GUI framework from Troll Tech
    1. PROS Short learning curve for C++ programmers
    2. Faster, smaller, nicely designed (based on Xlib)
    3. Event/Viewer architecture with signals and slots
    4. Free for non-commercial X11 applications (with source)
    5. Good support from Troll Tech via Internet mailing list
    6. Motif/Windows GUI styles
    7. CONS Not GPL
    8. Commercial license (Windows, UNIX) is expensive
    9. Not allowed to distribute patches
  2. Centralized control of UI
    1. Borrowing UI ideas from CDE, Windows, NeXTStep, Macintosh
    2. Display configuration panel for GUI style selection
  3. High level application and GUI operations moved to libraries
    1. core library
      1. Configuration Human readable, three-level (system, user, application)
      2. User interface (Colours, fonts, keyboard accelerators)
      3. Context-sensitive help launch
      4. Signal/process control
    2. UI library
      1. Toolbars, statusbars, custom menus
      2. Dialog/message boxes
      3. Drag n Drop support for text and URLs (Offix-derived)
      4. General-purpose widgets (screen elements)
    3. File-management library
      1. Allows applications to fetch and send files over networks, using URLs (applications can use files over the internet)
      2. Provides non-blocking network IO without threads
      3. Caching
    4. HTML widget library
      1. Supports most of HTML 3.2
      2. Javascript interpreter
      3. Supports GIF, JPEG, PNG, BMP, XPM inline images
      4. All our documentation is HTML-based
      5. File manager is also a web browser
  4. Easy installation and configuration on many Unices
    1. All applications use GNU autoconf and automake for portability
    2. System-wide configuration can be done for all users and applications
    3. Available in tar.gz, RPM and Debian packages

Current status

  1. Lots and lots of applications
  2. Official status is alpha, but..
  3. most software is atleast of beta quality
  4. No announcements on any newsgroups yet
  5. Target beta status in a month
  6. New application releases and additions to the widget library nearly every day
  7. Over 30 developers, some are writing applications they require
  8. Others are having fun and honing C++ and GUI application authoring skills
  9. Most stable/complete on Linux, but also ported to Linux/Alpha, SunOS, SPARC Linux, Digital UNIX, Irix, AIX

Some of the applications available

  1. Core applications
    1. Window manager, with virtual desktops
    2. Panel with configurable buttons, tasklist, app menus
    3. File manager with URL handling, MIME-awareness, network transparency
    4. Help browser for HTML documentation and manpages (info in development
    5. Web browser (part of File manager)
    6. Terminal emulator based on RXVT
  2. Utilities
    1. text editor, hex editor, simple paintbrush
    2. Alarm-enabled Post It notes, time tracker, Jot-pad
    3. Sound server/library undergoing testing.
    4. Fax, Postscript, DVI, image viewers
    5. CD player, audio mixer, MOD, MPEG players
  3. Network programs
    1. Mail client (developers' release only), news reader, graphical talk client and notification daemon.
    2. Various network/admin utilities - ping, finger, traceroute, user manager, performance meter
  4. Productivity aids
  5. Games

Information Resources and Download Sites

  1. Web site:
  2. FTP site:
  3. Mailing lists
    1. Announcements for application and package updates
    2. KDE developers' forum
    3. Discussion about look and feel issues
    4. Discussion about KDE and Qt licensing policy
    5. General discussion and support forum
  4. To subscribe to a mailing list, say kde-announce, send an email to with "subscribe your@email.address" in the message body (not the subject line).

Last modified: July 1997
Author: Sirtaj S. Kang <>