Skip to content

fm39hz/gotomux

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gotomux

CI License: MIT

go to mux, (yet) another fuzzy tmux session picker: live sessions, SQLite presets, optional zoxide paths, sticky templates. It help you to jump right into your work, then let tmux do its best on the rest of your workflow.

Install

Go

go install github.com/fm39hz/gotomux@latest
# binary: $(go env GOPATH)/bin/gotomux

Build from source

git clone https://github.com/fm39hz/gotomux.git && cd gotomux
make install   # or: make build && ./gotomux
make pkg       # Arch: dist/*.pkg.tar.zst

Needs: tmux. Optional: zoxide (zoxide query -l).

tmux

# adjust path if needed
bind-key C-b display-popup -E -w 80% -h 70% "$HOME/go/bin/gotomux"
bind-key C-e display-popup -E -w 90% -h 90% "$HOME/go/bin/gotomux -e"
bind-key -n C-f run-shell "$HOME/go/bin/gotomux -f >/dev/null 2>&1; tmux display-message 'Froze #{session_name}'"

tmux source-file your config.
C-b = picker, C-f = freeze, C-e = edit current session preset (-e defaults to #{session_name} inside tmux).

CLI:

gotomux             # interactive picker
gotomux -f [name]   # freeze session (arg, else current, else pick)
gotomux -e [name]   # edit preset in $EDITOR
gotomux -h          # help

Keys

Key Action
type filter (diacritics folded)
enter connect
ctrl-n / ctrl-p next / prev
ctrl-x kill active
ctrl-f freeze → preset
ctrl-e / ctrl-d edit / delete preset
ctrl-t sticky shape from selection
? / esc help / quit

Behaviour

Item Enter
Active attach / switch
Preset load if missing, then attach
Create / Zoxide live → same-name preset → sticky shape @ project root

State: $XDG_DATA_HOME/gotomux/state.db (presets · shapes · sticky · usage)
Layouts: $XDG_CONFIG_HOME/gotomux/layouts/<id>.json, 1-1 reflect with DB (backup / git / hand-edit)

Roadmap

Local first.

  • Picker sources: create · tmux · preset · zoxide
  • Freeze / load, sticky templates, rank + accent fold
  • go install / CI / local Arch package
  • Remote tmux as one pool (tmux@host; server: tmux + ssh only)
  • AUR publish

Dev

make help && make test

Acknowledgements

Also: Bubble Tea, gotmux, modernc sqlite.

License

MIT

About

Fuzzy tmux session picker with presets, zoxide and sticky templates

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors