Version 10 (modified by carndt, 6 years ago) (diff)

Add link to Subversion change log

A graphical countdown timer for lightning talk presenters and hosts.

Christopher Arndt
GPL v2
svn co svn:// ltt

Lightning Talk Timer

Author: Christopher Arndt <>
Version: 0.1b
license:GPL v2


Lightning Talk Timer (LTT) displays a countdown timer in a big window (or fullscreen mode) in big white digits on a black background. When started (SPACE key) it starts counting down from the given duration (default: 5 min.) to 0:00. When the countdown timer reaches a certain remaining duration (default: 30 seconds), the timer display changes color to give a visible warning about the impending expiration of the countdown period.

The behaviour and look of the program can be customized through many command line options or by changing default values at the start of the script.


Lighnung Talk Timer is based on PyGame and is compatible with Python 2.7. Python 3.2+ support has not been tested.


Lightning Talk Timer is structured as a self-contained application bundle. Currently it is only available from a Subversion repository. To use it, install PyGame >= 1.9.1 and check out LTT from the repository and run the script located in the top directory:

$ svn checkout svn:// ltt
$ ./ltt/

You can also get a Zip archive of the source code via the Trac source code browser (see link above).



Lightning Talk Timer

positional arguments:
  SECONDS               Duration of countdown timer in seconds (default: 300s)

optional arguments:
  -h, --help            show this help message and exit
  -v, --verbose         Print debugging info to standard output.
  -f, --fullscreen      Start in fullscreen mode (press 'f' to toggle).
  -W PX, --width PX     Width of display in pixels (default: 1600px).
  -H PX, --height PX    Height of display in pixels (default: 900px).
  -F NAME, --font NAME  Name/path of timer display font (default:
  -r FPS, --fps FPS     Max. display frames per second (default: 100fps).
  -S PX, --size PX      Size of timer display font (default: (display
                        height/3)px ).

The actual default width and height of the display depend on your actual screen resolution. The vertical size is equal to the screen height within a maximum of up to 1080 pixels. The horizontal resolution is the vertical resolution multiplied by the screen aspect ration (e.g. 1.6 for 16:10 screens).


The aspect ratio of the default display size is currently limited to a maximum of 16:9 to prevent over-wide display on multiple-screen setups (see section "Bugs and Limitations" below). You can, however, set any screen size with an arbitrary aspect ratio via the command line options.

Keyboard Commands


When timer is stopped: start countdown

When timer is running: pause countdown

When timer is paused: resume countdown


When timer is stopped: start countdown

When timer is running/paused: reset countdown

Quit program (without prompting)
Toggle fullscreen mode

The following commands only have an effect when the timer is stopped:

+ (plus)
Increase countdown timer by 10 seconds
Shift-+ (Shift and plus)
Increase countdown timer by 1 second
Ctrl-+ (Control and plus)
Increase countdown timer by 1 minute
Ctrl-Shift-+ (Control and Shift and plus)
Increase countdown timer by 10 minute1
- (minus/dash)
Decrease countdown timer by 10 seconds
Shift-- (Shift and minus/dash)
Decrease countdown timer by 1 second
Ctrl-- (Control and minus/dash)
Decrease countdown timer by 1 minute
Ctrl-Shift-- (Control and Shift and minus/dash)
Decrease countdown timer by 10 minute1

The maximum countdown duration is 999 minutes, 59 seconds and the minimum 1 second.

Bugs and Limitations

Detection of screen size and fullscreen mode currently does not work correctly with multiple displays on X Window due to limitations of the SDL 1.2 library used by PyGame. Finding out the current monitor and its size would require adding additional dependencies like Xlib, which I don't really want, or parsing the output of system-dependant command-line tools (i.e. xrandr), which would be an ugly hack and likely to break somewhere or sometime.

Linux users with a multiple screen setup are advised to use the command line options to set the display size.

FilenameSizeUploaded byOnNotes
screenshot_01.png 7.2 KB carndt 6 years ago
screenshot_02.png 6.1 KB carndt 6 years ago
screenshot_03.png 4.3 KB carndt 6 years ago