]> &karm;-håndbogen Jonathan Singer
jsinger@leeta.net
Mark Bucciarelli
mark@hubcapconsulting.com
Sirtaj Singh Kang
taj@kde.org
Lauri Watts Tester
lauri@kde.org
&erik.kjaer.pedersen.role;
2000-2004 Jonathan Singer 2004-2005 Mark Bucciarelli &FDLNotice; 2005-02-02 1.5.0 &karm; holder øje med tiden der bruges til forskellige opgaver. KDE karm kdeutils tid sporer projekt
Indledning &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. denne tidshistorik kan eksporteres til en komma-adskilt tekstfil til import i andre regnings- og/eller projekthåndteringsværktøjer. &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. &karm; er oprindelig skrevet af Sirtaj Singh Kang. Ordet karm betyder arbejde eller dåd på forfatterens modersmål Punjabi og det er det samme ord (men en bedre transliteration) som karma. Brug af &karm; Start &karm; Skriv karm på kommandolinjen eller vælg Personlig tidsmåler fra gruppen Værktøj i KDE's startmenu. De almindelige &Qt;- og &kde;-kommandoflag er tilgængelige, og kan ses på en liste ved at skrive karm på kommandolinjen. &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. Opgaver Problem: 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. Løsning: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. &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. For at lave en opgave på øverste niveau vælges &Ctrl;N Opgave Ny . For at lave en underopgave vælges opgaven og så bruges &Ctrl;&Alt;N Opgave Ny underopgave Når &karm; afslutter, bliver opgavelisten gemt til den fil der er angivet i Opsætning Indstil KArm . Når den åbnes næste gang, genindlæser den opgavelisten fra den samme fil. &karm; kan importere og eksportere opgaver for at minimere arbejdet. Se Andre systemer. Tidsmålere Problem: 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. Løsning: Nulstil sessionsmåleren i begyndelsen af hver arbejdsdag og nulstil alle tidsmålere i begyndelsen af hver uge. &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 Sessionstid. 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. &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: Sessionstid Tiden brugt på opgaven siden sidste session begyndte. Sessionstid i alt Tiden brugt på opgaven og alle dens underopgaver siden sidste session begyndte. Tid Tiden brugt på opgaven siden alle tider blev nulstillet. Tid i alt Tiden brugt på opgaven og dens underopgaver siden alle tider blev nulstillet. For at starte en ny session, vælges Fil Start ny session For at nulstille alle tider vælges Fil Nulstil alle tider Følgning af desktop Problem: 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. Løsning: 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. For at knytte en opgave til en eller flere desktoppe, vælges &Ctrl;E Opgave Redigér . Slå Auto-sporing 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. Tomgangsdetektion Problem: 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. Løsning: Slå tomgangsdetektion til. &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: &karm; tomgangsdetektion &karm; dialog for tomgangsdetektion Vend tilbage & stop Træk tomgangstiden fra fra alle aktive tidsmålere og stop dem.Du arbejdede ikke på opgaverne mens din computer var i tomgang og du gør det stadigvæk ikke. Vend tilbage og & fortsæt Træk den tomgangstiden fra alle aktive tidsmålere men hold em kørende.Du arbejdede ikke på opgaverne mens din computer var i tomgang men du gør det nu. Fortsæt med at tage tid Anvend tomgangstiden på alle aktive tidsmålere og hold dem kørende.Du arbejdede på opgaverne mens din computer var i tomgang og du gør det stadigvæk. Rapportering &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. Udskriv totalsummer For at generere sumrapporter til printeren, vælges &Ctrl;P Fil Udskriv . 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 Sessionstid i alt og dne tredje søjle er Tid i alt. Udklip summer For at generere totalrapport til klippebordet vælges &Ctrl;C Fil Kopiér totalsummer til klippebordet . 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. &karm; Kopiér denne opgave &karm;-dialogen Kopiér denne opgave Når rapporten er genereret, åbnes KEdit eller en anden teksteditor og rapportens data indsættes. Opgavesummer 2004-07-10 02:26 Tid Opgave ---------------------------------------------- 9:14 kde 9:14 karm 1:08 fejl 0:00 tjek ændringer ind 0:00 promo 0:00 net ting ---------------------------------------------- 9:14 I alt Den første søjle er Tid i alt og den er indrykket (ligesom opgavens navn) for at indikere opgave/underopgave-forhold. De rapporterede tider inkluderer tider for underopgaver. Udklipshistorik For at generere totalrapporter til klippebordet vælges &Ctrl;&Alt;C Fil Kopiér historik til klippebord . Du skal slå tilvalget Log historik til i Opsætning Indstil KArm . Ellers holder &karm; kun styr på summer og ikke den detaljerede opgavehistorik. 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. Når du vælger historikrapporten, beder &karm; dig først om at indtaste datoområdet for rapporten: &karm; indtast datoområde &karm; indtast datoområde Efter at have indtastet et datoområde, åbnes KEdit eller en anden teksteditor og rapportens data indsættes. Opgavehistorik Fra torsdag den 1. juli, 2004 til mandag den 12. juli, 2004 Udskrevet: 2004-07-12 17:18 Ugen for mandag den 5. juli, 2004 5 6 7 8 9 10 11 ------------------------------------------------------------------------- 0:00 kde 0:00 dc !:22 1:46 3:14 1:44 8:06 karm 0:00 3.2 egenskabsplan 1:08 1:08 fejl 0:00 tjek ændringer ind 0:00 promo 0:00 net ting ------------------------------------------------------------------------- 2:30 1:46 3:14 1:44 9:14 I alt 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. Andre systemer KOrganizer &karm;, såvelsom KOrganizer og Apple's iCal, bruger industristandarden iCalendar-formatet til sine data. &karm; kan læse og skrive gøremålslister der er lavet af disse to programmer. 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. Planner Som et typisk brugertilfælde, kunne du ville planlægge et projekt med projekthåndteringsværktøjet Imendio Planner (fra planner.imendio.org) og importere dets aktiviteter til &karm;, for at få dem på industristandard-formatet iCalendar. 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. &DCOP; &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. Bash-script som ekkoer &karm;s version DCOPID=`dcop | grep karm` if [ $DCOPID ] then VERS=`dcop $DCOPID KarmDCOPIface version` echo "&karm; version er $VERS" else echo "&karm; kører ikke" fi &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 &DCOP;-grænseflade. For at se den fuldstændige &DCOP;-grænseflade for versionen af &karm; som er installeret på dit system, kør følgende Bash-script. Vis liste med &karm;s &DCOP;-grænseflade på terminalen DCOPID=`dcop | grep karm` if [ $DCOPID ] then dcop $DCOPID KarmDCOPIface else echo "&karm; kører ikke" fi Eksportér totalsummer til CSV &karm; kan både eksportere totalsummer og historik til et komma-adskilt filformat. For at eksportere totalsummer, vælges Fil Import/Eksport Eksport til CSV-fil... så vil &karm; vise følgende eksportdialog: &karm; CSV eksportdialog &karm; CSV eksportdialog 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å Eksportér så vil &karm; eksportere totalsummer for alle opgaver til den fil du valgte. Her er et eksempel på uddataformatet: "kde",,,,,0.00,0.00,6.88,9.83 ,"karm",,,,6.88,8.70,6.88,9.83 ,,"3.2 plan over egenskaber",,,0.00,0.00,0.00,0.00 ,,"fejl",,,0.00,1.13,0.00,1.13 ,,"tjek ændringer ind - oversættelsesstrenge",,,0.00,0.00,0.00,0.00 ,,"rapport over tidskort",,,0.00,0.00,0.00,0.00 ,"kopete",,,,0.00,0.00,0.00,0.00 ,"promo",,,,0.00,0.00,0.00,0.00 ,"netting",,,,0.00,0.00,0.00,0.00 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 Sessionstid, den anden Tid, den tredje er Sessionstid i alt og den fjerde er Tid i alt. Eksportér historik til CSV For at eksportere opgavehistorikken vælges Fil Importér/Eksportér Eksportér historik til CSV-fil... og &karm; viser så den samme eksportdialog som vist ovenfor. 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å Eksportér så vil &karm; eksportere opgavehistorikken for alle opgaver til den fil du valgte. Her er et eksempel på uddataformatet: Opgavehistorik Fra tirsdag den 6. juli, 2004 til tirsdag den 13. juli, 2004 Udskrevet den: 2004-07-13 18:10 2004-07-06,2004-07-07,2004-07-08,2004-07-09,2004-07-10,2004-07-11,2004-07-12,2004-07-13, ,,,,,,,,0.00,"kde" ,,1.77,3.23,1.73,,1.37,0.82,8.95,,"karm" ,,,,,,,,0.00,,,"3.2 plan over egenskaber" ,1.13,,,,,,,1.13,,,"fejl" ,,,,,,,,0.00,,,"tjek ændringer ind -oversættelsesstrenge" ,,,,,,,,0.00,,,"rapport over tidskort" ,,,,,,,,0.00,,"kopete" ,,,,,,,,0.00,,"promo" ,,,,,,,,0.00,,"netting" 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. &karm;s grænseflade Hovedvinduet for &karm; har følgende dele: menulinje, værktøjslinje, opgave/tidsvindue og en statuslinje. &karm;s vindue &karm;s vindue Opgave/tidsvinduet 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. 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. &karm;s menulinje <guimenu >Fil</guimenu >-menuen &Ctrl;S Fil Gem Gemmer de nuværende opgaver og underopgaver og deres totale tid. &Ctrl;P Fil Udskriv Udskriver &karm;s vindue Fil Start ny session Sætter alle sessionstider til nul Fil Nulstil alle tidspunkter Sætter alle tidspunkter til nul File Import/Eksport Importér gammeldags flad fil... Importerer gemte &karm;-filer i gammeldags stil (&karm; bruger nu at gemme filer i iCalendar-stil.) File Import/Eksport Importér opgaver fra Planner Importér et Imendio Planner-projekt (se planner.imendio.org). 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. Fil Import/Eksport Eksportér til CSV-fil... Eksportér Sessionstid i alt, Sessionstid, Tid, og Tid i alt til en tekstfil. Fil Import/Eksport Eksport historik til CSV-fil... Eksportér opgavehistorik til en tekstfil. &Ctrl;C Fil Kopiér totale summer til klippebord Kopierer den nuværende totale tid for en task or all tasks to the &kde; clipboard &Ctrl;&Alt;C Fil Kopiér historik til klippebord Kopierer daglige tider for en given periode til &kde;'s klippebord &Ctrl;Q Fil Afslut Lukker &karm; <guimenu >Ur</guimenu >-menuen S Ur Start Starter tidsmåling for den markerede opgave Ur Stop Stopper tidsmåling for den markerede opgave &Esc; Ur Stop alle tidsmålere Stopper tidsmåling af alle opgaver <guimenu >Opgave</guimenu >-menuen &Ctrl;N Opgave Ny Tilføjer en ny opgave &Ctrl;&Alt;N Opgave Ny underopgave Tilføjer en ny underopgave til den markerede opgaven Del Opgave Slet Sletter den markerede opgave eller underopgave &Ctrl;E Opgave Redigér Ændrer navn eller total tid for den nuværende opgaveDer 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.Autosporing tillader tidsmåling at starte og stoppe automatisk når du skifter til eller fra et bestemt af &kde;'s desktoppe. <guimenu >Opsætnings</guimenu >menuen Opsætning Indstil genveje Åbner en dialog til at lade brugeren indstille genvejstaster Opsætning Indstil KArm Åbner en dialog til at lade brugeren indstille &karm; Dialogen har tre ruder i faneblade: Opførsel , som tillader dig at angive en advarsel for ingen aktivitet og give en advarselsbesked når du sletter et sæt opgaver, Visning , som indstiller felterne vist i hovedvinduet Opbevaring, som indstiller stedet hvor filer gemmes, om automatisk gemning er aktivere og intervallet mellem at gemme automatisk. <guimenu >Hjælpe</guimenu >menuen &help.menu.documentation; Værktøjslinjen Værktøjslinjen indeholder ikoner for følgende kommandoer: (Alle opfører sig på samme måde som menukommandoen.) Start Stop Ny Ny underopgave Slet Redigér Statuslinjen Rapporterer den totalt tid der er gået for en session. Medvirkende og licens &karm; Program ophavsret: 1997-2000 Sirtaj Singh Kang taj@kde.org. 2001-2002 Tomas Pospisek tpo_deb@sourcepole.ch 2003-2004 Mark Bucciarellimark@hubcapconsulting.com Bidragydere (i alfabetisk rækkefølge) Allen Winter winterz@verizon.net David Faure faure@kde.org Espen Sand espen@kde.org Gioele Barabucci gioele@gioelebarabucci.com Jan Schaumann jschauma@netmeister.org Jesper Pedersen blackie@ifad.dk Kalle Dalheimer kalle@kde.org Klarälvdalens Datakonsult AB Mark Bucciarelli mark@hubcapconsulting.com Thorsten Stärk dev@staerk.de Tomas Pospisek tpo_deb@sourcepole.ch Willi Richert w.richert@cox.net &karm; er inspireret af Harald Tveit Alvestrands meget nyttige værktøj som hedder titrax, hvis eneste fejl er at det er baseret på Xt-værktøjskassen. Dokumentation ophavsret 2000+2004 Jonathan Singer jsinger@leeta.net og Sirtaj Singh Kang taj@kde.org. &underFDL; &underGPL; aktiv opgave En opgave der har tidsmåleren kørende. &DCOP; Protokollen for kommunikation mellem processer som bruges i KDE. Kort for Desktop COmmunication Protocol. desktop 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å &Alt;F2, ser du Desktop 2. Tryk på &Alt;F1 vil få Desktop 1 tilbage. historik 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. session Et brugerdefineret startpunkt for sessionens tidsmålere. En ny session begynder when you select File Start New Session . Session data is not saved when you create a new session. Sessionstid Tiden brugt på opgaven siden sidste session begyndte. statusfelt Statusfeltet er som standard er i panelet for neden. I dette statusfelt er &karm;-ikonen længst til højre. opgave på øverste niveau En opgave uden overopgave. Sessionstid i alt Tiden brugt på opgaven og alle dens underopgaver siden sidste session begyndte. Tid Tiden brugt på opgaven siden alle tider blev nulstillet. Tid i alt Tiden brugt på opgaven og dens underopgaver siden alle tider blev nulstillet. Installation Hvordan får man fat på &karm; &install.intro.documentation; &install.compile.documentation; &DCOP;-grænseflade version version Returnerer &karm;s version. QString version() Beskrivelse version() 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. quit quit Returnerer &karm;s afslutning. QString quit() Beskrivelse quit() er et &DCOP;-kald som sørger for en måde for et eksternt program at afslutte &karm; på en pæn måde. hastodo hastodo Tjek om en aktivitet på topniveau findes. QString hastodo(QString aktivitetsnavn) Parametre opgavenavn Navnet på gøremålet at lede efter. Beskrivelse hastodo(QString taskname) 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. 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. addtodo addtodo Tilføj et nyt gøremål. QString addtodo(QString gøremålsnavn) Parametre gøremålsnavn Navnet på det nye gøremål. Beskrivelse addtodo(QString todoname) er en &DCOP;-funktion som tilføjer en ny opgave på øverste niveau i nuværende lagringsobjekt. Den nye opgaves brugerid returneres. &documentation.index;