<para>&karm; holder øje med tiden som bruges til forskellige opgaver. Den er nyttig til at huske timer som skal beregnes for forskellige kunder pr opgave og pr dag.</para>
<para>&karm; detekterer hvornør dit tastatur og mus er i tomgang og kan tilknytte forskellige opgaver til forskellige desktoppe, to værktøjer der kan hjælpe med at holde tidsmåleren kørende på den rigtige opgave.</para>
<para>&karm; er oprindelig skrevet af Sirtaj Singh Kang. Ordet <quote>karm</quote> betyder <quote>arbejde</quote> eller <quote>dåd</quote> på forfatterens modersmål Punjabi og det er det samme ord (men en bedre transliteration) som <quote>karma</quote>.</para>
<para>Skriv <command>karm</command> på kommandolinjen eller vælg <guimenuitem>Personlig tidsmåler</guimenuitem> fra gruppen <guisubmenu>Værktøj</guisubmenu> i <guimenu>KDE's startmenu</guimenu>. De almindelige &Qt;- og &kde;-kommandoflag er tilgængelige, og kan ses på en liste ved at skrive <userinput><command>karm</command> <option>--help</option></userinput> på kommandolinjen.</para>
<para>&karm; sørger for yderligere et kommandolinjeflag som lader dig angive navnet på den ICalendar-fil som bruges til at opbevare din arbejdshistorik. Du indskriver en fjernkalenderfil ved at bruge http eller ftp som en del af filnavnet, for eksempel http://www.min_arbejdsplads.dk/mine_data/mit_arbejde.ics.</para>
<para><emphasis>Problem:</emphasis> Du er en konsulent for fri software med mange klienter. Nogle klienter har flere projekter. I løbet af en dag, skifter du frem og tilbage mellem forskellige projekter. Du har brug for at holde styre den tid du bruger for at kunne generere månedlige regninger.</para>
<para><emphasis>Løsning:</emphasis>Lav én opgave på øverste niveau for hver kunde og en underopgave for hver af kundens projekter. For projekter der kræver mere detaljeret forfølgning, lav en liste af underopgaver for projektet. Følg tiden ved at dobbeltklikke på den opgave du arbejder på for øjeblikket.</para>
<para>&karm; giver stor fleksibilitet i at følge din tid, tillader ubegrænsede opgaver og opgavedybde. Tiden kan følges til enhver opgave, og mere end en opgave kan være aktiv på et giver tidspunkt.</para>
<para>For at lave en opgave på øverste niveau vælges <menuchoice> <shortcut> <keycombo action="simul">&Ctrl;<keycap>N</keycap></keycombo> </shortcut> <guimenu>Opgave</guimenu> <guimenuitem>Ny</guimenuitem> </menuchoice>. For at lave en underopgave vælges opgaven og så bruges <menuchoice> <shortcut> <keycombo action="simul">&Ctrl;&Alt;<keycap>N</keycap></keycombo> </shortcut> <guimenu>Opgave</guimenu> <guimenuitem>Ny underopgave</guimenuitem> </menuchoice> </para>
<para>Når &karm; afslutter, bliver opgavelisten gemt til den fil der er angivet i <menuchoice> <guimenu>Opsætning</guimenu> <guimenuitem>Indstil KArm</guimenuitem> </menuchoice>. Når den åbnes næste gang, genindlæser den opgavelisten fra den samme fil.</para>
<para>&karm; kan importere og eksportere opgaver for at minimere arbejdet. Se <link linkend="interfaces">Andre systemer</link>.</para>
<para><emphasis>Problem:</emphasis> For ikke at gå fallit, må du udsende gennemsnitligt en regning for fem af dagens timer. For at styre dette overvåger du dine daglige og ugentlige timer i alt.</para>
<para><emphasis>Løsning:</emphasis> Nulstil sessionsmåleren i begyndelsen af hver arbejdsdag og nulstil alle tidsmålere i begyndelsen af hver uge.</para> </informalexample>
<para>&karm; gør det nemt at følge tiden. For at starte med at logge tiden mod en opgave, dobbeltklikkes på opgaven. For at holde opmed at logge tiden, dobbeltklikkes på opgaven igen. Aktive opgaver viser et lille ur i søjlen <guilabel>Sessionstid</guilabel>.</para>
<para>En anden visuel indikation af at aktiviteten logges er &karm;'s statusikon. Når en opgave er aktiv, bevæger minutviseren i ikonen sig. Hvis du lader musemarkøren hvile over denne ikon, vil navnet på den aktive opgave blive vist som et værktøjsvink. Hvis mere end en opgave er aktiv, vil opgavernes navne i værktøjsvinket være adskilt af kommaer.</para>
<para>&karm; vedligeholder to tidsmålere for hver opgave: en for sessionstiden og en for den totale tid. I standardindstillingen viser &karm; to søjler for hver tidsmåler, resulterende i at der er fire søjler i alt for hver opgave:</para>
<para><emphasis>Problem:</emphasis> Du har to hovedprojekter som du skifter imellem hver dag. For athjælpemed at organisere dit arbejde, har du dine filer for projekt 1 på desktop 1 og for projekt 2 på desktop 2.</para>
<para><emphasis>Løsning:</emphasis> Tilknyt projekt 1's opgave med desktop 1 og projekt 2 med desktop 2. Når du skifter fra desktop 2 til desktop 1, stopper &karm; automatisk projekt 2 opgaven og starter projekt 1 opgaven.</para>
<para>For at knytte en opgave til en eller flere desktoppe, vælges <menuchoice> <shortcut> <keycombo action="simul">&Ctrl;<keycap>E</keycap></keycombo> </shortcut> <guimenu>Opgave</guimenu> <guimenuitem>Redigér</guimenuitem> </menuchoice>. Slå <guilabel>Auto-sporing</guilabel> til og vælg den desktop eller de desktoppe der skal knyttes til denne opgave. Når en af de valgte desktoppe bliver aktive, vil &karm; automatisk, efter en kort ventetid, begynde at logge tiden mod denne opgave.</para>
<informalexample> <para><emphasis>Problem:</emphasis> Du forlader dit arbejde tidligt fredag fordi du har et ærinde og glemmer at standse tidsmåleren. Når du vender tilbage mandag, kører tidsmåleren stadigvæk.</para>
<para>&karm; kan indstilles til at detektere hvornår mus og tastatur er i tomgang. Hvis musen og tastaturet ikke bliver brugt længere end et angivet antal minutter, viser &karm; følgende dialog:</para>
<varlistentry><term><guibutton>Vend tilbage & stop</guibutton></term>
<listitem><para>Træk tomgangstiden fra fra alle aktive tidsmålere og stop dem.</para><para>Du arbejdede ikke på opgaverne mens din computer var i tomgang og du gør det stadigvæk ikke.</para></listitem></varlistentry>
<varlistentry> <term><guibutton>Vend tilbage og & fortsæt</guibutton></term>
<listitem><para>Træk den tomgangstiden fra alle aktive tidsmålere men hold em kørende.</para><para>Du arbejdede ikke på opgaverne mens din computer var i tomgang men du gør det nu. </para></listitem></varlistentry>
<varlistentry> <term><guibutton>Fortsæt med at tage tid</guibutton></term>
<listitem><para>Anvend tomgangstiden på alle aktive tidsmålere og hold dem kørende.</para><para>Du arbejdede på opgaverne mens din computer var i tomgang og du gør det stadigvæk. </para></listitem></varlistentry> </variablelist>
<para>&karm; giver dig tre måder at rapportere den tid du har logget. Du kan sende summer for session og tid til printeren, kopiere tidssummer til klippebordet, eller kopiere tidshistorikken til klippebordet.</para>
<sect2><title>Udskriv totalsummer</title>
<para>For at generere sumrapporter til printeren, vælges <menuchoice> <shortcut> <keycombo action="simul">&Ctrl;<keycap>P</keycap></keycombo> </shortcut> <guimenu>Fil</guimenu> <guimenuitem>Udskriv</guimenuitem> </menuchoice>. Dette genererer en tre-søjle-rapport for den fuldstændige liste af opgaver. Den første søjle er opgavens navn, den anden søjle er <guilabel>Sessionstid i alt</guilabel> og dne tredje søjle er <guilabel>Tid i alt</guilabel>.</para>
<para>For at generere totalrapport til klippebordet vælges <menuchoice> <shortcut> <keycombo action="simul">&Ctrl;<keycap>C</keycap></keycombo> </shortcut> <guimenu>Fil</guimenu> <guimenuitem>Kopiér totalsummer til klippebordet</guimenuitem> </menuchoice>. </para>
<para>Denne rapport bliver genereret for den opgave der er valgt nu og alle dens underopgaver. Hvis den nuværende opgave er på det øverste niveau, spørger &karm; dig om du ønsker at generere rapporten for denne opgaver og dens underopgaver eller for hele opgavelisten.</para>
<para>Den første søjle er <guilabel>Tid i alt</guilabel> og den er indrykket (ligesom opgavens navn) for at indikere opgave/underopgave-forhold. De rapporterede tider inkluderer tider for underopgaver.</para>
<para>For at generere totalrapporter til klippebordet vælges <menuchoice> <shortcut> <keycombo action="simul">&Ctrl;&Alt;<keycap>C</keycap></keycombo> </shortcut> <guimenu>Fil</guimenu> <guimenuitem>Kopiér historik til klippebord</guimenuitem> </menuchoice>. </para>
<important><para>Du skal slå tilvalget <guilabel>Log historik</guilabel> til i <menuchoice> <guimenu>Opsætning</guimenu> <guimenuitem>Indstil KArm</guimenuitem> </menuchoice>. Ellers holder &karm; kun styr på summer og ikke den detaljerede opgavehistorik.</para></important>
<para>Denne rapport bliver genereret for den nuværende opgave og alle dens underopgaver. I modsætning til sum-rapporter, giver denne rapport dig ikkemuligheden for at rapportere om den fuldstændige opgaveliste. Du kan kun rapport den nuværende opgave og alle dens underopgaver.</para>
<para>Når du vælger historikrapporten, beder &karm; dig først om at indtaste datoområdet for rapporten:</para>
<para>Opgavehistorikken bliver summet op for hver dag og opgave, grupperet efter uge. De første syv søjler er mandag til søndag. Den ottende søjle er ugen i alt og den niende er opgavens navn. Opgavenavnene bliver indrykket for at indikere opgave/underopgave-forhold.</para>
<para>&karm;, såvelsom KOrganizer og Apple's iCal, bruger industristandarden <ulink url="http://developer.kde.org/documentation/standards/index.html">iCalendar</ulink>-formatet til sine data. &karm; kan læse og skrive gøremålslister der er lavet af disse to programmer.</para>
<warning><para>Hvis både &karm; og KOrganizer har åbnet den samme fil, og du redigerer filen med KOrganizer, risikerer du at miste data. For at være på den sikre side bør du kun redigere filen enten med det ene program, eller med det andet.</para></warning>
<para>Som et typisk brugertilfælde, kunne du ville planlægge et projekt med projekthåndteringsværktøjet Imendio Planner (fra <ulink url="http://planner.imendio.org">planner.imendio.org</ulink>) og importere dets aktiviteter til &karm;, for at få dem på industristandard-formatet <ulink url="http://developer.kde.org/documentation/standards/index.html"> iCalendar</ulink>. Når du har gjort det kan du skemalægge aktiviteterne i Korganizer og holde styr på tiden du arbejder med dem i &karm;. Dette er en måde at kontrollere om projektet holder sig indenfor budget- og tidsrammerne.</para>
<para>&DCOP; er mekanismen som KDE-programmer bruger til at kommunikere med hinanden. Et KDE-program sørger for en liste med funktioner som andre programmer (for eksempel et Bash-script) kan bruge.</para>
<para>&karm;s nuværende &DCOP;-grænseflade bruges for øjeblikket i hovedsagen til automatiserede tester, så det er meget begrænset. For den fuldstændige definitionen af grænsefladen, se appendix <link linkend="dcopappendix">&DCOP;-grænseflade</link>.</para>
<sect2 id="csv-export"><title>Eksportér totalsummer til CSV</title>
<para>&karm; kan både eksportere totalsummer og historik til et komma-adskilt filformat. For at eksportere totalsummer, vælges <menuchoice> <guimenu>Fil</guimenu> <guisubmenu>Import/Eksport</guisubmenu> <guimenuitem>Eksport til CSV-fil...</guimenuitem> </menuchoice> så vil &karm; vise følgende eksportdialog:</para>
<para>Indtast den fil du gerne vil eksportere data til, og ændre den anden dialogs forvalg om nødvendigt. Bemærk at datoområdets kontrol er deaktiveret idet du eksporterer totalsummer angående tid, ikke historikdata. Klik på <guibutton>Eksportér</guibutton> så vil &karm; eksportere totalsummer for alle opgaver til den fil du valgte.</para>
<para>Opgaver på top-niveau skrives i første søjle, underopgaver i anden og så videre. Tidsdata skrives efter den maksimale opgavedybde (fem i dette eksempel). Den første tidssøjle er <guilabel>Sessionstid</guilabel>, den anden <guilabel>Tid</guilabel>, den tredje er <guilabel>Sessionstid i alt</guilabel> og den fjerde er <guilabel>Tid i alt</guilabel>. </para>
<sect2 id="csv-export-history"><title>Eksportér historik til CSV</title>
<para>For at eksportere opgavehistorikken vælges <menuchoice> <guimenu>Fil</guimenu> <guisubmenu>Importér/Eksportér</guisubmenu> <guimenuitem>Eksportér historik til CSV-fil...</guimenuitem> </menuchoice> og &karm; viser så den samme eksportdialog som vist ovenfor.</para>
<para>Indtast den fil du gerne vil eksportere data til, og vælg det datoområde som du ønsker for opgavehistorikken. Ændr de andre forvalg i dialogen om nødvendigt. Klik på <guibutton>Eksportér</guibutton> så vil &karm; eksportere opgavehistorikken for alle opgaver til den fil du valgte.</para>
<para>Her er et eksempel på uddataformatet:</para>
<para>De tre linjer identificerer hvornår rapporten blev genereret og for hvilket datoområde. Den fjerde række er en komma-afgrænset liste af datoerne i datoområdet, i ISO 8601 format (ÅÅÅÅ-MM-DD). Alle efterfølgende rækker er en liste af tiden logget mod hver opgave. Den sidste numeriske søjle er rækkesummen henover alle dage. Opgavens navn udskrives efter total-søjlen, og indrykkes for at indikere opgavek/underopgave-forholdet. Navne på opgaver på øverste niveau ses i første søjle efter totalsummen.</para>
<para>De forskellige opgaver vises i dette vindue, sammen med tiden som er gået for hver i den nuværende session og i alt. Opgaver som tidsmåless har et lille ur ved siden af sessionstiden.</para>
<para>Underopgaver kan laves for hver opgave. Klik på plus-tegnet eller minus-tegnet foran hovedopgaven skifter visningen af de tilknyttede underopgaver. Den totale tid som gået med en opgave indeholder tiderne for dens underopgaver samt dens egen akkumulerede tid.</para>
<para><action>Importér</action> et Imendio Planner-projekt (se <ulink url="http://planner.imendio.org">planner.imendio.org</ulink>). Alle aktiviteter, delaktiviteter og deres "færdig" markering importeres fra en .planner-fil. Du kan importere dem som en delopgave ved at oprette en delopgave, efterladende den som markeret, og derefter importere. </para>
<para><action>Eksportér </action> <guilabel>Sessionstid i alt</guilabel>, <guilabel>Sessionstid</guilabel>, <guilabel>Tid</guilabel>, og <guilabel>Tid i alt</guilabel> til en tekstfil.</para>
<para><action>Ændrer navn eller total tid</action> for den nuværende opgave</para><para>Der er to måder at ændre tiden: Redigér absolut, hvor sessionstiden og totale tider kan ændres separat; og Redigér relativt, hvor en vis ændring lægges til eller fjernes både fra sessionstiden og den totale tid.</para><para>Autosporing tillader tidsmåling at starte og stoppe automatisk når du skifter til eller fra et bestemt af &kde;'s desktoppe.</para>
<listitem><para><action>Åbner</action> en dialog til at lade brugeren indstille &karm;</para>
<para>Dialogen har tre ruder i faneblade: <guilabel>Opførsel </guilabel>, som tillader dig at angive en advarsel for ingen aktivitet og give en advarselsbesked når du sletter et sæt opgaver, <guilabel>Visning </guilabel>, som indstiller felterne vist i hovedvinduet <guilabel>Opbevaring</guilabel>, som indstiller stedet hvor filer gemmes, om automatisk gemning er aktivere og intervallet mellem at gemme automatisk.</para> </listitem>
<para>&karm; er inspireret af Harald Tveit Alvestrands meget nyttige værktøj som hedder <application>titrax</application>, hvis eneste fejl er at det er baseret på Xt-værktøjskassen.</para>
<para>Dokumentation ophavsret 2000+2004 Jonathan Singer <email>jsinger@leeta.net</email> og Sirtaj Singh Kang <email>taj@kde.org</email>.</para>
<glossdef><para>GNU/Linux, FreeBSD og andre systemer der kører X-Windows har flere desktoppe. Du har typisk fire forskellige desktoppe installeret som standard. Hver desktop kan vise sit eget sæt programmer og filer. Når KDE først startes op, er den desktop du ser Desktop 1. Hvis du trykker på <keycombo action="simul">&Alt;<keycap>F2</keycap></keycombo>, ser du Desktop 2. Tryk på <keycombo action="simul">&Alt;<keycap>F1</keycap></keycombo> vil få Desktop 1 tilbage. </para></glossdef> </glossentry>
<glossdef><para>Hvis &karm; er indstillet til at logge historik, vil den optage hver start/stop tidsmålingsbegivenhed. Denne historik bliver aldrig ryddet når tider nulstilles, men forbliver i filen indtil opgaven bliver slettet.</para></glossdef>
<glossdef><para>Et brugerdefineret startpunkt for sessionens tidsmålere. En ny session begynder when you select <menuchoice> <guimenu>File</guimenu> <guimenuitem>Start New Session</guimenuitem> </menuchoice>. Session data is not saved when you create a new session. </para></glossdef> </glossentry>
<glossentry id="gloss-system-time"> <glossterm><guilabel>Sessionstid</guilabel></glossterm> <glossdef><para>Tiden brugt på opgaven siden sidste session begyndte.</para></glossdef> </glossentry>
<glossdef><para>Statusfeltet er som standard er i panelet for neden. I dette statusfelt <inlinemediaobject> <imageobject> <imagedata fileref="systray.png" format="PNG"/></imageobject> </inlinemediaobject> er &karm;-ikonen længst til højre.</para></glossdef>
<glossentry id="gloss-total-session-time"> <glossterm><guilabel>Sessionstid i alt</guilabel></glossterm> <glossdef><para>Tiden brugt på opgaven og alle dens underopgaver siden sidste session begyndte.</para></glossdef> </glossentry>
<para><function>version()</function> er et &DCOP;-kald som returnerer &karm;s versionsnummer, for eksempel 1.5.0. Versionsnummeret returneres som en streng med det typiske GNU-format hovedversion.delversion.fejlretning.</para>
<para><function>hastodo(QString taskname)</function> er et &DCOP;-kald som leder efter en opgave med angivet navn. Hvis den findes, returneres iCalendar-brugerid som identifierer opgaven. Hvis den ikke findes, returneres en tom streng. </para>
<para>Filen som gennemsøges er iCalendar-filen som &karm; for øjeblikket har åben. Alle opgavetræer gennemsøges, ikke kun opgaver på øverste niveau. Hvis mere end en opgave har et matchende navn, returneres den første som findes.</para>
<para><function>addtodo(QString todoname)</function> er en &DCOP;-funktion som tilføjer en ny opgave på øverste niveau i nuværende lagringsobjekt. Den nye opgaves brugerid returneres. </para>