@indianic/dialout 1.2.1 → 1.3.1

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.
package/dist/cowork.js CHANGED
@@ -36,6 +36,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.TOKEN_RE = exports.COWORK_END = exports.COWORK_BEGIN = void 0;
37
37
  exports.sanitizeTokens = sanitizeTokens;
38
38
  exports.renderMatchGate = renderMatchGate;
39
+ exports.renderAttachSection = renderAttachSection;
39
40
  exports.renderCoworkBlock = renderCoworkBlock;
40
41
  exports.removeCoworkBlock = removeCoworkBlock;
41
42
  exports.installCoworkBlock = installCoworkBlock;
@@ -167,77 +168,78 @@ case "$_dd_tp" in
167
168
  ${arm}
168
169
  esac`;
169
170
  }
170
- // The verbatim tmux wrap body (carried over from the pre-gating COWORK_BLOCK).
171
- // Do NOT add pane-scrollbars here — it wedges tmux at 100% CPU.
171
+ // How the wrapper sizes the session and execs tmux.
172
172
  //
173
- // The clipboard bindings are a SINGLE if/elif chain (pbcopy → wl-copy → xclip
174
- // → xsel), never a pbcopy branch plus an independent Linux one. xclip and xsel
175
- // are both installable on macOS via Homebrew, so two independent branches both
176
- // ran on such a Mac; all four bind-key calls fired twice and the LATER binding
177
- // won, routing copy-mode copy through `xclip -selection clipboard`, which then
178
- // fails at runtime with no DISPLAY — macOS clipboard copy silently stops
179
- // working (Constraint 1). bind-key is server-global, so an affected Mac also
180
- // flip-flopped between xclip (after a native cowork shell started) and pbcopy
181
- // (after a browser attach, whose bindings come from copyVerb() in
182
- // pty-manager.ts — which returns pbcopy on darwin before probing anything).
183
- // The chain here and copyVerb() must keep the same shape and the same order.
184
- const WRAP_BODY = `_dd_base=$(basename "$PWD" 2>/dev/null | LC_ALL=C tr -cd 'a-zA-Z0-9_-' | cut -c1-20)
173
+ // These two are one decision, not two, which is why they share a case
174
+ // statement. MEASURED against a real iTerm2 on 2026-09-03: iTerm2 refuses its
175
+ // tmux integration outright when `aggressive-resize` is on —
176
+ //
177
+ // "The aggressive-resize option is turned on in tmux. It is not compatible
178
+ // with the iTerm2-tmux integration. Please disable it and try again."
179
+ //
180
+ // so a control-mode attach must not set it. A terminal that falls through to a
181
+ // normal attach still needs it, together with `window-size latest`, for a mixed
182
+ // browser + native attach to behave. Hence: sizing belongs to the arm, not
183
+ // above it. In control mode iTerm2 drives the geometry itself.
184
+ //
185
+ // The branch reads $_dd_tp, the token the match gate resolved, NOT raw
186
+ // $TERM_PROGRAM. TERM_PROGRAM is inherited by child processes, so a Hyper
187
+ // window launched from an iTerm2 shell carries TERM_PROGRAM=iTerm.app; execing
188
+ // `tmux -CC` there dumps raw %begin/%end/%exit protocol text into a terminal
189
+ // that cannot speak it. Observed exactly that before this fix.
190
+ //
191
+ // Control mode (-CC) makes iTerm2 and WezTerm render tmux windows as NATIVE
192
+ // tabs: the emulator's own scrollback, selection and Cmd+C, nothing emulated.
193
+ // It is the only configuration that gives up neither native selection nor
194
+ // wheel-scroll, because mouse reporting is both what lets tmux see the wheel
195
+ // and what stops the emulator seeing the drag.
196
+ const SIZING = [
197
+ 'tmux set-window-option -t "$_dd_name" window-size latest 2>/dev/null',
198
+ 'tmux set-window-option -t "$_dd_name" aggressive-resize on 2>/dev/null',
199
+ ];
200
+ const NORMAL_EXEC = 'exec tmux new-session -A -s "$_dd_name"';
201
+ const CONTROL_TERMINALS = 'iTerm.app|WezTerm';
202
+ function renderAttachSection(attachMode) {
203
+ if (attachMode !== 'control') {
204
+ return [...SIZING, NORMAL_EXEC].join('\n ');
205
+ }
206
+ return `case "$_dd_tp" in
207
+ ${CONTROL_TERMINALS})
208
+ exec tmux -CC new-session -A -s "$_dd_name" ;;
209
+ *)
210
+ ${SIZING.join('\n ')}
211
+ ${NORMAL_EXEC} ;;
212
+ esac`;
213
+ }
214
+ // The tmux wrap body.
215
+ //
216
+ // Everything GLOBAL that used to live here — mouse, set-clipboard, status,
217
+ // history-limit, escape-time, allow-passthrough, focus-events,
218
+ // terminal-features, the MouseDown3 unbinds and the whole four-arm clipboard
219
+ // chain — moved into ~/.dialout/tmux.conf, rendered by tmux-config.ts. It was a
220
+ // hand-transcribed copy of NATIVE_TMUX_COMMANDS in pty-manager.ts, the two
221
+ // drifted on history-limit (50000 here, 100000 there), and nothing caught it,
222
+ // because observing either meant running tmux.
223
+ //
224
+ // What stays is exactly what a shared config file cannot express: the
225
+ // per-session @devdash_* options and window sizing, which need the session name.
226
+ //
227
+ // source-file is -q so a machine whose agent has not written the config yet
228
+ // still gets a working shell. Verified on tmux 3.6a: source-file does not abort
229
+ // on a bad line (it warns and continues), and -q silences the missing-file
230
+ // error.
231
+ const wrapBody = (attachMode) => `_dd_base=$(basename "$PWD" 2>/dev/null | LC_ALL=C tr -cd 'a-zA-Z0-9_-' | cut -c1-20)
185
232
  [ -n "$_dd_base" ] || _dd_base=shell
186
233
  _dd_name="\${_dd_base}-$(( \${RANDOM:-$$} % 9000 + 1000 ))"
187
234
  if tmux new-session -d -s "$_dd_name" 2>/dev/null; then
235
+ tmux source-file -q "$HOME/.dialout/tmux.conf" 2>/dev/null
188
236
  tmux set-option -t "$_dd_name" @term_program "\${TERM_PROGRAM:-\${TERMINAL_EMULATOR:-unknown}}" 2>/dev/null
189
237
  tmux set-option -t "$_dd_name" @devdash_origin native 2>/dev/null
190
- tmux set-window-option -t "$_dd_name" window-size latest 2>/dev/null
191
- tmux set-window-option -t "$_dd_name" aggressive-resize on 2>/dev/null
192
- tmux set-option -g mouse on 2>/dev/null
193
- tmux set-option -s set-clipboard on 2>/dev/null
194
- tmux set-option -g status on 2>/dev/null
195
- tmux set-option -g history-limit 50000 2>/dev/null
196
- tmux set-option -sg escape-time 10 2>/dev/null
197
- tmux set-option -g allow-passthrough on 2>/dev/null
198
- tmux set-option -g focus-events on 2>/dev/null
199
- tmux show-options -g terminal-features 2>/dev/null | grep -q RGB || tmux set-option -sa terminal-features "*:RGB" 2>/dev/null
200
- tmux unbind-key -n MouseDown3Pane 2>/dev/null
201
- tmux unbind-key -n MouseDown3Status 2>/dev/null
202
- # Clipboard: ONE chain, first available wins — pbcopy must EXCLUDE the Linux
203
- # tools, which are installable on macOS too (see the note in cowork.ts).
204
- # Each arm sets copy-command as well as the four bind-keys. The bind-keys
205
- # only cover drag-release and the keyboard copies; copy-command is what makes
206
- # tmux's own double-click-word / triple-click-line defaults — which call
207
- # copy-pipe-and-cancel with NO argument — reach the system clipboard instead
208
- # of stopping at the tmux paste buffer. See clipboardBindings() in
209
- # pty-manager.ts for the measurements. Both files must stay in the same shape
210
- # and the same order.
211
- if command -v pbcopy >/dev/null 2>&1; then
212
- tmux set-option -g copy-command pbcopy 2>/dev/null
213
- tmux bind-key -T copy-mode MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel pbcopy 2>/dev/null
214
- tmux bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel pbcopy 2>/dev/null
215
- tmux bind-key -T copy-mode Enter send-keys -X copy-pipe-and-cancel pbcopy 2>/dev/null
216
- tmux bind-key -T copy-mode-vi y send-keys -X copy-pipe-and-cancel pbcopy 2>/dev/null
217
- elif command -v wl-copy >/dev/null 2>&1; then
218
- tmux set-option -g copy-command wl-copy 2>/dev/null
219
- tmux bind-key -T copy-mode MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel wl-copy 2>/dev/null
220
- tmux bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel wl-copy 2>/dev/null
221
- tmux bind-key -T copy-mode Enter send-keys -X copy-pipe-and-cancel wl-copy 2>/dev/null
222
- tmux bind-key -T copy-mode-vi y send-keys -X copy-pipe-and-cancel wl-copy 2>/dev/null
223
- elif command -v xclip >/dev/null 2>&1; then
224
- tmux set-option -g copy-command "xclip -selection clipboard" 2>/dev/null
225
- tmux bind-key -T copy-mode MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "xclip -selection clipboard" 2>/dev/null
226
- tmux bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "xclip -selection clipboard" 2>/dev/null
227
- tmux bind-key -T copy-mode Enter send-keys -X copy-pipe-and-cancel "xclip -selection clipboard" 2>/dev/null
228
- tmux bind-key -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "xclip -selection clipboard" 2>/dev/null
229
- elif command -v xsel >/dev/null 2>&1; then
230
- tmux set-option -g copy-command "xsel --clipboard --input" 2>/dev/null
231
- tmux bind-key -T copy-mode MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "xsel --clipboard --input" 2>/dev/null
232
- tmux bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "xsel --clipboard --input" 2>/dev/null
233
- tmux bind-key -T copy-mode Enter send-keys -X copy-pipe-and-cancel "xsel --clipboard --input" 2>/dev/null
234
- tmux bind-key -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "xsel --clipboard --input" 2>/dev/null
235
- fi
236
238
  tmux set-option -t "$_dd_name" @devdash_folder "$(basename "$PWD" 2>/dev/null)" 2>/dev/null
237
239
  tmux set-option -t "$_dd_name" @devdash_folder_path "$PWD" 2>/dev/null
238
240
  tmux set-option -t "$_dd_name" @devdash_created "$(date +%Y-%m-%dT%H:%M:%S)" 2>/dev/null
239
241
  tmux set-option -t "$_dd_name" @devdash_git "$(git rev-parse --abbrev-ref HEAD 2>/dev/null)" 2>/dev/null
240
- exec tmux new-session -A -s "$_dd_name"
242
+ ${renderAttachSection(attachMode)}
241
243
  fi
242
244
  unset _dd_base _dd_name`;
