KDE • Community • Announcements

KDE 2.1 to 2.2 Changelog

This page tries to present as much as possible of the problem corrections and feature additions that occurred in KDE between the 2.1 and 2.2 releases.

Note: gcc 3.0 is not recommended for compilation of KDE 2.2. There are several known miscompilations of production C++ code with this compiler, like i.e. virtual inheritance which is used for example in arts. We know that you will experience a lot of runtime difficulties when you compile with gcc 3.0, so using this particular compiler version is at your own risk, and please do not report bugs to us if you use this compiler. The problems are mostly known and we're working with the gcc team to get them fixed.

KDE Libraries


  • Classes KTipDialog and KTipDatabase added, providing a easy-to-use "tip of the day" dialog. Tips are collected in a tipdatabase in XML format. Used by KDevelop and KOrganizer.
  • Alternating color-changing in listviews (used in Konqueror and KFileDialog)
  • File previews in KFileDialog
  • General file preview classes for mime-type specific file preview implementation
  • Fixed support for QIconSets in QPushButtons in several widget styles.
  • Fixed support for toggle-items with icons in QPopupMenus in several widget styles.
  • Fixed several styles not displaying an arrow on QPushButtons with a popup menu assigned (QPushButton::setPopup()).
  • Improved retrieval of taskbar / window manager icons for windows that do not supply their own icons
  • KBugReport dialog now determines OS specific parameters at run time instead of build time
  • Generic host/domain based global configuration of io-slaves.
  • Applications can now override global io-slave settings.
  • New class 'KArrowButton' used for buttons which point in a certain direction.
  • KProcIO added. KProcIO extends KProcess and eases the processing of stdin/stdout of the child process.
  • Improved application startup notification added
  • for KHML fixes, see the Konqueror section in the KDE Base Package part of this document.
  • new print library including a KPrinter interface class built on top of the KDE print framework, and an enhanced print dialog
  • Meta key & AltGr key can now be used for shortcuts
  • Shortcuts for moving & resizing windows now use Meta key instead of Alt key (when Meta key is present)
  • New widget styles added:
    • MegaGradient highcolor (transparent menus)
    • Web style

KDE Print System

  • based on a plugin architecture, currently supporting: CUPS, LPR, RLPR, external command (Netscape-like), generic LPD
  • complete control on the printer and print options (if possible) via the print dialog
  • print management through a KControl module to manage:
    • printers (add/remove/enable/disable/configure)
    • server (only for CUPS currently)
    • print jobs (cancel/hold/move)
  • configurable filter mechanism: for example to change the number of pages per sheet
  • configurable pseudo printers that send the print data to an external program (PDF writing, faxing, mailing, ...)
  • print job viewer automatically started and docked in kicker


  • applications like noatun or Brahms can easily show guis for configuring effects now
  • support for decoding streams (kio enabled), that is, you can play mp3s off the net (kaboodle is a player that uses this interface)
  • structures designed by artsbuilder can be used as modules again
  • support for changing the playing speed/pitch of PlayObjects
  • Endianness fixes for big endian platforms such as Solaris/SPARC
  • "out-of-the-box" support for Solaris and AIX
  • Glib2.0 mainloop support via libgmcop
  • Threading support via libmcop_mt
  • MIDI timing and performance improvements
  • New artsd -s option that allows setting the auto-suspend time
  • artsshell status now displays all of the server audio parameters
  • New artsshell autosuspend option to change auto-suspend time
  • New artsd -m option that passes reporting of sound server errors to an external program
  • New artsmessage program which displays artsd errors using a KDE dialog
  • KDE sound control panel now allows setting the auto-suspend timeout and the message display program. The artsmessage command is enabled by default.
  • New artsd -N and -w options for setting larger network buffers


  • Icon highlighting (gamma effect) by default enabled for Desktop/Filemanager and Panel groups
  • New set of 64x64 for mimi-type icons added
  • General polishing of icons
  • Dithered icon is used instead of low-color icon when no low-color icon is available

