tmux session manager powered by nim
Find a file
2024-12-18 16:02:04 -06:00
.github/workflows use v4 for upload-artifact 2024-09-13 10:04:24 -05:00
nix update nix flake 2024-11-14 17:18:33 -06:00
src add support for opening session in current directory 2024-12-18 16:02:04 -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 2024-12-13 12:10:35 -06: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