# La guida di &karm;

## Introduzione

&karm; cronometra il tempo usato per vari impieghi. È utile per calcolare ore fatturabili e può riassumerle giorno per giorno, per i singoli lavori eseguiti.

Questa cronologia può essere esportata per essere utilizzata in altri programmi di fatturazione o gestione progetti.

&karm; riconosce quando la tastiera e il mouse non sono utilizzati e può associare diversi lavori a diversi desktop virtuali, per aiutarti a calcolare correttamente il tempo per ogni lavoro.

&karm; è stato sviluppato originariamente da Sirtaj Singh Kang. La parola karm nella lingua natale dell'autore, il punjaby, significa lavoro oppure opera, ed è approssimativamente la stessa parola per karma.

## Usare &karm;

### Avvio di &karm;

Digita `karm` nel prompt dei comandi oppure seleziona Segnatempo personale dal gruppo accessori del menu K. Le opzioni di comando standard di &Qt; e &kde; sono disponibili, ne puoi vedere la lista digitando ``karm` `--help`` al prompt dei comandi.

&karm; mette a disposizione una opzione che ti permette di impostare il nome di un file iCalendar che contiene la storia dei tuoi impieghi. Puoi immettere l'indirizzo di un file iCalendar sia http che ftp, Per esempio http://www.mysite.com/mydata/mylabor.ics.

### Impieghi

Problema: Sei un consulente free software con molti clienti. Alcuni dei quali hanno diversi progetti. Durante il giorno sposti continuamente l'attenzione da un progetto all'altro. Hai bisogno di sapere quanto tempo dedichi ad ogni progetto per calcolare le parcelle mensili.

Soluzione: Crea una nuova attività per ogni cliente e una sottoattività per ogni progetto del cliente. Per i progetti che richiedono un conteggio del tempo più dettagliato, aggiungi più sottoattività. Segna il tempo premendo sul nome del progetto per il quale stai iniziando a calcolare il tempo.

&karm; dispone di grande flessibilità nel contare il tuo tempo, permettendoti di segnare attività illimitate e per un tempo illimitato. Il tempo segnato può essere attribuito ad ogni attività e a più di una attività allo stesso tempo.

Per creare una nuova attività scegli &Ctrl;N Attività Nuovo... Per creare una sottoattività seleziona l'attività principale, e scegli &Ctrl;&Alt;N Attività Nuova sottoattività...

Quando si chiude &karm; la lista delle attività viene salvata dal file specificato in Impostazioni Configura KArm. Al prossimo avvio caricherà automaticamente la lista delle attività dallo stesso file.

&karm; può importare ed esportare attività per minimizzare il tuo lavoro. Guarda Altri sistemi.

### Timers

Problema: Per sbarcare il Lunario devi fatturare una media di cinque ore al giorno. Per sapere a che punto sei guarda i totali giornalieri e settimanali.

Soluzione: Azzera i timer della sessione ogni giorno e i timer totali all'inizio di ogni settimana.

&karm; rende facile segnare il tempo. Per iniziare il conteggio del tempo per una attività premi due volte sull'attività per la quale vuoi iniziare a contare il tempo. Per fermare il conteggio premi ancora due volte sull'attività. Le attività per le quali si sta calcolando il tempo mostrano un piccolo orologio che gira nella colonna Tempo della sessione.

Un altro indicatore grafico del cronometraggio è l'icona di &karm; nel vassoio di sistema. Quando un lavoro è attivo, la lancetta dei secondi dell'icona si muove. Se tieni il puntatore del mouse sull'icona, comparirà il nome dell'attività che si sta cronometrando. Se più di un lavoro è attivo compariranno i nomi di tutte le attività separati da virgole.

&karm; mantiene due timer differenti per ogni applicazione: uno per il tempo della sessione, l'altro per il tempo totale del lavoro. Nella configurazione di default, &karm; mostra due colonne per ogni timer, per un totale quattro colonne per ogni attività:

Tempo della sessione

