You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tde-i18n/tde-i18n-de/docs/tdepim/karm/index.docbook

816 lines
40 KiB

<?xml version="1.0" ?>
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
<!ENTITY kappname "&karm;">
<!ENTITY package "tdepim">
<!ENTITY % German "INCLUDE"> <!-- change language only here -->
<!ENTITY % addindex "IGNORE">
]>
<book lang="&language;">
<bookinfo>
<title>Das Handbuch zu &karm;</title>
<authorgroup>
<author><firstname>Jonathan</firstname> <surname>Singer</surname> <affiliation> <address><email>jsinger@leeta.net</email></address>
</affiliation>
</author>
<author><firstname>Mark</firstname> <surname>Bucciarelli</surname> <affiliation> <address><email>mark@hubcapconsulting.com</email></address>
</affiliation>
</author>
<author><firstname>Sirtaj</firstname> <othername>Singh</othername> <surname>Kang</surname> <affiliation><address><email>taj@kde.org</email></address></affiliation>
</author>
<othercredit role="reviewer"><firstname>Lauri</firstname> <surname>Watts</surname> <contrib>Gegengelesen von</contrib>
<affiliation><address><email>lauri@kde.org</email></address></affiliation>
</othercredit>
<othercredit role="translator"><firstname>Gregor</firstname><surname>Zumstein</surname><contrib>Deutsche Übersetzung</contrib><affiliation><address><email>zumstein@ssd.ethz.ch</email></address></affiliation></othercredit> <othercredit role="translator"><firstname>Thomas</firstname><surname>Reitelbach</surname><contrib>Deutsche Übersetzung</contrib><affiliation><address><email>tr@erdfunkstelle.de</email></address></affiliation></othercredit>
</authorgroup>
<copyright>
<year>2000-2004</year>
<holder>Jonathan Singer</holder>
</copyright>
<copyright>
<year>2004-2005</year>
<holder>Mark Bucciarelli</holder>
</copyright>
<legalnotice>&FDLNotice;</legalnotice>
<date>2005-02-02</date>
<releaseinfo>1.5.0</releaseinfo>
<abstract><para>&karm; misst die Zeit, die für verschiedene laufende Aufgaben benötigt wird.</para></abstract>
<keywordset>
<keyword>KDE</keyword>
<keyword>karm</keyword>
<keyword>tdeutils</keyword>
<keyword>zeit</keyword>
<keyword>verfolger</keyword>
<keyword>projekt</keyword>
</keywordset>
</bookinfo>
<chapter id="introduction">
<title>Einleitung</title>
<para>&karm; misst die Zeit, die für verschiedene Aufgaben aufgewendet wird. Das Programm ist nützlich, wenn z. B. die für verschiedene Kunden aufgewendeten Stunden verrechnet werden müssen oder einfach nur, wenn Sie wissen möchten, wieviele Stunden am Tag Sie Doom spielen oder den Heise-Newsticker lesen.</para>
<para>Der zeitliche Ablauf kann in eine durch Komma getrennte Liste exportiert werden und ist leicht in Abrechnungs- oder Projektverwaltungs-Software importierbar.</para>
<para>&karm; erkennt automatisch, wenn Ihre Tastatur und Maus unbenutzt sind und kann verschiedene Aufgaben unterschiedlichen Arbeitsflächen zuordnen. Dies hilft der Stoppuhr, die Zeit für die jeweils korrekte Aufgabe zu messen.</para>
<para>&karm; wurde von Sirtaj Singh Kang geschrieben und bedeutet in seiner Muttersprache Pandschabi <quote>Arbeit</quote>. Es ist das gleiche Wort wie <quote>karma</quote>, aber eine bessere Umschreibung dafür.</para>
</chapter>
<chapter id="using-Karm">
<title>Wie benutze ich &karm;</title>
<sect1 id="starting">
<title>Starten von &karm;</title>
<para>Geben Sie <command>karm</command> auf der Befehlszeile ein oder wählen Sie <guimenuitem>Persönliche Zeiterfassung</guimenuitem> aus der Gruppe <guisubmenu>Dienstprogramme</guisubmenu> im <guimenu>K-Menü</guimenu>. Die Standard-Befehlszeilenoptionen von &Qt; und &kde; sind verfügbar und können mit dem Befehl <userinput><command>karm <option>--help</option></command></userinput> auf der Befehlszeile abgefragt werden.</para>
<para>&karm; verfügt über einen Kommandozeilenparameter, mit dem Sie den Namen einer iCalendar-Datei angeben können, in die der Zeitverlauf gespeichert werden kann. Sie können auch eine entfernte Kalenderdatei angeben, indem Sie den http- oder ftp-Teil als Teil des Dateinamens angeben. Zum Beispiel http://www.meinserver.de/meinedaten/zeiterfassung.ics.</para>
</sect1>
<sect1 id="general-use">
<title>Aufgaben</title>
<informalexample>
<para><emphasis>Problemstellung:</emphasis> Sie sind Consultant für freie Software und haben viele Kunden. Einige Kunden haben mehrere Projekte. Im Laufe eines Tages arbeiten Sie abwechselnd an unterschiedlichen Projekten. Sie müssen die Arbeitszeiten für jedes Projekt messen, damit Sie am Monatsende die Rechnung stellen können.</para>
<para><emphasis>Lösung:</emphasis> Erstellen Sie für jeden Kunden eine Aufgabe und eine Teilaufgabe für jedes Kundenprojekt. Falls Sie eine detailliertere Verfolgung für ein Projekt benötigen, erstellen Sie eine Liste von Projekt-Teilaufgaben. Sie verfolgen die aufgewendete Zeit für ein Teilprojekt, indem Sie auf die Aufgabe in KArm doppelklicken.</para>
</informalexample>
<para>&karm; lässt Ihnen jede erdenkliche Flexibilität beim Erfassen der aufgewendeten Zeit. Sie können beliebig viele Aufgaben und Teilaufgaben erstellen. Sie können die Zeit auch für mehrere Aufgaben gleichzeitig messen.</para>
<para>Um eine neue Hauptaufgabe zu erstellen, wählen Sie <menuchoice> <shortcut><keycombo action="simul">&Ctrl;<keycap>N</keycap></keycombo></shortcut><guimenu>Aufgabe</guimenu> <guimenuitem>Neu ...</guimenuitem></menuchoice>. Um eine neue Teilaufgabe zu erstellen, wählen Sie zuerst die Hauptaufgabe und dann <menuchoice> <shortcut> <keycombo action="simul">&Ctrl;&Alt;<keycap>N</keycap></keycombo></shortcut><guimenu>Aufgabe</guimenu> <guimenuitem>Neue Teilaufgabe ...</guimenuitem></menuchoice>. </para>
<para>Beim Beenden von KArm wird die Aufgabenliste in die unter <menuchoice><guimenu>Einstellungen</guimenu> <guimenuitem>KArm einrichten ...</guimenuitem></menuchoice> angegebene Datei gespeichert. Beim nächsten Programmstart wird die Aufgabenliste wieder aus dieser Datei geladen.</para>
<para>&karm; kann Aufgaben übrigens auch importieren und exportieren und Ihnen damit die Arbeit erleichtern. Schauen Sie dazu unter <link linkend="interfaces">Andere Systeme</link>.</para>
</sect1>
<sect1 id="timers"><title>Zeitmesser</title>
<informalexample>
<para><emphasis>Problemstellung:</emphasis> Um rentabel zu sein, müssen Sie jeden Tag mindestens 5 Stunden Arbeitszeit berechnen können. Um auf dem Laufenden zu bleiben, überwachen Sie Ihre täglichen und wöchentlichen Ergebnisse.</para>
<para><emphasis>Lösung:</emphasis> Setzen Sie die Zeitmessung der Sitzung zu Beginn jedes Arbeitstages und alle Zeitmessungen zu Beginn jeder Woche zurück.</para> </informalexample>
<para>Mit &karm; ist die Zeiterfassung einer Aufgabe sehr einfach. Um die Zeiterfassung einer Aufgabe zu starten, klicken Sie doppelt auf die Aufgabe. Zum Stoppen doppelklicken Sie erneut darauf. Neben allen aktiven Aufgaben sehen Sie eine kleine animierte Uhr in der Spalte <guilabel>Sitzungszeit</guilabel>.</para>
<para>Ein weiterer visueller Hinweis auf die aktive Zeiterfassung ist das Symbol von &karm; im Systemabschnitt der Kontrollleiste. Wenn gerade eine Aufgabe aktiv ist, wird die kleine Uhr animiert. Wenn Sie mit dem Mauszeiger über dem Symbol verweilen, wird ein kleines Infofenster angezeigt, dem Sie die aktiven Aufgaben entnehmen können.</para>
<para>&karm; verwaltet zwei Stoppuhren je Aufgabe: Eine für die Sitzungszeit und eine für die Gesamtzeit. In der Voreinstellung werden zwei Spalten für jede Stoppuhr angezeigt. Daraus ergeben sich vier Spalten pro Aufgabe.</para>
<variablelist>
<varlistentry> <term><guilabel>Sitzungszeit</guilabel></term>
<listitem><para>Die seit Sitzungsbeginn abgelaufene Zeit.</para></listitem> </varlistentry>
<varlistentry> <term><guilabel>Gesamte Sitzungszeit</guilabel></term>
<listitem><para>Die für die Aufgabe und alle Unteraufgaben aufgewendete Zeit seit Sitzungsbeginn.</para></listitem> </varlistentry>
<varlistentry> <term><guilabel>Zeit</guilabel></term> <listitem><para>Die für die Aufgabe aufgewendet Zeit seit dem letzten Zurücksetzen der Stoppuhren.</para></listitem>
</varlistentry>
<varlistentry> <term><guilabel>Gesamtzeit</guilabel></term>
<listitem><para>Die Zeit, die für die Aufgabe und alle Unteraufgaben seit dem letzten Zurücksetzen aufgewendet wurde.</para></listitem> </varlistentry>
</variablelist>
<para>Um eine neue Sitzung zu beginnen, wählen Sie <menuchoice> <guimenu>Datei</guimenu> <guimenuitem>Neue Sitzung starten</guimenuitem> </menuchoice>. </para>
<para>Um alle Zeiten zurückzusetzen, wählen Sie <menuchoice> <guimenu>Datei</guimenu> <guimenuitem>Alle Zeiten zurücksetzen</guimenuitem> </menuchoice> </para>
<sect2><title>Arbeitsflächen beobachten</title>
<informalexample>
<para><emphasis>Problemstellung:</emphasis> Sie haben zwei Hauptprojekte, an denen Sie während des Tages abwechselnd arbeiten. Um Ihre Arbeitsorganisation zu erleichtern, halten Sie die Dateien und Programme für Projekt 1 auf der Arbeitsfläche 1 und die für Projekt 2 auf der Arbeitsfläche 2 vor.</para>
<para><emphasis>Lösung:</emphasis> Ordnen Sie die Aufgabe für Projekt 1 der Arbeitsfläche 1 und die Aufgabe für Projekt 2 der Arbeitsfläche 2 zu. Wenn Sie von der Arbeitsfläche 2 zu 1 wechseln, hält &karm; die Zeiterfassung für Projekt 2 an und startet die Zeiterfassung für Projekt 1.</para>
</informalexample>
<para>Um eine Aufgabe mehreren Arbeitsflächen zuzuordnen, wählen Sie <menuchoice> <shortcut><keycombo action="simul">&Ctrl;<keycap>E</keycap></keycombo> </shortcut> <guimenu>Aufgabe</guimenu> <guimenuitem>Bearbeiten</guimenuitem> </menuchoice>. Schalten Sie die Funktion <guilabel>Automatisches Verfolgen</guilabel> ein und wählen Sie die Arbeitsflächen mit den Ankreuzfeldern aus. Wenn eine der gewählten Arbeitsflächen aktiv wird, startet &karm; nach kurzer Zeit automatisch die Zeiterfassung für die Aufgabe.</para>
</sect2>
<sect2><title>Untätigkeit erkennen</title>
<informalexample> <para><emphasis>Problemstellung:</emphasis> Sie verlassen am Freitag nachmittag die Arbeit früher als geplant, weil Sie vielleicht noch Besorgungen machen müssen. In der Eile vergessen Sie, die Zeiterfassung anzuhalten. Wenn Sie am nächsten Montag auf die Arbeit kommen, läuft die Stoppuhr immer noch.</para>
<para><emphasis>Lösung:</emphasis> Schalten Sie die Erkennung von Untätigkeit ein.</para>
</informalexample>
<para>&karm; kann so eingerichtet werden, dass es automatisch erkennt, wenn weder Maus noch Tastatur benutzt werden. Wenn Sie länger als die angegebene Zeit untätig sind, zeigt &karm; den folgenden Dialog an:</para>
<screenshot>
<screeninfo>&karm; Untätigkeit erkennen</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="idle-detect.png" format="PNG"/>
</imageobject>
<textobject>
<phrase>&karm; Untätigkeit erkennen</phrase>
</textobject>
</mediaobject>
</screenshot>
<variablelist>
<varlistentry><term><guibutton>Zurücksetzen und Anhalten</guibutton></term>
<listitem><para>Zieht die untätig verbrachte Zeit von den aktiven Zeitmessungen ab und hält diese an.</para><para>Während der Rechner untätig war haben Sie nicht an der Aufgabe gearbeitet und Sie beschäftigen sich immer noch mit etwas anderem.</para></listitem></varlistentry>
<varlistentry> <term><guibutton>Zurücksetzen und Fortfahren</guibutton></term>
<listitem><para>Zieht die untätig verbrachte Zeit von den aktiven Zeitmessungen ab aber setzt die Zeitmessung fort.</para><para>Während Sie am Rechner untätig waren, haben Sie nicht an der Aufgabe weiter gearbeitet, aber nun fahren Sie mit der Arbeit fort. </para></listitem></varlistentry>
<varlistentry> <term><guibutton>Zeitmessung weiterlaufen lassen</guibutton></term>
<listitem><para>Zählt die untätige Zeit zur regulären Zeitmessung und belässt die Zeitmessung aktiviert.</para><para>Obwohl Sie am Rechner untätig waren, haben Sie dennoch an der Aufgabe gearbeitet und sind immer noch damit beschäftigt. </para></listitem></varlistentry> </variablelist>
</sect2>
</sect1>
<sect1 id="reporting"><title>Berichte</title>
<para>&karm; stellt Ihnen Berichte der gemessenen Zeiten in drei Varianten zur Verfügung. Sie können die Sitzungs- und Gesamtzeiten drucken, die Gesamtzeiten in die Zwischenablage kopieren und den Zeitverlauf in die Zwischenablage kopieren.</para>
<sect2><title>Gesamtergebnisse drucken</title>
<para>Um einen Bericht der Gesamtzeiten zu drucken, wählen Sie <menuchoice> <shortcut> <keycombo action="simul">&Ctrl;<keycap>P</keycap></keycombo> </shortcut> <guimenu>Datei</guimenu> <guimenuitem>Drucken</guimenuitem> </menuchoice>. Dies erzeugt einen dreispaltigen Bericht für die gesamte Aufgabenliste. Die erste Spalte enthält den Namen der Aufgabe, die zweite die <guilabel>Gesamte Sitzungszeit</guilabel> und die dritte die <guilabel>Gesamtzeit</guilabel>.</para>
</sect2>
<sect2><title>Gesamtheit in die Zwischenablage kopieren</title>
<para>Um die Gesamtergebnisse in die Zwischenablage zu kopieren, wählen Sie <menuchoice> <shortcut> <keycombo action="simul">&Ctrl;<keycap>C</keycap></keycombo> </shortcut> <guimenu>Datei</guimenu> <guimenuitem>Gesamtheit in die Zwischenablage kopieren</guimenuitem> </menuchoice>. </para>
<para>Der Bericht wird für die derzeit ausgewählte Aufgabe und alle Teilaufgaben erzeugt. Wenn die aktuelle Aufgabe eine Hauptaufgabe ist, werden Sie gefragt, ob Sie den Bericht für die Aufgabe mit den Teilaufgaben oder die gesamte Aufgabenliste erstellen möchten.</para>
<screenshot>
<screeninfo>Diese Aufgabe kopieren</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="copy-this-task.png" format="PNG"/>
</imageobject>
<textobject>
<phrase>Der Dialog "Diese Aufgabe kopieren"</phrase>
</textobject>
</mediaobject>
</screenshot>
<para>Sobald der Bericht erzeugt wurde, können Sie z. B. KEdit oder einen beliebigen anderen Editor starten und die Daten aus der Zwischenablage dort einfügen.</para>
<literallayout><computeroutput>
Aufgaben-Total
29.01.2006 16:13
Zeit Aufgabe
----------------------------------------------
1:37 Übersetzung KDE
0:43 KArm-Doku
----------------------------------------------
1:37 Gesamt
</computeroutput>
</literallayout>
<para>Die erste Spalte ist <guilabel>Aufgaben-Total</guilabel> und ist eingerückt, um Aufgaben und Teilaufgaben einander zuordnen zu können. Die Zeiten enthalten auch die Zeiten der untergeordneten Teilaufgaben.</para>
</sect2>
<sect2><title>Verlauf in die Zwischenablage kopieren</title>
<para>Um den Verlauf in die Zwischenablage zu kopieren, wählen Sie <menuchoice> <shortcut> <keycombo action="simul">&Ctrl;&Alt;<keycap>C</keycap></keycombo> </shortcut> <guimenu>Datei</guimenu> <guimenuitem>Verlauf in die Zwischenablage kopieren</guimenuitem> </menuchoice>. </para>
<important><para>Damit dies funktioniert, muss die Einstellung <guilabel>Verlauf protokollieren</guilabel> unter <menuchoice> <guimenu>Einstellungen</guimenu> <guimenuitem>KArm einrichten ...</guimenuitem> </menuchoice> aktiv sein. Ansonsten protokolliert KArm nur die Ergebnisse und nicht den Verlauf.</para></important>
<para>Der Bericht wird für die derzeit ausgewählte Aufgabe und alle Teilaufgaben erzeugt. Sie können ihn außerdem für alle Aufgaben erzeugen lassen.</para>
<para>Wenn Sie den Verlaufsbericht starten, werden Sie zuerst nach einer Zeitspanne gefragt, über die der Bericht laufen soll:</para>
<screenshot>
<screeninfo>&karm; Datumsbereich eingeben</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="daterange.png" format="PNG"/>
</imageobject>
<textobject>
<phrase>&karm; Datumsbereich eingeben</phrase>
</textobject>
</mediaobject>
</screenshot>
<para>Nachdem Sie den Datumsbereich eingegeben und den Bericht gestartet haben, öffnen Sie KEdit oder einen beliebigen anderen Editor und fügen den Inhalt der Zwischenablage ein.</para>
<literallayout><computeroutput>
Aufgabenverlauf
Von Sonntag 22 Januar 2006 bis Sonntag 29 Januar 2006
Gedruckt am: 29.01.2006 16:23
22 23 24 25 26 27 28 29
-----------------------------------------------------------------------------------------
0:12 0:36 0:48 KArm-Doku
-----------------------------------------------------------------------------------------
0:12 0:36 0:48 Gesamt
</computeroutput>
</literallayout>
<para>Der Aufgabenverlauf enthält die Gesamtzeiten pro Tag und Aufgabe, gruppiert nach Wochen. Die ersten sieben Spalten entsprechen Montag bis Sonntag. Die achte Spalte ist die Summe für diese Woche, und die neunte Spalte enthält den Namen der Aufgabe. Die Aufgabennamen werden eingerückt dargestellt, um Aufgaben und untergeordnete Teilaufgaben zuordnen zu können.</para>
</sect2>
</sect1>
<sect1 id="interfaces">
<title>Andere Systeme</title>
<sect2 id="korganizer"><title>KOrganizer</title>
<para>&karm; verwendet wie KOrganizer und Apples iCal den Industriestandard <ulink url="http://developer.kde.org/documentation/standards/index.html">iCalendar</ulink> als Datenformat. &karm; kann die Datendateien dieser beiden Programme sowohl lesen als auch schreiben.</para>
<warning><para>Falls sowohl &karm; als auch KOrganizer gleichzeitig mit der selben Datei arbeiten, riskieren Sie Datenverlust. Um auf der sicheren Seite zu sein, sollten Sie die Datendatei nur mit einer Anwendung gleichzeitig bearbeiten!</para></warning>
</sect2>
<sect2 id="planner"><title>Planner</title>
<para>Ein typischer Anwendungsfall wäre die Planung eines Projekts mit dem Projektplanungsprogramm Imendio Planner (von <ulink url="http://planner.imendio.org">planner.imendio.org</ulink> und der Import der Aufgaben in &karm;, um sie im <ulink url="http://developer.kde.org/documentation/standards/index.html">iCalendar</ulink>-Format vorliegen zu haben. Wenn Sie dies erledigt haben, sind Sie in der Lage, die Aufgaben in KOrganizer zu planen und die Zeit mit &karm; zu erfassen. Dies ist eine der Möglichkeiten, Ihr Projekt zu planen und im Budgetrahmen zu halten.</para>
</sect2>
<sect2 id="dcop"><title>&DCOP;</title>
<para>&DCOP; ist der gängige Weg unter KDE, auf dem Programme miteinander kommunizieren. KDE-Programme veröffentlichen via &DCOP; eine Liste der Funktionen, die andere Programme (z. B. ein Bash-Skript) benutzen können.</para>
<example><title>Es folgt ein Bash-Skript, das die Version von &karm; ausgibt:</title>
<programlisting>DCOPID=`dcop | grep karm`
if [ $DCOPID ]
then
VERS=`dcop $DCOPID KarmDCOPIface version`
echo "Die &karm;-Version lautet $VERS"
else
echo "&karm; läuft nicht"
fi
</programlisting>
</example>
<para>Derzeit wird die &DCOP;-Schnittstelle von &karm; nur für automatisiertes Testen verwendet. Daher ist die Liste der Funktionen noch sehr kurz. Die vollständige Schnittstellen-Definition finden Sie im Abschnitt <link linkend="dcopappendix">Die &DCOP;-Schnittstelle</link>.</para>
<para>Mit dem folgenden Bash-Skript können Sie die vollständige &DCOP;-Schnittstelle Ihrer &karm;-Version einsehen:</para>
<example><title>Auflistung der &karm; &DCOP;-Schnittstelle auf die Konsole</title>
<programlisting>DCOPID=`dcop | grep karm`
if [ $DCOPID ]
then
dcop $DCOPID KarmDCOPIface
else
echo "&karm; läuft nicht"
fi
</programlisting>
</example>
</sect2>
<sect2 id="csv-export"><title>Als CVS-Datei exportieren</title>
<para>&karm; kann sowohl die Gesamtergebnisse als auch den Verlauf in eine durch Komma getrennte Datei exportieren. Dafür wählen Sie <menuchoice> <guimenu>Datei</guimenu> <guisubmenu>Import/Export</guisubmenu> <guimenuitem>Als CSV-Datei exportieren ...</guimenuitem> </menuchoice>. Daraufhin sehen Sie den folgenden Dialog:</para>
<screenshot>
<screeninfo>CVS-Export</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="csvexport.png" format="PNG"/>
</imageobject>
<textobject>
<phrase>CSV-Export</phrase>
</textobject>
</mediaobject>
</screenshot>
<para>Geben Sie hier den Namen der Datei an, in die die Daten exportiert werden sollen und ändern Sie die anderen Einstellungen nach Belieben. Beachten Sie, dass Sie keine Datumsbereiche auswählen können, weil dieser Dialog nur die Gesamtergebnisse exportiert. Klicken Sie nun auf <guibutton>Export</guibutton> und &karm; gibt die Daten in die ausgewählte Datei aus.</para>
<para>Hier sehen Sie eine Beispielausgabe:</para>
<literallayout><computeroutput>
"Übersetzung KDE",,1,05,1,30,2,20,2,65
,"KArm-Doku",1,15,1,35,1,15,1,35
</computeroutput>
</literallayout>
<para>Hauptaufgaben erscheinen in der ersten Spalte, Teilaufgaben in der zweiten, und so weiter. Die Zeitdaten werden nach der maximalen Aufgabenverschachtelung (zwei in diesem Beispiel) ausgegeben. Die erste Zeit-Spalte enthält die <guilabel>Sitzungszeit</guilabel>, die zweite die <guilabel>Zeit</guilabel>, die dritte die <guilabel>Gesamte Sitzungszeit</guilabel> und die vierte ist die <guilabel>Gesamtzeit</guilabel>. </para>
</sect2>
<sect2 id="csv-export-history"><title>Verlauf als CSV exportieren</title>
<para>Um den Verlauf in eine durch Komma getrennte Liste zu exportieren, wählen Sie <menuchoice> <guimenu>Datei</guimenu> <guisubmenu>Import/Export</guisubmenu> <guimenuitem>Verlauf als CSV exportieren ...</guimenuitem> </menuchoice>. &karm; zeigt den obigen Dialog an.</para>
<para>Geben Sie den Namen der Datei ein, in die der Verlauf exportiert werden soll. Dann wählen Sie den Datumsbereich und stellen die restlichen Einstellungen nach Bedarf ein. Klicken Sie nun auf <guibutton>Export</guibutton>. &karm; exportiert nun den Verlauf des gewählten Datumsbereich in die ausgewählte Datei.</para>
<para>Hier sehen Sie eine Beispielausgabe:</para>
<literallayout><computeroutput>
Aufgabenverlauf
Von Montag 30 Januar 2006 bis Montag 30 Januar 2006
Gedruckt am: 30.01.2006 19:50
2006-01-30,Summe,Gesamtsumme,Aufgabenhierarchie
0,00,0,00,0,00,,"Übersetzung KDE"
0,00,0,00,0,00,,,"KArm-Doku"
0,00,0,00,,Gesamt
</computeroutput>
</literallayout>
<para>Die ersten drei Zeilen geben an, wann und für welchen Datumsbereich der Bericht erstellt wurde. Die vierte Zeile enthält eine durch Komma getrennte Liste der Daten im Format ISO 8601 (JJJJ-MM-TT). Alle folgenden Zeilen enthalten die Daten für jede Aufgabe. Die letzte Zahlenspalte enhält das Gesamtergebnis pro Zeile für alle Tage. Die letzte Spalte enthält den Aufgabennamen, eingerückt nach Aufgaben und Teilaufgaben. Hauptaufgaben erscheinen direkt nach der Summenspalte.</para>
</sect2>
</sect1>
</chapter>
<chapter id="interface">
<title>Die Benutzeroberfläche von &karm;</title>
<para>Das Hauptfenster von &karm; besteht aus den folgenden Komponenten: Menüleiste, Werkzeugleiste, Zeit/Aufgaben-Fenster und Statusleiste.</para>
<screenshot>
<screeninfo>&karm; Hauptfenster</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="karm.png" format="PNG"/>
</imageobject>
<textobject>
<phrase>&karm; Hauptfenster</phrase>
</textobject>
</mediaobject>
</screenshot>
<sect1 id="main-window">
<title>Das Zeit/Aufgaben-Fenster</title>
<para>Hier werden die verschiedenen Aufgaben angezeigt, inklusive der mit dieser Aufgabe verbrachten Zeit (aktuelle Sitzung und total). Aufgaben, die gemessen werden, haben ein kleines Symbol in der Spalte Sitzungszeit.</para>
<para>Für jede Aufgabe können Unteraufgaben erstellt werden. Ein Klick auf das Plus-Symbol neben einer Aufgabe zeigt alle Teilaufgaben an, ein weiterer Klick blendet sie aus. Die Gesamtzeit einer Aufgabe setzt sich zusammen aus der Zeit aller Teilaufgaben und der eigenen Zeit.</para>
</sect1>
<sect1 id="menus">
<title>Die Menüzeile von &karm;</title>
<sect2>
<title>Das Menü <guimenu>Datei</guimenu></title>
<variablelist>
<varlistentry>
<term>
<menuchoice><shortcut> <keycombo action="simul">&Strg;<keycap>S</keycap></keycombo></shortcut> <guimenu>Datei</guimenu> <guimenuitem>Speichern</guimenuitem> </menuchoice></term>
<listitem>
<para><action>Speichert die aktuellen Aufgaben und Teilaufgaben mitsamt allen Zeitangaben.</action></para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice><shortcut> <keycombo action="simul">&Strg;<keycap>D</keycap></keycombo> </shortcut> <guimenu>Datei</guimenu> <guimenuitem>Drucken</guimenuitem> </menuchoice></term>
<listitem><para><action>Druckt</action> das &karm;-Fenster.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><menuchoice><guimenu>Datei</guimenu> <guimenuitem>Neue Sitzung starten</guimenuitem> </menuchoice></term>
<listitem>
<para>Setzt alle Sitzungszeiten wieder auf Null.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><menuchoice><guimenu>Datei</guimenu> <guimenuitem>Alle Zeiten zurücksetzen</guimenuitem> </menuchoice></term>
<listitem>
<para>Setzt alle Zeiten wieder auf Null.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><menuchoice><guimenu>Datei</guimenu> <guisubmenu>Import/Export</guisubmenu> <guimenuitem>Alte "flache" Datei importieren ...</guimenuitem> </menuchoice></term>
<listitem>
<para><action>Importiert</action> eine alte "flache" Datei von &karm;. (Neuere &karm;-Versionen benutzen Dateien im iCalendar-Format.)</para>
</listitem>
</varlistentry>
<varlistentry>
<term><menuchoice><guimenu>Datei</guimenu> <guisubmenu>Import/Export</guisubmenu> <guimenuitem>Aufgaben aus Planner übernehmen ...</guimenuitem> </menuchoice></term>
<listitem>
<para><action>Importiert</action> ein imendio Planner Projekt (siehe <ulink url="http://planner.imendio.org">planner.imendio.org</ulink>). Alle Aufgaben, Teilaufgaben und deren "Erledigt"-Status werden aus der .planner-Datei importiert. Sie können so eine Datei auch als Teilaufgabe importieren. Dafür erzeugen Sie zuerst eine Teilaufgabe, lassen diese markiert und starten dann den Import. </para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice><guimenu>Datei</guimenu> <guisubmenu>Import/Export</guisubmenu> <guimenuitem>Als CSV-Datei exportieren ...</guimenuitem> </menuchoice></term>
<listitem>
<para><action>Exportiert</action> die <guilabel>Gesamte Sitzungszeit</guilabel>, <guilabel>Sitzungszeit</guilabel>, <guilabel>Zeit</guilabel> und <guilabel>Gesamtzeit</guilabel> in eine Textdatei.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><menuchoice><guimenu>Datei</guimenu> <guisubmenu>Import/Export</guisubmenu> <guimenuitem>Verlauf als CSV-Datei exportieren ...</guimenuitem> </menuchoice></term>
<listitem>
<para><action>Exportiert</action> den Aufgabenverlauf in eine Textdatei. </para>
</listitem>
</varlistentry>
<varlistentry>
<term><menuchoice><shortcut> <keycombo action="simul">&Ctrl;<keycap>C</keycap></keycombo> </shortcut> <guimenu>Datei</guimenu> <guimenuitem>Gesamtheit in die Zwischenablage kopieren</guimenuitem> </menuchoice></term>
<listitem>
<para><action>Kopiert</action> die aktuelle Gesamtzeit für eine oder alle Aufgaben in die KDE Zwischenablage.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><menuchoice><shortcut> <keycombo action="simul">&Ctrl;&Alt;<keycap>C</keycap></keycombo> </shortcut> <guimenu>Datei</guimenu> <guimenuitem>Verlauf in die Zwischenablage kopieren</guimenuitem> </menuchoice></term>
<listitem>
<para><action>Kopiert</action> die täglichen Zeiten für einen Zeitraum in die KDE Zwischenablage.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><menuchoice><shortcut> <keycombo action="simul">&Ctrl;<keycap>Q</keycap></keycombo> </shortcut> <guimenu>Datei</guimenu> <guimenuitem>Beenden</guimenuitem> </menuchoice></term>
<listitem>
<para><action>Beendet</action> &karm;</para>
</listitem>
</varlistentry>
</variablelist>
</sect2>
<sect2>
<title>Das Menü <guimenu>Stoppuhr</guimenu></title>
<variablelist>
<varlistentry>
<term>
<menuchoice><shortcut><keycap>S</keycap></shortcut> <guimenu>Stoppuhr</guimenu> <guimenuitem>Start</guimenuitem> </menuchoice>
</term>
<listitem>
<para><action>Startet</action> die Zeitmessung für die ausgewählte Aufgabe.</para></listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice><guimenu>Stoppuhr</guimenu> <guimenuitem>Stopp</guimenuitem> </menuchoice>
</term>
<listitem>
<para><action>Hält</action> die Zeitmessung für die ausgewählte Aufgabe an.</para></listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice><shortcut><keycap>&Esc;</keycap></shortcut> <guimenu>Stoppuhr</guimenu> <guimenuitem>Alle Zeitmessungen anhalten</guimenuitem> </menuchoice>
</term>
<listitem><para><action>Hält</action> die Zeitmessung für alle Aufgaben an.</para></listitem>
</varlistentry>
</variablelist>
</sect2>
<sect2>
<title>Das Menü <guimenu>Aufgaben</guimenu></title>
<variablelist>
<varlistentry>
<term>
<menuchoice><shortcut> <keycombo action="simul">&Ctrl;<keycap>N</keycap></keycombo> </shortcut> <guimenu>Aufgabe</guimenu> <guimenuitem>Neu</guimenuitem> </menuchoice>
</term>
<listitem><para><action>Fügt</action> eine neue Aufgabe hinzu.</para></listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice><shortcut> <keycombo action="simul">&Strg;&Alt; <keycap>N</keycap></keycombo> </shortcut> <guimenu>Aufgabe</guimenu> <guimenuitem>Neue Teilaufgabe</guimenuitem> </menuchoice>
</term>
<listitem>
<para><action>Fügt</action> eine neue Teilaufgabe zur ausgewählten Aufgabe hinzu.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice><shortcut> <keycap>Entf</keycap> </shortcut> <guimenu>Aufgabe</guimenu> <guimenuitem>Löschen</guimenuitem> </menuchoice>
</term>
<listitem>
<para><action>Löscht</action> die ausgewählte Aufgabe oder Teilaufgabe.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice><shortcut> <keycombo action="simul">&Strg;<keycap>E</keycap></keycombo> </shortcut> <guimenu>Aufgabe</guimenu> <guimenuitem>Bearbeiten</guimenuitem> </menuchoice>
</term>
<listitem>
<para><action>Ändert</action> den Namen oder die abgelaufene Zeit für die ausgewählte Aufgabe.</para><para>Es gibt zwei Möglichkeiten, die Zeit zu ändern: Absolut, womit die Sitzungs- oder Gesamtzeit einer Aufgabe getrennt gesetzt werden können, oder aber relativ, womit ein bestimmter Zeitbetrag von der Sitzungs- und Gesamtzeit abgezogen oder diesen hinzugefügt werden kann.</para><para>Die Option zum automatischen Verfolgen ermöglicht das Starten und Stoppen der Zeitmessung, sobald Sie auf eine bestimmte &kde;-Arbeitsfläche wechseln.</para>
</listitem>
</varlistentry>
</variablelist>
</sect2>
<sect2>
<title>Das Menü <guimenu>Einstellungen</guimenu></title>
<variablelist>
<varlistentry>
<term>
<menuchoice><guimenu>Einstellungen</guimenu> <guimenuitem>Kurzbefehle festlegen ...</guimenuitem> </menuchoice>
</term>
<listitem><para><action>Öffnet</action> einen Dialog, mit dem die Tastaturkürzel vom Benutzer definiert werden können.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice><guimenu>Einstellungen</guimenu> <guimenuitem>KArm einrichten ...</guimenuitem> </menuchoice>
</term>
<listitem><para><action>Öffnet</action> einen Dialog, mit dem &karm; eingerichtet werden kann.</para>
<para>Der Dialog besteht aus drei Abschnitten: <guilabel>Verhalten</guilabel>.Hier können Sie eine Warnung bei Untätigkeit und eine Nachfrage vor dem Löschen einer Aufgabe einrichten. Als zweites folgt <guilabel>Anzeige</guilabel>.Hier können Sie die sichtbaren Spalten im Zeit/Aufgabenfenster einstellen. Zuletzt sehen Sie noch <guilabel>Speichern</guilabel>. Hier können Sie die Datei festlegen, in die KArm die Daten speichert und ob dies automatisch nach Ablauf einer bestimmten Zeitspanne geschehen soll.</para> </listitem>
</varlistentry>
</variablelist>
</sect2>
<sect2>
<title>Das Menü <guimenu>Hilfe</guimenu></title>
&help.menu.documentation; </sect2>
</sect1>
<sect1 id="tool-bar">
<title>Die Werkzeugleiste</title>
<para>Die Werkzeugleiste enthält Symbole für die folgenden Befehle:</para>
<note><para>(Alle verhalten sich wie die entsprechenden Menübefehle)</para></note>
<itemizedlist>
<listitem><para><guiicon>Start</guiicon></para></listitem>
<listitem><para><guiicon>Stopp</guiicon></para></listitem>
<listitem><para><guiicon>Neu</guiicon></para></listitem>
<listitem><para><guiicon>Neue Teilaufgabe</guiicon></para></listitem>
<listitem><para><guiicon>Löschen</guiicon></para></listitem>
<listitem><para><guiicon>Bearbeiten</guiicon></para></listitem>
</itemizedlist>
</sect1>
<sect1 id="status-bar">
<title>Die Statusleiste</title>
<para>Zeigt die in dieser Sitzung verbrachte Zeit an.</para>
</sect1>
</chapter>
<chapter id="credits">
<title>Danksagung und Lizenz</title>
<para>&karm; </para>
<para>Copyright des Programms: </para>
<itemizedlist>
<listitem><para>Copyright 1997-2000 Sirtaj Singh Kang, <email>taj@kde.org</email>.</para> </listitem>
<listitem><para>2001-2002 Tomas Pospisek <email>tpo_deb@sourcepole.ch</email></para></listitem>
<listitem><para>2003-2004 Mark Bucciarelli, <email>mark@hubcapconsulting.com</email></para></listitem>
</itemizedlist>
<para>Mitwirkende (in alphabetischer Reihenfolge)</para>
<itemizedlist>
<listitem><para>Allen Winter <email>winterz@verizon.net</email></para></listitem>
<listitem><para>David Faure <email>faure@kde.org</email></para></listitem>
<listitem><para>Espen Sand <email>espen@kde.org</email></para></listitem>
<listitem><para>Gioele Barabucci <email>gioele@gioelebarabucci.com</email></para></listitem>
<listitem><para>Jan Schaumann <email>jschauma@netmeister.org</email></para></listitem>
<listitem><para>Jesper Pedersen <email>blackie@ifad.dk</email></para></listitem>
<listitem><para>Kalle Dalheimer <email>kalle@kde.org</email></para></listitem>
<listitem><para>Klarälvdalens Datakonsult AB.</para></listitem>
<listitem><para>Mark Bucciarelli <email>mark@hubcapconsulting.com</email></para></listitem>
<listitem><para>Thorsten St&auml;rk <email>dev@staerk.de</email></para></listitem>
<listitem><para>Tomas Pospisek <email>tpo_deb@sourcepole.ch</email></para></listitem>
<listitem><para>Willi Richert <email>w.richert@cox.net</email></para></listitem>
</itemizedlist>
<para>&karm; wurde von Harald Tveit Alvestrands nützlichem Werkzeug <application>Titrax</application> inspiriert, dessen einziger Mangel das verwendete Xt-Toolkit ist.</para>
<para>Copyright für die Dokumentation 2000-2004 Jonathan Singer <email>jsinger@leeta.net</email> und Sirtaj Singh Kang <email>taj@kde.org</email>.</para>
&underFDL; &underGPL; </chapter>
<glossary id="glossary">
<glossentry id="gloss-active-task">
<glossterm>Aktive Aufgabe</glossterm>
<glossdef><para>Eine Aufgabe mit laufender Zeitmessung.</para></glossdef>
</glossentry>
<glossentry id="gloss-dcop">
<glossterm>&DCOP;</glossterm>
<glossdef><para>Das Interprozess-Kommunikationsprotokoll von KDE. Dies ist die Abkürzung für Deskop Communication Protocol.</para></glossdef>
</glossentry>
<glossentry id="gloss-desktop">
<glossterm>Arbeitsfläche</glossterm>
<glossdef><para>GNU/Linux, FreeBSD und andere Betriebssysteme, die X-Windows verwenden, haben mehrere Arbeitsflächen. Typischerweise haben Sie in KDE vier verschiedene Arbeitsflächen installiert. Jede kann einen eigenen Satz an Programmen und Dateien enthalten. Beim ersten KDE-Start sehen Sie normalerweise die 1. Arbeitsfläche. Wenn Sie <keycombo action="simul">&Ctrl;<keycap>F2</keycap></keycombo> drücken sehen Sie die Arbeitsfläche 2. Wenn Sie <keycombo action="simul">&Ctrl;<keycap>F1</keycap></keycombo> drücken, sehen Sie wieder die Arbeitsfläche 1. </para></glossdef> </glossentry>
<glossentry id="gloss-history">
<glossterm>Verlauf</glossterm>
<glossdef><para>Wenn &karm;s Funktion "Verlauf protokollieren" aktiv ist, protokolliert &karm; jedes Start/Stopp-Ereignis der Stoppuhren. Der Verlauf wird beim Zurücksetzen der Zeiten nicht gelöscht und bleibt auch in der Datei gespeichert, bis die Aufgabe gelöscht wird.</para></glossdef>
</glossentry>
<glossentry id="gloss-session"> <glossterm>Sitzung</glossterm>
<glossdef><para>Ein benutzerdefinierter Startpunkt für eine Sitzungs-Zeitmessung. Eine neue Sitzung beginnt, wenn Sie <menuchoice> <guimenu>Datei</guimenu> <guimenuitem>Neue Sitzung starten</guimenuitem> </menuchoice> auswählen. Die Sitzungsdaten werden nicht gespeichert, wenn Sie eine neue Sitzung beginnen. </para></glossdef> </glossentry>
<glossentry id="gloss-system-time"> <glossterm><guilabel>Sitzungszeit</guilabel></glossterm> <glossdef><para>Die seit Sitzungsbeginn abgelaufene Zeit.</para></glossdef> </glossentry>
<glossentry id="gloss-system-tray"> <glossterm>Systemabschnitt der Kontrollleiste</glossterm>
<glossdef><para>Der Systemabschnitt der Kontrollleiste ist (in der Voreinstellung) der rechte untere Bereich in der Kontrollleiste, in dem das <inlinemediaobject> <imageobject><imagedata fileref="systray.png" format="PNG"/></imageobject> </inlinemediaobject> Symbol von &karm; angezeigt wird.</para></glossdef>
</glossentry>
<glossentry id="gloss-top-level-task">
<glossterm>Hauptaufgabe</glossterm>
<glossdef><para>Eine Aufgabe auf der obersten Ebene; sie hat keine Eltern-Aufgaben.</para></glossdef>
</glossentry>
<glossentry id="gloss-total-session-time"> <glossterm><guilabel>Gesamte Sitzungszeit</guilabel></glossterm> <glossdef><para>Die für die Aufgabe und alle Unteraufgaben aufgewendete Zeit seit Sitzungsbeginn.</para></glossdef> </glossentry>
<glossentry> <glossterm><guilabel>Zeit</guilabel></glossterm>
<glossdef><para>Die für die Aufgabe aufgewendet Zeit seit dem letzten Zurücksetzen der Stoppuhren.</para></glossdef> </glossentry>
<glossentry id="gloss-total-time"> <glossterm><guilabel>Gesamtzeit</guilabel></glossterm>
<glossdef><para>Die Zeit, die für die Aufgabe und alle Unteraufgaben seit dem letzten Zurücksetzen aufgewendet wurde.</para></glossdef> </glossentry>
</glossary>
<appendix id="installation">
<title>Installation</title>
<sect1 id="getting-karm">
<title>Woher Sie &karm; erhalten</title>
&install.intro.documentation; &install.compile.documentation; </sect1>
</appendix>
<appendix id="dcopappendix"><title>Die &DCOP;-Schnittstelle</title>
<refentry id="dcop-version">
<refmeta>
<refentrytitle>version</refentrytitle>
</refmeta>
<refnamediv>
<refname>version</refname>
<refpurpose>Gibt die Versionsnummer von &karm; zurück.</refpurpose>
</refnamediv>
<refsynopsisdiv>
<synopsis>QString version()
</synopsis>
</refsynopsisdiv>
<refsect1>
<title>Beschreibung</title>
<para><function>version()</function> ist ein &DCOP;-Aufruf, der die Versionsnummer von &karm; zurückgibt; z. B. 1.5.0. Die Versionsnummer wird als Zeichenkette im typischen GNU Format als Major.Minor.Bugfix ausgegeben.</para>
</refsect1>
</refentry>
<refentry id="dcop-quit">
<refmeta>
<refentrytitle>quit</refentrytitle>
</refmeta>
<refnamediv>
<refname>quit</refname>
<refpurpose>Liefert den Beenden-Status von &karm; zurück.</refpurpose>
</refnamediv>
<refsynopsisdiv>
<synopsis>QString quit()
</synopsis>
</refsynopsisdiv>
<refsect1>
<title>Beschreibung</title>
<para><function>quit()</function> ist ein &DCOP;-Aufruf, mit dem eine externe Anwendung &karm; auf regulärem Weg beenden kann. </para>
</refsect1>
</refentry>
<refentry id="dcop-hastodo">
<refmeta>
<refentrytitle>hastodo</refentrytitle>
</refmeta>
<refnamediv>
<refname>hastodo</refname>
<refpurpose>Prüft, ob eine bestimmte Hauptaufgabe vorhanden ist.</refpurpose>
</refnamediv>
<refsynopsisdiv>
<synopsis>QString hastodo(QString Aufgabenname)
</synopsis>
<refsect2>
<title>Parameter</title>
<variablelist>
<varlistentry>
<term><parameter>Aufgabenname</parameter></term>
<listitem>
<para>Der Name der Aufgabe, nach der gesucht werden soll.</para>
</listitem>
</varlistentry>
</variablelist>
</refsect2>
</refsynopsisdiv>
<refsect1>
<title>Beschreibung</title>
<para><function>hastodo(QString Aufgabenname)</function> ist ein &DCOP;-Aufruf, der nach einer Hauptaufgabe mit dem übergebenen Namen sucht. Wird diese gefunden, ist der Rückgabewert die iCalendar-UID der Aufgabe, ansonsten wird eine leere Zeichenkette zurückgegeben. </para>
<para>Es wird die Datei durchsucht, die &karm; gerade geöffnet hat. Es werden auch alle Teilaufgaben durchsucht, nicht nur die Hauptaufgaben. Falls mehrere Aufgaben den selben Namen tragen, wird die erste gefundene Aufgabe zurückgegeben.</para>
</refsect1>
</refentry>
<refentry id="dcop-addtodo">
<refmeta>
<refentrytitle>addtodo</refentrytitle>
</refmeta>
<refnamediv>
<refname>addtodo</refname>
<refpurpose>Fügt eine neue Aufgabe hinzu.</refpurpose>
</refnamediv>
<refsynopsisdiv>
<synopsis>QString addtodo(QString Aufgabenname)
</synopsis>
<refsect2>
<title>Parameter</title>
<variablelist>
<varlistentry>
<term><parameter>Aufgabenname</parameter></term>
<listitem>
<para>Der Name der Aufgabe.</para>
</listitem>
</varlistentry>
</variablelist>
</refsect2>
</refsynopsisdiv>
<refsect1>
<title>Beschreibung</title>
<para><function>addtodo(QString Aufgabenname)</function> ist ein &DCOP;-Aufruf, mit dem Sie eine neue Aufgabe zur geöffneten Datei hinzufügen können. Der Rückgabewert enthält die UID der neuen Aufgabe. </para>
</refsect1>
</refentry>
</appendix>
&documentation.index;
</book>
<!--
Local Variables:
mode: sgml
sgml-minimize-attributes:nil
sgml-general-insert-case:lower
sgml-indent-step:0
sgml-indent-data:nil
End:
// vim:ts=2:sw=2:tw=78:noet
-->