openmux 0.2.30 → 0.2.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +42 -1
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -21,6 +21,7 @@ A terminal multiplexer with master-stack layout (Zellij-style), built with:
21
21
  - Tmux-style `Ctrl+b` prefix key
22
22
  - 9 workspaces with isolated pane layouts
23
23
  - Session persistence and management
24
+ - Detach/attach (leave sessions running in background)
24
25
  - Pane zoom (fullscreen focused pane)
25
26
  - Aggregate view for browsing/filtering PTYs across workspaces
26
27
  - Kitty Graphics and Sixel protocol support
@@ -57,6 +58,7 @@ bun run build --install
57
58
  Download prebuilt binaries from [GitHub Releases](https://github.com/monotykamary/openmux/releases).
58
59
 
59
60
  Available platforms:
61
+
60
62
  - macOS (Apple Silicon)
61
63
  - Linux (x64 / arm64)
62
64
 
@@ -73,9 +75,33 @@ bun start # Run from source
73
75
  bun dev # Run with watch mode
74
76
  ```
75
77
 
78
+ ## Architecture (High Level)
79
+
80
+ ```
81
+ ┌─────────────────────────┐
82
+ │ Host Terminal (TTY) │
83
+ └────────────┬────────────┘
84
+ │ input/output
85
+ v
86
+ ┌─────────────────────────┐
87
+ │ openmux UI (client) │ Solid + OpenTUI
88
+ └────────────┬────────────┘
89
+ │ shim protocol (detach/attach)
90
+ v
91
+ ┌─────────────────────────┐
92
+ │ shim server (background)│
93
+ └────────────┬────────────┘
94
+ │ PTY I/O + emulation
95
+ v
96
+ ┌─────────────────────────┐
97
+ │ zig-pty + ghostty-web │ worker pool
98
+ └─────────────────────────┘
99
+ ```
100
+
76
101
  ## Keyboard Shortcuts
77
102
 
78
103
  ### Normal Mode (Alt shortcuts - no prefix needed)
104
+
79
105
  - `Alt+h/j/k/l` - Navigate panes
80
106
  - `Alt+n` - New pane
81
107
  - `Alt+1-9` - Switch to workspace 1-9
@@ -87,6 +113,7 @@ bun dev # Run with watch mode
87
113
  - `Ctrl+b` - Enter prefix mode
88
114
 
89
115
  ### Mouse
116
+
90
117
  - `Click` - Focus pane
91
118
  - `Click tab` - Switch to stacked pane (in stacked mode)
92
119
  - `Scroll wheel` - Scroll through terminal history (when not in alternate screen apps like vim)
@@ -94,6 +121,7 @@ bun dev # Run with watch mode
94
121
  - `Drag scrollbar` - Scroll through history by dragging
95
122
 
96
123
  ### Prefix Mode (Ctrl+b, 2s timeout)
124
+
97
125
  - `n` or `Enter` - New pane
98
126
  - `h/j/k/l` - Navigate panes
99
127
  - `1-9` - Switch to workspace 1-9
@@ -105,11 +133,13 @@ bun dev # Run with watch mode
105
133
  - `s` - Open session picker
106
134
  - `a` - Open aggregate view
107
135
  - `]` - Paste from clipboard
136
+ - `d` - Detach (leave session running)
108
137
  - `r` - Enter resize mode
109
138
  - `?` - Toggle keyboard hints
110
139
  - `Esc` - Exit prefix mode
111
140
 
112
141
  ### Resize Mode
142
+
113
143
  - `h/l` - Shrink/grow width
114
144
  - `j/k` - Grow/shrink height
115
145
  - `Enter/Esc` - Exit resize mode
@@ -117,19 +147,29 @@ bun dev # Run with watch mode
117
147
  ## Concepts
118
148
 
119
149
  ### Workspaces
150
+
120
151
  Like i3/sway, openmux supports multiple workspaces (1-9). Each workspace has its own layout tree of panes. The status bar shows populated workspaces dynamically - empty workspaces don't appear unless active.
121
152
 
122
153
  ### Layout Modes (Zellij-style)
154
+
123
155
  Each workspace has a layout mode that determines how panes are arranged:
156
+
124
157
  - **Vertical** (`│`): Main pane on left, stack panes split vertically on right
125
158
  - **Horizontal** (`─`): Main pane on top, stack panes split horizontally on bottom
126
159
  - **Stacked** (`▣`): Main pane on left, stack panes tabbed on right (only active visible)
127
160
 
128
161
  ### Sessions
162
+
129
163
  Sessions persist your workspace layouts and pane working directories. Sessions are auto-saved to `~/.config/openmux/sessions/` and can be switched via the session picker (`Alt+s` or `Ctrl+b s`).
130
164
 
165
+ ### Detach / Attach
166
+
167
+ Use `Ctrl+b d` to detach and leave the background shim running. Reattach by launching `openmux` again. Detach/attach uses a single-client lock; a new client steals the lock and the previous client detaches.
168
+
131
169
  ### Aggregate View
170
+
132
171
  A fullscreen overlay (`Alt+a` or `Ctrl+b a`) that lets you browse all PTYs across all workspaces in one place. Features:
172
+
133
173
  - **Card-style PTY list** showing directory, process name, and git branch
134
174
  - **Interactive terminal preview** with full input support (keyboard + mouse)
135
175
  - **Filter by typing** to search by process name, directory, or git branch
@@ -205,8 +245,9 @@ Current status:
205
245
  - [x] Graphics protocol passthrough (Kitty/Sixel)
206
246
  - [x] Scrollback support
207
247
  - [x] Aggregate view (PTY browser)
208
- - [ ] Session restore on startup
248
+ - [x] Attach/detach (steal + lock)
209
249
  - [ ] Configurable keybindings
250
+ - [ ] Configurable settings and colors
210
251
 
211
252
  ## License
212
253
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openmux",
3
- "version": "0.2.30",
3
+ "version": "0.2.31",
4
4
  "description": "Terminal multiplexer with master-stack tiling layout",
5
5
  "module": "src/index.tsx",
6
6
  "type": "module",