# Technologies

Akonadi

The data storage access mechanism for all PIM (Personal Information Manager) data in &kde; SC 4. One single storage and retrieval system allows efficiency and extensibility not possible under &kde; 3, where each PIM component had its own system. Note that use of Akonadi does not change data storage formats (vcard, iCalendar, mbox, maildir etc.) - it just provides a new way of accessing and updating the data.&newpara; The main reasons for design and development of Akonadi are of technical nature, ⪚ having a unique way to access PIM-data (contacts, calendars, emails..) from different applications (⪚ &kmail;, &kword; &etc;), thus eliminating the need to write similar code here and there.&newpara; Another goal is to de-couple GUI applications like &kmail; from the direct access to external resources like mail-servers - which was a major reason for bug-reports/wishes with regard to performance/responsiveness in the past.&newpara; More info:&newpara; &linkstart;"http://pim.kde.org/akonadi/"&linkmid;Akonadi for KDE's PIM&linkend;&newpara; &linkstart;"http://en.wikipedia.org/wiki/Akonadi"&linkmid;Wikipedia: Akonadi&linkend;&newpara; &linkstart;"http://techbase.kde.org/Projects/PIM/Akonadi"&linkmid;Techbase - Akonadi&linkend;

&GUI; &kde;
ARts

The sound framework in &kde; 2 and 3. Its single-tasking nature caused problems when two sources of sound were encountered. In the &plasma; desktop it is replaced by Phonon.&newpara; More info:&newpara; &linkstart;"http://en.wikipedia.org/wiki/ARts"&linkmid; Wikipedia: ARts&linkend;&newpara; &linkstart;"http://www.arts-project.org"&linkmid;ARts home page&linkend;

&kde; Phonon &plasma;
D-Bus

D-Bus or Desktop Bus is an inter-service messaging system. Developed by &RedHat;, it was heavily influenced by &kde; 3 DCOP, which it supersedes. Most POSIX operating systems support D-Bus, and a port for Windows exists. It is used by Qt 4 and GNOME.&newpara; More info:&newpara; &linkstart;"http://freedesktop.org/wiki/Software/dbus/"&linkmid;FreeDesktop.org: What is D-Bus?&linkend;&newpara; &linkstart;"http://en.wikipedia.org/wiki/D-Bus"&linkmid;Wikipedia: D-Bus&linkend;

&DCOP; GNOME &kde; &Qt;
DCOP

DCOP, which stands for Desktop COmmunication Protocol, is a light-weight interprocess and software componentry communication system used in &kde; 3. Replaced with &DBus; in &kde; SC 4.&newpara; More info:&newpara; &linkstart;"http://en.wikipedia.org/wiki/DCOP"&linkmid;Wikipedia: DCOP&linkend;

D-Bus &kde;
Flake

Flake is a programming library to be used in &koffice;/Calligra. Functionally, it provides Shapes to display content and Tools to manipulate content. Shapes can be zoomed or rotated and can be grouped to work as a single Shape, around which text flow is possible.&newpara; More info:&newpara; &linkstart;"http://community.kde.org/Calligra/Libs/Flake"&linkmid;&kde; Community Wiki: Flake&linkend;

&kde; KParts
Get Hot New Stuff

&emstart;G&emend;et &emstart;H&emend;ot &emstart;N&emend;ew &emstart;S&emend;tuff (GHNS) is an open standard that makes it easy for users to download and install various extensions for their applications. Our implementation of GHNS is used by &plasma; (for example to get new desktop themes), and by many applications and widgets.&newpara; More info:&newpara; &linkstart;"http://ghns.freedesktop.org"&linkmid;Home of GHNS&linkend;&newpara; &linkstart;"http://lwn.net/Articles/227855/"&linkmid;An article on GHNS in &kde; SC 4&linkend;

&kde; &plasma;
GHNS

GHNS is the acronym of Get Hot New Stuff.

Get Hot New Stuff
IO Slave

IO Slaves enable &kde; applications to access remote resources as easily as local resources (making them "network transparent"). Remote resources (⪚ files) might be stored on SMB shares or similar.

SMB &kde;
KHTML

KHTML is the &HTML; rendering engine for the &kde; &plasma; desktop, as used by the &konqueror; browser. It also provides a KPart that enables all &kde; applications to display web content. A new introduction, &Qt; WebKit is also for Plasma and other application development.

