Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/corrupt952/tmuxist
https://github.com/corrupt952/tmuxist
tmux
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/corrupt952/tmuxist
- Owner: corrupt952
- License: mit
- Created: 2018-06-18T06:02:54.000Z (over 6 years ago)
- Default Branch: main
- Last Pushed: 2024-04-14T12:06:07.000Z (9 months ago)
- Last Synced: 2024-04-14T12:33:49.367Z (9 months ago)
- Topics: tmux
- Language: Go
- Homepage:
- Size: 80.1 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# tmuxist
[![Test](https://github.com/corrupt952/tmuxist/actions/workflows/test.yaml/badge.svg)](https://github.com/corrupt952/tmuxist/actions/workflows/test.yaml)
`tmuxist` is a tool to manage tmux sessions with configuration file.
You can define tmux session in `tmuxist.toml` and start or attach tmux session with `tmuxist` command.## Installation
### Manual
Download tar.gz on [Latest release](https://github.com/corrupt952/tmuxist/releases/latest).
### Homebrew
```sh
brew tap corrupt952/tmuxist
brew install tmuxist
```## Commands
### tmuxist init
Initialize configuration.
When you run this command, `tmuxist.toml` is created in the current directory.```sh
tmuxist init
```### tmuxist start
Start or attach tmux session.
When you run this command, the session defined in `tmuxist.toml` is created or attached.```sh
tmuxist start
```### tmuxist kill
Kill tmux session.
When you run this command, the session defined in `tmuxist.toml` is deleted.```sh
tmuxist kill
```## Architecture
`tmuxist` reads `tmuxist.toml` in the directory where the command is executed and manages tmux sessions.
### Configuration
`tmuxist.toml` is a configuration file written in TOML format.
In the example of `tmuxist.toml` below, the following tmux session is created.
- Session name ... `tmuxist`
- Window 1
- Pane 1 ... `htop` command is executed in root(current directory)
- Window 2
- Pane 1 ... `cd ~/Repo/corrupt952/tmuxist` command is executed and move to the directory
- Pane 2 ... Empty pane
- Window 3
- Layout ... `tiled`
- Synchronize panes ... `true`
- Pane 1 ... Empty pane
- Pane 2 ... Empty pane
- Pane 3 ... Empty pane
- Pane 4 ... Empty pane```toml
name = 'tmuxist'
root = '.'
attach = true[[windows]]
[[windows.panes]]
command = """
htop
"""[[windows]]
[[windows.panes]]
command = """
cd ~/Repo/corrupt952/tmuxist
"""
[[windows.panes]][[windows]]
layout = "tiled"
sync = true
[[windows.panes]]
[[windows.panes]]
[[windows.panes]]
[[windows.panes]]
```