# &calligra;

A General Introduction
&Raphael.Langerhorst; &Raphael.Langerhorst.mail;
&Jost.Schenck; &Jost.Schenck.mail;
2012-01-03
2.4.0

&calligra; is a graphic art and office suite by &kde;.

KDE
Calligra

## Introduction

### &calligra; components

Please check http://docs.kde.org for updated versions of this document.

&calligra; is a graphic art and office suite by &kde;. &calligra; consists of the following components:

- &words; (a frames-based wordprocessor)

- &sheets; (a spreadsheet application)

- &stage; (screen and slide presentations)

- &flow; (a flowchart application)

- &karbon; (a vector drawing application)

- &krita; (a pixel based drawing application)

- &kexi; (an integrated environment for managing data)

- &plan; (a project management application)

Because these components use Flake technology, &calligra; components are designed to work very well with each other. Many &calligra; component can be embedded in another &calligra; document. For instance, you can insert a spreadsheet which you created in &sheets; directly into a &words; document. In this way, complex, compound documents can be created using &calligra;.

A plugin mechanism makes it easy to extend the functionality of &calligra;. You will find many plugins in some of the components and can learn how to write plugins yourself.

This manual only covers the general features of &calligra;, those that are common to most or all components in the suite. For detailed information about the different components, have a look at the respective manual.

### Overview of &calligra; features

#### Integration

&calligra; provides a framework that all components build on. Through this framework high integration is achieved. It is possible to develop your own component that integrates as well.

#### Lightweight

Despite offering so many components, &calligra; is lightweight, fast and has a rather low memory footprint. This is also achieved because &calligra; builds on &kde;, a powerful application development framework.

A goal of &calligra; is also to not overload the user interface with features that are hardly needed. This results in a lean and mean user interface that lets you do your work efficiently.

Being lightweight can at times also mean that that very particular special functionality you need is not there. In this case you can always add the functionality yourself by extending &calligra;. Extra features can always be made available through additional plugins or scripts, thus keeping &calligra; itself lightweight.

#### Completeness

&calligra; offers a wide range of components, covering most of the home and business office needs. Additional features can always be implemented through scripts, plugins or even whole components based on the &calligra; framework.

#### OASIS OpenDocument Format

It is a major importance for any office suite to adhere to established standards. Especially on the file format level to allow seamless document exchange with other office suites. This also avoids vendor lock-in, which is especially important for companies and also for individuals.

For this reason &calligra; has adapted the OASIS OpenDocument format as native file format.

#### &kde; Features

Since &calligra; builds on &kde; all the features you would expect from a &kde; application are also available in &calligra;. This includes &DBus;, KParts, Flake, Desktop Integration, Configurability and so on. All this makes the look and feel of &calligra; very familiar and really integrates &calligra; into the desktop environment, thus allowing seamless workflows.

## Configuring &calligra; and Your System

While &calligra; should work quite nice out of the box, there may well be some things to optimize to get the best out of &calligra;. This chapter shows you what you might want to do to achieve the best results with your new office suite and make it suite your needs. &calligra; is highly configurable, even down to detailed toolbar and menu layout.

### Customizing the &calligra; &GUI;

While &calligra; comes out of the box with a &GUI; (graphical user interface) that should suit most people's needs, there are good reasons why you may want to change the way the programs look.

My mother, for example, is a bit afraid of buttons and menu entries she doesn't understand. To tailor &calligra; to her needs, I reduced the &GUI; to a bare minimum of functionality. As she only needs to write letters and use certain templates, there is no need for much more functionality than saving, loading, printing, &etc;

Thanks to the action concept of &Qt; and &kde;, you can freely customize &calligra; menubars and tool bars. Unfortunately, at the moment, there are no easy-to-use dialogs to do this. &calligra; stores its &GUI; configuration in &XML; files and you'll have to edit those. Hopefully, this situation will change in the future; for now, you'll need some basic knowledge of how an &XML; document works (or &HTML;, which is a subset of &XML;).

Normally, each &calligra; application has at least two of those &XML; files: one describing the &GUI; of the shell (basically, that's what you see if there is no document open) and one describing the &GUI; of the respective part (that's what you see normally). For example, for &words;, these two &XML; files are named `calligra_shell.rc` and `words.rc`.

Here's a simple example of such an rc-file.

#### An example of a simple rc-file

    <!DOCTYPE QConfig ><qconfig>
    <menubar>
    <menu name="Edit"><text>Edit</text>
    <action name="edit_cut"/>
    <action name="edit_copy"/>
    <action name="edit_paste"/>
    <separator/>
    <action name="edit_find"/>
    </menu>
    <menu name="Insert"><text>Insert</text>
    <action name="insert_picture"/>
    <action name="insert_clipart"/>
    <menu name="Variable"><text>Variable</text>
    <action name="insert_var_datefix"/>
    <action name="insert_var_datevar"/>
    </menu>
    </menu>
    </menubar>
    <toolbars>
    <toolbar name="edit_toolbar" position="right">
    <action name="edit_cut"/>
    <action name="edit_copy"/>
    <action name="edit_paste"/>
    </toolbar>
    </toolbars>
    </qconfig>

## How to get more information

### Other &calligra; manuals

For detailed information on the different &calligra; applications, please consult their respective manuals.

### Links

The following links should be useful if you're looking for more information about &kde; or &calligra;.

- The &calligra; homepage. Here you can find information on how to get and install &calligra;, news about &calligra; development, screenshots &etc;

- The &kde; Homepage. &kde; is the most advanced and absolutely free desktop environment for unix-like operating systems. &calligra; makes use of the &kde; libraries.

- &Qt; page. The creators of the C++-toolkit &Qt;. &kde; and &calligra; make use of &Qt;.

## Programming &calligra;

### Introduction

If you want to do &calligra; development, the following resources might be of interest:

- At http://techbase.kde.org/Development you'll find many documents about programming with &Qt; and &kde;. You can find the online version of the complete &kde; library documentation on KDE API Reference

- The first step for contributing code is to follow those instructions to get the source code and build it.

## Copyright and Licensing

&calligra; is the result of the joint effort of many developers. Each source file of &calligra; is copyrighted by the people who wrote this particular file and their names can be found at the start of each source file with the license that applies to that source file.

This manual is copyright by &Jost.Schenck;. It can be distributed freely, as long as this copyright notice is included. You may change it as long as you send me the changes or commit them to &kde; Git. I'll not be liable for anything resulting from the use of this manual.

The other &calligra; manuals are copyrighted by their respective authors.

&underFDL; &underGPL;

&documentation.index;