<para>&karm; håller reda på tiden som används för olika aktiviteter. Det är användbar för att hålla reda på fakturerad kundtid och kan rapportera timmarna loggade enligt aktivitet och dag.</para>
<para>Denna tidshistorik kan exporteras till en textfil avgränsad med kommatecken, för att importera till andra fakturerings- eller projekthanteringsverktyg.</para>
<para>&karm; detekterar när tangentbordet och musen är inaktiva och kan koppla ihop olika aktiviteter med olika skrivbord, två verktyg som kan hjälpa till att hålla tidtagningen igång för den riktiga aktiviteten.</para>
<para>&karm; är ursprungligen skrivet av Sirtaj Singh Kang. Ordet <quote>karm</quote> betyder <quote>arbete</quote> eller <quote>gärning</quote> på upphovsmannens modersmål Punjabi, och är samma ord som <quote>karma</quote> (men en bättre transkribering).</para>
<para>Skriv <command>karm</command> på kommandoraden eller välj <guimenuitem>Personlig tidmätare</guimenuitem> från gruppen <guisubmenu>Verktyg</guisubmenu> i <guimenu>KDE:s startmeny</guimenu>. De vanliga &Qt;- och &kde;-kommandoväljarna är tillgängliga, och kan listas genom att skriva <userinput><command>karm</command> <option>--help</option></userinput> på kommandoraden.</para>
<para>&karm; tillhandahåller ytterligare en kommandoradsväljare som låter dig ange namnet på den ICalendar-fil som används för att lagra din arbetshistorik. Du skriver in en fjärrkalenderfil genom att använda http eller ftp som en del av filnamnet, till exempel http://www.min_plats.se/min_data/mitt_arbete.ics.</para>
<para><emphasis>Problem:</emphasis> Du är en programvarukonsult med många kunder. Vissa kunder har flera projekt. Under en dag byter du fram och tillbaka mellan olika projekt. Du behöver hålla reda på din tid för att skapa månadsvisa fakturor.</para>
<para><emphasis>Lösning:</emphasis> Skapa en toppnivåaktivitet för varje kund, och en delaktivitet för varje kundprojekt. För projekt som kräver mer detaljerad uppföljning, skapa en lista med delaktiviteter i projektet. Håll reda på tiden genom att dubbelklicka på aktiviteten som du för närvarande arbetar med.</para>
<para>&karm; tillhandahåller stor flexibilitet för att hålla reda på din tid, och tillåter obegränsat antal aktiviteter och aktivitetsdjup. Tid kan loggas för vilken aktivitet som helst, och mer än en aktivitet kan pågå vid en given tidpunkt.</para>
<para>För att skapa en toppnivåaktivitet, välj <menuchoice> <shortcut> <keycombo action="simul">&Ctrl;<keycap>N</keycap></keycombo> </shortcut> <guimenu>Aktivitet</guimenu> <guimenuitem>Ny</guimenuitem> </menuchoice>. För att skapa en delaktivitet, markera överliggande aktivitet och välj <menuchoice> <shortcut> <keycombo action="simul">&Ctrl;&Alt;<keycap>N</keycap></keycombo> </shortcut> <guimenu>Aktivitet</guimenu> <guimenuitem>Ny delaktivitet</guimenuitem> </menuchoice>. </para>
<para>När &karm; avslutas, sparas aktivitetslistan i filen som anges av <menuchoice> <guimenu>Inställningar</guimenu> <guimenuitem>Anpassa Karm</guimenuitem> </menuchoice>. När det öppnas nästa gång, laddas aktivitetslistan från samma fil.</para>
<para>&karm; kan importera och exportera uppgifter för att minimera ditt arbetet. Se <link linkend="interfaces">Andra system</link>.</para>
<para><emphasis>Problem:</emphasis> För att förbli lönsam, måste du fakturera i medeltal fem timmar per dag. För att hålla dig på spåret, bevakar du dina dagliga och veckovisa totalvärden.</para>
<para><emphasis>Lösning:</emphasis> Återställ sessionstiden vid början av varje arbetsdag, och återställ alla tider i början av varje vecka.</para> </informalexample>
<para>&karm; gör det enkelt att hålla reda på tid. För att börja logga tid för en aktivitet, dubbelklicka på aktiviteten. För att stoppa logga tid, dubbelklicka på aktiviteten igen. Pågående aktiviteter visar en liten klocka i kolumnen <guilabel>Sessionstid</guilabel>.</para>
<para>En annan synlig indikering att aktiviteter loggas är &karm;s ikon i systembrickan. När en aktivitet pågår, rör sig ikonens sekundvisare. Om du håller musen på ikonen, visas namnet på den pågående aktiviteten med ett verktygstips. Om mer än en aktivitet pågår, skiljs aktivitetsnamnen åt med kommatecken i verktygstipset.</para>
<para>&karm; hanterar två tider för varje aktivitet: en för sessionstiden och en för den totala tiden. Med normalinställningar, visar &karm; två kolumner för varje tid, vilket resulterar i totalt fyra kolumner för varje aktivitet:</para>
<listitem><para>Tiden som använts för aktiviteten och alla dess delaktiviteter sedan sessionen började.</para></listitem> </varlistentry>
<varlistentry> <term><guilabel>Tid</guilabel></term> <listitem><para>Tiden som använts för aktiviteten sedan all tidtagning återställdes.</para></listitem>
<para><emphasis>Problem:</emphasis> Du har två huvudprojekt som du byter mellan varje dag. För att hjälpa till att organisera arbetet, har du projektfilerna för det första projektet på det första skrivbordet, och projektfilerna för det andra projektet på det andra skrivbordet.</para>
<para><emphasis>Lösning:</emphasis> Koppla ihop aktiviteten för det första projektet med det första skrivbordet och aktiviteten för det andra projektet med det andra skrivbordet. När du byter från det andra skrivbordet till det första, stoppar &karm; automatiskt aktiviteten för det andra projektet, och startar aktiviteten för det första projektet.</para>
<para>För att koppla ihop en aktivitet med ett eller flera skrivbord, välj <menuchoice> <shortcut> <keycombo action="simul">&Ctrl;<keycap>E</keycap></keycombo> </shortcut> <guimenu>Aktivitet</guimenu> <guimenuitem>Redigera</guimenuitem> </menuchoice>. Aktivera <guilabel>Automatisk följning</guilabel> och välj skrivbordet eller skrivborden som ska kopplas ihop med aktiviteten. När något av de valda skrivborden visas, börjar &karm; automatiskt logga tid för aktiviteten efter en kort fördröjning.</para>
<informalexample> <para><emphasis>Problem:</emphasis> Du slutar arbetet tidigt på fredag för att göra ett ärende och glömmer att stoppa tidtagningen. När du kommer tillbaka på måndag, pågår tidtagningen fortfarande.</para>
<para>&karm; kan ställas in att detektera när musen och tangentbordet är inaktiva. Om musen och tangentbordet är inaktiva längre än angivet antal minuter, visar &karm; följande dialogruta:</para>
<varlistentry><term><guibutton>Återgå och stanna</guibutton></term>
<listitem><para>Subtrahera storleken på inaktiv tid från alla aktiva tidtagare och stoppa dem.</para><para>Du arbetade inte med uppgifterna medan datorn var inaktiv, och du gör det fortfarande inte.</para></listitem></varlistentry>
<varlistentry> <term><guibutton>Återgå och fortsätt</guibutton></term>
<listitem><para>Subtrahera storleken på inaktiv tid från alla aktiva tidtagare men låt dem fortsätta att köra.</para><para>Du arbetade inte med uppgifterna medan datorn var inaktiv, men du gör det nu. </para></listitem></varlistentry>
<listitem><para>Lägg till inaktiv tid för alla aktiva tidtagare och låt dem fortsätta att köra.</para><para>Du arbetade med uppgifterna medan datorn var inaktiv, och den är det fortfarande. </para></listitem></varlistentry> </variablelist>
<para>&karm; tillhandahåller tre sätt att rapportera tiden du har loggat. Du kan skicka sessions- och totaltider till skrivaren, kopiera totaltider till klippbordet eller kopiera tidshistoriken till klippbordet.</para>
<sect2><title>Skriv ut totalvärden</title>
<para>För att skapa totalrapporten för skrivaren, välj <menuchoice> <shortcut> <keycombo action="simul">&Ctrl;<keycap>P</keycap></keycombo> </shortcut> <guimenu>Arkiv</guimenu> <guimenuitem>Skriv ut</guimenuitem> </menuchoice>. Det skapar en rapport med tre kolumner för hela aktivitetslistan. Den första kolumnen är aktivitetens namn, den andra är <guilabel>Total sessionstid</guilabel> och den tredje är <guilabel>Total tid</guilabel>.</para>
<para>För att skapa en rapport med totalvärden på klippbordet, välj <menuchoice> <shortcut> <keycombo action="simul">&Ctrl;<keycap>C</keycap></keycombo> </shortcut> <guimenu>Arkiv</guimenu> <guimenuitem>Kopiera totalvärden till klippbordet</guimenuitem> </menuchoice>. </para>
<para>Rapporten skapas för aktiviteten som för närvarande är markerad, och alla dess delaktiviteter. Om nuvarande aktivitet är en toppnivåaktivitet, frågar &karm; om du vill skapa rapporten för nuvarande aktivitet och dess delaktiviteter eller för hela aktivitetslistan.</para>
<para>Den första kolumnen är <guilabel>Totaltiden</guilabel> och den är indenterad (som aktivitetsnamnen) för att ange förhållandet mellan aktiviteter och delaktiviteter. Tiden som rapporteras innefattar delaktiviteternas tider.</para>
<para>För att skapa en rapport med totalvärden på klippbordet, välj <menuchoice> <shortcut> <keycombo action="simul">&Ctrl;&Alt;<keycap>C</keycap></keycombo> </shortcut> <guimenu>Arkiv</guimenu> <guimenuitem>Kopiera historik till klippbordet</guimenuitem> </menuchoice>. </para>
<important><para>Du måste aktivera alternativet <guilabel>Logga historik</guilabel> under <menuchoice> <guimenu>Inställningar</guimenu> <guimenuitem>Anpassa Karm</guimenuitem> </menuchoice>. Annars håller &karm; bara reda på totaltider och inte den detaljerade aktivitetshistoriken.</para></important>
<para>Rapporten skapas för aktiviteten som för närvarande är markerad, och alla dess delaktiviteter. Du har också valet att skapa den för alla aktiviteter.</para>
<para>När du väljer historikrapport, ber &karm; dig först att skriva in datumintervall för rapporten:</para>
<para>Aktivitetshistoriken summeras för varje dag och vecka, grupperad per vecka. De första sju kolumnerna är måndag till söndag. Den åttonde kolumnen är totaltiden för veckan och den nionde kolumnen är aktivitetsnamnet. Aktivitetsnamnen är indenterade för att ange förhållandet mellan aktiviteter och delaktiviteter.</para>
<para>&karm;, som Korganizer och Apples iCal, använder industristandardformatet <ulink url="http://developer.kde.org/documentation/standards/index.html">iCalendar</ulink> för data. &karm; kan läsa och skriva att-göra-listor som skapas av dessa två program.</para>
<warning><para>Om både &karm; och Korganizer har samma fil öppen, och du redigerar filen med Korganizer, riskerar du att förlora data. För att vara på säkra sidan, redigera bara filen antingen med det ena programmet eller med det andra.</para></warning>
<para>Som ett typiskt användarfall, kan du vilja planera ett projekt med projekthanteringsverktyget Imendio Planner (från <ulink url="http://planner.imendio.org">planner.imendio.org</ulink>) och importera dess aktiviteter till &karm;, för att 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 schemalägga aktiviteterna i Korganizer och hålla reda på tiden du arbetar med dem i &karm;. Det är ett sätt att kontrollera om projektet håller sig innanför budget- och tidsramarna.</para>
<para>&DCOP; är mekanismen som KDE-program använder för att kommunicera med varandra. Ett KDE-program tillhandahåller en lista med funktioner som andra program (till exempel ett Bash-skript) kan använda.</para>
<para>&karm;s nuvarande &DCOP;-gränssnitt används för närvarande i huvudsak för automatiserade tester, så det är mycket begränsat. För den fullständiga definitionen av gränssnittet, se appendix <link linkend="dcopappendix">&DCOP;-gränssnitt</link>.</para>
<sect2 id="csv-export"><title>Exportera totalvärden till CSV</title>
<para>&karm; kan både exportera totalvärden och historik till ett filformat avgränsat med kommatecken. För att exportera totalvärden, välj <menuchoice> <guimenu>Arkiv</guimenu> <guisubmenu>Importera och exportera</guisubmenu> <guimenuitem>Exportera till CSV-fil...</guimenuitem> </menuchoice>, så visar &karm; följande exportdialogruta:</para>
<para>Skriv in filen du vill exportera data till, och ändra övriga förvalda värden i dialogrutan om det behövs. Observera att datumintervallet är inaktiverat, eftersom du exporterar totaltider, inte historikdata. Klicka på <guibutton>Exportera</guibutton>, så exporterar &karm; totaltiderna för alla aktiviteter till filen du valde.</para>
<para>Toppnivåaktiviteter skrivs ut i första kolumnen, delaktiviteter i den andra och så vidare. Tidsdata skrivs ut efter maximalt aktivitetsdjup (fem i exemplet). Den första tidskolumnen är <guilabel>Sessionstid</guilabel>, den andra är <guilabel>Tid</guilabel>, den tredje är <guilabel>Total sessionstid</guilabel> och den fjärde är <guilabel>Total tid</guilabel>. </para>
<sect2 id="csv-export-history"><title>Exportera historik till CSV</title>
<para>För att exportera aktivitetshistorik, välj <menuchoice> <guimenu>Arkiv</guimenu> <guisubmenu>Importera och exportera</guisubmenu> <guimenuitem>Exportera historik till CSV-fil...</guimenuitem> </menuchoice>, så visar &karm; samma exportdialogruta som visas ovan.</para>
<para>Skriv in filen du vill exportera data till, och välj det datumintervall du vill ha aktivitetshistorik för. Andra övriga förvalda värden i dialogrutan om det behövs. Klicka på <guibutton>Exportera</guibutton>, så exporterar &karm; aktivitetshistoriken för alla aktiviteter till filen du valde.</para>
<para>Här är ett exempel på utmatningsformatet:</para>
<para>De tre raderna anger när rapporten skapades och för vilket datumintervall. Den fjärde raden är en lista med datum i datumintervallet, åtskilda med kommatecken, på ISO 8601-format (ÅÅÅÅ-MM-DD). Alla följande rader listar tiden som loggats för varje aktivitet. Den sista numeriska kolumnen är radens totaltid för alla dagar. Aktivitetsnamnet skrivs ut efter totaltidskolumnen, och är indenterad för att ange förhållandet mellan aktiviteter och delaktiviteter. Namn på toppnivåaktiviteter visas i den första kolumnen efter totaltiderna.</para>
<para>De olika aktiviteterna visas i det här fönstret, tillsammans med tiden som har gått åt för var och en i den nuvarande sessionen och totalt. Aktiviteter som tidsmäts har en liten klockikon intill sessionstiden.</para>
<para>Delaktiviteter kan skapas för varje aktivitet. Genom att klicka på plus- och minustecknen framför huvudaktiviteten visas eller döljs motsvarande delaktiviteter. Den totala tiden som gått åt för en aktivitet innehåller tiderna för dess delaktiviteter samt dess egen åtgångna tid.</para>
<term><menuchoice><guimenu>Arkiv</guimenu> <guisubmenu>Importera och exportera</guisubmenu> <guimenuitem>Importera aktiviteter från Planner...</guimenuitem> </menuchoice></term>
<para><action>Importera</action> ett Imendio Planner-projekt (se <ulink url="http://planner.imendio.org">planner.imendio.org</ulink>). Alla aktiviteter, delaktiviteter och deras "färdig" markering importeras från en .planner-fil. Du kan importera dem som en delaktivitet genom att skapa en delaktivitet, låta den vara markerad, och därefter importera. </para>
<menuchoice><guimenu>Arkiv</guimenu> <guisubmenu>Importera och exportera</guisubmenu> <guimenuitem>Exportera till CSV-fil...</guimenuitem> </menuchoice></term>
<para><action>Exporterar</action> <guilabel>Total sessionstid</guilabel>, <guilabel>Sessionstid</guilabel>, <guilabel>Tid</guilabel> och <guilabel>Total tid</guilabel> till en textfil.</para>
<term><menuchoice><guimenu>Arkiv</guimenu> <guisubmenu>Importera och exportera</guisubmenu> <guimenuitem>Exportera historik till CSV-fil...</guimenuitem> </menuchoice></term>
<para><action>Ändrar namn eller total tid</action> för den nuvarande aktiviteten</para><para>Det finns två alternativ för att ändra tiden: Redigera absolut, där sessionstiden och totala tiden kan ändras separat, och Redigera relativ, där en viss ändring läggs till eller tas bort från både sessionstiden och den totala tiden.</para><para>Alternativet för automatisk följning gör det möjligt att automatiskt starta och stoppa när du byter till eller från ett visst &kde;-skrivbord.</para>
<listitem><para><action>Öppnar</action> en dialogruta för att låta användaren anpassa &karm;</para>
<para>Dialogrutan har tre flikrutor: <guilabel>Uppträdande</guilabel>, som låter dig ange varning vid ingen aktivitet och ett varningsmeddelande när du tar bort en aktivitetsuppsättning, <guilabel>Skärm</guilabel>, som ställer in fälten som visas i huvudfönstret, och <guilabel>Lagring</guilabel>, som ställer in platsen för filen att spara i, om spara automatiskt är aktiverat och intervallet för spara automatiskt.</para> </listitem>
<para>&karm; inspirerades av Harald Tveit Alvestrands mycket användbara verktyg som heter <application>titrax</application>, vars enda fel är att det är baserat på Xt-verktygslådan.</para>
<para>Dokumentation copyright 2000-2004 Jonathan Singer <email>jsinger@leeta.net</email> och Sirtaj Singh Kang <email>taj@kde.org</email>.</para>
<glossdef><para>GNU/Linux, FreeBSD och andra system som kör X-windows har flera skrivbord. Du har typiskt fyra olika skrivbord installerade som standard. Varje skrivbord kan visa sin egen uppsättning med program och filer. När KDE först startas, är skrivbordet du ser det första. Om du trycker på <keycombo action="simul">&Alt;<keycap>F2</keycap></keycombo>, visas det andra skrivbordet. Tryck på <keycombo action="simul">&Alt;<keycap>F1</keycap></keycombo> går tillbaka till det första. </para></glossdef> </glossentry>
<glossdef><para>Om &karm; är inställd för att logga historik, lagras varje start och stopp av tidtagning som en händelse. Historiken rensas aldrig när tider återställs, utan förblir i filen till aktiviteten tas bort.</para></glossdef>
<glossdef><para>En användardefinierad startpunkt för sessionstider. En ny session börjar när du väljer <menuchoice> <guimenu>Arkiv</guimenu> <guimenuitem>Starta ny session</guimenuitem> </menuchoice>. Sessionsdata sparas inte när du skapar en ny session. </para></glossdef> </glossentry>
<glossentry id="gloss-system-time"> <glossterm><guilabel>Sessionstid</guilabel></glossterm> <glossdef><para>Tiden som använts för aktiviteten sedan sessionen började.</para></glossdef> </glossentry>
<glossdef><para>Systembrickan finns i raden som (normalt) visas längst ner på skärmen. På den här systembrickan <inlinemediaobject> <imageobject> <imagedata fileref="systray.png" format="PNG"/></imageobject> </inlinemediaobject> finns &karm;s ikon längst till höger.</para></glossdef>
<glossentry id="gloss-total-session-time"> <glossterm><guilabel>Total sessionstid</guilabel></glossterm> <glossdef><para>Tiden som använts för aktiviteten och alla dess delaktiviteter sedan sessionen började.</para></glossdef> </glossentry>
<para><function>version()</function> är ett &DCOP;-anrop som returnerar &karm;s versionsnummer, till exempel 1.5.0. Versionsnumret returneras som en sträng med det typiska GNU-formatet huvudversion.delversion.felrättning.</para>
<para><function>quit()</function> är ett &DCOP;-anrop som tillhandahåller ett sätt för ett externt program att avsluta &karm; på ett snyggt sätt. </para>
<para><function>hastodo(QString taskname)</function> är ett &DCOP;-anrop som letar efter en uppgift med angivet namn. Om den hittas, returneras iCalendar-användarid som identifierar uppgiften. Om den inte hittas, returneras en tom sträng. </para>
<para>Filen som söks igenom är iCalendar-filen som &karm; för närvarande har öppen. Alla uppgiftsträd söks igenom, inte bara uppgifter på översta nivån. Om mer än en uppgift har ett matchande namn, returneras den första som hittas.</para>
<para><function>addtodo(QString todoname)</function> är en &DCOP;-funktion som lägger till en ny uppgift på översta nivån i nuvarande lagringsobjekt. Den nya uppgiftens användarid returneras. </para>