tui-launcher: Small Brick-based terminal launcher

[ console, mit, program ] [ Propose Tags ] [ Report a vulnerability ]

tui-launcher is a small terminal launcher built with brick. . It reads a TOML config file, shows entries as a keyboard- and mouse-driven tile menu, and replaces itself with the selected command. . Features include: . * TOML configuration with auto-created default config * Per-entry working-dir, shell-program, shell-login, and color * Arrow-key and hjkl navigation * Mouse selection and scrolling * Configurable tile width, height, and spacing


[Skip to Readme]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 0.0.1
Change log CHANGELOG.md
Dependencies base (>=4.21 && <5), brick (>=2.10 && <2.11), containers (>=0.7 && <0.8), directory (>=1.3 && <1.4), filepath (>=1.5 && <1.6), optparse-applicative (>=0.19 && <0.20), process (>=1.6 && <1.7), text (>=2.1 && <2.2), tomland (>=1.3 && <1.4), unix (>=2.8 && <2.10), vty (>=6.5 && <6.6), vty-crossplatform (>=0.5 && <0.6) [details]
Tested with ghc ==9.12.2
License MIT
Copyright 2026 tritlo
Author tritlo
Maintainer tritlo
Uploaded by tritlo at 2026-03-17T14:22:07Z
Category Console
Home page https://github.com/TharkunAB/tui-launcher
Bug tracker https://github.com/TharkunAB/tui-launcher/issues
Source repo head: git clone https://github.com/TharkunAB/tui-launcher.git
Distributions
Executables tui-launcher
Downloads 0 total (0 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for tui-launcher-0.0.1

[back to package description]

tui-launcher

Hackage

Small Brick-based terminal launcher for shell commands. It reads a TOML config, shows a keyboard-driven tile menu, and replaces itself with the selected command.

Screenshots

Both dark and light terminal styles are shown in square and vertical layouts.

Dark square screenshot

Dark vertical screenshot

Light square screenshot

Light vertical screenshot

Installation

Install from Hackage:

cabal install tui-launcher

Or download the latest release binary from GitHub Releases and put it on your PATH:

curl -Lo tui-launcher \
  https://github.com/TharkunAB/tui-launcher/releases/latest/download/tui-launcher-linux-x86_64
chmod +x tui-launcher
install -Dm755 tui-launcher ~/.local/bin/tui-launcher

Then run:

tui-launcher

On first launch, tui-launcher creates ~/.config/tui-launcher/config.toml if it does not already exist.

Features

  • Arrow keys and hjkl move the selection
  • Enter launches the selected entry
  • Mouse click launches an entry and mouse wheel scrolls
  • Dedicated Exit button at the bottom of the launcher
  • Optional per-entry color for tile text
  • Per-entry working-dir, shell-program, and shell-login
  • Auto-created default config at ~/.config/tui-launcher/config.toml
  • Uses your terminal's default colors

Configuration

Use the default config path:

tui-launcher

Or point at an explicit file:

tui-launcher --config /path/to/config.toml

Example config:

[layout]
tile-width = 20
tile-height = 5
tile-spacing = 1

# [shell]
# program = "/bin/bash"
# login = false

[[entries]]
name = "Shell"
command = "exec \"${SHELL:-/bin/sh}\""
color = "bright-blue"

[[entries]]
name = "nvim"
command = "nvim"
color = "blue"
working-dir = "~/Code"

[[entries]]
name = "Codex"
command = "codex"
color = "bright-magenta"

[[entries]]
name = "Claude"
command = "claude"
color = "orange"

[[entries]]
name = "Tmux"
command = "tmux"
color = "cyan"
working-dir = "~/Code/project"
shell-program = "/bin/zsh"
shell-login = true

Layout settings:

  • tile-width: positive integer, default 20
  • tile-height: positive integer, default 5
  • tile-spacing: non-negative integer, default 1

Shell resolution order:

  • entries.shell-program
  • [shell].program
  • $SHELL
  • /bin/sh

Relative working-dir resolution:

  • default config: relative to $HOME
  • --config /path/to/config.toml: relative to that config file's directory

Supported entry colors:

  • black
  • red
  • orange
  • green
  • yellow
  • blue
  • magenta
  • cyan
  • white
  • bright-black
  • bright-red
  • bright-green
  • bright-yellow
  • bright-blue
  • bright-magenta
  • bright-cyan
  • bright-white

Development

Use the provided Nix shell for the project toolchain:

nix-shell

Common commands:

make build
make test
make lint
nix-shell --command "make snapshots"