dmux 5.6.2 → 5.7.0

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 (257) hide show
  1. package/README.ja.md +93 -0
  2. package/README.md +7 -1
  3. package/dist/DmuxApp.d.ts.map +1 -1
  4. package/dist/DmuxApp.js +279 -40
  5. package/dist/DmuxApp.js.map +1 -1
  6. package/dist/actions/implementations/closeAction.d.ts.map +1 -1
  7. package/dist/actions/implementations/closeAction.js +93 -75
  8. package/dist/actions/implementations/closeAction.js.map +1 -1
  9. package/dist/actions/implementations/createPullRequestAction.d.ts +4 -0
  10. package/dist/actions/implementations/createPullRequestAction.d.ts.map +1 -0
  11. package/dist/actions/implementations/createPullRequestAction.js +218 -0
  12. package/dist/actions/implementations/createPullRequestAction.js.map +1 -0
  13. package/dist/actions/implementations/duplicateAction.d.ts.map +1 -1
  14. package/dist/actions/implementations/duplicateAction.js +3 -1
  15. package/dist/actions/implementations/duplicateAction.js.map +1 -1
  16. package/dist/actions/implementations/index.d.ts +1 -0
  17. package/dist/actions/implementations/index.d.ts.map +1 -1
  18. package/dist/actions/implementations/index.js +1 -0
  19. package/dist/actions/implementations/index.js.map +1 -1
  20. package/dist/actions/implementations/mergeAction.d.ts.map +1 -1
  21. package/dist/actions/implementations/mergeAction.js +17 -9
  22. package/dist/actions/implementations/mergeAction.js.map +1 -1
  23. package/dist/actions/implementations/renameAction.d.ts +0 -9
  24. package/dist/actions/implementations/renameAction.d.ts.map +1 -1
  25. package/dist/actions/implementations/renameAction.js +77 -13
  26. package/dist/actions/implementations/renameAction.js.map +1 -1
  27. package/dist/actions/implementations/toggleAutopilotAction.d.ts.map +1 -1
  28. package/dist/actions/implementations/toggleAutopilotAction.js +3 -1
  29. package/dist/actions/implementations/toggleAutopilotAction.js.map +1 -1
  30. package/dist/actions/implementations/viewAction.d.ts.map +1 -1
  31. package/dist/actions/implementations/viewAction.js +4 -2
  32. package/dist/actions/implementations/viewAction.js.map +1 -1
  33. package/dist/actions/index.d.ts.map +1 -1
  34. package/dist/actions/index.js +2 -0
  35. package/dist/actions/index.js.map +1 -1
  36. package/dist/actions/merge/issueHandlers/mergeConflictHandler.d.ts.map +1 -1
  37. package/dist/actions/merge/issueHandlers/mergeConflictHandler.js +3 -1
  38. package/dist/actions/merge/issueHandlers/mergeConflictHandler.js.map +1 -1
  39. package/dist/actions/paneActions.d.ts +1 -1
  40. package/dist/actions/paneActions.d.ts.map +1 -1
  41. package/dist/actions/paneActions.js +1 -1
  42. package/dist/actions/paneActions.js.map +1 -1
  43. package/dist/actions/types.d.ts +11 -2
  44. package/dist/actions/types.d.ts.map +1 -1
  45. package/dist/actions/types.js +9 -0
  46. package/dist/actions/types.js.map +1 -1
  47. package/dist/components/inputs/CleanTextInput.d.ts +1 -0
  48. package/dist/components/inputs/CleanTextInput.d.ts.map +1 -1
  49. package/dist/components/inputs/CleanTextInput.js +40 -42
  50. package/dist/components/inputs/CleanTextInput.js.map +1 -1
  51. package/dist/components/panes/PaneCard.d.ts +3 -1
  52. package/dist/components/panes/PaneCard.d.ts.map +1 -1
  53. package/dist/components/panes/PaneCard.js +18 -5
  54. package/dist/components/panes/PaneCard.js.map +1 -1
  55. package/dist/components/panes/PanesGrid.d.ts +4 -1
  56. package/dist/components/panes/PanesGrid.d.ts.map +1 -1
  57. package/dist/components/panes/PanesGrid.js +27 -15
  58. package/dist/components/panes/PanesGrid.js.map +1 -1
  59. package/dist/components/popups/config.d.ts +4 -4
  60. package/dist/components/popups/config.js +6 -6
  61. package/dist/components/popups/config.js.map +1 -1
  62. package/dist/components/popups/inputPopup.js +3 -3
  63. package/dist/components/popups/inputPopup.js.map +1 -1
  64. package/dist/components/popups/logsPopup.js +2 -1
  65. package/dist/components/popups/logsPopup.js.map +1 -1
  66. package/dist/components/popups/prReviewPopup.d.ts +12 -0
  67. package/dist/components/popups/prReviewPopup.d.ts.map +1 -0
  68. package/dist/components/popups/prReviewPopup.js +278 -0
  69. package/dist/components/popups/prReviewPopup.js.map +1 -0
  70. package/dist/components/popups/reopenWorktreePopup.js +1 -1
  71. package/dist/components/popups/reopenWorktreePopup.js.map +1 -1
  72. package/dist/components/popups/settingsPopup.js +72 -6
  73. package/dist/components/popups/settingsPopup.js.map +1 -1
  74. package/dist/components/ui/FooterHelp.d.ts.map +1 -1
  75. package/dist/components/ui/FooterHelp.js +5 -4
  76. package/dist/components/ui/FooterHelp.js.map +1 -1
  77. package/dist/hooks/useActionSystem.d.ts +12 -2
  78. package/dist/hooks/useActionSystem.d.ts.map +1 -1
  79. package/dist/hooks/useActionSystem.js +19 -1
  80. package/dist/hooks/useActionSystem.js.map +1 -1
  81. package/dist/hooks/useInputHandling.d.ts +2 -1
  82. package/dist/hooks/useInputHandling.d.ts.map +1 -1
  83. package/dist/hooks/useInputHandling.js +100 -31
  84. package/dist/hooks/useInputHandling.js.map +1 -1
  85. package/dist/hooks/usePaneLoading.d.ts.map +1 -1
  86. package/dist/hooks/usePaneLoading.js +29 -4
  87. package/dist/hooks/usePaneLoading.js.map +1 -1
  88. package/dist/hooks/usePaneSync.d.ts +2 -2
  89. package/dist/hooks/usePaneSync.d.ts.map +1 -1
  90. package/dist/hooks/usePaneSync.js +10 -7
  91. package/dist/hooks/usePaneSync.js.map +1 -1
  92. package/dist/hooks/usePanes.d.ts.map +1 -1
  93. package/dist/hooks/usePanes.js +10 -2
  94. package/dist/hooks/usePanes.js.map +1 -1
  95. package/dist/hooks/useShellDetection.d.ts.map +1 -1
  96. package/dist/hooks/useShellDetection.js +7 -1
  97. package/dist/hooks/useShellDetection.js.map +1 -1
  98. package/dist/index.js +35 -8
  99. package/dist/index.js.map +1 -1
  100. package/dist/panes/decorative-pane.js +57 -27
  101. package/dist/panes/decorative-pane.js.map +1 -1
  102. package/dist/server/embedded-assets.js +1 -1
  103. package/dist/services/DmuxFocusService.d.ts.map +1 -1
  104. package/dist/services/DmuxFocusService.js +19 -14
  105. package/dist/services/DmuxFocusService.js.map +1 -1
  106. package/dist/services/PaneAnalyzer.d.ts.map +1 -1
  107. package/dist/services/PaneAnalyzer.js +2 -1
  108. package/dist/services/PaneAnalyzer.js.map +1 -1
  109. package/dist/services/PaneEventService.d.ts +11 -0
  110. package/dist/services/PaneEventService.d.ts.map +1 -1
  111. package/dist/services/PaneEventService.js +31 -3
  112. package/dist/services/PaneEventService.js.map +1 -1
  113. package/dist/services/PaneWorkerManager.d.ts.map +1 -1
  114. package/dist/services/PaneWorkerManager.js +1 -0
  115. package/dist/services/PaneWorkerManager.js.map +1 -1
  116. package/dist/services/PopupManager.d.ts +17 -5
  117. package/dist/services/PopupManager.d.ts.map +1 -1
  118. package/dist/services/PopupManager.js +143 -32
  119. package/dist/services/PopupManager.js.map +1 -1
  120. package/dist/services/StatusDetector.d.ts +1 -0
  121. package/dist/services/StatusDetector.d.ts.map +1 -1
  122. package/dist/services/StatusDetector.js +47 -2
  123. package/dist/services/StatusDetector.js.map +1 -1
  124. package/dist/services/TmuxHookManager.d.ts.map +1 -1
  125. package/dist/services/TmuxHookManager.js +3 -2
  126. package/dist/services/TmuxHookManager.js.map +1 -1
  127. package/dist/services/TmuxService.d.ts +11 -0
  128. package/dist/services/TmuxService.d.ts.map +1 -1
  129. package/dist/services/TmuxService.js +27 -1
  130. package/dist/services/TmuxService.js.map +1 -1
  131. package/dist/theme/colors.d.ts +24 -10
  132. package/dist/theme/colors.d.ts.map +1 -1
  133. package/dist/theme/colors.js +143 -19
  134. package/dist/theme/colors.js.map +1 -1
  135. package/dist/theme/themePalette.d.ts +6 -0
  136. package/dist/theme/themePalette.d.ts.map +1 -0
  137. package/dist/theme/themePalette.js +18 -0
  138. package/dist/theme/themePalette.js.map +1 -0
  139. package/dist/types.d.ts +9 -0
  140. package/dist/types.d.ts.map +1 -1
  141. package/dist/utils/agentLaunch.d.ts +2 -0
  142. package/dist/utils/agentLaunch.d.ts.map +1 -1
  143. package/dist/utils/agentLaunch.js +10 -9
  144. package/dist/utils/agentLaunch.js.map +1 -1
  145. package/dist/utils/aiMerge.d.ts +4 -0
  146. package/dist/utils/aiMerge.d.ts.map +1 -1
  147. package/dist/utils/aiMerge.js +7 -4
  148. package/dist/utils/aiMerge.js.map +1 -1
  149. package/dist/utils/asciiArt.d.ts.map +1 -1
  150. package/dist/utils/asciiArt.js +2 -1
  151. package/dist/utils/asciiArt.js.map +1 -1
  152. package/dist/utils/attachAgent.d.ts.map +1 -1
  153. package/dist/utils/attachAgent.js +20 -1
  154. package/dist/utils/attachAgent.js.map +1 -1
  155. package/dist/utils/codexHooks.d.ts +25 -0
  156. package/dist/utils/codexHooks.d.ts.map +1 -0
  157. package/dist/utils/codexHooks.js +131 -0
  158. package/dist/utils/codexHooks.js.map +1 -0
  159. package/dist/utils/conflictResolutionPane.d.ts.map +1 -1
  160. package/dist/utils/conflictResolutionPane.js +6 -2
  161. package/dist/utils/conflictResolutionPane.js.map +1 -1
  162. package/dist/utils/generated-agents-doc.d.ts +1 -1
  163. package/dist/utils/generated-agents-doc.js +1 -1
  164. package/dist/utils/githubPullRequest.d.ts +18 -0
  165. package/dist/utils/githubPullRequest.d.ts.map +1 -0
  166. package/dist/utils/githubPullRequest.js +196 -0
  167. package/dist/utils/githubPullRequest.js.map +1 -0
  168. package/dist/utils/input.d.ts +7 -6
  169. package/dist/utils/input.d.ts.map +1 -1
  170. package/dist/utils/input.js +47 -24
  171. package/dist/utils/input.js.map +1 -1
  172. package/dist/utils/mergeTargets.d.ts +1 -1
  173. package/dist/utils/mergeTargets.d.ts.map +1 -1
  174. package/dist/utils/mergeTargets.js +12 -8
  175. package/dist/utils/mergeTargets.js.map +1 -1
  176. package/dist/utils/mergeValidation.d.ts.map +1 -1
  177. package/dist/utils/mergeValidation.js +45 -11
  178. package/dist/utils/mergeValidation.js.map +1 -1
  179. package/dist/utils/paneColors.d.ts +7 -0
  180. package/dist/utils/paneColors.d.ts.map +1 -0
  181. package/dist/utils/paneColors.js +42 -0
  182. package/dist/utils/paneColors.js.map +1 -0
  183. package/dist/utils/paneCreation.d.ts.map +1 -1
  184. package/dist/utils/paneCreation.js +110 -36
  185. package/dist/utils/paneCreation.js.map +1 -1
  186. package/dist/utils/paneRebinding.d.ts +1 -1
  187. package/dist/utils/paneRebinding.js +1 -1
  188. package/dist/utils/paneTitle.d.ts +8 -1
  189. package/dist/utils/paneTitle.d.ts.map +1 -1
  190. package/dist/utils/paneTitle.js +58 -10
  191. package/dist/utils/paneTitle.js.map +1 -1
  192. package/dist/utils/paneTitlePrefix.d.ts +8 -0
  193. package/dist/utils/paneTitlePrefix.d.ts.map +1 -0
  194. package/dist/utils/paneTitlePrefix.js +20 -0
  195. package/dist/utils/paneTitlePrefix.js.map +1 -0
  196. package/dist/utils/popup.d.ts +1 -0
  197. package/dist/utils/popup.d.ts.map +1 -1
  198. package/dist/utils/popup.js +9 -2
  199. package/dist/utils/popup.js.map +1 -1
  200. package/dist/utils/prSummary.d.ts +34 -0
  201. package/dist/utils/prSummary.d.ts.map +1 -0
  202. package/dist/utils/prSummary.js +130 -0
  203. package/dist/utils/prSummary.js.map +1 -0
  204. package/dist/utils/projectActions.d.ts +6 -0
  205. package/dist/utils/projectActions.d.ts.map +1 -1
  206. package/dist/utils/projectActions.js +46 -0
  207. package/dist/utils/projectActions.js.map +1 -1
  208. package/dist/utils/reopenWorktree.d.ts.map +1 -1
  209. package/dist/utils/reopenWorktree.js +40 -7
  210. package/dist/utils/reopenWorktree.js.map +1 -1
  211. package/dist/utils/resumeBranches.d.ts.map +1 -1
  212. package/dist/utils/resumeBranches.js +9 -3
  213. package/dist/utils/resumeBranches.js.map +1 -1
  214. package/dist/utils/settingsManager.d.ts +11 -3
  215. package/dist/utils/settingsManager.d.ts.map +1 -1
  216. package/dist/utils/settingsManager.js +96 -21
  217. package/dist/utils/settingsManager.js.map +1 -1
  218. package/dist/utils/sidebarProjects.d.ts +10 -3
  219. package/dist/utils/sidebarProjects.d.ts.map +1 -1
  220. package/dist/utils/sidebarProjects.js +125 -10
  221. package/dist/utils/sidebarProjects.js.map +1 -1
  222. package/dist/utils/tmux.d.ts +4 -0
  223. package/dist/utils/tmux.d.ts.map +1 -1
  224. package/dist/utils/tmux.js +8 -0
  225. package/dist/utils/tmux.js.map +1 -1
  226. package/dist/utils/tmuxHookCommands.d.ts +6 -0
  227. package/dist/utils/tmuxHookCommands.d.ts.map +1 -1
  228. package/dist/utils/tmuxHookCommands.js +12 -0
  229. package/dist/utils/tmuxHookCommands.js.map +1 -1
  230. package/dist/utils/tmuxSendKeys.d.ts +2 -0
  231. package/dist/utils/tmuxSendKeys.d.ts.map +1 -0
  232. package/dist/utils/tmuxSendKeys.js +8 -0
  233. package/dist/utils/tmuxSendKeys.js.map +1 -0
  234. package/dist/utils/toastLayout.d.ts +10 -0
  235. package/dist/utils/toastLayout.d.ts.map +1 -0
  236. package/dist/utils/toastLayout.js +24 -0
  237. package/dist/utils/toastLayout.js.map +1 -0
  238. package/dist/utils/welcomePane.d.ts +5 -1
  239. package/dist/utils/welcomePane.d.ts.map +1 -1
  240. package/dist/utils/welcomePane.js +33 -3
  241. package/dist/utils/welcomePane.js.map +1 -1
  242. package/dist/utils/welcomePaneManager.d.ts +3 -1
  243. package/dist/utils/welcomePaneManager.d.ts.map +1 -1
  244. package/dist/utils/welcomePaneManager.js +40 -2
  245. package/dist/utils/welcomePaneManager.js.map +1 -1
  246. package/dist/utils/worktreeMetadata.d.ts +1 -0
  247. package/dist/utils/worktreeMetadata.d.ts.map +1 -1
  248. package/dist/utils/worktreeMetadata.js +17 -1
  249. package/dist/utils/worktreeMetadata.js.map +1 -1
  250. package/dist/workers/PaneWorker.js +77 -0
  251. package/dist/workers/PaneWorker.js.map +1 -1
  252. package/dist/workers/WorkerMessages.d.ts +9 -1
  253. package/dist/workers/WorkerMessages.d.ts.map +1 -1
  254. package/dist/workers/WorkerMessages.js.map +1 -1
  255. package/dist/workers/panePollingWorker.js +33 -2
  256. package/dist/workers/panePollingWorker.js.map +1 -1
  257. package/package.json +1 -1
