src | ||
.gitignore | ||
Cargo.toml | ||
LICENSE | ||
README.md |
ReMux: a friendlier tmux wrapper
Pronounced [ ɹ̠i məks ], like "remix."
A tmux wrapper and command shortener written in Rust. ReMux's goal is to wrap tmux commands to be both shorter, and oriented around session names instead of session IDs.
To further simplify developer workflows, the attach
, detach
, has
, and
new
commands will default to the name of the root directory if used inside
a Git repository.
Goals
- Accelerating: Makes simple tmux workflows faster.
- Friendly: Easy to start using.
- Short: Every ReMux command is as short or shorter than its raw tmux equivalent.
Examples
# new session
tmux new-session -t foo
remux n foo
# lists
tmux ls
remux l
remux
# attach
tmux a -t foo
remux a foo
# has
tmux has -t foo
remux has foo
# detach
tmux detach-client -t foo
remux d foo
# nesting sessions with '-n' flag
TMUX='' tmux a -t foo
remux a -n foo
TMUX='' tmux new-session -t foo
remux n -n foo
# switch
tmux switch-client -t foo
remux s foo
Dependencies
ReMux depends on tmux.
Installation
Manual Install
Release Binary
Copy the compiled binary from the releases page
to a directory in $PATH
, such as /usr/bin/
.
Compile from Source
Compile using cargo with the command cargo build --release
and copy the file
from target/release/
to a directory in $PATH
, such as /usr/bin/
.
makepkg (AUR)
Clone the AUR Repository and run the
command makepkg --install
.
Package Managers
Arch Linux (AUR): remux
Install the package from the remux
AUR Package
using an AUR package manager such as paru
.
Cargo: tmux-remux
Install the package using Cargo with the command cargo install tmux-remux
.
Configuration
The pretty-print attached symbol (default: *
) can be set manually by setting REMUX_ATTACH_SYMBOL
.
Libraries
- pico-args — argument parsing
- termion — ANSI formatting
- tmux_interface — tmux communication