&kde; &konqueror; KParts &plasma; WebKit
KIO

The &kde; Input/Output system which makes use of so-called "IO Slaves".

IO Slave &kde;
Kiosk

Kiosk is a framework for restricting user capabilities on a &kde; platform system, ideal for use in locked-down environments such as Internet cafés. It is present in &kde; 3 and &kde; 4, but the administration tool, Kiosktool is &kde; 3 only. It can be used to configure &kde; 4 applications, or kiosk configurations can be maintained by editing config files manually.

&kde;
KParts

KParts is an embedding technology which allows &kde; applications to embed other &kde; applications. For example, the text view used by &konqueror; is a KPart.

&konqueror;
KSycoca

KSycoca (&kde; &emstart;Sy&emend;stem &emstart;Co&emend;nfiguration &emstart;Ca&emend;che) is a configuration cache which, for example, guarantees fast access to the menu entries.

KBuildSycoca
Phonon

A cross-platform multimedia API, interfacing with existing frameworks, such as gstreamer and xine engines. &kde; 2 and 3 depended on aRts for sound. Phonon replaces it.&newpara; More info:&newpara; &linkstart;"http://en.wikipedia.org/wiki/Phonon_(KDE)"&linkmid; Wikipedia: Phonon (KDE)&linkend;&newpara; &linkstart;"http://phonon.kde.org"&linkmid;Phonon website&linkend;

&arts; &kde;
Solid

Solid provides a single API for hardware management. Hardware is grouped into 'domains'. Since the backends for Solid are pluggable, Solid helps application developers write less code, and have it platform independent.&newpara; More info:&newpara; &linkstart;"http://solid.kde.org"&linkmid;Discover Solid&linkend;

&kde;
Threadweaver

This thread programming library spreads work among multiple-core processors where available, prioritizing them before queuing them for execution. ThreadWeaver provides a high-level job interface for multithreaded programming.&newpara; More info:&newpara; &linkstart;"http://www.englishbreakfastnetwork.org/apidocs/apidox-kde-4.0/kdelibs-apidocs/threadweaver/html/Why.html"&linkmid;Why Multithreading?&linkend;

&kde;
WebKit

HTML rendering engine, originating from a fork of KHTML. Adopted by Apple and developed for Safari. Webkit brings the whole functionality back to &kde; SC 4, where it is available through &Qt;.&newpara; More info:&newpara; &linkstart;"http://webkit.org/"&linkmid;WebKit home page&linkend;&newpara; &linkstart;"http://en.wikipedia.org/wiki/Webkit"&linkmid;Wikipedia: WebKit&linkend;

&kde; KHTML

## X.Org

Antialiasing

If mentioned in context with &kde;, anti-aliasing often means the smoothing of the fonts visible on the screen. &Qt; version 3.3 or higher used together with X.Org server makes this possible under &kde; as well.

&kde; &Qt;
&X-Server;

The &X-Server; represents a basic layer upon which the various &GUI;s like &kde; are built. It manages the basic mouse and keyboard input (from the local host as well as from remote hosts) and provides elementary graphic routines to draw rectangles and other primitives.

&kde; &GUI;

## Applications

Dolphin

The default file manager in &kde; SC 4. It has a side panel (Places), but navigation is mainly by the 'breadcrumb' trail above the main window. Split windows are possible, and views can be applied to individual windows. Mounting and unmounting USB devices can be done in the side panel. Other directories can be added to the Places panel. A Tree view is also possible.&newpara; More info:&newpara; &linkstart;"http://en.wikipedia.org/wiki/Dolphin_(software)"&linkmid;Wikipedia: Dolphin&linkend;&newpara; &linkstart;"http://introducingkde4.blogspot.com/2007/12/dolphin.html"&linkmid;Introducing KDE 4 Blog - Dolphin&linkend;&newpara; &linkstart;"http://userbase.kde.org/Tutorials/File_Management"&linkmid;Userbase: File Management Tutorial&linkend;

&kde; &konqueror;
KBuildSycoca

KBuildSycoca4 is a command line program and regenerates the so-called KSycoca. This is useful, for example, if some or all modules in &systemsettings; are missing.

KSycoca &systemsettings;
KInfoCenter

