termdown
Shutdown a Linux computer after a delay
TLDR
Start a stopwatch
Start a 1 minute and 30 seconds countdown
Start a 1 minute 30 seconds countdown with blinking the terminal at the end
Show a title above countdown
Display current time
SYNOPSIS
termdown [OPTIONS] [TIME]
Example: termdown 5m or termdown -c 'notify-send "Time up!"' 1h30m
PARAMETERS
--alert, -a
Plays an audible alert sound when the timer finishes. Requires a sound player (e.g., play from SoX) to be available on the system.
--command
Executes the specified shell command CMD immediately after the countdown finishes.
--duration
Specifies the countdown duration. This is an alternative to providing TIME as a positional argument.
--fullscreen, -f
Displays the countdown in a large, centered font for better visibility, especially during presentations.
--help, -h
Shows the command's help message and exits.
--list-sounds, -l
Lists available alert sound themes that can be used with the --alert option.
--message
Displays a custom text message MSG after the countdown completes, in addition to the default "Time is up!".
--progress, -p
Shows a visual progress bar during the countdown, indicating the elapsed time relative to the total duration.
--repeat
Repeats the countdown N times. If N is 0 or omitted, it repeats indefinitely.
--silent, -s
Suppresses all visual output during the countdown, only performing the final action (command or alert).
--version, -v
Displays the version information of termdown and exits.
DESCRIPTION
termdown is a minimalist, yet powerful, command-line utility designed to provide a visual countdown timer directly in your terminal. It supports various time formats (e.g., seconds, minutes, hours) and can be configured to display progress, play alert sounds, or execute a specified command upon completion. Its simplicity makes it ideal for productivity techniques like Pomodoro, presentations, or general time management in a console environment. It's highly scriptable, allowing integration into automated workflows or custom shell scripts.
CAVEATS
Audible alerts (--alert) require a system sound player like play from the `sox` package to be installed and configured.
Fullscreen mode behavior (--fullscreen) may vary slightly depending on the terminal emulator used.
termdown is primarily designed for interactive use; complex background scripting might require careful handling of its output.
FLEXIBLE TIME FORMATS
termdown accepts various time specifications, including just seconds (e.g., 600 for 10 minutes), combined units (e.g., 1h30m, 5m30s), or single units (e.g., 2h, 15s). The default unit for a plain number is seconds.
SCRIPTING INTEGRATION
The --command option makes termdown highly valuable in shell scripts. For example, termdown -c 'aplay /path/to/sound.wav' 10m will play a custom sound after 10 minutes. This allows for customized notifications or automated task triggering upon timer completion.
HISTORY
termdown emerged as a lightweight, modern alternative to older timer scripts, focusing on a clean terminal interface and simple scripting capabilities. Its development prioritizes ease of use and integration into standard Unix-like environments. It is often distributed via package managers like apt, dnf, or pacman as a community-maintained utility.
SEE ALSO
sleep(1), at(1), watch(1), notify-send(1)