KDE Base Package


  • NumLock turn on during startup now possible
  • Improved application startup notification by a busy cursor displayed by the starting application's icon that can additionally blink. KControl module for configuration added (see KControl)
  • new filepreviews for KDesktop and Konqueror: pdf/ps, sound files (web-archives see kdeaddons package)
  • New option to refresh desktop
  • New keyboard shortcuts for Window and Desktop Screenshot


  • KHelpCenter is an application of its own again unlike the former Konqueror plugin
  • The Helpsystem is now completely based on XML and converted to HTML via libxml2
  • Added a glossary which explains various KDE-, X- and Unix-related terms.


  • Kate is a new, enhanced Editor application in the kdebase package based on the kwrite part
  • plugin architecture
  • split-view capable
  • includes filebrowser for simple project management


  • KDM now consists of three programs: kdm, kdm_config and kdm_greet. You needn't to care for the latter two, just don't be surprised.
  • The configuration changed a lot. KDM does not any longer share its configuration with a possibly installed XDM. KDM's config files are now all located in the kdm/ subdirectory of your KDE config directory. All settings from the former xdm-config have moved to kdmrc. You may use some of the files from the XDM configuration directory (usually /usr/X11R6/lib/X11/xdm) as templates for KDM's config. Don't blindly copy everything, as it might cause unexpected problems. Note that subsequent "make install"s won't overwrite your customized configuration any more.


  • taskbar grouping of windows
  • More configuration options for extension panels
  • Auto-hide time can be set to zero
  • Redesign of control module
  • size of kicker can now be set in percent of the screen width
  • text-fade out effects in taskbar
  • Panel is now shown when switching desktop
  • Clock Applet: now has plain mode
  • System Tray: lock/logout icons now have RMB menu
  • Many new applets like kworldclock, fifteen pieces, character picker and more
  • New keyboard shortcut "Toggle Showing Desktop"
  • Pinnable menus
  • KAppfinder: Terminal applications are put into sub-menus


  • AbBrowser has been renamed to KAddressBook
  • Import of arbitrary lists of comma-seperated values
  • Export of addressbook as list of comma-seperated values


  • Size of history can be limited to prevent filling up of disk.
  • schema editor
  • New keyboard shortcut to start a new session (Ctrl-Alt-n), definable as "newSession" in Keytabs files


  • Properties dialog now shows free disk space on current partition, e.g. "39.7MB/968.3MB (90% used)"
  • New configuration for whether to start a new process for new windows or reuse an existing one
  • New configuration for user-defined CSS stylesheets
  • Proxy support re-engineered, socks and IPv6 support added (in kdelibs)
  • Save toolbar layout in profile
  • Fixes for full-screen mode
  • Fixes for reload, detects mimetype changes
  • "Enter" button in the toolbar
  • "Most Often Visited" URL list in the Go menu
  • New sidebar added as Extended Sidebar that has single/multiple view switching and uses dockwidgets. The categories in the old sidebar can be used as single windows and new windows added by URL.
  • Close button for vertical sidebars
  • "Send Link", "Send File" and "Open With Mozilla" functionality (File menu)
  • New option to stop animated gifs in RMB context-menu.
  • Konqueror introduction can be restarted at any time with Help/Konqueror Introduction.
  • Many improvements to the completion (and including bookmarks into it)
  • KHTML: rewritten Event Handling for more precise DOM2 conformance.
  • KHTML: as usual a huge pile of bugfixes and workarounds for legacy HTML, some small performance improvements.
  • KHTML: improved ECMA bindings, better floating and inline boxing layouting for improved CSS2 conformance and compatibility.
  • KHTML: A small number of memory leaks and quite a few causes for crashes removed.
  • KHTML: Extended the DOM bindings for CSS and parts of DOM3 recommendation.
  • KHTML: theming support (currently colors only) for form widgets.
  • KHTML: extended compatibility with IE's parsing and tokenisation fallbacks for really malformed HTML.
  • Javascript: Support for history navigation (back/forward/go...)
  • Javascript: Garbage collector fixes
  • Javascript: LiveScript backward compatibility
  • Bookmark Editor: Use UTF-8 for Mozilla bookmarks
  • Bookmark Editor: Some useability improvements, added Create Bookmark
  • Find File component: Save and restore the found items into the history
  • List View and Tree View: many fixes and improvements


  • KPersonalizer (Desktop Settings Wizard) is a new application in KDE 2.2
  • KPersonalizer configures KDE to fit your personal tastes and habits
  • On the first KDE start, KPersonalizer comes up allowing to set your preferred language, keybindings, color scheme, theme and the amount of graphical effects. It especially aims to make it easy and safe for new users to set up KDE to fit their basic needs and habits to ensure maximal productivity from the very beginning.
  • The personalizer can be started any time via K->System->Desktop Settings Wizard
  • in favor of the maximum functionality, a new soundscheme has been added for KWin events (e.g.maximizing window)
  • a default wallpaper for KDE has been added (default_blue.jpg)

