Muxi
Create dynamic shortcuts for your tmux sessions!
Install
Configuration
In your tmux configuration:
if "type muxi" {
run -b "muxi init"
}
Then provide a settings.toml in one of the following locations:
$MUXI_CONFIG_PATH$XDG_CONFIG_HOME/muxi/~/.config/muxi/
Or run muxi config edit
= "g" # Muxi's table binding, `<prefix>g`
= true # Optional: Use tmux <prefix> to define muxi's table (default: true)
# Optional bindings to be created on tmux's muxi table
[]
# <prefix>ge => edit your sessions file
= { = { = " sessions " }, = "muxi sessions edit" }
# <prefix>gc => edit config
= { = { = " config " }, = "muxi config edit" }
# `tmux run-shell "tmux switch-client -l"`
= { = "tmux switch-client -l" }
# Quick session bindings (like vim's harpoon)
= { = "muxi sessions set j && tmux display 'bound current session to j'" }
= { = "muxi sessions set k && tmux display 'bound current session to k'" }
= { = "muxi sessions set l && tmux display 'bound current session to l'" }
[]
= "tmux send htop Enter" # Make tmux do the hard work for you!
[]
# popup = {
# title = "optional title",
# width = "60%", (default: 75%)
# height = "60%", (default: 75%)
# }
= { = "75%", = "60%" }
= "muxi sessions | less"
Sessions
Running muxi sessions edit will open your sessions.toml file, which should look something like the following:
# <key> = { name = <session_name>, path = <session_path> }
= { = "dotfiles", = "~/.dotfiles" }
= { = "muxi", = "~/Sites/rust/muxi/" }
= { = "notes", = "~/Library/Mobile Documents/com~apple~CloudDocs/notes" }
This is the file that muxi will use to generate your session bindings and keep state