tmux session manager powered by nim
Find a file
Daylin Morgan 093446e4a6
nix/flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/85f7e662eda4fa3a995556527c87b2524b691933' (2024-11-07)
  → 'github:nixos/nixpkgs/24f0d4acd634792badd6470134c387a3b039dace' (2024-11-13)
2024-11-14 17:17:13 -06:00
.github/workflows use v4 for upload-artifact 2024-09-13 10:04:24 -05:00
nix nix/flake.lock: Update 2024-11-14 17:17:13 -06:00
src add session info to open sessions 2024-11-14 17:15:13 -06:00
.forge.cfg build: enter atlas 2023-11-10 12:22:49 -06:00
.gitignore feat: selector improvements 2024-09-23 15:13:29 -05:00
config.nims simpler config.nims 2024-11-08 14:13:57 -06:00
nimble.lock add session info to open sessions 2024-11-14 17:15:13 -06:00
README.md refactor!: use ini/cfg 2024-09-14 10:15:14 -05:00
todo.md todo: don't throw away helpful tmux info 2024-09-26 11:59:45 -05:00
tsm.nimble add session info to open sessions 2024-11-14 17:15:13 -06:00

Tmux session manager (tsm)

Install

There are pre-built binaries available in Releases including a nightly release.

w/eget:

eget daylinmorgan/tsm
eget daylinmorgan/tsm --pre-release # for nightly build

w/nimble:

nimble install https://github.com/daylinmorgan/tsm

Usage

To configure tsm export the below environment variables:

TSM_PATHS: a colon-delimited set of parent directories to find projects.
TSM_HEIGHT: integer specifying number of rows in terminal (default: 15)

For example in your rc file:

export TSM_PATHS="$HOME/projects/personal:$HOME/projects/work"

To make full use of tsm you should also add a new key binding to your tmux.conf. For example, you can bind the f key to show a popup with tsm:

bind f display-popup \
  -h 60% -w 60% \
  -E "tsm"

Prior Art