KWin (KDE Window Manager)

  • support for xinerama (multi-head) added
  • new keybindings added for various functions (e.g.Alt+Tab, Ctrl+Tab are now configurable), see kcontrol
  • no flickering during virtual desktop switches
  • started applications appear on the virtual desktop that was active when they were started
  • fix : SkipTaskbar flag now works correctly
  • kwin has a new Window Decoration kcontrol module including:
    • style selector
    • drag and drop button position selector
    • support for kwin style configuration plugins
  • New KWin decoration styles added:
    • quartz
    • IceWM (native IceWM theme reader)
    • MWM
    • Web

KControl (KDE Control Center)

  • About module information added. When a module is loaded, the information can be retrieved by Help->About module..
  • Each group has an information page listing all modules of the group plus short description as a link, clicking on the link loads the module.
  • New Modules:
    • Launch feedback: application startup notification configuration module (kicker notification, busy cursor)
    • USB info module: displays information about the currently connected USB devices
    • KWin decoration module: due to the growing amount of window decorations, a kcontrol module configures the window decorations. Includes customization and theme support for iceWM themes.
    • Configuration of user defined stylesheets (CSS) module
    • Konsole configuration module
    • Audio CD ripping configuration module (MP3, Ogg Vorbis format options)
  • Changed/rewritten modules:
    • Kicker
    • Mouse module
    • Keybindings module has undergone new keybinding schemes plus configuration options
    • allmost all other modules have been revised for usability and geometry management fixes
    • Integrated "GTK Theme Importer"
    • User Agent setup


  • Added libkscreensaver to ease development of KDE screensavers

KDE Network Package


  • Kdict, a dictionary program, has been added to kdenetwork.
  • Kdict is a graphical client for the DICT protocol. It enables you to search through dictionary-like databases for a word or phrase, then displays suitable definitions. Kdict has support for all protocol features, a separate list of matching words for advanced queries, configurable database sets, a browser-like user interface, convenient interaction with the X-clipboard, configurable HTML output and printing.


  • IMAP support including SSL and TLS
  • SSL and TLS support for POP3
  • Configuration for SASL and APOP authentication
  • Non-blocking sending
  • Performance improvements for huge folders
  • Message scoring
  • Improved filter dialog
  • Automatic filter creation
  • Only the selected part of a mail will be quoted on reply
  • Forwarding of mails as attachment
  • Delete only old messages from the trash folder on exit
  • Collapsable threads
  • Multiple PGP identities
  • Bind an SMTP server to an identity
  • Better procmail support via the local account
  • Messages can be flagged
  • Read the new messages by only hitting the space key
  • Automatic popup address completion (similar to Konqueror)


  • New scoring system:
    • User definable scoring rules with conditions based on the overview data and configurable actions (currently score value adjustment and notification)
    • Full-fledged regular expressions which can be used in scoring and filter conditions.
  • Reduced memory consumption. Its now configurable how much RAM is used to cache article bodies and headers.
  • KNode now uses dock widgets for its views, the user can arrange them in any way he wants. Added the shortcuts 'g', 'h' and 'j' to switch to group, header and article view.
  • Improved article handling:
    • User-defined folders
    • DnD between folders and groups
    • Convenient mbox-folder import/export
    • Nice in-place renaming of accounts, folders and groups
    • New menu option that expires all groups of the current account and a option that compacts all folders on demand.
    • New expire-feature: delete article headers that aren't available on the server
    • Implemented "Smart Scrolling" (TM) in the listviews and in the groupbrowser
    • added option to expand all threads by default
    • The configuration dialog has a new page "Navigation" which features the following new options:
      • emulation of the cursor key behaviour of KMail
      • the "mark all read", "mark thread as read" and "ignore thread" actions can now trigger additional actions.(close thread, go to next thread/group)
  • Reading news articles:
    • Proper handling of crossposted articles, they are marked as read simutaneously in all groups.
    • Ignored articles are now automatically marked as read
    • Added option to retreive the article source
    • New menu option: fetch an article by message-id
    • Added option to retreive an article from groups.google.com if it's unavailable on the local server
    • Trailing empty lines can be stripped from incoming articles
    • Highlighting of "news:" and "mailto:" urls, all email-addresses and msgids
    • It's now configurable what characters are recognized as quote signs
    • It's now possible to disable the fancy header decorations, saves space on small displays
    • The word wrap behaviour of the article widget is now configurable
    • Added a menuoption and a keyboard shortcut that switches from proportional to fixed font in the article viewer
    • Its now possible to deactivate the tree view in the group subscription dialog.
  • Enhancements of the article composer
    • Optional integration of KMail and other external mail programs
    • Full support for the Mail-Copies-To header
    • Added placeholder for the group name in the attribution line
    • Support for dynamically generated signatures
    • Added option to place the cursor below the attribution line, not above the signature (off by default)
    • Implemented forwarding of articles with attachments
    • Files can now be attached to an article with Drag&Drop
  • Improved article filters and search function:
    • Filter rules for numerical values are more flexible now, its possible to filter something like "x < value" or "x > value", not just ranges.
    • Its now possible to filter on the message-id and references header
    • The search function can show complete threads now (optionally)
    • Its now possible to search in folders
  • Network related improvements:
    • Articles are no fetched via article number instead of article-id to avoid problems with broken newsservers
    • Enhanced dupe protection, utilizing the "recommended id" feature of newer inn's
    • Shows a password-dialog when the server requests authentication
    • Support for IPv6 and SOCKS-proxies


  • Added many more news sites to KNewsTicker's default list of news feeds.
  • The configuration dialog got complete redesigned.
  • It's now possible to specify filters to make KNewsTicker scroll only certain headlines along.
  • You can now associate icons to news sources (and have those icons shown in the scroller) to make it easier to associate a headline with a news source.
  • Dragging a headline from the news ticker to a Konqueror window will open the corresponding article in that Konqueror window.
  • It's possible to make the scroller slow down by 50% as soon as the mouse hovers over it to make it easier to click on a headline.
  • There are two new scrolling modes which rotate the headlines by 90 or 270 degree, those are especially useful if the news ticker is used in a vertical panel.
  • The DCOP interface got vastly improved, it's now possible to influence pretty much every aspect of the look and feel of the news ticker via DCOP.
  • You can now arrange the newsfeeds into categories such as "Arts", "Science" or "Computers" to make it easier to handle large lists of news feeds.
  • KNewsTicker now extends Konqueror's file properties dialog, right-clicking on any RDF or RSS file will show an additional tab which lists various interesting information.
  • Added precommand support, you can use various scripts (like those in kdeaddons/knewsticker-scripts) which transform arbitrary input data into RSS with KNewsTicker transparently.


  • Password changing is available
  • Changing buddy list doesn't make you appear to blink offline anymore
  • *Not* in violation of AOL trademark