243
245
  function indent(text, pad) {
@@ -245,9 +247,9 @@ function indent(text, pad) {
245
247
  }
246
248
  // Regenerate the full app-gated rc block from the allowlist. An empty (or
247
249
  // fully-sanitized-away) list yields a block that never wraps.
248
- function renderCoworkBlock(tokens) {
250
+ function renderCoworkBlock(tokens, attachMode = 'auto') {
249
251
  const gate = indent(renderMatchGate(tokens), ' ');
250
- const body = indent(WRAP_BODY, ' ');
252
+ const body = indent(wrapBody(attachMode), ' ');
251
253
  return `${exports.COWORK_BEGIN}
252
254
  # Managed by "dialout setup-cowork" — do not edit inside the markers.
253
255
  case $- in
@@ -286,12 +288,12 @@ function removeCoworkBlock(content) {
286
288
  return (content.slice(0, begin) + content.slice(end + exports.COWORK_END.length))
287
289
  .replace(/\n{3,}$/g, '\n\n');
288
290
  }
289
- function installCoworkBlock(rcPath, tokens) {
291
+ function installCoworkBlock(rcPath, tokens, attachMode = 'auto') {
290
292
  const existed = fs.existsSync(rcPath);
291
293
  const content = existed ? fs.readFileSync(rcPath, 'utf-8') : '';
292
294
  const had = content.includes(exports.COWORK_BEGIN) || content.includes(LEGACY_COWORK_BEGIN);
293
295
  const cleaned = removeCoworkBlock(content);
294
- const next = cleaned.replace(/\n*$/, '\n\n') + renderCoworkBlock(tokens) + '\n';
296
+ const next = cleaned.replace(/\n*$/, '\n\n') + renderCoworkBlock(tokens, attachMode) + '\n';
295
297
  fs.writeFileSync(rcPath, next);
296
298
  return had ? 'updated' : existed ? 'installed' : 'created';
297
299
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cowork.js","sourceRoot":"","sources":["../src/cowork.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cowork.js","sourceRoot":"","sources":["../src/cowork.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type WebSocket from 'ws';
2
+ import { TmuxPrefs } from './tmux-config';
2
3
  export declare function setActiveSocket(ws: WebSocket | null): void;
3
4
  export declare function isPtyAvailable(): boolean;
4
5
  export declare function openSession(id: string, command: string, cwd: string, cols?: number, rows?: number, opts?: {
@@ -10,8 +11,10 @@ export interface CopyVerbDeps {
10
11
  }
11
12
  export declare function clipboardCommand(deps?: CopyVerbDeps): string | null;
12
13
  export declare function copyVerb(deps?: CopyVerbDeps): string[];
13
- export declare function clipboardBindings(): string[][];
14
- export declare function applyNativeTmuxOptions(): void;
14
+ export declare function tmuxConfPath(): string;
15
+ export declare function applyNativeTmuxOptions(prefs?: TmuxPrefs): void;
16
+ /** Test seam: forget which config text was last sourced. */
17
+ export declare function resetTmuxConfCache(): void;
15
18
  export interface SessionExistsDeps {
16
19
  /** Injected in tests; defaults to `tmux list-sessions -F '#{session_name}'`. */
17
20
  list?: () => string;
@@ -1 +1 @@
1
- {"version":3,"file":"pty-manager.d.ts","sourceRoot":"","sources":["../src/pty-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,IAAI,CAAC;AAmChC,wBAAgB,eAAe,CAAC,EAAE,EAAE,SAAS,GAAG,IAAI,GAAG,IAAI,CAE1D;AAED,wBAAgB,cAAc,IAAI,OAAO,CAExC;AAED,wBAAgB,WAAW,CACzB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,IAAI,GAAE,MAAW,EACjB,IAAI,GAAE,MAAW,EACjB,IAAI,GAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAO,GAClC,OAAO,CAwIT;AAyFD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;CACvC;AAiBD,wBAAgB,gBAAgB,CAAC,IAAI,GAAE,YAAiB,GAAG,MAAM,GAAG,IAAI,CAqBvE;AAED,wBAAgB,QAAQ,CAAC,IAAI,GAAE,YAAiB,GAAG,MAAM,EAAE,CAG1D;AAcD,wBAAgB,iBAAiB,IAAI,MAAM,EAAE,EAAE,CA2B9C;AAED,wBAAgB,sBAAsB,IAAI,IAAI,CAmB7C;AASD,MAAM,WAAW,iBAAiB;IAChC,gFAAgF;IAChF,IAAI,CAAC,EAAE,MAAM,MAAM,CAAC;CACrB;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,iBAAsB,GAAG,OAAO,CAQrF;AASD,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAK7D;AAED,wBAAgB,UAAU,CACxB,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,OAAO,EACjB,IAAI,GAAE,MAAW,EACjB,IAAI,GAAE,MAAW,GAChB,OAAO,CAsCT;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAK7D;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAK1E;AAED,wBAAsB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAmB5D;AAcD,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAQjD;AAKD,wBAAgB,gBAAgB,IAAI,IAAI,CAKvC;AAED,wBAAgB,iBAAiB,IAAI,MAAM,EAAE,CAE5C"}
1
+ {"version":3,"file":"pty-manager.d.ts","sourceRoot":"","sources":["../src/pty-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,IAAI,CAAC;AAQhC,OAAO,EAAsC,SAAS,EAAE,MAAM,eAAe,CAAC;AA+B9E,wBAAgB,eAAe,CAAC,EAAE,EAAE,SAAS,GAAG,IAAI,GAAG,IAAI,CAE1D;AAED,wBAAgB,cAAc,IAAI,OAAO,CAExC;AAED,wBAAgB,WAAW,CACzB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,IAAI,GAAE,MAAW,EACjB,IAAI,GAAE,MAAW,EACjB,IAAI,GAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAO,GAClC,OAAO,CAwIT;AA6BD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;CACvC;AAiBD,wBAAgB,gBAAgB,CAAC,IAAI,GAAE,YAAiB,GAAG,MAAM,GAAG,IAAI,CAqBvE;AAED,wBAAgB,QAAQ,CAAC,IAAI,GAAE,YAAiB,GAAG,MAAM,EAAE,CAG1D;AAED,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAaD,wBAAgB,sBAAsB,CAAC,KAAK,GAAE,SAA8B,GAAG,IAAI,CAqClF;AAED,4DAA4D;AAC5D,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AASD,MAAM,WAAW,iBAAiB;IAChC,gFAAgF;IAChF,IAAI,CAAC,EAAE,MAAM,MAAM,CAAC;CACrB;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,iBAAsB,GAAG,OAAO,CAQrF;AAkBD,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAS7D;AAED,wBAAgB,UAAU,CACxB,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,OAAO,EACjB,IAAI,GAAE,MAAW,EACjB,IAAI,GAAE,MAAW,GAChB,OAAO,CAsCT;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAK7D;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAK1E;AAED,wBAAsB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAmB5D;AAcD,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAQjD;AAKD,wBAAgB,gBAAgB,IAAI,IAAI,CAKvC;AAED,wBAAgB,iBAAiB,IAAI,MAAM,EAAE,CAE5C"}
@@ -38,8 +38,9 @@ exports.isPtyAvailable = isPtyAvailable;
38
38
  exports.openSession = openSession;
39
39
  exports.clipboardCommand = clipboardCommand;
40
40
  exports.copyVerb = copyVerb;
41
- exports.clipboardBindings = clipboardBindings;
41
+ exports.tmuxConfPath = tmuxConfPath;
42
42
  exports.applyNativeTmuxOptions = applyNativeTmuxOptions;
43
+ exports.resetTmuxConfCache = resetTmuxConfCache;
43
44
  exports.tmuxSessionExists = tmuxSessionExists;
44
45
  exports.applyBrowserSessionOptions = applyBrowserSessionOptions;
45
46
  exports.openAttach = openAttach;
@@ -51,9 +52,13 @@ exports.closeAllSessions = closeAllSessions;
51
52
  exports.getActiveSessions = getActiveSessions;
52
53
  const os = __importStar(require("os"));
53
54
  const fs = __importStar(require("fs"));
55
+ const path = __importStar(require("path"));
54
56
  const child_process_1 = require("child_process");
57
+ const crypto_1 = require("crypto");
55
58
  const tmux_manager_1 = require("./tmux-manager");
56
59
  const has_command_1 = require("./has-command");
60
+ const tmux_config_1 = require("./tmux-config");
61
+ const config_1 = require("./config");
57
62
  // node-pty is optional — only loaded when terminal sessions are used
58
63
  let pty = null;
59
64
  try {
@@ -137,7 +142,7 @@ function openSession(id, command, cwd, cols = 80, rows = 24, opts = {}) {
137
142
  catch { }
138
143
  tmuxRun(['set-option', '-t', tmuxName, '@devdash_git', branch]);
139
144
  }
140
- applyNativeTmuxOptions();
145
+ applyNativeTmuxOptions((0, config_1.resolveTmuxPrefs)((0, config_1.loadConfig)()));
141
146
  // Re-applied on resume too, so sessions created before this shipped pick
142
147
  // it up on their next attach.
143
148
  applyBrowserSessionOptions(tmuxName);
@@ -208,68 +213,6 @@ function openSession(id, command, cwd, cols = 80, rows = 24, opts = {}) {
208
213
  }
209
214
  return true;
210
215
  }
211
- // Attach to an existing tmux session inside a fresh PTY. The tmux client
212
- // merges input and broadcasts output to all clients — this is the sharing.
213
- // Make DevDash tmux sessions behave like a plain OS terminal. Applied globally
214
- // (server-wide) so every session — including native ones the agent never
215
- // attaches to (e.g. a Hyper window) — is covered, and new sessions inherit it.
216
- // Each command is best-effort: a no-op or unsupported option never throws out.
217
- const NATIVE_TMUX_COMMANDS = [
218
- // Mouse ON — the native-terminal model (iTerm2/Hyper/VSCode all do this):
219
- // the wheel scrolls back through output/history instead of the shell reading
220
- // it as up/down arrows (which navigated command history). Plain drag is
221
- // tmux's own select-and-copy, routed to the system clipboard by
222
- // clipboardBindings() below.
223
- //
224
- // The modifier that BYPASSES mouse reporting for a real OS-level highlight
225
- // is NOT Shift everywhere, and an earlier version of this comment said it
226
- // was. Measured against the xterm.js we ship:
227
- // shouldForceSelection(e) =>
228
- // isMac ? e.altKey && rawOptions.macOptionClickForcesSelection
229
- // : e.shiftKey
230
- // So Shift-drag only works on Linux/xterm/VTE. On macOS it is OPTION-drag,
231
- // and only when macOptionClickForcesSelection is on — it defaults to FALSE,
232
- // which left Mac users of Hyper and of our own browser terminal with no
233
- // working bypass gesture at all. src/components/Terminal.tsx now sets it
234
- // true; Apple Terminal uses Fn-drag and iTerm2 uses Option-drag natively.
235
- ['set-option', '-g', 'mouse', 'on'],
236
- // set-clipboard on = tmux emits OSC 52 on every copy. That escape is what
237
- // carries the text to a REMOTE client's clipboard (the browser tab), and it
238
- // is the only thing that can — pbcopy below only reaches the clipboard of
239
- // the machine the agent runs on. Verified: tmux emits OSC 52 on both the
240
- // piped (pbcopy) and plain copy paths, and `clipboard` is already in
241
- // terminal-features by default for xterm* (our TERM), so it needs no help.
242
- ['set-option', '-s', 'set-clipboard', 'on'],
243
- // NOTE: pane-scrollbars (tmux 3.5+) is deliberately NOT enabled. On 3.6a it
244
- // drove the server to 100% CPU (redraw loop) when multiple differently-sized
245
- // clients were attached (Hyper + browser PTY) alongside window-size latest /
246
- // aggressive-resize. Mouse-on already gives native wheel scrolling; the
247
- // scrollbar is cosmetic and not worth wedging the server.
248
- // Keep the status line on (user preference).
249
- ['set-option', '-g', 'status', 'on'],
250
- // Large scrollback (applies to new sessions) + low escape lag.
251
- ['set-option', '-g', 'history-limit', '100000'],
252
- ['set-option', '-sg', 'escape-time', '10'],
253
- // NOTE: no WheelUpPane binding here on purpose. tmux's own default already
254
- // is `if-shell "#{||:#{alternate_on},#{pane_in_mode},#{mouse_any_flag}}"
255
- // { send-keys -M } { copy-mode -e }` — it already uses copy-mode -e (auto-
256
- // exit at the bottom, so scrolling never leaves you unable to type) AND it
257
- // also guards on alternate_on, which a hand-rolled binding misses: that
258
- // check is what lets less/vim scroll natively instead of being hijacked
259
- // into copy-mode. Overriding it is a regression. Verified on tmux 3.7b.
260
- // Let apps (Claude Code image paste, graphics/OSC protocols) pass sequences
261
- // through tmux untouched, and receive focus in/out events.
262
- ['set-option', '-g', 'allow-passthrough', 'on'],
263
- ['set-option', '-g', 'focus-events', 'on'],
264
- // Remove tmux's right-click context menus so the OS/terminal menu wins.
265
- ['unbind-key', '-n', 'MouseDown3Pane'],
266
- ['unbind-key', '-n', 'MouseDown3Status'],
267
- ['unbind-key', '-n', 'MouseDown3StatusLeft'],
268
- ['unbind-key', '-n', 'MouseDown3StatusRight'],
269
- ['unbind-key', '-n', 'M-MouseDown3Pane'],
270
- ['unbind-key', '-n', 'M-MouseDown3Status'],
271
- ['unbind-key', '-n', 'M-MouseDown3StatusLeft'],
272
- ];
273
216
  // Priority order: wl-copy wins when several are present. Each `command` is
274
217
  // what gets piped the copy-mode selection, exactly as typed at a shell — see
275
218
  // the note on LINUX_CLIPBOARD_TOOLS's caller for why a multi-word entry must
@@ -311,64 +254,62 @@ function copyVerb(deps = {}) {
311
254
  const command = clipboardCommand(deps);
312
255
  return command ? ['copy-pipe-and-cancel', command] : ['copy-selection-and-cancel'];
313
256
  }
314
- // Mouse-driven copy, server-wide so every session inherits it.
315
- //
316
- // Deliberately minimal. tmux 3.x already binds DoubleClick1Pane (select-word)
317
- // and TripleClick1Pane (select-line) in the root and copy-mode tables, and
318
- // those defaults auto-copy AND carry `if-shell` guards on
319
- // #{pane_in_mode}/#{mouse_any_flag} plus a `run-shell -d 0.3` dwell so the
320
- // selection is visible before it clears. Re-binding them by hand loses the
321
- // guards — a double-click inside vim would be swallowed into copy-mode instead
322
- // of reaching the app. So we leave word/line click alone and override only the
323
- // copy VERB on drag-release and the keyboard copies, purely to route the copy
324
- // through pbcopy on macOS. The -and-cancel semantics match tmux's own default;
325
- // see copyVerb above for why -no-clear is not an option.
326
- function clipboardBindings() {
327
- const copy = copyVerb();
328
- const command = clipboardCommand();
329
- const cmds = [];
330
- // `copy-command` is what makes the UNARGUMENTED `copy-pipe-and-cancel` in
331
- // tmux's OWN DoubleClick1Pane/TripleClick1Pane defaults reach the system
332
- // clipboard. Leaving those defaults alone (above) preserved their if-shell
333
- // guards but also left them un-piped: with copy-command empty, a
334
- // double-clicked word or triple-clicked line went ONLY into the tmux paste
335
- // buffer plus an OSC 52 escape, and xterm.js — Hyper, and our own browser
336
- // terminal — does not act on OSC 52. Measured on tmux 3.6a/macOS:
337
- //
338
- // copy-pipe-and-cancel -> pasteboard unchanged
339
- // copy-pipe-and-cancel pbcopy -> pasteboard updated
340
- // copy-command pbcopy, then
341
- // copy-pipe-and-cancel -> pasteboard updated
342
- //
343
- // So set the option rather than rebinding double/triple-click, which would
344
- // lose the guards for exactly the reason described above.
345
- if (command)
346
- cmds.push(['set-option', '-g', 'copy-command', command]);
347
- cmds.push(['bind-key', '-T', 'copy-mode', 'MouseDragEnd1Pane', 'send-keys', '-X', ...copy], ['bind-key', '-T', 'copy-mode-vi', 'MouseDragEnd1Pane', 'send-keys', '-X', ...copy], ['bind-key', '-T', 'copy-mode', 'Enter', 'send-keys', '-X', ...copy], ['bind-key', '-T', 'copy-mode-vi', 'y', 'send-keys', '-X', ...copy]);
348
- return cmds;
257
+ function tmuxConfPath() {
258
+ return path.join((0, config_1.getConfigDir)(), 'tmux.conf');
349
259
  }
350
- function applyNativeTmuxOptions() {
351
- for (const args of NATIVE_TMUX_COMMANDS) {
352
- try {
353
- (0, child_process_1.execFileSync)('tmux', args, { timeout: 5000, stdio: 'pipe' });
354
- }
355
- catch { /* option/key unsupported or no server yet — keep going */ }
260
+ // Write the rendered config and source it — but only when the content actually
261
+ // changed.
262
+ //
263
+ // The hash is the whole point. This runs on EVERY websocket connect
264
+ // (websocket.ts's open handler), and the previous version re-applied ~20 global
265
+ // options every time, so a reconnect silently overwrote anything the user had
266
+ // set by hand in their own ~/.tmux.conf. There was no way to win that fight
267
+ // from a config file. Now an unchanged config writes nothing and sources
268
+ // nothing.
269
+ let lastSourcedHash = '';
270
+ function applyNativeTmuxOptions(prefs = tmux_config_1.DEFAULT_TMUX_PREFS) {
271
+ let conf;
272
+ try {
273
+ conf = (0, tmux_config_1.renderTmuxConf)(prefs);
356
274
  }
357
- for (const args of clipboardBindings()) {
358
- try {
359
- (0, child_process_1.execFileSync)('tmux', args, { timeout: 5000, stdio: 'pipe' });
360
- }
361
- catch { /* binding unsupported or no server yet — keep going */ }
275
+ catch (err) {
276
+ // A rejected status template must not leave every session unconfigured in
277
+ // silence. Fall back to the defaults and say why.
278
+ console.error(`[dialout] tmux prefs rejected (${err?.message}) — using defaults.`);
279
+ conf = (0, tmux_config_1.renderTmuxConf)(tmux_config_1.DEFAULT_TMUX_PREFS);
362
280
  }
363
- // RGB / 24-bit true color — append the feature only if absent, so repeated
364
- // calls (every connect/attach) never pile up duplicate entries.
281
+ const hash = (0, crypto_1.createHash)('sha256').update(conf).digest('hex');
282
+ if (hash === lastSourcedHash)
283
+ return;
284
+ const confPath = tmuxConfPath();
365
285
  try {
366
- const feats = (0, child_process_1.execFileSync)('tmux', ['show-options', '-g', 'terminal-features'], { timeout: 5000, stdio: 'pipe' }).toString();
367
- if (!/RGB/.test(feats)) {
368
- (0, child_process_1.execFileSync)('tmux', ['set-option', '-sa', 'terminal-features', '*:RGB'], { timeout: 5000, stdio: 'pipe' });
286
+ (0, config_1.ensureConfigDir)();
287
+ fs.writeFileSync(confPath, conf);
288
+ }
289
+ catch (err) {
290
+ console.error(`[dialout] could not write ${confPath}: ${err?.message}`);
291
+ return;
292
+ }
293
+ try {
294
+ // -q so a missing file is not an error. Verified on 3.6a: source-file does
295
+ // NOT abort on a bad line, it warns and continues — so one unsupported
296
+ // option cannot cost us the rest of the file.
297
+ (0, child_process_1.execFileSync)('tmux', ['source-file', '-q', confPath], { timeout: 5000, stdio: 'pipe' });
298
+ lastSourcedHash = hash;
299
+ }
300
+ catch (err) {
301
+ // No tmux server yet is the common, harmless case: the next session
302
+ // creation calls this again. Anything else is worth saying once, because a
303
+ // silently unsourced config leaves every session unconfigured.
304
+ const message = err?.stderr?.toString() || err?.message || '';
305
+ if (!/no server running|error connecting/i.test(message)) {
306
+ console.error(`[dialout] tmux source-file failed: ${message.trim()}`);
369
307
  }
370
308
  }
371
- catch { /* no server yet */ }
309
+ }
310
+ /** Test seam: forget which config text was last sourced. */
311
+ function resetTmuxConfCache() {
312
+ lastSourcedHash = '';
372
313
  }
373
314
  function tmuxSessionExists(name, deps = {}) {
374
315
  const list = deps.list ?? (() => (0, child_process_1.execFileSync)('tmux', ['list-sessions', '-F', '#{session_name}'], { timeout: 5000, stdio: 'pipe' }).toString());
@@ -379,25 +320,39 @@ function tmuxSessionExists(name, deps = {}) {
379
320
  return false;
380
321
  }
381
322
  }
382
- // Per-session appearance for browser-origin (dd-*) sessions.
323
+ // Per-session appearance and input mode for browser-origin (dd-*) sessions.
324
+ //
325
+ // Scoped with -t, never -g. These two settings are exactly where a browser tab
326
+ // and a native terminal disagree:
383
327
  //
384
- // Scoped with -t, never -g: these sessions render inside a browser tab that
385
- // already has DevDash's own chrome around it, so tmux's status bar is a
386
- // duplicate row of UI stealing a line of the viewport. Native sessions keep
387
- // their status bar — the user reads it in their terminal app, where it is the
388
- // only indicator there is. That split is the whole reason this is per-session.
328
+ // status — a browser tab already has DevDash's chrome around it, so tmux's
329
+ // status bar is a duplicate row of UI stealing a line of the viewport. A
330
+ // native terminal has no other indicator, so it keeps its bar.
331
+ //
332
+ // mouse — mouse reporting is what stops a terminal emulator doing its own
333
+ // drag-select, which is why the shared config turns it off. A browser tab has
334
+ // no native selection of a remote pane to preserve, and turning it off there
335
+ // would cost the wheel-scroll through history for nothing. Verified on tmux
336
+ // 3.6a that `mouse` is a session option: with `-g mouse on` and
337
+ // `set-option -t <s> mouse off`, two live sessions resolved to `on` and `off`
338
+ // simultaneously. That is the whole mechanism behind the split.
389
339
  function applyBrowserSessionOptions(name) {
390
- try {
391
- (0, child_process_1.execFileSync)('tmux', ['set-option', '-t', name, 'status', 'off'], { timeout: 5000, stdio: 'pipe' });
340
+ for (const args of [
341
+ ['set-option', '-t', name, 'status', 'off'],
342
+ ['set-option', '-t', name, 'mouse', 'on'],
343
+ ]) {
344
+ try {
345
+ (0, child_process_1.execFileSync)('tmux', args, { timeout: 5000, stdio: 'pipe' });
346
+ }
347
+ catch { /* session gone or option unsupported — cosmetic, never fatal */ }
392
348
  }
393
- catch { /* session gone or option unsupported — cosmetic, never fatal */ }
394
349
  }
395
350
  function openAttach(id, tmuxName, readOnly, cols = 80, rows = 24) {
396
351
  if (!pty)
397
352
  return false;
398
353
  if (sessions.has(id))
399
354
  return true; // idempotent reattach
400
- applyNativeTmuxOptions();
355
+ applyNativeTmuxOptions((0, config_1.resolveTmuxPrefs)((0, config_1.loadConfig)()));
401
356
  const args = ['attach-session', '-t', tmuxName];
402
357
  if (readOnly)
403
358
  args.push('-r', '-f', 'ignore-size'); // Peek: don't drive window size (tmux ≥3.2)
@@ -1 +1 @@
1
- {"version":3,"file":"pty-manager.js","sourceRoot":"","sources":["../src/pty-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pty-manager.js","sourceRoot":"","sources":["../src/pty-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ export interface TmuxStatusPrefs {
2
+ enabled: boolean;
3
+ position: 'top' | 'bottom';
4
+ bg: string;
5
+ fg: string;
6
+ left: string;
7
+ right: string;
8
+ }
9
+ export interface TmuxPrefs {
10
+ /**
11
+ * 'native-select' turns mouse reporting OFF, so the terminal emulator keeps
12
+ * its own drag-select, Cmd+C and Cmd+V. The cost is that the wheel no longer
13
+ * scrolls tmux history (prefix + [ does). 'tmux' is the pre-2026-09 behaviour.
14
+ *
15
+ * Browser sessions override this back to `on` per session — see
16
+ * applyBrowserSessionOptions — because a browser tab has no native selection
17
+ * of a remote pane to fall back on.
18
+ */
19
+ mouse: 'native-select' | 'tmux';
20
+ /** How the cowork rc block execs tmux. 'auto' resolves to 'normal' for now. */
21
+ attachMode: 'auto' | 'control' | 'normal';
22
+ historyLimit: number;
23
+ status: TmuxStatusPrefs;
24
+ }
25
+ export declare const STATUS_TOKENS: string[];
26
+ export declare function compileStatusTemplate(template: string): string;
27
+ export declare const DEFAULT_TMUX_PREFS: TmuxPrefs;
28
+ export declare function renderTmuxConf(prefs: TmuxPrefs): string;
29
+ //# sourceMappingURL=tmux-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tmux-config.d.ts","sourceRoot":"","sources":["../src/tmux-config.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,KAAK,GAAG,QAAQ,CAAC;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,SAAS;IACxB;;;;;;;;OAQG;IACH,KAAK,EAAE,eAAe,GAAG,MAAM,CAAC;IAChC,+EAA+E;IAC/E,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;IAC1C,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,eAAe,CAAC;CACzB;AAsBD,eAAO,MAAM,aAAa,UAA6B,CAAC;AAExD,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAa9D;AAED,eAAO,MAAM,kBAAkB,EAAE,SAchC,CAAC;AAqDF,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CA4DvD"}