Kinfocenter originated as part of Kcontrol standing alone from KDE 3.1. In KDE SC 4 it is replaced by modules configured in System Settings, notably Solid, and is being reintroduced as an application in &kde; SC 4.5.&newpara; More info:&newpara; &linkstart;"http://en.wikipedia.org/wiki/Kinfocenter"&linkmid;Wikipedia: KInfoCenter&linkend;

&kde; Solid &systemsettings;
&konqueror;

&konqueror; is a web browser, picture viewer, file manager and more, and a core part of the &kde; project. You can find more information about &konqueror; at &linkstart;"http://www.konqueror.org"&linkmid;www.konqueror.org&linkend;.

&kde;
KRunner

The mini-command-line that is accessed from the Classic menu, the keyboard shortcut &Alt;+F2, or a right-click on the desktop. In &kde; SC 4 a partial name will display all possible matches.&newpara; More info:&newpara; &linkstart;"http://userbase.kde.org/Tutorials/Krunner"&linkmid;UserBase: KRunner Usage&linkend;

&kde; &plasma;
KWin

KWin is the window manager. This is where window decorations can be changed and themes applied. &kde; SC 4 extends KWin to provide support for 3D Compositing effects on the desktop.&newpara; More info:&newpara; &linkstart;"http://userbase.kde.org/KWin"&linkmid;UserBase: KWin&linkend;

&kde; &X-Server;
Mini-CLI

Mini &emstart;C&emend;ommand &emstart;L&emend;ine &emstart;I&emend;nterface. Synonym to KRunner.

KRunner
Pager

A pager is a small program or panel applet which shows the position of windows on your desktop and usually if you have several Virtual Desktops gives an overview over all.

&kde; Kickoff Kicker Panel &plasma; Virtual Desktops
&systemsettings;

This is the project and filename of the &kde; control center. &systemsettings; allows you to customize virtually every configuration option of &kde;.

&kde; KInfoCenter

## Desktop Terminology

Activities

Activities are sets of &plasma; widgets that have their own wallpaper&newpara; A bit like Virtual Desktops, but not quite. For example you have a "work activity" with commit rss feeds, a note with your TODO, a Folder View with your work related files, and a subtle wallpaper.&newpara; Next to it, you have your freetime activity, with previews of family photos and dogs, rss feeds from your favorite blogs, a Folder View showing your movie collection, a twitter applet and of course that Iron Maiden wallpaper you have been loving since the early 80s.&newpara; At 17:00 hours sharp you switch from the work activity to your freetime activity.&newpara; More info:&newpara; &linkstart;"http://userbase.kde.org/Plasma"&linkmid;Plasma FAQ&linkend;

&kde; Virtual Desktops
Containment

A Containment is a top level grouping of widgets. Each Containment manages the layout and configuration data of its set of widgets independently from other Containments.&newpara; The end result is that you can group widgets within a Containment according to the significance to your working pattern, rather than by directory grouping.&newpara; More info:&newpara; &linkstart;"http://userbase.kde.org/Plasma"&linkmid;Plasma FAQ&linkend;

&kde; Widget
Drag and Drop

This concept tries to replace many actions like copying files from one place to another by a certain mouse movement, ⪚ clicking on an icon in a &konqueror; window, moving the mouse to another window while keeping the mouse button pressed, and releasing the mouse button ("dropping" the object) copies files.

&konqueror;
Extender

Extenders are a special kind of popup that can grow out of a &plasma; panel for example. Extenders have detachable parts. Extenders are a new concept that arrived in &plasma; for &kde; 4.2. The Kuiserver (the interface that collects all long running jobs and puts them into one window) will make use of extenders so you can detach various jobs and monitor their progress separately.&newpara; More info:&newpara; &linkstart;"http://userbase.kde.org/Plasma"&linkmid;Plasma FAQ&linkend;

&kde; &plasma;
GNOME

&emstart;G&emend;NU &emstart;N&emend;etwork &emstart;O&emend;bject &emstart;M&emend;odel &emstart;E&emend;nvironment, one of the leading &UNIX; &GUI;s.

&GUI;
&GUI;

Abbreviation for &emstart;G&emend;raphical &emstart;U&emend;ser &emstart;I&emend;nterface. Every desktop environment (like &kde;) is a &GUI;. Most &GUI;s feature mouse support and/or windows to manage the programs.

&kde;
Home Directory