KDE Admin Package

  • Redesigned user interface for KUser
  • Configurable source files for NIS support resolving a bug caused by hardcoded filenames in KUser
  • KDat has been removed due to lack of maintainership and user demand. Please notify if this application is still needed to make a separate package and provide that seperately.
  • KCron has been generally improved

KDE Graphics Package

Kooka + libkscan (kdegraphics)

  • KDE wide scanner support added
  • Kooka - Scanning Application added

Pixie removed

  • Due to Daniel M. Duley's stopping of active contribution inside the KDE Project, the graphics viewer Pixie has been removed and is now maintained by Daniel outside the KDE CVS and kdegraphics package. See www.mosfet.org for updates on Pixie.

KDE PIM Package (KDE Personal Information Manager)


  • Kandy is a new application, which has been added to the kdepim module.
  • Synchronizes phonebook data from mobile phones with the KDE address book.
  • Provides a terminal application for communication with the mobile phone.
  • Supports phones with GSM compatible modem


  • "What's next" view
  • Journal feature
  • Switch to iCalendar as default file format
  • Active remote calendar
  • Sending events via KMail
  • Tip of the Day
  • HTML export of month view
  • Experimental project view (Gantt diagram)
  • "Percent Completed" setting for todos
  • Filter facility (select categories, hide recurring, hide completed)


  • Synchronization of address book

KDE Utilities Package


  • Switched to new code base, Kasbar TNG
  • Now uses the task manager API
  • Startup notifier support
  • Dynamically updated window thumbnails
  • Drag-over task switching
  • Added configuration and about dialogs
  • Support for large, medium and small sizes
  • Modified window indicator
  • Better icon handling
  • Support for grouping related tasks together

KDE Multimedia Package

Noatun (KDE Media Player)

  • Equalizer Presets and support for preamplification
  • An improved Plugin API
  • Support for restarting aRts when required
  • Hardware mixer support is now optionally available
  • The KJofol skin loader is much more robust
  • An improved plugin configuration page
  • External visualizations allowing other applications to bind to noatun
  • Tron playlist is aware of tag information
  • Tron playlist can remember the volume level for files
  • Tron playlist has Add Directory action
  • Standard interface (Excellent) now remembers its state and toolbars
  • see the KDE Addons module for more plugins.