- Il tempo impiegato per il lavoro dall'inizio della sessione.

Tempo totale della sessione

- Il tempo impiegato per il lavoro e per ogni sottoattività, dall'inizio della sessione.

Ora

- Il tempo impiegato globalmente, dall'avvio dei timers.

Tempo totale

- Tempo impiegato nel lavoro e tutte le sue sottoattività, dall'avvio dei timers.

Per iniziare una nuova sessione, selezionare File Inizia Nuova Sessione

Per far ricominciare i conteggi, seleziona File Azzera tutti i tempi

#### Conteggio per Desktop

Problema: Hai due progetti principali tra i quali ti muovi ogni giorno. Per aiutarti nell'organizzazione del lavoro tieni i file del lavoro 1, nel desktop 1, e i file del lavoro 2 nel desktop 2.

Soluzione: Associa un'attività ad ogni Desktop e &karm; inizierà il conteggio dell'attività 1 quando renderti attivo il Desktop 1 e inizierà (fermando il conteggio per l'attività precedente) il conteggio dell'attività 2 quando ti sposterai al Desktop 2.

Per associare un'attività ad uno o più Desktop scegli &Ctrl;E Attività Modifica . Attiva Tracking automatico e seleziona il Desktop o i Desktop da associare alla attività. Quando uno qualsiasi dei desktop selezionati diventa attivo, dopo qualche secondo &karm; inizierà a cronometrare il tempo dell'attività impostata.

#### Rilevamento di inattività

Problema: Lasci il lavoro presto il venerdì per andare da qualche parte e dimentichi di fermare il timer di karm. Quando torni in ufficio lunedì il timer sta ancora andando.

Soluzione: Attiva il rilevamento automatico di inattività.

&karm; può essere configurato per accorgersi quando il mouse e la tastiera diventano inattivi. Se la tastiera e il mouse sono inattivi per un tempo più lungo di quello impostato &karm; mostra la seguente finestra di dialogo:

&karm; Rilevamento di inattività &karm; Finestra di dialogo Rilevamento inattività

ripristina e ferma

- Sottrae la quantità di tempo di inattività e ferma la misurazione.

  Significa che non stavi lavorando sulle attività impostate mentre il computer era inattivo e non stai lavorando nemmeno ora.

ripristina e continua

- Sottrae la quantità di tempo registrata come inattività ma non ferma il cronometro.

  Non stavi lavorando a quelle attività per le quali karm stava cronometrando, ma ora sei a lavoro.

Continua la misurazione del tempo

- Aggiunge il tempo segnato come inattivo ai conteggi di karm e continua a cronometrare.

  Stavi lavorando a quei lavori anche se non stavi usando il computer e ancora stai lavorandoci.

### Rapporti

&karm; fornisce tre modi per fare il riepilogo dei lavori che hai cronometrato. Puoi inviare i tempi della sessione o i totali alla stampante, copiare i tempi totali negli appunti oppure copiare la cronologia dei tempi negli appunti.

#### Stampare i totali

Per generare il rapporto dei tempi totali per la stampa, seleziona &Ctrl;P File Stampa . Verrà generato un rapporto completo su tre colonne di tutti i lavori. La prima colonna è il nome del lavoro, la seconda è la durata totale della sessione e la terza colonna è il Tempo totale.

#### Totali negli appunti

Per generare negli appunti il rapporto dei tempi totali, seleziona &Ctrl;C File Copia i totali negli appunti .

Questo rapporto sarà generato per il lavoro selezionato e tutti i suoi sottolavori. Se il lavoro corrente è un lavoro principale &karm; ti chiederà se vorrai generare il rapporto per il lavoro corrente e i suoi sottolavori, oppure per tutti i lavori.

&karm; Copia questa attività &karm; Finestra di dialogo Copia questa attività

Una volta che il rapporto viene generato apri Kedit, oppure un altro editor di testo e incolla il rapporto generato.

    Totali attività
    2004-07-10 02:26

      Tempo    Attività
    ----------------------------------------------
      9:14    kde
       9:14    karm
        1:08    bugs
        0:00    checkin changes
       0:00    promo
       0:00    web stuff
    ----------------------------------------------
      9:14 Totale

La prima colonna è Tempo totale ed usa i rientri (come il nome delle attività) per indicare le relazioni tra attività e sottoattività. I tempi riportati includono i tempi delle sottoattività.

#### Storico negli appunti

Per generare negli appunti il rapporto dei totali, seleziona &Ctrl;&Alt;C File Copia cronologia negli appunti .

Devi attivare l'opzione Registra cronologia in Impostazioni Configura KArm . Altrimenti &karm; terrà conto solo dei tempi totali, non della storia dettagliata delle attività.

Questo rapporto sarà generato per il lavoro selezionato e tutti i suoi sottolavori. Potrai anche scegliere se generare il rapporto per per tutti i lavori.

Quando selezioni di creare un rapporto dalla cronologia, &karm; ti chiederà di scegliere un periodo di tempo per il rapporto:

&karm; Inserisci intervallo date &karm; Inserisci intervallo date

Dopo aver inserito un intervallo date, apri KEdit o un altro elaboratore di testi e incolla il rapporto creato.

    Storico attività
    Da giovedì 01 luglio 2004 a lunedì 12 luglio 2004
    Stampato il: 2004-07-12 17:18

                                   Settimana di lunedì 05 luglio 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 feature plan
                  1:08                           1:08   bugs
                                                 0:00   checkin changes
                                                 0:00  promo
                                                 0:00  web stuff
    -------------------------------------------------------------------------
                  2:30  1:46  3:14  1:44         9:14 Totale

La lista delle attività ha un totale per ogni giorno e attività, raggruppati per ogni settimana. Le prime sette colonne vanno dal lunedì alla domenica. L'ottava colonna rappresenta i totali della settimana e la nona è il nome dell'attività. I nomi delle attività sono fatti rientrare per indicare le relazioni fra attività e sottoattività.

### Altri sistemi

#### KOrganizer

&karm;, come KOrganizer e ICal della Apple, usa il formato dello standard standard iCalendar per i suoi dati. &karm; può leggere e scrivere la lista delle cose da fare creata da queste due applicazioni.

Se entrambi, &karm; e KOrganizer, hanno lo stesso file aperto, e si modifica il file con KOrganizer, rischi di perdere i dati. Per essere sicuro, modifica i dati solo con una applicazione alla volta.

#### Planner

Un tipico esempio di utilizzo. Puoi voler pianificare un progetto con il programma Imendio Planner (da planner.imendio.org) e importare le attività su &karm; per averle nel formato standard ICalendar. Fatto questo puoi impostare le attività in KOrganizer, e tener conto del tempo che ti prendono con &karm;. Questo è un metodo per aiutarti a tenere il tuo progetto nei tempi e nel budget.

#### &DCOP;

&DCOP; è il meccanismo che i programmi sviluppati per KDE usano per comunicare tra loro. Un programma per KDE fornisce una lista di funzioni che altri programmi (uno script di Bash, per esempio) possono usare.

##### Script Bash che mostra la versione di &karm;

    DCOPID=`dcop | grep karm`
            if [ $DCOPID ]
            then
                    VERS=`dcop $DCOPID KarmDCOPIface version`
                    echo "La versione di &karm; è la $VERS"
            else
                    echo "&karm; non è in esecuzione"
            fi

L'interfaccia &DCOP; corrente di &karm; è attualmente usata principalmente per test automatici, perciò è molto limitata. Per la definizione completa della interfaccia vadi &DCOP; Appendice interfaccia.

Per visualizzare l'interfaccia &DCOP; completa della versione di &karm; installata nel tuo sistema, esegui lo script Bash che segue:

##### Mostra l'interfaccia &DCOP; di &karm; nella console

    DCOPID=`dcop | grep karm`
            if [ $DCOPID ]
            then
                    dcop $DCOPID KarmDCOPIface
            else
                    echo "&karm; non è in esecuzione"
            fi

#### Esporta i totali su CVS

&karm; può esportare i totali e la cronologia su di un file CSV. Per l'esportazione dei totali seleziona File Importa/Esporta Esporta in un File CSV... e &karm; mostrerà la finestra di dialogo seguente:

Finestra di esportazione CSV di &karm; Finestra di esportazione CSV di &karm;

Indica il file nel quale desideri esportare i dati, e modifica le opzioni della finestra di dialogo, se necessario. Da notare che la casella di controllo dell'intervallo di tempo è disabilitata perché stai esportando i totali, non la cronologia. Fai clic su Esporta e &karm; esporterà i totali nel file indicato in precedenza.

Un esempio dell'output:

    "kde",,,,,0.00,0.00,6.88,9.83
    ,"karm",,,,6.88,8.70,6.88,9.83
    ,,"3.2 pianificazione caratteristiche",,,0.00,0.00,0.00,0.00
    ,,"bugs",,,0.00,1.13,0.00,1.13
    ,,"verifica cambiamenti - traduzione stringhe",,,0.00,0.00,0.00,0.00
    ,,"lavo il gatto",,,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
    ,"web stuff",,,,0.00,0.00,0.00,0.00

Le attività principali sono riportate nella prima colonna, le sottoattività nella seconda e così via. La quantità di tempo è riportata dopo il nome dell'attività (sono cinque in questo esempio). La prima colonna del tempo è Tempo della sessione, la seconda è Tempo, la terza Tempo totale di sessione la quarta Tempo totale.

#### Esporta la cronologia in CSV

Per esportare la cronologia delle attività, seleziona File Importa/Esporta Esporta cronologia in un file CSV... e &karm; mostrerà la stessa finestra di prima.

Indica il file nel quale vuoi esportare i dati e indica l'intervallo di tempo per il quale desideri esportare la cronologia. Modifica anche le altre impostazioni se necessario. Fai clic su Esporta e &karm; esporterà la cronologia per tutte le attività nel file che hai scelto.

Un esempio dell'output:

    Cronologia Attività
    Da giovedì 06 luglio 2004 a giovedì 13 luglio 2004
    Generato il: 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 pianificazione caratteristiche"
    ,1.13,,,,,,,1.13,,,"bugs"
    ,,,,,,,,0.00,,,"verifica cambiamenti - traduzione stringhe"
    ,,,,,,,,0.00,,,"resoconto tempo"
    ,,,,,,,,0.00,,"kopete"
    ,,,,,,,,0.00,,"promo"
    ,,,,,,,,0.00,,"web stuff"

Le tre linee iniziali definiscono quando il rapporto è stato generato e per quale intervallo di tempo. La quarta è una lista delle date nell'intervallo di tempo definito, nel formato ISO 8601 (AAAA-MM-GG). Tutte le righe successive indicano il tempo impiegato in ogni attività. L'ultima colonna in formato numerico indica il totale per quell'attività, per tutti i giorni dell'intervallo di tempo. Il nome dell'attività è riportato dopo la colonna del totale e a seconda della quantità del rientro rispetto al margine, indica le relazioni tra attività e sottoattività. I nomi delle attività principali appaiono nelle prime colonne, dopo i totali.

## L'interfaccia di &karm;

La finestra principale di &karm; ha i seguenti componenti: barra dei menu, barra degli strumenti, finestra tempo/attività e la barra di stato.

L'interfaccia di &karm; L'interfaccia di &karm;

### La finestra tempo/attività

Le varie attività sono riportate in questa finestra assieme al tempo cronometrato, per ognuna di esse, nella sessione corrente e in totale. Le attività che vengono cronometrate hanno una piccola icona di un orologio vicino al tempo di sessione.

Possono essere create delle sottoattività per ogni attività. Facendo clic sul segno più e meno di ogni attività principale si espande o contrae la visualizzazione delle sue sottoattività. Il tempo totale riportato per ogni attività principale contiene i tempi delle sue rispettive sottoattività, compreso il tempo dell'attività stessa.

### La barra dei menu di &karm;

#### Il menu File

&Ctrl;S File Salva

- Salva le attività e sottoattività correnti con i tempi aggiornati

&Ctrl;P File Stampa...

- Stampala finestra principale di &karm;

File Inizia nuova sessione

- Resetta tutti i tempi di sessione a zero

File Resetta tutti i tempi

- Resetta tutti i tempi a zero

File Importa/Esporta Importa un file...

- Importa Salvataggi di &karm; in vecchio stile (&karm; adesso utilizza il formato ICalendar)

File Importa/Esporta Importa una attività da Planner...

- Importa un progetto planner imendio (vedi planner.imendio.org). Tutte le attività, sottoattività e lo stato di "completate" sono importate da un file .planner-file. Puoi importarle anche come sottoattività, creandone una nuova, lasciandola selezionata e facendo clic sul comando.

File Importa/Esporta Esporta in un File CSV...

- Esporta Tempo totale di sessione, Tempo di sessione, Tempo, e Tempo totale in un file di testo.

File Importa/Esporta Esporta cronologia in un file CSV...

- Esporta la cronologia delle attività in un file di testo.

&Ctrl;C File Copia i totali negli appunti

- Copia i totali correnti di una attività o di tutte le attività negli appunti di &kde;

&Ctrl;&Alt;C File Copia la cronologia negli appunti

- Copia i tempi giornalieri di un dato periodo negli appunti di &kde;

&Ctrl;Q File Esci

- Chiude &karm;

#### Il menu Orologio

S Orologio Avvia

- Avvia il cronometraggio dell'attività selezionata

Orologio ferma

- Ferma il conteggio del tempo per l'attività selezionata

&Esc; Orologio Ferma tutti i timer

- Ferma il conteggio del tempo per tutte le attività

#### Il menu Attività

&Ctrl;N Attività Nuovo...

- Aggiunge un'attività

&Ctrl;&Alt;N Attività Nuova sottoattività...

- Aggiunge una nuova sottoattività all'attività selezionata

Elimina Attività Elimina

- Elimina l'attività o sottoattività selezionata

&Ctrl;E Attività Modifica...

- Cambia il nome o il tempo calcolato dell'attività selezionata

  Ci sono due opzioni per cambiare il tempo: Modifica valore assoluto, con la quale puoi cambiare separatamente il tempo totale e il tempo di sessione; Modifica in modo relativo, con la quale un dato cambiamento viene aggiunto sia al tempo di sessione che al tempo totale.

  L'opzione di Tracking automatico per mette al calcolo del tempo di avviarsi e di fermarsi automaticamente quando ti muovi da un desktop di &kde; all'altro.

#### Il menu Impostazioni

Impostazioni Configura le scorciatoie...

- Apre un pannello che ti permette di personalizzare le scorciatoie da tastiera

Impostazioni Configura Karm...

- Apre un pannello che ti permette di configurare &karm;

  La finestra ha tre pannelli incorporati: Comportamento, che ti permette di impostare un avviso se lasci il computer inattivo mentre il calcolo del tempo è in esecuzione, e un avvertimento per quando cancelli un insieme di attività. Visualizzazione , configura i campi visualizzati nella finestra principale e Memorizzazione, che configura la posizione dei file di salvataggio, il salvataggio automatico e la frequenza di quest'ultimo.

#### Il menu Aiuto

&help.menu.documentation;

### La barra degli strumenti

La barra degli strumenti contiene le icone corrispondenti ai seguenti comandi:

(tutte si comportano esattamente come i comandi da menu.)

- Avvia

- Ferma

- Nuovo

- Nuova sottoattività

- Elimina

- Modifica

### La barra di stato

Visualizza il tempo totale trascorso dall'inizio della sessione.

## Ringraziamenti e Licenza

&karm;

Copyright del programma:

- 1997-2000 Sirtaj Singh Kang taj@kde.org.

- 2001-2002 Tomas Pospisek tpo_deb@sourcepole.ch

- 2003-2004 Mark Bucciarellimark@hubcapconsulting.com

Contributi (in ordine alfabetico)

- 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; è stato ispirato dal programma titrax di Harald Tveit Alvestrand, la quale unica mancanza è di essere basato sul toolkit Xt.

Copyright documentazione 2000-2004 Jonathan Singer jsinger@leeta.net e Sirtaj Singh Kang taj@kde.org.

&underFDL; &underGPL;
Attività attiva

Un'attività per la quale si sta cronometrando il tempo.

&DCOP;

Il processo di comunicazione tra applicazioni usato in KDE. È l'abbreviazione per Short Desktop COmmunication Protocol.

desktop

GNU/Linux, FreeBSD e altri sistemi che utilizzano X-Windows, hanno più desktop virtuali. Normalmente hai quattro desktop presenti per default. Ogni desktop può visualizzare il suo insieme di programmi e file. Quando KDE si avvia, il desktop in uso è il numero 1. Se premi &Ctrl;F2, vedrai il desktop numero 2. Premendo &Ctrl;F1 tornerai al desktop 1.

cronologia

Se &karm; è configurato per registrare la cronologia, registrerà ogni volta che avvii o fermi un timer. Questa cronologia non viene mai cancellata neanche quando i tempi vengono azzerati e rimane finché l'attività stessa non viene eliminata.

sessione

Avvio dei timer della sessione definito dall'utente. Una nuova sessione inizia quando selezioni File Inizia nuova sessione . I dati della sessione non vengono salvati quando crei una nuova sessione.

Tempo della sessione

Il tempo impiegato per il lavoro dall'inizio della sessione.

vassoio di sistema

Il vassoio di sistema è nella barra che (per default) appare nella parte bassa dello schermo. In questo vassoio di sistema l'icona di &karm; è in fondo a destra.

attività principali

Un'attività che non discende da nessun'altra attività.

Tempo totale della sessione

Il tempo impiegato per il lavoro e per ogni sottoattività, dall'inizio della sessione.

Ora

Il tempo impiegato globalmente, dall'avvio dei timers.

Tempo totale

Tempo impiegato nel lavoro e tutte le sue sottoattività, dall'avvio dei timers.

## Installazione

### Come ottenere &karm;

&install.intro.documentation; &install.compile.documentation;

## Interfaccia &DCOP;

version

version

Restituisce la versione di &karm;.

    QString version()

#### Descrizione

`version()` è una chiamata &DCOP; che restituisce il numero di versione di &karm;; per esempio 1.5.0. Il numero di versione è restituito come stringa nel formato tipico GNU, major.minor.bugfix.

quit

quit

Restituisce l'uscita di &karm;.

    QString quit()

#### Descrizione

`quit()` è una chiamata &DCOP; che consente ad un programma esterno di chiudere &karm; inmaniera corretta.

hastodo

hastodo

Verifica che esista una cosa da fare principale.

    QString hastodo(QString taskname)

#### parametri

`taskname`

- Il nome dell'attività da controllare.

#### Descrizione

`hastodo(QString taskname)` è una chiamata &DCOP; che cerca un'attività con il nome dato. Se la trova restituisce l'UID iCalendar che identifica quell'attività. Se non lo trova, restituisce una stringa vuota.

Il file iCalendar che &karm; apre è il file che si è cercato. La funzione cerca in tutte le gerarchie delle attività, non solo nelle attività principali. Se più di una attività corrisponde alla ricerca solo la prima viene riportata.

addtodo

addtodo

Una nuova attività.

    QString addtodo(QString todoname)

#### parametri

`todoname`

- Il nome della nuova attività.

#### Descrizione

`addtodo(QString todoname)` è una chiamata &DCOP; che aggiunge una nuova attività principale alle altre già presenti. Viene restituito l'UID della nuova attività.

&documentation.index;