openmux 0.1.38 → 0.1.40

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 +17 -4
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -4,7 +4,7 @@ A terminal multiplexer with master-stack layout (Zellij-style), built with:
4
4
 
5
5
  - **Bun** - Fast JavaScript runtime
6
6
  - **OpenTUI** - Terminal UI library with React reconciler
7
- - **bun-pty** - PTY support for Bun
7
+ - **zig-pty** - PTY support for Bun (pure Zig implementation)
8
8
  - **ghostty-web** - Terminal emulation via WASM
9
9
 
10
10
  ![openmux screenshot](assets/openmux-screenshot.png)
@@ -18,6 +18,7 @@ A terminal multiplexer with master-stack layout (Zellij-style), built with:
18
18
  - 9 workspaces with isolated pane layouts
19
19
  - Session persistence and management
20
20
  - Pane zoom (fullscreen focused pane)
21
+ - Aggregate view for browsing/filtering PTYs across workspaces
21
22
  - Kitty Graphics and Sixel protocol support
22
23
  - Mouse tracking (click to focus, tabbed pane switching)
23
24
  - Scrollback support with mouse wheel and scrollbar
@@ -78,6 +79,7 @@ bun dev # Run with watch mode
78
79
  - `Alt+x` - Close pane
79
80
  - `Alt+z` - Toggle zoom (fullscreen focused pane)
80
81
  - `Alt+s` - Open session picker
82
+ - `Alt+a` - Open aggregate view (browse all PTYs)
81
83
  - `Ctrl+b` - Enter prefix mode
82
84
 
83
85
  ### Mouse
@@ -97,6 +99,7 @@ bun dev # Run with watch mode
97
99
  - `x` - Close current pane
98
100
  - `z` - Toggle zoom
99
101
  - `s` - Open session picker
102
+ - `a` - Open aggregate view
100
103
  - `]` - Paste from clipboard
101
104
  - `r` - Enter resize mode
102
105
  - `?` - Toggle keyboard hints
@@ -121,6 +124,13 @@ Each workspace has a layout mode that determines how panes are arranged:
121
124
  ### Sessions
122
125
  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`).
123
126
 
127
+ ### Aggregate View
128
+ A fullscreen overlay (`Alt+a` or `Ctrl+b a`) that lets you browse all PTYs across all workspaces in one place. Features:
129
+ - **Card-style PTY list** showing directory, process name, and git branch
130
+ - **Interactive terminal preview** with full input support (keyboard + mouse)
131
+ - **Filter by typing** to search by process name, directory, or git branch
132
+ - Navigate with `j/k` or arrow keys, `Enter` to interact, `Prefix+Esc` to return to list
133
+
124
134
  ## Project Structure
125
135
 
126
136
  ```
@@ -145,7 +155,8 @@ src/
145
155
  │ ├── TerminalView.tsx # Terminal rendering with buffer API
146
156
  │ ├── StatusBar.tsx # Bottom status bar
147
157
  │ ├── KeyboardHints.tsx # Keyboard shortcuts overlay
148
- └── SessionPicker.tsx # Session selection modal
158
+ ├── SessionPicker.tsx # Session selection modal
159
+ │ └── AggregateView.tsx # PTY browser overlay
149
160
 
150
161
  ├── contexts/ # React contexts for state
151
162
  │ ├── index.ts # Context exports
@@ -153,11 +164,12 @@ src/
153
164
  │ ├── TerminalContext.tsx # PTY management and lifecycle
154
165
  │ ├── KeyboardContext.tsx # Prefix mode and key state
155
166
  │ ├── SessionContext.tsx # Session management and persistence
156
- └── ThemeContext.tsx # Theme/styling configuration
167
+ ├── ThemeContext.tsx # Theme/styling configuration
168
+ │ └── AggregateViewContext.tsx # Aggregate view state management
157
169
 
158
170
  ├── terminal/ # PTY and terminal emulation
159
171
  │ ├── index.ts # Terminal exports
160
- │ ├── pty-manager.ts # PTY session lifecycle (bun-pty)
172
+ │ ├── pty-manager.ts # PTY session lifecycle (zig-pty)
161
173
  │ ├── ghostty-emulator.ts # Terminal emulator (ghostty-web WASM)
162
174
  │ ├── input-handler.ts # Key/mouse to escape sequence encoder
163
175
  │ ├── graphics-passthrough.ts # Kitty Graphics/Sixel protocol
@@ -188,6 +200,7 @@ Current status:
188
200
  - [x] Mouse support
189
201
  - [x] Graphics protocol passthrough (Kitty/Sixel)
190
202
  - [x] Scrollback support
203
+ - [x] Aggregate view (PTY browser)
191
204
  - [ ] Session restore on startup
192
205
  - [ ] Configurable keybindings
193
206
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openmux",
3
- "version": "0.1.38",
3
+ "version": "0.1.40",
4
4
  "description": "Terminal multiplexer with master-stack tiling layout",
5
5
  "module": "src/index.tsx",
6
6
  "type": "module",