KDE Games Package

  • Two new games added: KBattleship and KLines
  • Most games share a common highscore mechanism - KHighscore. This leads to further enhancements in several games.
  • KMines even provides world wide highscores at http://kmines.sourceforge.net
  • Most games use the default KDE shortcuts and menu entries using KAction/KStdAction/KStdGameAction
  • The game menu has been split into categories
  • A new set of cards for the card games
  • Some new classes for libkdegames added
  • Bugfixes

KDE Bindings

kdebindings provides 'Koala', a full set of Qt and KDE Java api bindings:
  • JNI based wrappers for over 700 Qt and KDE classes
  • Full Java support for Qt features such as slots/signals, subclassing event handlers, and event filtering.
  • KDE Java apps look and behave identically to their C++ equivalents

KDE Addons module

  • kdeaddons is a new module in KDE's CVS that collects plugins and parts for various KDE applications
  • Kicker applets:
    • kolourpicker is an applet that lets the user choose a color
    • ktimemon is a system monitor applet that was formerly in the kdebase package
  • Konqueror plugins/parts:
    • Babelfish plugin: translates a webpage via AltaVista's Babelfish. Places itself into Konqueror's toolbar and allows the selection of the destination and target language
    • Directory filter: shows a filter for the mime-types of the current directory displayed in Konqueror, so the user can e.g. filter the current view for all images
    • DOM Treeviewer: a plugin that displays the DOM tree of a webpage
    • KHTML Settings plugin: makes the settings for configuring the KHTML part of Konqueror easier as it offers enabling/disabling things like Java or Javascript available in a popup menu in the toolbar
    • Imagegallery plugin: creates an imagegallery HTML page in any folder with images. Large collections of images can be easily handled, especially if the gallery is named index.html and Konqueror prefers displaying an index.html file over the directory contents.
    • User Agent changer: provides the same functionality as the user agent settings in Konqueror's configuration but with a simple popup menu, so the user can change the user agent setting on a webpage immediately.
    • HTML Validator: checks the current webpage for correct usage of HTML through W3C check
    • Webarchiver: Archives webpages on demand in a .war file that can be used later in offline mode. It simply not only saves the HTML page but also all the images on the page as well as other contents.
  • Noatun (KDE Media Player) plugins
    • Alarm plugin: plays the music at a certain time
    • Blurscope plugin: A blurring SDL-based monoscope
    • Luckytag plugin: Guesses titles based on filename
    • Noatun Madness: moves your windows in the rythm of the music played by Noatun
    • Synaescope: another impressive SDL base visualization, based on the program Synaesthesia
    • Tippecanoe: a slightly different version of the Synaescope
    • Tyler: A port of XMMS's Infinity
  • Kate (the new editor in KDE based on Kwrite) plugins
  • KNewsTicker scripts
    • fyensget.py - makes it possible to monitor news from the Danish news site ">Fyens Stiftstidende" with KNewsTicker.
    • stock.pl - turns KNewsTicker into a realtime stock ticker.
    • newsrss.pl - allows you to monitor arbitrary USENET newsgroups with KNewsTicker as it can scroll the most recent postings along your ticker with this script.

KDE Artwork module

  • kdeartwork is a new module in KDE's CVS that provides extra artwork like wallpapers, widget styles, window decorations, themes and more.
  • low-color icons have been moved to kdeartwork

KDevelop Package

  • version number is now 2.0
  • KDevelop's user interface has been enhanced with the usage of the multiple document interface architecture, allowing to view several windows. Also several views for the same file can be used.
  • the view mode can be switched between childview mode, toplevel mode and tabview mode
  • a new configuration wizard (based on QWizard) replaces the old, messagebox based one.
  • dockwidget usage has been extended to dock/undock the tabulator windows in the Treeview and Outputview
  • new templates for implementing a KDE/Qt style library and KControl modules have been added.
  • the kde-common/admin copy (admin.tar.gz) has been updated to the latest version in KDE CVS. Users of versions prior to 2.0 are advised to update their project's admin directory with that to support newer versions of autoconf and automake.
  • KDevelop now uses the new tip of day dialog from kdelibs
  • the user manual has been extended to match the new GUI layout plus adds a chapter for using Qt Designer with KDevelop projects

KDE SDK Package

  • KSpy: a utility library to examine the internal state of a Qt/KDE application. Graphically displays all QObjects in use and alllows browsing their properties.

Global navigation links