> ## Documentation Index
> Fetch the complete documentation index at: https://docs.otter-shell.org/llms.txt
> Use this file to discover all available pages before exploring further.

# otter-timer

> Count down a duration and get a desktop ping when it finishes. Flexible duration strings, custom messages, and completion commands.

otter-timer counts down a duration and pings the desktop through `otter-osd` when available. It always prints `timer done` on completion. Set a custom notification message or run a shell command when the timer ends.

## Usage

```bash theme={null}
otter-timer 5m                              # 5 minute timer
otter-timer --message "Tea" 3m              # custom notification message
otter-timer --command 'playerctl pause' 30m # run command on completion
otter-timer --dry-run 30s                   # print timer without running
otter-timer --no-notify 1h                  # skip desktop notification
```

## Duration Format

Durations use `s` (seconds), `m` (minutes), `h` (hours), and `d` (days). Chain segments in any order:

```bash theme={null}
otter-timer 1h30m
otter-timer 90s
otter-timer 2h45m30s
```

## Configuration

otter-timer reads `~/.config/otter-shell/otter-timer.conf`:

```conf theme={null}
default_duration = ""
message = "Timer done"
command = ""
notify = true
```

* `default_duration`: duration when none is provided on the command line
* `message`: notification message when the timer finishes
* `command`: shell command to run after completion
* `notify`: set to `false` to suppress the desktop notification

<Tip>
  Set `default_duration` to your usual timer length, like `25m` for Pomodoro, so you can run `otter-timer` with no arguments.
</Tip>
