# The &karm; Handbook

## Introduction

&karm; tracks time spent on various tasks. It is useful for tracking hours to be billed to different clients or just to find out what percentage of your day is spent playing Doom or reading Slashdot.

&karm; was originally written by Sirtaj Singh Kang. The word karm means work in the author's native Punjabi.

## Using &karm;

### Starting &karm;

Type `karm` at a command prompt or select Personal Time Tracker from the Utilities group in the KDE start menu. The standard &Qt; and &kde; command options are available, and can be listed by entering ``karm` `--help`` at the command line.

### General usage

Enter the various tasks you wish to track.

To start timing a task, select it and double-click on it, choose Start from the Clock menu or press the Start button in the toolbar. To stop timing it, double-click it, choose Stop from the Clock menu or press the Stop button in the toolbar.

Multiple tasks can now be timed simultaneously.

Tasks can be saved and are restored at the next use.

## The &karm; interface

The main &karm; window has the following components: menubar, toolbar, task/time window and status bar.

&karm; Screen &karm; Screen

### The Task/Time window

The various tasks are displayed in this window, along with the time accumulated for each in the current session and in total. Tasks being timed have a small clock icon next to the session time.

Subtasks can be created for each task. Double-clicking on a task displays or collapses its associated subtasks. The total time accrued for a task includes the times for its subtasks, as well as its own accumulated time.

### The &karm; menubar

#### The File menu

&Ctrl;S File Save

- Saves the current tasks and subtasks with their accumulated times

&Ctrl;P File Print

- Prints the &karm; window

&Ctrl;R File Reset Session Time

- Resets the total elapsed time for the current session to zero

&Ctrl;Q File Quit

- Closes &karm;

#### The Clock menu

S Clock Start

- Starts timing the selected task

&Esc; Clock Stop

- Stops timing the selected task

#### The Task menu

&Ctrl;N Task New

- Add a new task

&Ctrl;&Alt;N Task New Subtask

- Add a new subtask to the selected task

Del Task Delete

- Delete the selected task or subtask

&Ctrl;E Task Edit

- Change the name or accumulated time for the current task

  There are two options for changing the time: Edit Absolute, in which the session and total names can be changed separately, and Edit Relative, in which a certain change is added to or subtracted from both the session and total times.

#### The Settings menu

Settings Configure Shortcuts

- Opens a dialog to allow the user to customize the keyboard shortcuts

Settings Configure KArm

- Opens a dialog to allow the user to configure &karm;

  The dialog has two tabbed panes: Saving, which configures the location of the save file, whether autosaving is enabled and the autosave interval, and Idle Detection which, when set, pops up an alert when no activity has been detected for a specified amount of time.

#### The Help menu

&help.menu.documentation;

### The Toolbar

The toolbar contains icons for the following commands:

(All behave identically to the menu command.)

- Start

- Stop

- New

- New Subtask

- Delete

- Edit

### The Statusbar

Reports the total elapsed time for the session.

## Credits and License

&karm;

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

Contributors

- Espen Sand espen@kde.org

- Jesper Pedersen blackie@ifad.dk

- Kalle Dalheimer kalle@kde.org

- Klarälvdalens Datakonsult AB

- Tomas Pospisek tpo_deb@sourcepole.ch

- Gioele Barabucci gioele@gioelebarabucci.com

- Jan Schaumann jschauma@netmeister.org

&karm; was inspired by Harald Tveit Alvestrand's very useful utility called titrax, the only failing of which is that it is based on the Xt toolkit.

Documentation copyright 2000 Jonathan Singer jsinger@leeta.net and Sirtaj Singh Kang taj@kde.org.

&underFDL; &underGPL;

## Installation

### How to obtain &karm;

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