一键导入
multiplexing
Native windows/splits/panes (absorb tmux). Load when touching multiplex module, keybinds, or session persistence.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Native windows/splits/panes (absorb tmux). Load when touching multiplex module, keybinds, or session persistence.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
AI layer embeds the Pi SDK. Load when touching AI module, harness integration, providers, MCP decision, or chat UI.
Overall stack and module shape for nyxterm. Load when touching Tauri commands, PTY wiring, frontend↔backend IPC, or xterm rendering.
Conventional Commits, work-unit commits, NO Co-Authored-By. Load before creating any commit.
Project philosophy and decision-making heuristics. Load before scope debates, feature proposals, or refactors.
Engram embedded + MCP fallback. Topic key conventions. Load when touching anything memory-related or starting/closing a session.
Flake structure, Home Manager module, nixGL wrapper. Load when touching flake.nix, packaging, or NixOS integration.
| name | multiplexing |
| description | Native windows/splits/panes (absorb tmux). Load when touching multiplex module, keybinds, or session persistence. |
| triggers | ["tmux","multiplex","split","pane","copy mode","session","Ctrl+Space","workspace"] |
Goal: absorb tmux into the core. Users on this stack today run Ghostty → tmux → shell. We collapse that to nyxterm → shell.
Ctrl+Space. Configurable. (Matches the user's tmux config.)prefix | = vertical, prefix - = horizontal. (Match tmux convention.)Ctrl+Shift+h/j/k/l (no prefix needed, like vim-tmux-navigator).prefix H/J/K/L.prefix z.prefix c.prefix 0..9, prefix n/p.prefix s.prefix x (with confirm).prefix d.prefix [. Vi keys. v = visual, y = yank to system clipboard (via wl-copy or platform equivalent).Critical: NO keybinds may shadow xterm escape sequences (e.g., Ctrl+M is Enter, can't be rebound). Validate at config-load.
Reference: tmux-resurrect + tmux-continuum behavior, reimplemented natively.
Window
└── PaneTree (binary tree)
├── Split (vertical | horizontal, ratio: f32)
│ ├── PaneTree (left/top)
│ └── PaneTree (right/bottom)
└── Leaf (Pane)
├── PtySession id
├── cwd
├── title
└── ...
Leaf panes can be:
The grid logic is content-type agnostic. Only the leaf knows what it is.
State machine:
prefix [ enters copy mode → buffer cursor at last line.h/j/k/l, w/b/e, 0/$, gg/G, /? search.v = char-visual, V = line-visual, Ctrl+v = block-visual.y = yank to system clipboard (wl-clipboard on Wayland, xclip on X11, OSC 52 fallback).q or Esc = exit copy mode.git-status epic), pane index, active count.prefix s picker (fuzzy-filterable).nyxterm/session/<session-id>/layout — pane tree snapshotnyxterm/session/<session-id>/cwd-map — pane → cwdnyxterm/session/<session-id>/last-active — timestampSessions are user-named (prefix S to rename) and survive restarts.