You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit introduces the following changes:
- Splits Support: Users can now define multi-pane windows in their YAML configuration using the panes field. Supported layouts include tiled, even-horizontal, and even-vertical.
- Enhanced Preview: The fzf preview window now displays detailed information about splits, including pane commands and layouts.
- Improved Error Handling: Added clearer error messages for invalid configurations, such as duplicate session names or unsupported layouts.
- Refactored Code: Cleaned up the session creation logic to handle splits more efficiently.
Zmux is a shell script written in bash to create, manage and open session in `Tmux`.
3
-
You can check [here](https://github.com/MrSloth-dev/.dotfiles/blob/main/scripts/zmux.sh) the shell script that was the origin of the idea for this plugin.
1
+
# ⚡⚙️ Zmux-Sessionizer ⚡⚙️
2
+
3
+
Zmux is a bash script designed to make, managing and creating Tmux sessions a breeze.
4
+
5
+
Whether you're juggling multiple projects or just need a quick way to organize your workflow, Zmux has got you covered!
6
+
7
+
4
8
5
9

6
10
7
-
# Instalation
11
+
12
+
## Instalation 📥
13
+
14
+
### Step 1: Download Zmux
15
+
Choose a directory where you want to install Zmux (e.g., `~/.local/bin`, `~/bin`, or any directory in your `$PATH`).
export PATH=$PATH:~/.local/bin # Replace with your chosen directory
28
+
```
29
+
Then reload your shell:
30
+
```bash
31
+
source~/.zshrc # or ~/.bashrc
32
+
```
33
+
### Step 3: Verify Instalation
34
+
Check if Zmux is installed correctly
35
+
```bash
36
+
zmux -v
17
37
```
18
38
19
-
## Dependencies
39
+
## Dependencies ⚙️
20
40
21
41
-`tmux` version greater or equal to `v3.3`.
22
42
-`yq` version greater or equal to `v4.44.6`. This tool allows the configuration parsing.
23
43
-`fzf` This tool allows quick and interactive listing of all pre-configured and opened sessions.
24
44
-`yamllint` This tool check if configuration files are well formatted.
25
45
26
-
# Usage
46
+
##Usage 🛠️
27
47
28
-
The main goal of this script is to be simple, there are two ways of invoking the script:
29
-
-`zmux` will spawn a `fzf` window that list all active and pre-configured sessions.
48
+
Zmux is designed to be simple and intuitive. You can use it in several ways:
49
+
50
+
### List and Select Sessions
51
+
52
+
Run zmux without any arguments to open an interactive fzf window. This lists all active and pre-configured sessions.
30
53
31
54

32
55
33
-
**Note**: Press Ctrl-t to toggle the `fzf` preview-window.
56
+
Press Ctrl-t to toggle the preview window, which shows detailed information about the selected session, including:
57
+
58
+
- Session status (active/inactive).
59
+
60
+
- Configured windows and panes.
61
+
62
+
- Layouts and commands for each pane.
63
+
64
+
### Open or Create a Specific Session
65
+
66
+
Run `zmux <session-name>` to open or create a specific session. If the session does not exist, Zmux will prompt you to create it.
67
+
- If the session is pre-configured in your YAML files, Zmux will create the session with the specified windows, panes, and commands.
68
+
69
+
- If the session does not exist, Zmux will create a new session with the given name.
70
+
71
+
### Export Current Session Configuration
72
+
73
+
Use the -e or --export flag to export the current session configuration to a YAML file. This is useful for saving session setups for future use.
74
+
75
+
- Zmux will prompt you to select a configuration file or create a new one.
76
+
77
+
- The exported configuration will include:
78
+
79
+
- Root directory.
80
+
81
+
- Windows and their respective panes.
82
+
83
+
- Commands for each pane.
84
+
85
+
### Kill Session or Server
34
86
35
-
-`zmux <sesison-name>`will search if session is active or exist in configuration files. If not, it prompts the user to create a new session.
87
+
Use the `-k <session-name>`or --kill flag to kill the selected session. To kill the Tmux server and close all sessions use `-k all`
36
88
37
-
-`zmux -k` or `--kill` to kill the `tmux` server
89
+
### Check Configuration Files
38
90
39
-
-`zmux -e` or `--export` to export the current session into a `YAML` file
91
+
Use the `-c` or `--check` flag to validate your YAML configuration files with `yamllint`.
92
+
- This ensures your configuration files are well-formatted and free of errors.
40
93
41
-
-`zmux -c` or `--check` to the `YAML` configuration file and ouputs if found any errors.
94
+
### Print Help
42
95
43
-
-`zmux -h` or `--help` to print the help message
96
+
Use the `-h` or `--help`flag to display the help message.
44
97
45
-
-`zmux -v` or `--version` to print the version
98
+
### Using Split (v0.4.0+)
46
99
47
-
# Configuration
100
+
You can now configure splits (panes) within windows in your session configuration. Each window can have multiple panes with customizable layouts and commands.
0 commit comments