# The &kontact; Handbook

## Introduction

&kontact; is the integrated solution for personal information management. It combines the well-known &kde; applications for email, scheduling, address book, notes and newsgroups (&kmail;, &korganizer;, &kaddressbook;, &knotes; and &knode;) into a single interface. Being based on a true component framework &kontact; provides exactly the same functionality as the stand-alone applications, and adds more features, by making use of the integrated way &kontact; runs the applications as components. Users still retain the choice of which applications are run within &kontact; and which are run stand-alone.

In addition to the functionality of the individual applications &kontact; provides, a summary view and advanced drag & drop features between components.

## &kontact; Components

&kontact; integrates the following applications. See their manuals for details on how to use them. These apply to running them as components inside &kontact; just as well as running them stand-alone.

- &kmail;, the &kde; mail client.

- &korganizer;, the &kde; organizer and scheduling application.

- &kaddressbook;, the &kde; contact manager.

- &knotes;, yellow sticky notes.

- &knode;, the &kde; news reader.

## The &kontact; Main Window

The main window consists of a side pane on the left showing the icons of the available components, the main view on the right which contains the main window of the active component and the usual menu, tool and status bars.

### Side Pane

The side pane serves multiple purposes. It allows for switching between components, shows which component is active and serves as the target for drag & drop operations to the different applications.

For switching between components simply click on the corresponding icon. The main window of the component is shown and the menu, tool and status bars are adapted to reflect the functionality of the active component. If you activate a component for the first time there might be a small delay until the main view is changed, because components are loaded on demand. This means you don't waste memory for components you don't use.

The icons in the side pane can also be used as targets for drag & drop operations. For example, you can drag a mail from the mail part and drop it on the icon of the todo list or the calendar to create a todo or event associated with this mail.

### Main View

The view on the right which takes up most of the area of the &kontact; main window shows the active component. This exactly corresponds to the main window the component uses when run as a stand-alone application. The highlighted icon in the side pane indicates to which application the main view belongs. &kontact; remembers which component was active, so when starting &kontact; the view initially shows which one was activated when exiting &kontact; the last time.

### Menu, Tool and Status Bars

The menu, tool and status bars are adapted to the active component. That means that, in addition to some common functions like the help menu which are shown for all components, there are actions which are switched when the active component is switched. These actions available for each component are the same ones which are also available when running the application stand-alone.

A special action common to all components is the New action. It allows creation of new objects like emails, contacts, appointments and todos independently of which component is active. The component responsible for processing the selected object is started, if required, and takes over the created object.

## The Summary View

The default view when starting &kontact; for the first time is the summary view. It shows an overview of the most relevant information provided by the selected &kontact; components. These can be newsticker headlines, imminent appointments or birthdays, due todos, weather data, etc. Which information is shown is configurable by selecting the corresponding components in the &kontact; configuration dialog.

## Configuring &kontact;

When selecting the Configure Kontact action from the Settings menu the &kontact; configuration dialog is shown. It provides a list of available components. Select an item from this list to show a brief description on the right hand side of the dialog.

By checking the box next to the component title you select the component to be put into the side bar and the summary view. The component is loaded and its main view is shown in the main window when clicking on its icon in the side pane for the first time. By unchecking the check box the component is removed from the side pane and summary view. Changes become effective by clicking the Apply or Ok button.

For configuring individual components, activate the component by clicking on the corresponding icon in the side pane of the main window and then select the menu item Configure <application name> from the Settings menu.

## Under The Hood

&kontact; makes extensive use of several &kde; key technologies, most notably KParts and &DCOP;.

The &GUI; integration of the components is done by plugins providing KParts versions of the applications. This only needs a thin additional layer on top of the already existing code of the stand-alone applications running with an own main window.

For communication between the components &DCOP; is used. This has the nice characteristic that it is completely transparent to whether the application is run stand-alone or embedded as KPart into &kontact;. When running inside of &kontact; an efficient in-process mode of &DCOP; is used.

## Credits and License

&kontact;

Program copyright 2003, The &kde; Developers

Contributors:

- Cornelius Schumacher schumacher@kde.org

- Daniel Molkentin molkentin@kde.org

- Don Sanders sanders@kde.org

- Tobias König tokoe@kde.org

- Matthis Hölzer-Klüpfel mhk@kde.org, the original author of the &kontact; framework.

- All the valued developers of the applications &kontact; is integrating. They did almost all the work.

Documentation copyright 2003 Cornelius Schumacher schumacher@kde.org

&kontact; homepage is at http://kontact.kde.org

&underFDL; &underGPL;
&documentation.index;