Day 2: Conferences: KDE 2.0 features
Kurt Granroth, KDE developer/Evangelist who works at Suse, gave the current
state of affairs for KDE 2.0.
He started with the common question: When will KDE 2.0 be released?
The answer is quite naturally: When it's ready
(probably sometime in september though)
I tried to take notes as fast as I could, but Kurt covered a lot of things
and his slides were hard to photograph because he would unfold additional
bullets as he went along, leaving me to guess if the slide was ready for a
picture or not .
A static version of his slides is now linked on the
KDE slide page and can be found
here
If you spawn a second browser to look at his
slides while you read the
bullet points, you'll be able to see the screenshots he showed
He started with the new features in KDE:
- Icons have been redrawn now that KDE has themes, as you can have colorful
themes for most people, and low color themes for those who have only 256 colors
or less.
- Enhanced panel with applets (just like gnome)
- New look thanks to themes support
Major parts of KDE:
- kwin
- complete rewrite (NetWM compatible, i.e. WM spec for interoperability)
- kicker uses plugins, it's no longer monolithic
- smaller, faster, ligher, more customizable
- menubars are executable plugins (they can move)
- kdesktop
- It's a complete rewrite of krootwm + kfm
- handles icons, desktop functions, run dialog and background
- kicker
- Complete rewrite of old kpanel
- improved K Menu (faster, better layout), applet support
- Applets may run as dynamically loaded plugins
- May also run applets as external programs (in case the applet can crash)
- kcontrol
- Major rewrite
- Quick help for each panel
- Keyword based search
- Treeview or iconview mode
- Lots more config panels
- khelpcenter
- Replacement of old kdehelp utility
- Not just simple browser, intelligent layout and search functions
- Sidebar with system and KDE documentation (also man and info)
- Full text search with ht://dig
- Entirely component based
- Konqueror - the "everything" browser
- So full featured, it could have its own slide show and session
- Replacement of kfm, but 100% component based instead of monolithic
- Can view and document, filesystem or protocol if component exists
(local, web, ftp, nfs, windows, pdf/ps docs, graphic files)
- Entirely component based
Random features
Widget theming
- Possibly the most visible change to KDE: themed pushbutton, checkboxes
- Unthemed styles are C++ plugins
- Themed or pixmap styles (look and feel described in text files using
gradients or pixmaps)
- Can use Gtk+ pixmaps themes
Country and language features
- KDE 2.0 supports more countries and languages (80 countries and 40
languages)
- Unicode
- Bidirectional support for Hebrew
- Country specific support for time, date, money, and numbers
Icon themes
- KDE 1.x icon handling was flawed, KDE 2.0 fixed that
- Current icons grouped by themes
- They're broken down into size and type (app, device, etc...)
- They can simply be dropped into an icon subdir and selected by user
- Icon effects may be applied on the fly
Accessibility Options
- This got introduced in KDE 2.0
- Large cursor, flashing or inverted screen for warning bell.
- Stick or slow keys
- Mouse less control
Other cool features
- After many requests, now possible to choose single or double click
- Macintosh style menubars (on top of screen)
- "Application in process of starting" notification
- Execute root only config panels without logging out
Major subsystems of KDE 2.0:
KDE subsystems were the most worked on parts of KDE, the new features really
come from the new infrastructure.
- DCOP (Desktop Communication Protocol)
- It handles the client to client communication.
- You can send system wide calls (signals) or remote procedure calls (RPC).
- You can talk to it through C++ or C bindings (with no Qt or KDE code).
- Simple IDL mechanism for object based RPC
- App starting and "unique" apps are the most common users now
- Most if not all KDE apps will have DCOP interfaces
- XML-RPC to DCOP gateway daemons allow for scripting
- KIO (network transparent I/O)
- It could be the single coolest part of KDE
- Done with drop-in plugins
- Small protocol handlers ("io slaves') written for each protocol
- The application just sends a request (e.g. URL) and gets the answer
- Sycoca (system configuration cache)
- SYCOCA is part of KIO, it handles system configuration
- Which app can handle PDF? What is the icon for PDF?
- Text files are easy to edit and hard to corrupt, but slow to access
- SYCOCA continually updates a binary cache copy of text data
- Queries are quick, and the binary file can be rebuilt without losing
data
- KParts
- Kparts is the KDE graphical component technology
- The components can be embedded into other applications
- It takes care of the GUI building, component activation and actual
embedding
- Kparts design mimics the Qt/KDE object model as closely as possible
- Even novice Qt programmers find KParts intuitive
- Apps can be converted very quickly (less than 30mn for KDE 1.x apps and
10mn for KDE 2.0 apps)
- KHTML
- KHTML is the next generation HTML library for KDE
- probably the best designed Open Source HTML library in existence
- One of the most feature complete HTML libraries (after mozilla)
- Very easy to call and use from a program
- XMLGUI
- It's a dynamic GUI architecture
- It builds menues and toolbars dynamically using XML layout file
- All KDE applications have the capability and most use it
- KDE has a global XML file that implements the KDE style guide
- End result is a GUI that automatically confirms to the KDE GUI standards
- 5x less time code
- permits user customization
- aRts
- Analog Realtime synthesizer
- In its simplest form, it's a replacement for KDE 1.x kaudioserver
- Ability to mix sounds, play more formats and play over the network
- It's a full featured multimedia streams manipulation system
- You can insert plugins/filters
- It's optimized for realtime filtering of live feeds
- There is a wrapper for legacy programs like quake
- It's LGPL and uses no Qt or KDE code, so it can be used anywhere
After his presentation, we had a quick Q&A session:
- How about Eazel and Nautilus? Not that much, but they want to work with KDE
too
- How about KDE working on Qt embedded? Hopefully
- How about using Esound? KDE was going to use Esound but aRts came around and
offered the same capabilities and more, so they chose that
- How about resources? KDE 2.0 apparently uses less resources than KDE 1.x
- Any formal testing of KDE 2.0? No
- Any formal backing? Not yet, but there is a lot of interest in it.
Email
Link to Home Page
2000/08/22 (22:36): Version 1.0
2000/08/23 (22:36): Version 1.1. KDE slides just became avaiable, I added a
link to them