That's the place in system, where all your files are kept. You can write your files outside of this folder, but all applications are configured to propose this folder as place to write your files to. And this is easier, when you are keeping your things here.&newpara; More info:&newpara; &linkstart;"http://en.wikipedia.org/wiki/Home_directory"&linkmid;Wikipedia: Home Directory&linkend;

&dolphin;
&kde;

Abbreviation for "K Desktop Environment", a leading &GUI; for &UNIX;-based systems. You can find more detailed information at &linkstart; "http://www.kde.org"&linkmid;www.kde.org&linkend;.&newpara; &kde; is more than just software. It is a community made up of programmers, translators, contributors, artists, writers, distributors, and users from all over the world. Our international technology team is committed to creating the best free software for the desktop. And not only contributors, but users and fans of &kde; software can be found throughout the entire globe, giving help to other users, spreading the news, or just simply enjoying the experience.

&GUI;
&kicker;

In &kde; 3, the relocatable bar, usually at the bottom of the screen (sometimes called the Panel), on which application launchers, the Pager, and buttons for running applications reside.

Panel &plasma;
&kickoff;

In &kde; SC 4 (and some late versions of &kde; 3), a launch menu in which apps are sorted by functional group. 'Favorites' replaces the 'Most used applications' in Classic Menu, and applications can be added to it. Right-click also offers the possibility of adding applications to the desktop or panel. Rapid access to a less-used application can be by the search box. Other menus are being worked on, since &kde; SC 4 can be used with more than one launcher, should that be required.&newpara; More info:&newpara; &linkstart;"http://home.kde.org/~binner/kickoff/sneak_preview.html"&linkmid;Kickoff Sneak Preview&linkend;

&kde; Pager Panel &plasma;
Oxygen

Oxygen is the default theme of &kde; SC 4. Designed to bring 'a breath of fresh air' to the desktop by removing the simplistic, cartoonish icons, and replacing them with a clean theme and photo-realistic icons. Oxygen uses a desaturated palette to avoid the icons becoming a distraction and uses detailed scalable graphics (SVG).&newpara; More info:&newpara; &linkstart;"http://en.wikipedia.org/wiki/Oxygen_Project"&linkmid;Wikipedia: Oxygen Project&linkend;&newpara; &linkstart;"http://www.oxygen-icons.org/?cat=3"&linkmid;Oxygen Icons&linkend;

&kde; KSVG &plasma;
Panel

Refers to the panel which often resides at the bottom of the screen.

&kde; &kicker; &kickoff; &plasma;
Plasma

In &kde; SC 4 the &plasma; Desktop replaces KDesktop, &kicker; and the SuperKaramba widget engine. The applets are called Plasmoids, and range from informational widgets to mini-apps such as a calculator or dictionary. Widgets from other sources, such as SuperKaramba widgets or Google Gadgets are also supported.&newpara; More info:&newpara; &linkstart;"http://en.wikipedia.org/wiki/Plasma_(KDE)"&linkmid;Wikipedia: Plasma&linkend;&newpara; &linkstart;"http://plasma.kde.org/cms/1107/"&linkmid;Plasma website&linkend;&newpara; &linkstart;"http://userbase.kde.org/Plasma"&linkmid;Plasma FAQ&linkend;&newpara; &linkstart;"http://userbase.kde.org/Tutorials/TweakingPlasma"&linkmid;Tweaking Plasma&linkend;

&kde; &kicker; Widget
Ripping

The process of reading audio data from a &cdrom; and storing it on the hard disk.

Virtual Desktops

A popular concept of &UNIX; based window managers is the one of virtual desktops. This means you have not only one screen where you can place your windows on but several. When you switch to a different desktop (usually with a pager) you will only see the windows which you started on your new desktop or moved to it. A window can also be made "sticky" which means it appears on all virtual desktops.&newpara; More info:&newpara; &linkstart;"http://userbase.kde.org/Plasma"&linkmid;Plasma FAQ&linkend;

&kde; &kickoff; Pager

## &kde; Development

&Qt;

The &GUI; of &kde; is built on top of the &Qt; toolkit, which provides many graphical elements (so-called "Widgets") which are used to construct the desktop. You can find more information about &Qt; at &linkstart; "http://qt-project.org/"&linkmid;http://qt-project.org/&linkend;.

&kde; &GUI; Widget
Git