@@ -1,7 +1,11 @@
1
1
  import { renderAsciiArt } from './asciiArt.js';
2
+ import { readFileSync } from 'fs';
2
3
  import { LogService } from '../services/LogService.js';
3
4
  import { TmuxService } from '../services/TmuxService.js';
4
5
  import { SIDEBAR_WIDTH } from './layoutManager.js';
6
+ import { applyDmuxTheme, syncDmuxThemeFromSettings, TMUX_COLORS, } from '../theme/colors.js';
7
+ import { execSync } from 'child_process';
8
+ export const WELCOME_PANE_THEME_OPTION = '@dmux_welcome_theme';
5
9
  /**
6
10
  * Creates a welcome pane in the tmux session
7
11
  * This pane displays ASCII art and has no command prompt
@@ -10,7 +14,7 @@ import { SIDEBAR_WIDTH } from './layoutManager.js';
10
14
  * @param cwd - Optional working directory for the welcome pane shell process
11
15
  * @returns The pane ID of the created welcome pane, or undefined if creation failed
12
16
  */
13
- export async function createWelcomePane(controlPaneId, cwd) {
17
+ export async function createWelcomePane(controlPaneId, cwd, themeName) {
14
18
  const logService = LogService.getInstance();
15
19
  const tmuxService = TmuxService.getInstance();
16
20
  try {
@@ -31,6 +35,8 @@ export async function createWelcomePane(controlPaneId, cwd) {
31
35
  // Wait for the shell to initialize in the new pane
32
36
  await new Promise(resolve => setTimeout(resolve, 300));
33
37
  // Render the ASCII art in the pane
38
+ const resolvedThemeName = applyThemeForSession(cwd, themeName);
39
+ setWelcomePaneTheme(welcomePaneId, resolvedThemeName);
34
40
  await renderAsciiArt({
35
41
  paneId: welcomePaneId,
36
42
  art: [], // Uses default from decorative-pane.js
@@ -42,7 +48,6 @@ export async function createWelcomePane(controlPaneId, cwd) {
42
48
  try {
43
49
  const dimensions = await tmuxService.getTerminalDimensions();
44
50
  // Apply main-vertical layout FIRST (this locks sidebar width)
45
- const { execSync } = await import('child_process');
46
51
  execSync(`tmux set-window-option main-pane-width ${SIDEBAR_WIDTH}`, { stdio: 'pipe' });
47
52
  execSync(`tmux select-layout main-vertical`, { stdio: 'pipe' });
48
53
  // Refresh to apply layout changes
@@ -53,7 +58,6 @@ export async function createWelcomePane(controlPaneId, cwd) {
53
58
  }
54
59
  // Switch focus back to the control pane (dmux sidebar)
55
60
  try {
56
- const { execSync } = await import('child_process');
57
61
  execSync(`tmux select-pane -t '${controlPaneId}'`, { stdio: 'pipe' });
58
62
  }
59
63
  catch {
@@ -103,4 +107,30 @@ export async function welcomePaneExists(welcomePaneId) {
103
107
  const tmuxService = TmuxService.getInstance();
104
108
  return await tmuxService.paneExists(welcomePaneId);
105
109
  }
110
+ function applyThemeForSession(projectRoot, themeName) {
111
+ if (themeName) {
112
+ return applyDmuxTheme(themeName);
113
+ }
114
+ return syncDmuxThemeFromSettings(projectRoot);
115
+ }
116
+ function setWelcomePaneTheme(paneId, themeName) {
117
+ TmuxService.getInstance().setPaneOptionSync(paneId, WELCOME_PANE_THEME_OPTION, themeName);
118
+ }
119
+ export function applyTmuxThemeToSession(sessionName, projectRoot, themeName) {
120
+ applyThemeForSession(projectRoot, themeName);
121
+ execSync(`tmux set-option -t ${sessionName} pane-border-style "fg=colour${TMUX_COLORS.inactiveBorder}"`, { stdio: 'pipe' });
122
+ }
123
+ export async function refreshWelcomePaneTheme(panesFile, projectRoot, themeName) {
124
+ try {
125
+ const config = JSON.parse(readFileSync(panesFile, 'utf8'));
126
+ if (!config.welcomePaneId) {
127
+ return;
128
+ }
129
+ const resolvedThemeName = applyThemeForSession(projectRoot, themeName);
130
+ setWelcomePaneTheme(config.welcomePaneId, resolvedThemeName);
131
+ }
132
+ catch {
133
+ // Best-effort refresh only.
134
+ }
135
+ }
106
136
  //# sourceMappingURL=welcomePane.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"welcomePane.js","sourceRoot":"","sources":["../../src/utils/welcomePane.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"welcomePane.js","sourceRoot":"","sources":["../../src/utils/welcomePane.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { DmuxThemeName } from '../types.js';
1
2
  /**
2
3
  * Destroy the welcome pane if it exists
3
4
  * This should be called when creating the first content pane
@@ -16,7 +17,8 @@ export declare function destroyWelcomePaneCoordinated(projectRoot: string): bool
16
17
  * @param controlPaneId - The control pane ID
17
18
  * @returns true if created successfully, false if locked or failed
18
19
  */
19
- export declare function createWelcomePaneCoordinated(projectRoot: string, controlPaneId: string): Promise<boolean>;
20
+ export declare function createWelcomePaneCoordinated(projectRoot: string, controlPaneId: string, themeName?: DmuxThemeName): Promise<boolean>;
21
+ export declare function syncWelcomePaneVisibility(projectRoot: string, controlPaneId: string | undefined, shouldShowWelcome: boolean, themeName?: DmuxThemeName): Promise<boolean>;
20
22
  /**
21
23
  * LEGACY: Ensures a welcome pane exists when there are no dmux panes
22
24
  *
@@ -1 +1 @@
1
- {"version":3,"file":"welcomePaneManager.d.ts","sourceRoot":"","sources":["../../src/utils/welcomePaneManager.ts"],"names":[],"mappings":"AAyCA;;;;;;;GAOG;AACH,wBAAgB,6BAA6B,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAkC1E;AAED;;;;;;;;GAQG;AACH,wBAAsB,4BAA4B,CAChD,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,OAAO,CAAC,CA2ClB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,iBAAiB,CACrC,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAaf"}
1
+ {"version":3,"file":"welcomePaneManager.d.ts","sourceRoot":"","sources":["../../src/utils/welcomePaneManager.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAc,aAAa,EAAE,MAAM,aAAa,CAAC;AAuC7D;;;;;;;GAOG;AACH,wBAAgB,6BAA6B,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAkC1E;AAED;;;;;;;;GAQG;AACH,wBAAsB,4BAA4B,CAChD,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EACrB,SAAS,CAAC,EAAE,aAAa,GACxB,OAAO,CAAC,OAAO,CAAC,CA2ClB;AAED,wBAAsB,yBAAyB,CAC7C,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,iBAAiB,EAAE,OAAO,EAC1B,SAAS,CAAC,EAAE,aAAa,GACxB,OAAO,CAAC,OAAO,CAAC,CAkDlB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,iBAAiB,CACrC,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAaf"}
@@ -77,7 +77,7 @@ export function destroyWelcomePaneCoordinated(projectRoot) {
77
77
  * @param controlPaneId - The control pane ID
78
78
  * @returns true if created successfully, false if locked or failed
79
79
  */
80
- export async function createWelcomePaneCoordinated(projectRoot, controlPaneId) {
80
+ export async function createWelcomePaneCoordinated(projectRoot, controlPaneId, themeName) {
81
81
  const logService = LogService.getInstance();
82
82
  // Try to acquire creation lock
83
83
  if (!tryAcquireCreationLock()) {
@@ -97,7 +97,7 @@ export async function createWelcomePaneCoordinated(projectRoot, controlPaneId) {
97
97
  return true; // Already exists, that's fine
98
98
  }
99
99
  // Create the welcome pane
100
- const welcomePaneId = await createWelcomePane(controlPaneId, projectRoot);
100
+ const welcomePaneId = await createWelcomePane(controlPaneId, projectRoot, themeName);
101
101
  if (welcomePaneId) {
102
102
  // Update config with new welcome pane ID (use atomic write)
103
103
  config.welcomePaneId = welcomePaneId;
@@ -117,6 +117,44 @@ export async function createWelcomePaneCoordinated(projectRoot, controlPaneId) {
117
117
  releaseCreationLock();
118
118
  }
119
119
  }
120
+ export async function syncWelcomePaneVisibility(projectRoot, controlPaneId, shouldShowWelcome, themeName) {
121
+ if (!controlPaneId) {
122
+ return false;
123
+ }
124
+ const logService = LogService.getInstance();
125
+ try {
126
+ const configPath = path.join(projectRoot, '.dmux', 'dmux.config.json');
127
+ if (!fs.existsSync(configPath)) {
128
+ return false;
129
+ }
130
+ const configContent = fs.readFileSync(configPath, 'utf-8');
131
+ const config = JSON.parse(configContent);
132
+ const hasTrackedWelcomePane = !!config.welcomePaneId;
133
+ const hasLiveWelcomePane = hasTrackedWelcomePane
134
+ ? await welcomePaneExists(config.welcomePaneId)
135
+ : false;
136
+ if (shouldShowWelcome) {
137
+ if (hasLiveWelcomePane) {
138
+ return true;
139
+ }
140
+ return await createWelcomePaneCoordinated(projectRoot, controlPaneId, themeName);
141
+ }
142
+ if (!hasTrackedWelcomePane) {
143
+ return true;
144
+ }
145
+ if (hasLiveWelcomePane && config.welcomePaneId) {
146
+ await destroyWelcomePane(config.welcomePaneId);
147
+ }
148
+ delete config.welcomePaneId;
149
+ config.lastUpdated = new Date().toISOString();
150
+ atomicWriteJsonSync(configPath, config);
151
+ return true;
152
+ }
153
+ catch (error) {
154
+ logService.error('Failed to sync welcome pane visibility', 'WelcomePaneManager', undefined, error instanceof Error ? error : undefined);
155
+ return false;
156
+ }
157
+ }
120
158
  /**
121
159
  * LEGACY: Ensures a welcome pane exists when there are no dmux panes
122
160
  *
@@ -1 +1 @@
1
- {"version":3,"file":"welcomePaneManager.js","sourceRoot":"","sources":["../../src/utils/welcomePaneManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"welcomePaneManager.js","sourceRoot":"","sources":["../../src/utils/welcomePaneManager.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { type AgentName, type PermissionMode } from './agentLaunch.js';
3
3
  export interface WorktreeMetadata {
4
4
  agent?: AgentName;
5
5
  permissionMode?: PermissionMode;
6
+ displayName?: string;
6
7
  branchName?: string;
7
8
  mergeTargetChain?: MergeTargetReference[];
8
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"worktreeMetadata.d.ts","sourceRoot":"","sources":["../../src/utils/worktreeMetadata.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAEL,KAAK,SAAS,EACd,KAAK,cAAc,EACpB,MAAM,kBAAkB,CAAC;AAG1B,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,oBAAoB,EAAE,CAAC;CAC3C;AA+CD,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAEpE;AAED,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CA+BlF;AAED,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,gBAAgB,GACzB,IAAI,CAIN"}
1
+ {"version":3,"file":"worktreeMetadata.d.ts","sourceRoot":"","sources":["../../src/utils/worktreeMetadata.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAEL,KAAK,SAAS,EACd,KAAK,cAAc,EACpB,MAAM,kBAAkB,CAAC;AAI1B,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,oBAAoB,EAAE,CAAC;CAC3C;AAmDD,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAEpE;AAED,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAsClF;AAED,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,gBAAgB,GACzB,IAAI,CASN"}
@@ -2,6 +2,7 @@ import fs from 'fs';
2
2
  import path from 'path';
3
3
  import { isAgentName, } from './agentLaunch.js';
4
4
  import { atomicWriteJsonSync } from './atomicWrite.js';
5
+ import { sanitizePaneDisplayName } from './paneTitle.js';
5
6
  const METADATA_DIR = '.dmux';
6
7
  const METADATA_FILE = 'worktree-metadata.json';
7
8
  const PERMISSION_MODES = new Set([
@@ -17,6 +18,9 @@ function isMergeTargetReference(value) {
17
18
  if (typeof candidate.branchName !== 'string' || candidate.branchName.length === 0) {
18
19
  return false;
19
20
  }
21
+ if (candidate.displayName !== undefined && typeof candidate.displayName !== 'string') {
22
+ return false;
23
+ }
20
24
  if (candidate.slug !== undefined && typeof candidate.slug !== 'string') {
21
25
  return false;
22
26
  }
@@ -32,6 +36,7 @@ function normalizeMergeTargetChain(mergeTargetChain) {
32
36
  const normalized = mergeTargetChain
33
37
  .filter(isMergeTargetReference)
34
38
  .map((entry) => ({
39
+ displayName: entry.displayName,
35
40
  branchName: entry.branchName,
36
41
  slug: entry.slug,
37
42
  worktreePath: entry.worktreePath,
@@ -53,6 +58,12 @@ export function readWorktreeMetadata(worktreePath) {
53
58
  && PERMISSION_MODES.has(parsed.permissionMode)) {
54
59
  metadata.permissionMode = parsed.permissionMode;
55
60
  }
61
+ if (typeof parsed.displayName === 'string') {
62
+ const displayName = sanitizePaneDisplayName(parsed.displayName);
63
+ if (displayName.length > 0) {
64
+ metadata.displayName = displayName;
65
+ }
66
+ }
56
67
  if (typeof parsed.branchName === 'string' && parsed.branchName.length > 0) {
57
68
  metadata.branchName = parsed.branchName;
58
69
  }
@@ -69,6 +80,11 @@ export function readWorktreeMetadata(worktreePath) {
69
80
  export function writeWorktreeMetadata(worktreePath, metadata) {
70
81
  const metadataPath = getWorktreeMetadataPath(worktreePath);
71
82
  fs.mkdirSync(path.dirname(metadataPath), { recursive: true });
72
- atomicWriteJsonSync(metadataPath, metadata);
83
+ atomicWriteJsonSync(metadataPath, {
84
+ ...metadata,
85
+ displayName: metadata.displayName
86
+ ? sanitizePaneDisplayName(metadata.displayName)
87
+ : undefined,
88
+ });
73
89
  }
74
90
  //# sourceMappingURL=worktreeMetadata.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"worktreeMetadata.js","sourceRoot":"","sources":["../../src/utils/worktreeMetadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worktreeMetadata.js","sourceRoot":"","sources":["../../src/utils/worktreeMetadata.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  import { parentPort, workerData } from 'worker_threads';
2
2
  import { randomUUID } from 'crypto';
3
+ import * as fs from 'fs';
4
+ import path from 'path';
3
5
  import { capturePaneContent } from '../utils/paneCapture.js';
4
6
  import { TmuxService } from '../services/TmuxService.js';
5
7
  import { buildPaneActivityFingerprint, hasAgentWorkingIndicators, isLikelyUserTyping, } from '../utils/paneAttentionHeuristics.js';
@@ -10,6 +12,7 @@ class PaneWorker {
10
12
  paneId;
11
13
  tmuxPaneId;
12
14
  agent;
15
+ worktreePath;
13
16
  captureHistory = [];
14
17
  pollInterval = null;
15
18
  pollIntervalMs;
@@ -23,12 +26,17 @@ class PaneWorker {
23
26
  lastAgentActivityAt = 0;
24
27
  awaitingAgentAfterUserInteraction = false;
25
28
  statusBeforeAnalyzing = 'idle';
29
+ codexEventFile;
30
+ lastCodexEventTimestamp = 0;
31
+ lastCodexEventTurnId = '';
26
32
  tmux = TmuxService.getInstance();
27
33
  constructor(config) {
28
34
  this.paneId = config.paneId;
29
35
  this.tmuxPaneId = config.tmuxPaneId;
30
36
  this.agent = config.agent;
37
+ this.worktreePath = config.worktreePath;
31
38
  this.pollIntervalMs = config.pollInterval || 1000;
39
+ this.codexEventFile = this.resolveCodexEventFile();
32
40
  this.setupMessageHandler();
33
41
  this.startPolling();
34
42
  this.emit('ready', {});
@@ -84,6 +92,9 @@ class PaneWorker {
84
92
  const output = capturePaneContent(this.tmuxPaneId, PaneWorker.CAPTURE_LINE_COUNT);
85
93
  const activityFingerprint = buildPaneActivityFingerprint(output);
86
94
  const now = Date.now();
95
+ if (this.maybeHandleCodexTurnStopped(output, activityFingerprint)) {
96
+ return;
97
+ }
87
98
  const lines = output.split('\n');
88
99
  const recentLines = lines.slice(-20).join('\n');
89
100
  const hasWorkingState = hasAgentWorkingIndicators(recentLines, this.agent);
@@ -208,6 +219,72 @@ class PaneWorker {
208
219
  this.updateStatus('analyzing');
209
220
  this.requestAnalysis(content, reason);
210
221
  }
222
+ resolveCodexEventFile() {
223
+ if (this.agent !== 'codex' || !this.worktreePath) {
224
+ return undefined;
225
+ }
226
+ return path.join(this.worktreePath, '.codex', 'dmux', `${this.paneId}.json`);
227
+ }
228
+ maybeHandleCodexTurnStopped(output, fingerprint) {
229
+ if (!this.codexEventFile) {
230
+ return false;
231
+ }
232
+ let raw;
233
+ try {
234
+ raw = fs.readFileSync(this.codexEventFile, 'utf-8');
235
+ }
236
+ catch {
237
+ return false;
238
+ }
239
+ let event;
240
+ try {
241
+ event = JSON.parse(raw);
242
+ }
243
+ catch {
244
+ return false;
245
+ }
246
+ const timestamp = Number(event.timestamp || 0);
247
+ const turnId = typeof event.turnId === 'string' ? event.turnId : '';
248
+ if (!timestamp || timestamp < this.lastCodexEventTimestamp) {
249
+ return false;
250
+ }
251
+ if (timestamp === this.lastCodexEventTimestamp && turnId === this.lastCodexEventTurnId) {
252
+ return false;
253
+ }
254
+ if (event.dmuxPaneId !== this.paneId) {
255
+ return false;
256
+ }
257
+ if (event.tmuxPaneId && event.tmuxPaneId !== this.tmuxPaneId) {
258
+ return false;
259
+ }
260
+ this.lastCodexEventTimestamp = timestamp;
261
+ this.lastCodexEventTurnId = turnId;
262
+ this.awaitingAgentAfterUserInteraction = false;
263
+ this.settledStateConfirmed = true;
264
+ this.lastStaticContent = output;
265
+ this.lastStaticFingerprint = fingerprint;
266
+ this.captureHistory = [{ raw: output, fingerprint }];
267
+ const previousStatus = this.currentStatus;
268
+ this.currentStatus = 'idle';
269
+ this.emit('status-change', {
270
+ status: 'idle',
271
+ previousStatus,
272
+ captureSnapshot: output,
273
+ });
274
+ const payload = {
275
+ captureSnapshot: output,
276
+ eventFile: this.codexEventFile,
277
+ source: typeof event.source === 'string' ? event.source : 'codex-hook',
278
+ };
279
+ if (turnId) {
280
+ payload.turnId = turnId;
281
+ }
282
+ if (typeof event.lastAssistantMessage === 'string' && event.lastAssistantMessage.trim()) {
283
+ payload.lastAssistantMessage = event.lastAssistantMessage;
284
+ }
285
+ this.emit('codex-turn-stopped', payload);
286
+ return true;
287
+ }
211
288
  handleAnalysisComplete(payload) {
212
289
  if (payload?.status) {
213
290
  this.updateStatus(payload.status);
@@ -1 +1 @@
1
- {"version":3,"file":"PaneWorker.js","sourceRoot":"","sources":["../../src/workers/PaneWorker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PaneWorker.js","sourceRoot":"","sources":["../../src/workers/PaneWorker.ts"],"names":[],"mappings":"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"}
@@ -9,13 +9,14 @@ export interface InboundMessage extends WorkerMessage {
9
9
  type: 'init' | 'capture' | 'send-keys' | 'analyze-complete' | 'shutdown' | 'resize' | 'get-status';
10
10
  }
11
11
  export interface OutboundMessage extends WorkerMessage {
12
- type: 'ready' | 'status-change' | 'capture-result' | 'analysis-needed' | 'error' | 'shutdown-complete' | 'pane-removed' | 'user-interaction';
12
+ type: 'ready' | 'status-change' | 'capture-result' | 'analysis-needed' | 'codex-turn-stopped' | 'error' | 'shutdown-complete' | 'pane-removed' | 'user-interaction';
13
13
  paneId: string;
14
14
  }
15
15
  export interface WorkerConfig {
16
16
  paneId: string;
17
17
  tmuxPaneId: string;
18
18
  agent?: AgentName;
19
+ worktreePath?: string;
19
20
  pollInterval?: number;
20
21
  }
21
22
  export interface StatusChangePayload {
@@ -27,6 +28,13 @@ export interface AnalysisNeededPayload {
27
28
  captureSnapshot: string;
28
29
  reason: 'new-static-content' | 'revalidation';
29
30
  }
31
+ export interface CodexTurnStoppedPayload {
32
+ captureSnapshot: string;
33
+ turnId?: string;
34
+ lastAssistantMessage?: string;
35
+ eventFile: string;
36
+ source: string;
37
+ }
30
38
  export interface UserInteractionPayload {
31
39
  captureSnapshot?: string;
32
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"WorkerMessages.d.ts","sourceRoot":"","sources":["../../src/workers/WorkerMessages.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEzD,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,GAAG,CAAC;CACf;AAGD,MAAM,WAAW,cAAe,SAAQ,aAAa;IACnD,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,kBAAkB,GAAG,UAAU,GAAG,QAAQ,GAAG,YAAY,CAAC;CACpG;AAGD,MAAM,WAAW,eAAgB,SAAQ,aAAa;IACpD,IAAI,EAAE,OAAO,GAAG,eAAe,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,OAAO,GAAG,mBAAmB,GAAG,cAAc,GAAG,kBAAkB,CAAC;IAC7I,MAAM,EAAE,MAAM,CAAC;CAChB;AAGD,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAGD,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,CAAC;IACrD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAGD,MAAM,WAAW,qBAAqB;IACpC,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,oBAAoB,GAAG,cAAc,CAAC;CAC/C;AAED,MAAM,WAAW,sBAAsB;IACrC,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAGD,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,OAAO,CAAC;CACtB;AAGD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,cAAc,CAEhE;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,eAAe,CAElE"}
1
+ {"version":3,"file":"WorkerMessages.d.ts","sourceRoot":"","sources":["../../src/workers/WorkerMessages.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEzD,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,GAAG,CAAC;CACf;AAGD,MAAM,WAAW,cAAe,SAAQ,aAAa;IACnD,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,kBAAkB,GAAG,UAAU,GAAG,QAAQ,GAAG,YAAY,CAAC;CACpG;AAGD,MAAM,WAAW,eAAgB,SAAQ,aAAa;IACpD,IAAI,EAAE,OAAO,GAAG,eAAe,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,oBAAoB,GAAG,OAAO,GAAG,mBAAmB,GAAG,cAAc,GAAG,kBAAkB,CAAC;IACpK,MAAM,EAAE,MAAM,CAAC;CAChB;AAGD,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAGD,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,CAAC;IACrD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAGD,MAAM,WAAW,qBAAqB;IACpC,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,oBAAoB,GAAG,cAAc,CAAC;CAC/C;AAED,MAAM,WAAW,uBAAuB;IACtC,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,sBAAsB;IACrC,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAGD,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,OAAO,CAAC;CACtB;AAGD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,cAAc,CAEhE;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,eAAe,CAElE"}
@@ -1 +1 @@
1
- {"version":3,"file":"WorkerMessages.js","sourceRoot":"","sources":["../../src/workers/WorkerMessages.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAsD5C,cAAc;AACd,MAAM,UAAU,gBAAgB,CAAC,GAAQ;IACvC,OAAO,GAAG,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,EAAE,KAAK,QAAQ,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,GAAQ;IACxC,OAAO,GAAG,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC;AAC/E,CAAC"}
1
+ {"version":3,"file":"WorkerMessages.js","sourceRoot":"","sources":["../../src/workers/WorkerMessages.ts"],"names":[],"mappings":"AAAA,4CAA4C;AA+D5C,cAAc;AACd,MAAM,UAAU,gBAAgB,CAAC,GAAQ;IACvC,OAAO,GAAG,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,EAAE,KAAK,QAAQ,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,GAAQ;IACxC,OAAO,GAAG,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC;AAC/E,CAAC"}
@@ -34,19 +34,34 @@ function getPaneIds() {
34
34
  return [];
35
35
  }
36
36
  }
37
+ function getActivePaneId() {
38
+ try {
39
+ const output = execSync('tmux list-panes -F "#{pane_id} #{pane_active}"', {
40
+ encoding: 'utf8',
41
+ stdio: 'pipe',
42
+ timeout: 2000,
43
+ });
44
+ const activeLine = output.trim().split('\n').find((line) => line.endsWith(' 1'));
45
+ return activeLine ? activeLine.split(' ')[0] : null;
46
+ }
47
+ catch {
48
+ return null;
49
+ }
50
+ }
37
51
  /**
38
52
  * Compare two snapshots and detect changes
39
53
  */
40
54
  function detectChanges(oldSnapshot, newSnapshot) {
41
55
  if (!oldSnapshot) {
42
- return { added: [], removed: [], changed: false };
56
+ return { added: [], removed: [], changed: false, focusChanged: false };
43
57
  }
44
58
  const oldSet = new Set(oldSnapshot.paneIds);
45
59
  const newSet = new Set(newSnapshot.paneIds);
46
60
  const added = newSnapshot.paneIds.filter(id => !oldSet.has(id));
47
61
  const removed = oldSnapshot.paneIds.filter(id => !newSet.has(id));
48
62
  const changed = added.length > 0 || removed.length > 0;
49
- return { added, removed, changed };
63
+ const focusChanged = oldSnapshot.activePaneId !== newSnapshot.activePaneId;
64
+ return { added, removed, changed, focusChanged };
50
65
  }
51
66
  /**
52
67
  * Main polling loop
@@ -55,8 +70,10 @@ async function poll() {
55
70
  while (isRunning) {
56
71
  try {
57
72
  const paneIds = getPaneIds();
73
+ const activePaneId = getActivePaneId();
58
74
  const newSnapshot = {
59
75
  paneIds,
76
+ activePaneId,
60
77
  timestamp: Date.now(),
61
78
  };
62
79
  const changes = detectChanges(lastSnapshot, newSnapshot);
@@ -70,6 +87,13 @@ async function poll() {
70
87
  timestamp: newSnapshot.timestamp,
71
88
  });
72
89
  }
90
+ if (changes.focusChanged) {
91
+ parentPort?.postMessage({
92
+ type: 'pane-focus-changed',
93
+ activePaneId,
94
+ timestamp: newSnapshot.timestamp,
95
+ });
96
+ }
73
97
  lastSnapshot = newSnapshot;
74
98
  }
75
99
  catch (error) {
@@ -101,6 +125,7 @@ parentPort?.on('message', (message) => {
101
125
  case 'force-poll':
102
126
  // Force an immediate poll
103
127
  const paneIds = getPaneIds();
128
+ const activePaneId = getActivePaneId();
104
129
  parentPort?.postMessage({
105
130
  type: 'panes-changed',
106
131
  added: [],
@@ -109,6 +134,12 @@ parentPort?.on('message', (message) => {
109
134
  timestamp: Date.now(),
110
135
  forced: true,
111
136
  });
137
+ parentPort?.postMessage({
138
+ type: 'pane-focus-changed',
139
+ activePaneId,
140
+ timestamp: Date.now(),
141
+ forced: true,
142
+ });
112
143
  break;
113
144
  }
114
145
  });
@@ -1 +1 @@
1
- {"version":3,"file":"panePollingWorker.js","sourceRoot":"","sources":["../../src/workers/panePollingWorker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"panePollingWorker.js","sourceRoot":"","sources":["../../src/workers/panePollingWorker.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dmux",
3
- "version": "5.6.2",
3
+ "version": "5.7.0",
4
4
  "description": "Tmux pane manager with AI agent integration for parallel development workflows",
5
5
  "type": "module",
6
6
  "author": "Justin Schroeder",