Skip to content

A LiveSplit-inspired speedrunning split timer for Linux/macOS terminal. Supports global hotkeys.

License

Notifications You must be signed in to change notification settings

alexozer/flitter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

77 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Flitter

A LiveSplit-inspired speedrunning split timer for the terminal.

Animated demo GIF

Features

  • Configurable global hotkeys
  • 🌈 Animated rainbow best splits
  • Undo and delete split
  • Splits stored in single human-editable file
  • 24-bit terminal color
  • 60 FPS rendering with low CPU usage

Install

Flitter is designed to work on macOS and Linux (X11). Windows is not currently supported.

Head over to the releases page for precompiled binaries and an installation one-liner.

Alternatively, to quickly build and install flitter from source, install Rust and then run:

cargo install --git https://github.com/alexozer/flitter.git

Global Hotkeys Setup

macOS

On recent versions of macOS, on first launch you will be prompted to enable accessibility permissions for your terminal. This is required for Flitter to read global hotkeys when the terminal is not focused. Go to System Settings -> Privacy & Security -> Accessibility and enable the toggle for your terminal.

Linux

Install the X11 development libraries.

Debian/Ubuntu:

sudo apt install libx11-dev

Fedora/RHEL/CentOS:

sudo dnf install xorg-x11-server-devel

Usage

Create your splits:

Copy examples/splits.json somewhere and add your game and split information. Skipped personal best segments and golds and represented by null.

Launch Flitter with your splits file:

$ flitter path/to/my-splits.json

Warning: Don't edit your splits file while Flitter is running, your changes will be overwritten.

Keybindings

Keybindings are all global hotkeys; they will work even when the terminal is not focused. The following table is the default keybindings:

Keys Action
Space Split
PageUp Undo split
End Delete split
Backspace Reset and save PB + best segments
Delete Reset and discard PB + best segments
Q Quit (not a global hotkey)

To change them, create $HOME/.config/flitter-timer/config.json and populate it with the example config. See the full list of keys for which key names you can use.

Contributing

Feel free to make an issue or a pull request!