Git is a free and open source, distributed version control system designed to handle everything from small to very large projects with speed and efficiency.&newpara; Every Git clone is a full-fledged repository with complete history and full revision tracking capabilities, not dependent on network access or a central server. Branching and merging are fast and easy to do.&newpara; Git is used for version control of files, much like tools such as Mercurial, Bazaar, Subversion, CVS, Perforce, and Visual SourceSafe.&newpara; It was decided that Git will be the main version control system of &kde;, replacement of SVN. It has been already used for some &kde; projects like Konversation and Amarok.&newpara; More info:&newpara; &linkstart;"http://git-scm.com/"&linkmid;Git Homepage&linkend;

&kde; SVN
i18n

Abbreviation for "internationalization". &kde; supports many different languages, and several i18n techniques make it easy to translate the &GUI; as well as the accompanying documents of &kde; into all these languages. More information about the i18n process is available at &linkstart; "http://l10n.kde.org"&linkmid;l10n.kde.org&linkend;.

&kde; &GUI;
Kross

Kross is a scripting framework, enabling support for multiple scripting languages. A plugin system allows for the support of further languages in the future.

&kde;
KDOM

A KPart module making KHTML DOM (&emstart;D&emend;ocument &emstart;O&emend;bject &emstart;M&emend;odel) rendering capabilities available to all applications. KSVG2 is built on KDOM for &kde; SC 4.

&kde; KHTML KParts KSVG
KJS

&kde; platform's JavaScript engine.

&kde; KParts &plasma;
KSVG

KSVG enables support for scalable vector graphics in a KHTML browser. KSVG2 extends this for &kde; SC 4.

&kde; KHTML KParts
l10n

Abbreviation for "localization", the process of adapting a program to the local environment. This includes ⪚ the currency used for monetary values or the time format.

i18n
Strigi

A deep-indexed search daemon, Strigi aims to be fast and light-weight. It also uses SHA-1 hash which will help in the identification of duplicate files.&newpara; More info:&newpara; &linkstart;"http://en.wikipedia.org/wiki/Strigi"&linkmid;Wikipedia: Strigi&linkend;

&kde;
Widget

Graphical elements like scrollbars, buttons or input fields which are used by &kde; to construct the &GUI;.

&kde; &GUI;
SVN

Abbreviation for &emstart;Subversion&emend;, a version control system. The SVN is a very elegant way of managing file versions that allow more than one developer to easily work on the same project. You can find a description of how to get the latest (developer) version of the &kde; sources via anonymous SVN on &linkstart;"http://developer.kde.org/source/anonsvn.html"&linkmid;http://developer.kde.org/source/anonsvn.html&linkend;.&newpara; More about SVN is available at &linkstart;"http://subversion.tigris.org/"&linkmid;http://subversion.tigris.org/&linkend;.

Git
XMLGUI

A programmers' framework for designing the user interface. It is extensively used by KParts.&newpara; More info:&newpara; &linkstart;"http://en.wikipedia.org/wiki/XMLGUI"&linkmid;Wikipedia: XMLGUI&linkend;&newpara; &linkstart;"http://en.wikipedia.org/wiki/Qt_Style_Sheets"&linkmid;Wikipedia: Qt Style Sheets&linkend;

&GUI; Kparts &Qt;

## Miscellaneous

RFC

&emstart;R&emend;equest &emstart;F&emend;or &emstart;C&emend;omment. A common way to publish new protocol ideas or procedures for evaluation of the Internet community. Though RFCs are not mandatory, many applications try to adhere to them, once they have been approved by the community.&newpara; More information about RFCs can be found at the &linkstart;"http://www.rfc-editor.org"&linkmid;RFC Homepage&linkend;.

## Various protocols

SMB

&emstart;S&emend;erver &emstart;M&emend;essage &emstart;B&emend;lock. A network protocol used in &Microsoft; &Windows; networks to access the file systems of other computers.

IO Slave
IRC

&emstart;I&emend;nternet &emstart;R&emend;elay &emstart;C&emend;hat. A protocol defined in RFC 1459, which handles the specification to enable real-time text chat.

RFC
Host

This can either be a name from your `/etc/hosts` file (`mycomputer`), an Internet name (`www.kde.org`) or an IP-Address (`192.168.0.10`).

&glossary-kdeprinting;