dmux 5.6.3 → 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 (216) 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 +273 -35
  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 +85 -70
  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/index.d.ts +1 -0
  14. package/dist/actions/implementations/index.d.ts.map +1 -1
  15. package/dist/actions/implementations/index.js +1 -0
  16. package/dist/actions/implementations/index.js.map +1 -1
  17. package/dist/actions/implementations/mergeAction.js +8 -3
  18. package/dist/actions/implementations/mergeAction.js.map +1 -1
  19. package/dist/actions/index.d.ts.map +1 -1
  20. package/dist/actions/index.js +2 -0
  21. package/dist/actions/index.js.map +1 -1
  22. package/dist/actions/paneActions.d.ts +1 -1
  23. package/dist/actions/paneActions.d.ts.map +1 -1
  24. package/dist/actions/paneActions.js +1 -1
  25. package/dist/actions/paneActions.js.map +1 -1
  26. package/dist/actions/types.d.ts +11 -2
  27. package/dist/actions/types.d.ts.map +1 -1
  28. package/dist/actions/types.js +9 -0
  29. package/dist/actions/types.js.map +1 -1
  30. package/dist/components/inputs/CleanTextInput.d.ts +1 -0
  31. package/dist/components/inputs/CleanTextInput.d.ts.map +1 -1
  32. package/dist/components/inputs/CleanTextInput.js +40 -42
  33. package/dist/components/inputs/CleanTextInput.js.map +1 -1
  34. package/dist/components/panes/PaneCard.d.ts +3 -1
  35. package/dist/components/panes/PaneCard.d.ts.map +1 -1
  36. package/dist/components/panes/PaneCard.js +14 -4
  37. package/dist/components/panes/PaneCard.js.map +1 -1
  38. package/dist/components/panes/PanesGrid.d.ts +4 -1
  39. package/dist/components/panes/PanesGrid.d.ts.map +1 -1
  40. package/dist/components/panes/PanesGrid.js +27 -15
  41. package/dist/components/panes/PanesGrid.js.map +1 -1
  42. package/dist/components/popups/config.d.ts +4 -4
  43. package/dist/components/popups/config.js +6 -6
  44. package/dist/components/popups/config.js.map +1 -1
  45. package/dist/components/popups/inputPopup.js +3 -3
  46. package/dist/components/popups/inputPopup.js.map +1 -1
  47. package/dist/components/popups/prReviewPopup.d.ts +12 -0
  48. package/dist/components/popups/prReviewPopup.d.ts.map +1 -0
  49. package/dist/components/popups/prReviewPopup.js +278 -0
  50. package/dist/components/popups/prReviewPopup.js.map +1 -0
  51. package/dist/components/popups/reopenWorktreePopup.js +1 -1
  52. package/dist/components/popups/reopenWorktreePopup.js.map +1 -1
  53. package/dist/components/popups/settingsPopup.js +72 -6
  54. package/dist/components/popups/settingsPopup.js.map +1 -1
  55. package/dist/components/ui/FooterHelp.d.ts.map +1 -1
  56. package/dist/components/ui/FooterHelp.js +5 -4
  57. package/dist/components/ui/FooterHelp.js.map +1 -1
  58. package/dist/hooks/useActionSystem.d.ts +12 -2
  59. package/dist/hooks/useActionSystem.d.ts.map +1 -1
  60. package/dist/hooks/useActionSystem.js +19 -1
  61. package/dist/hooks/useActionSystem.js.map +1 -1
  62. package/dist/hooks/useInputHandling.d.ts +2 -1
  63. package/dist/hooks/useInputHandling.d.ts.map +1 -1
  64. package/dist/hooks/useInputHandling.js +84 -18
  65. package/dist/hooks/useInputHandling.js.map +1 -1
  66. package/dist/hooks/usePaneLoading.d.ts.map +1 -1
  67. package/dist/hooks/usePaneLoading.js +28 -3
  68. package/dist/hooks/usePaneLoading.js.map +1 -1
  69. package/dist/hooks/usePaneSync.d.ts.map +1 -1
  70. package/dist/hooks/usePaneSync.js +8 -5
  71. package/dist/hooks/usePaneSync.js.map +1 -1
  72. package/dist/hooks/usePanes.d.ts.map +1 -1
  73. package/dist/hooks/usePanes.js +8 -1
  74. package/dist/hooks/usePanes.js.map +1 -1
  75. package/dist/hooks/useShellDetection.d.ts.map +1 -1
  76. package/dist/hooks/useShellDetection.js +7 -1
  77. package/dist/hooks/useShellDetection.js.map +1 -1
  78. package/dist/index.js +35 -9
  79. package/dist/index.js.map +1 -1
  80. package/dist/panes/decorative-pane.js +57 -27
  81. package/dist/panes/decorative-pane.js.map +1 -1
  82. package/dist/services/DmuxFocusService.d.ts.map +1 -1
  83. package/dist/services/DmuxFocusService.js +19 -14
  84. package/dist/services/DmuxFocusService.js.map +1 -1
  85. package/dist/services/PaneEventService.d.ts +11 -0
  86. package/dist/services/PaneEventService.d.ts.map +1 -1
  87. package/dist/services/PaneEventService.js +31 -3
  88. package/dist/services/PaneEventService.js.map +1 -1
  89. package/dist/services/PaneWorkerManager.d.ts.map +1 -1
  90. package/dist/services/PaneWorkerManager.js +1 -0
  91. package/dist/services/PaneWorkerManager.js.map +1 -1
  92. package/dist/services/PopupManager.d.ts +17 -5
  93. package/dist/services/PopupManager.d.ts.map +1 -1
  94. package/dist/services/PopupManager.js +140 -30
  95. package/dist/services/PopupManager.js.map +1 -1
  96. package/dist/services/StatusDetector.d.ts +1 -0
  97. package/dist/services/StatusDetector.d.ts.map +1 -1
  98. package/dist/services/StatusDetector.js +44 -0
  99. package/dist/services/StatusDetector.js.map +1 -1
  100. package/dist/services/TmuxHookManager.d.ts.map +1 -1
  101. package/dist/services/TmuxHookManager.js +3 -2
  102. package/dist/services/TmuxHookManager.js.map +1 -1
  103. package/dist/services/TmuxService.d.ts +7 -0
  104. package/dist/services/TmuxService.d.ts.map +1 -1
  105. package/dist/services/TmuxService.js +15 -1
  106. package/dist/services/TmuxService.js.map +1 -1
  107. package/dist/theme/colors.d.ts +24 -10
  108. package/dist/theme/colors.d.ts.map +1 -1
  109. package/dist/theme/colors.js +143 -19
  110. package/dist/theme/colors.js.map +1 -1
  111. package/dist/theme/themePalette.d.ts +6 -0
  112. package/dist/theme/themePalette.d.ts.map +1 -0
  113. package/dist/theme/themePalette.js +18 -0
  114. package/dist/theme/themePalette.js.map +1 -0
  115. package/dist/types.d.ts +7 -0
  116. package/dist/types.d.ts.map +1 -1
  117. package/dist/utils/agentLaunch.d.ts +2 -0
  118. package/dist/utils/agentLaunch.d.ts.map +1 -1
  119. package/dist/utils/agentLaunch.js +10 -9
  120. package/dist/utils/agentLaunch.js.map +1 -1
  121. package/dist/utils/aiMerge.d.ts +4 -0
  122. package/dist/utils/aiMerge.d.ts.map +1 -1
  123. package/dist/utils/aiMerge.js +7 -4
  124. package/dist/utils/aiMerge.js.map +1 -1
  125. package/dist/utils/asciiArt.d.ts.map +1 -1
  126. package/dist/utils/asciiArt.js +2 -1
  127. package/dist/utils/asciiArt.js.map +1 -1
  128. package/dist/utils/attachAgent.d.ts.map +1 -1
  129. package/dist/utils/attachAgent.js +20 -1
  130. package/dist/utils/attachAgent.js.map +1 -1
  131. package/dist/utils/codexHooks.d.ts +25 -0
  132. package/dist/utils/codexHooks.d.ts.map +1 -0
  133. package/dist/utils/codexHooks.js +131 -0
  134. package/dist/utils/codexHooks.js.map +1 -0
  135. package/dist/utils/conflictResolutionPane.d.ts.map +1 -1
  136. package/dist/utils/conflictResolutionPane.js +4 -0
  137. package/dist/utils/conflictResolutionPane.js.map +1 -1
  138. package/dist/utils/generated-agents-doc.d.ts +1 -1
  139. package/dist/utils/generated-agents-doc.js +1 -1
  140. package/dist/utils/githubPullRequest.d.ts +18 -0
  141. package/dist/utils/githubPullRequest.d.ts.map +1 -0
  142. package/dist/utils/githubPullRequest.js +196 -0
  143. package/dist/utils/githubPullRequest.js.map +1 -0
  144. package/dist/utils/input.d.ts +7 -6
  145. package/dist/utils/input.d.ts.map +1 -1
  146. package/dist/utils/input.js +47 -24
  147. package/dist/utils/input.js.map +1 -1
  148. package/dist/utils/paneColors.d.ts +7 -0
  149. package/dist/utils/paneColors.d.ts.map +1 -0
  150. package/dist/utils/paneColors.js +42 -0
  151. package/dist/utils/paneColors.js.map +1 -0
  152. package/dist/utils/paneCreation.d.ts.map +1 -1
  153. package/dist/utils/paneCreation.js +103 -34
  154. package/dist/utils/paneCreation.js.map +1 -1
  155. package/dist/utils/paneTitle.d.ts +1 -0
  156. package/dist/utils/paneTitle.d.ts.map +1 -1
  157. package/dist/utils/paneTitle.js +5 -1
  158. package/dist/utils/paneTitle.js.map +1 -1
  159. package/dist/utils/paneTitlePrefix.d.ts +8 -0
  160. package/dist/utils/paneTitlePrefix.d.ts.map +1 -0
  161. package/dist/utils/paneTitlePrefix.js +20 -0
  162. package/dist/utils/paneTitlePrefix.js.map +1 -0
  163. package/dist/utils/popup.d.ts +1 -0
  164. package/dist/utils/popup.d.ts.map +1 -1
  165. package/dist/utils/popup.js +9 -2
  166. package/dist/utils/popup.js.map +1 -1
  167. package/dist/utils/prSummary.d.ts +34 -0
  168. package/dist/utils/prSummary.d.ts.map +1 -0
  169. package/dist/utils/prSummary.js +130 -0
  170. package/dist/utils/prSummary.js.map +1 -0
  171. package/dist/utils/projectActions.d.ts +6 -0
  172. package/dist/utils/projectActions.d.ts.map +1 -1
  173. package/dist/utils/projectActions.js +46 -0
  174. package/dist/utils/projectActions.js.map +1 -1
  175. package/dist/utils/reopenWorktree.d.ts.map +1 -1
  176. package/dist/utils/reopenWorktree.js +37 -5
  177. package/dist/utils/reopenWorktree.js.map +1 -1
  178. package/dist/utils/resumeBranches.d.ts.map +1 -1
  179. package/dist/utils/resumeBranches.js +9 -3
  180. package/dist/utils/resumeBranches.js.map +1 -1
  181. package/dist/utils/settingsManager.d.ts +11 -3
  182. package/dist/utils/settingsManager.d.ts.map +1 -1
  183. package/dist/utils/settingsManager.js +96 -21
  184. package/dist/utils/settingsManager.js.map +1 -1
  185. package/dist/utils/sidebarProjects.d.ts +10 -3
  186. package/dist/utils/sidebarProjects.d.ts.map +1 -1
  187. package/dist/utils/sidebarProjects.js +125 -10
  188. package/dist/utils/sidebarProjects.js.map +1 -1
  189. package/dist/utils/tmuxHookCommands.d.ts +6 -0
  190. package/dist/utils/tmuxHookCommands.d.ts.map +1 -1
  191. package/dist/utils/tmuxHookCommands.js +12 -0
  192. package/dist/utils/tmuxHookCommands.js.map +1 -1
  193. package/dist/utils/tmuxSendKeys.d.ts +2 -0
  194. package/dist/utils/tmuxSendKeys.d.ts.map +1 -0
  195. package/dist/utils/tmuxSendKeys.js +8 -0
  196. package/dist/utils/tmuxSendKeys.js.map +1 -0
  197. package/dist/utils/toastLayout.d.ts +10 -0
  198. package/dist/utils/toastLayout.d.ts.map +1 -0
  199. package/dist/utils/toastLayout.js +24 -0
  200. package/dist/utils/toastLayout.js.map +1 -0
  201. package/dist/utils/welcomePane.d.ts +5 -1
  202. package/dist/utils/welcomePane.d.ts.map +1 -1
  203. package/dist/utils/welcomePane.js +33 -3
  204. package/dist/utils/welcomePane.js.map +1 -1
  205. package/dist/utils/welcomePaneManager.d.ts +3 -1
  206. package/dist/utils/welcomePaneManager.d.ts.map +1 -1
  207. package/dist/utils/welcomePaneManager.js +40 -2
  208. package/dist/utils/welcomePaneManager.js.map +1 -1
  209. package/dist/workers/PaneWorker.js +77 -0
  210. package/dist/workers/PaneWorker.js.map +1 -1
  211. package/dist/workers/WorkerMessages.d.ts +9 -1
  212. package/dist/workers/WorkerMessages.d.ts.map +1 -1
  213. package/dist/workers/WorkerMessages.js.map +1 -1
  214. package/dist/workers/panePollingWorker.js +33 -2
  215. package/dist/workers/panePollingWorker.js.map +1 -1
  216. package/package.json +1 -1
@@ -5,7 +5,9 @@ import { DEFAULT_MIN_PANE_WIDTH, DEFAULT_MAX_PANE_WIDTH, MAX_MIN_PANE_WIDTH, MAX
5
5
  import { isValidBranchName } from './git.js';
6
6
  import { getAgentDefinitions, getDefaultEnabledAgents, isAgentName, } from './agentLaunch.js';
7
7
  import { getDefaultNotificationSoundSelection, isNotificationSoundId, } from './notificationSounds.js';
8
+ import { DEFAULT_DMUX_THEME, DMUX_THEME_NAMES, isDmuxThemeName, } from '../theme/themePalette.js';
8
9
  const GLOBAL_SETTINGS_PATH = join(homedir(), '.dmux.global.json');
10
+ const TEAM_DEFAULTS_FILENAME = '.dmux.defaults.json';
9
11
  const PERMISSION_MODES = ['', 'plan', 'acceptEdits', 'bypassPermissions'];
10
12
  function isPermissionMode(value) {
11
13
  return PERMISSION_MODES.includes(value);
@@ -22,6 +24,52 @@ function isValidMinPaneWidth(value) {
22
24
  value >= MIN_MIN_PANE_WIDTH &&
23
25
  value <= MAX_MIN_PANE_WIDTH);
24
26
  }
27
+ function sanitizeLoadedSettings(value) {
28
+ if (!value || typeof value !== 'object' || Array.isArray(value)) {
29
+ return {};
30
+ }
31
+ const parsed = value;
32
+ const sanitized = {};
33
+ if (typeof parsed.permissionMode === 'string' && isPermissionMode(parsed.permissionMode)) {
34
+ sanitized.permissionMode = parsed.permissionMode;
35
+ }
36
+ if (typeof parsed.enableAutopilotByDefault === 'boolean') {
37
+ sanitized.enableAutopilotByDefault = parsed.enableAutopilotByDefault;
38
+ }
39
+ if (typeof parsed.defaultAgent === 'string'
40
+ && (parsed.defaultAgent === '' || isAgentName(parsed.defaultAgent))) {
41
+ sanitized.defaultAgent = parsed.defaultAgent;
42
+ }
43
+ if (Array.isArray(parsed.enabledAgents)) {
44
+ sanitized.enabledAgents = parsed.enabledAgents.filter((agent) => typeof agent === 'string' && isAgentName(agent));
45
+ }
46
+ if (Array.isArray(parsed.enabledNotificationSounds)) {
47
+ sanitized.enabledNotificationSounds = parsed.enabledNotificationSounds.filter((soundId) => typeof soundId === 'string' && isNotificationSoundId(soundId));
48
+ }
49
+ if (typeof parsed.showFooterTips === 'boolean') {
50
+ sanitized.showFooterTips = parsed.showFooterTips;
51
+ }
52
+ if (typeof parsed.colorTheme === 'string' && isDmuxThemeName(parsed.colorTheme)) {
53
+ sanitized.colorTheme = parsed.colorTheme;
54
+ }
55
+ if (typeof parsed.useTmuxHooks === 'boolean') {
56
+ sanitized.useTmuxHooks = parsed.useTmuxHooks;
57
+ }
58
+ if (typeof parsed.baseBranch === 'string' && (parsed.baseBranch === '' || isValidBranchName(parsed.baseBranch))) {
59
+ sanitized.baseBranch = parsed.baseBranch;
60
+ }
61
+ if (typeof parsed.branchPrefix === 'string'
62
+ && (parsed.branchPrefix === '' || isValidBranchName(parsed.branchPrefix))) {
63
+ sanitized.branchPrefix = parsed.branchPrefix;
64
+ }
65
+ if (isValidMinPaneWidth(parsed.minPaneWidth)) {
66
+ sanitized.minPaneWidth = parsed.minPaneWidth;
67
+ }
68
+ if (isValidMaxPaneWidth(parsed.maxPaneWidth)) {
69
+ sanitized.maxPaneWidth = parsed.maxPaneWidth;
70
+ }
71
+ return sanitized;
72
+ }
25
73
  function cloneSettingsArrays(settings) {
26
74
  const cloned = { ...settings };
27
75
  if (Array.isArray(cloned.enabledAgents)) {
@@ -41,11 +89,13 @@ const DEFAULT_SETTINGS = {
41
89
  enabledAgents: getDefaultEnabledAgents(),
42
90
  enabledNotificationSounds: getDefaultNotificationSoundSelection(),
43
91
  showFooterTips: true,
92
+ colorTheme: DEFAULT_DMUX_THEME,
44
93
  };
45
94
  const AGENT_OPTIONS = getAgentDefinitions().map((agent) => ({
46
95
  value: agent.id,
47
96
  label: agent.name,
48
97
  }));
98
+ export const DEFAULT_COLOR_THEME_SETTING_KEY = 'defaultColorTheme';
49
99
  export const SETTING_DEFINITIONS = [
50
100
  {
51
101
  key: 'permissionMode',
@@ -93,6 +143,16 @@ export const SETTING_DEFINITIONS = [
93
143
  description: 'Rotate short dmux tips in the footer. Disable this if you prefer a quieter sidebar.',
94
144
  type: 'boolean',
95
145
  },
146
+ {
147
+ key: 'colorTheme',
148
+ label: 'Color Theme',
149
+ description: 'Choose the accent color for the dmux UI and welcome pane',
150
+ type: 'select',
151
+ options: DMUX_THEME_NAMES.map((themeName) => ({
152
+ value: themeName,
153
+ label: themeName.charAt(0).toUpperCase() + themeName.slice(1),
154
+ })),
155
+ },
96
156
  {
97
157
  key: 'useTmuxHooks',
98
158
  label: 'Use Tmux Hooks',
@@ -147,35 +207,35 @@ export const SETTING_DEFINITIONS = [
147
207
  export class SettingsManager {
148
208
  globalPath;
149
209
  projectPath;
210
+ teamDefaultsPath;
150
211
  globalSettings = {};
151
212
  projectSettings = {};
213
+ teamDefaults = {};
152
214
  constructor(projectRoot) {
215
+ const root = projectRoot || process.cwd();
153
216
  this.globalPath = GLOBAL_SETTINGS_PATH;
154
- this.projectPath = join(projectRoot || process.cwd(), '.dmux', 'settings.json');
217
+ this.projectPath = join(root, '.dmux', 'settings.json');
218
+ this.teamDefaultsPath = join(root, TEAM_DEFAULTS_FILENAME);
155
219
  this.loadSettings();
156
220
  }
157
- loadSettings() {
158
- // Load global settings
159
- if (existsSync(this.globalPath)) {
160
- try {
161
- const data = readFileSync(this.globalPath, 'utf-8');
162
- this.globalSettings = JSON.parse(data);
163
- }
164
- catch (error) {
165
- console.error('Failed to load global settings:', error);
166
- }
221
+ loadSettingsFile(filePath, label) {
222
+ if (!existsSync(filePath)) {
223
+ return {};
167
224
  }
168
- // Load project settings
169
- if (existsSync(this.projectPath)) {
170
- try {
171
- const data = readFileSync(this.projectPath, 'utf-8');
172
- this.projectSettings = JSON.parse(data);
173
- }
174
- catch (error) {
175
- console.error('Failed to load project settings:', error);
176
- }
225
+ try {
226
+ const data = readFileSync(filePath, 'utf-8');
227
+ return sanitizeLoadedSettings(JSON.parse(data));
228
+ }
229
+ catch (error) {
230
+ console.error(`Failed to load ${label}:`, error);
231
+ return {};
177
232
  }
178
233
  }
234
+ loadSettings() {
235
+ this.teamDefaults = this.loadSettingsFile(this.teamDefaultsPath, 'team defaults');
236
+ this.globalSettings = this.loadSettingsFile(this.globalPath, 'global settings');
237
+ this.projectSettings = this.loadSettingsFile(this.projectPath, 'project settings');
238
+ }
179
239
  getValidGlobalMinPaneWidth() {
180
240
  return isValidMinPaneWidth(this.globalSettings.minPaneWidth)
181
241
  ? this.globalSettings.minPaneWidth
@@ -206,11 +266,12 @@ export class SettingsManager {
206
266
  return { minPaneWidth, maxPaneWidth };
207
267
  }
208
268
  /**
209
- * Get merged settings (project settings override global)
269
+ * Get merged settings (project > global > team defaults > built-in defaults)
210
270
  */
211
271
  getSettings() {
212
272
  const merged = cloneSettingsArrays({
213
273
  ...DEFAULT_SETTINGS,
274
+ ...this.teamDefaults,
214
275
  ...this.globalSettings,
215
276
  ...this.projectSettings,
216
277
  });
@@ -252,6 +313,9 @@ export class SettingsManager {
252
313
  if (key === 'permissionMode' && typeof value === 'string' && !isPermissionMode(value)) {
253
314
  throw new Error(`Invalid permissionMode: "${value}"`);
254
315
  }
316
+ if (key === 'colorTheme' && !isDmuxThemeName(value)) {
317
+ throw new Error(`Invalid colorTheme: "${String(value)}"`);
318
+ }
255
319
  if (key === 'enabledAgents') {
256
320
  if (!Array.isArray(value)) {
257
321
  throw new Error('Invalid enabledAgents: expected an array of agent IDs');
@@ -319,6 +383,9 @@ export class SettingsManager {
319
383
  if (typeof settings.permissionMode === 'string' && !isPermissionMode(settings.permissionMode)) {
320
384
  throw new Error(`Invalid permissionMode: "${settings.permissionMode}"`);
321
385
  }
386
+ if (settings.colorTheme !== undefined && !isDmuxThemeName(settings.colorTheme)) {
387
+ throw new Error(`Invalid colorTheme: "${String(settings.colorTheme)}"`);
388
+ }
322
389
  if (settings.enabledAgents !== undefined) {
323
390
  if (!Array.isArray(settings.enabledAgents)) {
324
391
  throw new Error('Invalid enabledAgents: expected an array of agent IDs');
@@ -450,6 +517,12 @@ export class SettingsManager {
450
517
  }
451
518
  return key in this.projectSettings;
452
519
  }
520
+ /**
521
+ * Get team defaults (committed to repo, read-only)
522
+ */
523
+ getTeamDefaults() {
524
+ return cloneSettingsArrays(this.teamDefaults);
525
+ }
453
526
  /**
454
527
  * Get the effective scope for a setting (where it's currently defined)
455
528
  */
@@ -464,6 +537,8 @@ export class SettingsManager {
464
537
  return 'project';
465
538
  if (key in this.globalSettings)
466
539
  return 'global';
540
+ if (key in this.teamDefaults)
541
+ return 'team';
467
542
  return null;
468
543
  }
469
544
  }
@@ -1 +1 @@
1
- {"version":3,"file":"settingsManager.js","sourceRoot":"","sources":["../../src/utils/settingsManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settingsManager.js","sourceRoot":"","sources":["../../src/utils/settingsManager.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,19 @@
1
- import type { DmuxPane, SidebarProject } from '../types.js';
1
+ import type { DmuxPane, DmuxThemeName, SidebarProject } from '../types.js';
2
+ export declare const SIDEBAR_PROJECT_COLOR_THEME_SETTING_KEY = "projectColorTheme";
3
+ export declare const AUTO_SIDEBAR_PROJECT_COLOR_THEME_VALUE = "auto";
2
4
  export declare function sameSidebarProjectRoot(a: string, b: string): boolean;
3
5
  export declare function hasSidebarProject(projects: SidebarProject[], projectRoot: string): boolean;
4
6
  export declare function addSidebarProject(projects: SidebarProject[], project: SidebarProject): SidebarProject[];
5
7
  export declare function removeSidebarProject(projects: SidebarProject[], projectRoot: string): SidebarProject[];
8
+ export declare function getSidebarProjectColorTheme(projects: SidebarProject[], projectRoot: string): DmuxThemeName | undefined;
9
+ export declare function setSidebarProjectColorTheme(projects: SidebarProject[], projectRoot: string, colorTheme: DmuxThemeName | undefined, colorThemeSource?: SidebarProject['colorThemeSource']): SidebarProject[];
10
+ export declare function getSidebarProjectColorThemeSettingValue(projects: SidebarProject[], projectRoot: string, resolveProjectTheme?: (projectRoot: string) => DmuxThemeName | undefined): string;
11
+ export declare function setSidebarProjectColorThemeSettingValue(projects: SidebarProject[], projectRoot: string, settingValue: unknown, resolveProjectTheme?: (projectRoot: string) => DmuxThemeName | undefined): SidebarProject[];
12
+ export declare function getAutoSidebarProjectColorTheme(projects: SidebarProject[], nextProject: Pick<SidebarProject, 'projectRoot' | 'colorTheme'>, resolveProjectTheme?: (projectRoot: string) => DmuxThemeName | undefined): DmuxThemeName;
6
13
  /**
7
14
  * Normalize persistent sidebar projects so the session project is always present,
8
- * explicit sidebar entries keep their order, and any pane-backed projects are
9
- * preserved for backward compatibility.
15
+ * explicit sidebar entries keep their order and metadata, and any pane-backed
16
+ * projects are preserved for backward compatibility.
10
17
  */
11
18
  export declare function normalizeSidebarProjects(sidebarProjects: SidebarProject[] | undefined, panes: DmuxPane[], fallbackProjectRoot: string, fallbackProjectName: string): SidebarProject[];
12
19
  //# sourceMappingURL=sidebarProjects.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sidebarProjects.d.ts","sourceRoot":"","sources":["../../src/utils/sidebarProjects.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAiB5D,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAEpE;AAED,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,cAAc,EAAE,EAC1B,WAAW,EAAE,MAAM,GAClB,OAAO,CAET;AAED,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,cAAc,EAAE,EAC1B,OAAO,EAAE,cAAc,GACtB,cAAc,EAAE,CAMlB;AAED,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,cAAc,EAAE,EAC1B,WAAW,EAAE,MAAM,GAClB,cAAc,EAAE,CAElB;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,eAAe,EAAE,cAAc,EAAE,GAAG,SAAS,EAC7C,KAAK,EAAE,QAAQ,EAAE,EACjB,mBAAmB,EAAE,MAAM,EAC3B,mBAAmB,EAAE,MAAM,GAC1B,cAAc,EAAE,CA6BlB"}
1
+ {"version":3,"file":"sidebarProjects.d.ts","sourceRoot":"","sources":["../../src/utils/sidebarProjects.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,QAAQ,EACR,aAAa,EACb,cAAc,EACf,MAAM,aAAa,CAAC;AAQrB,eAAO,MAAM,uCAAuC,sBAAsB,CAAC;AAC3E,eAAO,MAAM,sCAAsC,SAAS,CAAC;AAkD7D,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAEpE;AAED,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,cAAc,EAAE,EAC1B,WAAW,EAAE,MAAM,GAClB,OAAO,CAET;AAED,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,cAAc,EAAE,EAC1B,OAAO,EAAE,cAAc,GACtB,cAAc,EAAE,CAclB;AAED,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,cAAc,EAAE,EAC1B,WAAW,EAAE,MAAM,GAClB,cAAc,EAAE,CAElB;AAED,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,cAAc,EAAE,EAC1B,WAAW,EAAE,MAAM,GAClB,aAAa,GAAG,SAAS,CAE3B;AASD,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,cAAc,EAAE,EAC1B,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,aAAa,GAAG,SAAS,EACrC,gBAAgB,CAAC,EAAE,cAAc,CAAC,kBAAkB,CAAC,GACpD,cAAc,EAAE,CAiClB;AASD,wBAAgB,uCAAuC,CACrD,QAAQ,EAAE,cAAc,EAAE,EAC1B,WAAW,EAAE,MAAM,EACnB,mBAAmB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,aAAa,GAAG,SAAS,GACvE,MAAM,CAuBR;AAED,wBAAgB,uCAAuC,CACrD,QAAQ,EAAE,cAAc,EAAE,EAC1B,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,OAAO,EACrB,mBAAmB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,aAAa,GAAG,SAAS,GACvE,cAAc,EAAE,CAmBlB;AAED,wBAAgB,+BAA+B,CAC7C,QAAQ,EAAE,cAAc,EAAE,EAC1B,WAAW,EAAE,IAAI,CAAC,cAAc,EAAE,aAAa,GAAG,YAAY,CAAC,EAC/D,mBAAmB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,aAAa,GAAG,SAAS,GACvE,aAAa,CAoBf;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,eAAe,EAAE,cAAc,EAAE,GAAG,SAAS,EAC7C,KAAK,EAAE,QAAQ,EAAE,EACjB,mBAAmB,EAAE,MAAM,EAC3B,mBAAmB,EAAE,MAAM,GAC1B,cAAc,EAAE,CAqDlB"}
@@ -1,14 +1,36 @@
1
1
  import path from 'path';
2
+ import { DEFAULT_DMUX_THEME, DMUX_THEME_NAMES, isDmuxThemeName, } from '../theme/themePalette.js';
2
3
  import { getPaneProjectName, getPaneProjectRoot } from './paneProject.js';
4
+ export const SIDEBAR_PROJECT_COLOR_THEME_SETTING_KEY = 'projectColorTheme';
5
+ export const AUTO_SIDEBAR_PROJECT_COLOR_THEME_VALUE = 'auto';
6
+ const AUTO_SIDEBAR_THEME_ORDER = [
7
+ DEFAULT_DMUX_THEME,
8
+ ...DMUX_THEME_NAMES.filter((themeName) => themeName !== DEFAULT_DMUX_THEME),
9
+ ];
3
10
  function normalizeProjectRoot(projectRoot) {
4
11
  return path.resolve(projectRoot);
5
12
  }
6
- function buildProjectEntry(projectRoot, projectName) {
13
+ function normalizeProjectColorTheme(colorTheme) {
14
+ return isDmuxThemeName(colorTheme) ? colorTheme : undefined;
15
+ }
16
+ function normalizeProjectColorThemeSource(colorThemeSource, hasColorTheme) {
17
+ if (!hasColorTheme) {
18
+ return undefined;
19
+ }
20
+ return colorThemeSource === 'auto' || colorThemeSource === 'manual'
21
+ ? colorThemeSource
22
+ : undefined;
23
+ }
24
+ function buildProjectEntry(projectRoot, projectName, colorTheme, colorThemeSource) {
7
25
  const normalizedRoot = normalizeProjectRoot(projectRoot);
8
26
  const derivedName = path.basename(normalizedRoot) || 'project';
27
+ const normalizedColorTheme = normalizeProjectColorTheme(colorTheme);
28
+ const normalizedColorThemeSource = normalizeProjectColorThemeSource(colorThemeSource, Boolean(normalizedColorTheme));
9
29
  return {
10
30
  projectRoot: normalizedRoot,
11
31
  projectName: projectName?.trim() || derivedName,
32
+ ...(normalizedColorTheme ? { colorTheme: normalizedColorTheme } : {}),
33
+ ...(normalizedColorThemeSource ? { colorThemeSource: normalizedColorThemeSource } : {}),
12
34
  };
13
35
  }
14
36
  export function sameSidebarProjectRoot(a, b) {
@@ -21,33 +43,126 @@ export function addSidebarProject(projects, project) {
21
43
  if (hasSidebarProject(projects, project.projectRoot)) {
22
44
  return projects;
23
45
  }
24
- return [...projects, buildProjectEntry(project.projectRoot, project.projectName)];
46
+ return [
47
+ ...projects,
48
+ buildProjectEntry(project.projectRoot, project.projectName, project.colorTheme, project.colorThemeSource),
49
+ ];
25
50
  }
26
51
  export function removeSidebarProject(projects, projectRoot) {
27
52
  return projects.filter((project) => !sameSidebarProjectRoot(project.projectRoot, projectRoot));
28
53
  }
54
+ export function getSidebarProjectColorTheme(projects, projectRoot) {
55
+ return projects.find((project) => sameSidebarProjectRoot(project.projectRoot, projectRoot))?.colorTheme;
56
+ }
57
+ function getSidebarProject(projects, projectRoot) {
58
+ return projects.find((project) => sameSidebarProjectRoot(project.projectRoot, projectRoot));
59
+ }
60
+ export function setSidebarProjectColorTheme(projects, projectRoot, colorTheme, colorThemeSource) {
61
+ const normalizedColorTheme = normalizeProjectColorTheme(colorTheme);
62
+ const normalizedColorThemeSource = normalizeProjectColorThemeSource(colorThemeSource, Boolean(normalizedColorTheme));
63
+ let changed = false;
64
+ const nextProjects = projects.map((project) => {
65
+ if (!sameSidebarProjectRoot(project.projectRoot, projectRoot)) {
66
+ return project;
67
+ }
68
+ const nextProject = buildProjectEntry(project.projectRoot, project.projectName, normalizedColorTheme, normalizedColorThemeSource);
69
+ if (project.projectRoot === nextProject.projectRoot
70
+ && project.projectName === nextProject.projectName
71
+ && project.colorTheme === nextProject.colorTheme
72
+ && project.colorThemeSource === nextProject.colorThemeSource) {
73
+ return project;
74
+ }
75
+ changed = true;
76
+ return nextProject;
77
+ });
78
+ return changed ? nextProjects : projects;
79
+ }
80
+ function getProjectsWithoutProject(projects, projectRoot) {
81
+ return projects.filter((project) => !sameSidebarProjectRoot(project.projectRoot, projectRoot));
82
+ }
83
+ export function getSidebarProjectColorThemeSettingValue(projects, projectRoot, resolveProjectTheme) {
84
+ const project = getSidebarProject(projects, projectRoot);
85
+ if (!project?.colorTheme) {
86
+ return '';
87
+ }
88
+ if (project.colorThemeSource === 'auto') {
89
+ return AUTO_SIDEBAR_PROJECT_COLOR_THEME_VALUE;
90
+ }
91
+ if (project.colorThemeSource === 'manual') {
92
+ return project.colorTheme;
93
+ }
94
+ const inferredAutoTheme = getAutoSidebarProjectColorTheme(getProjectsWithoutProject(projects, projectRoot), { projectRoot }, resolveProjectTheme);
95
+ return project.colorTheme === inferredAutoTheme
96
+ ? AUTO_SIDEBAR_PROJECT_COLOR_THEME_VALUE
97
+ : project.colorTheme;
98
+ }
99
+ export function setSidebarProjectColorThemeSettingValue(projects, projectRoot, settingValue, resolveProjectTheme) {
100
+ if (settingValue === AUTO_SIDEBAR_PROJECT_COLOR_THEME_VALUE) {
101
+ const autoTheme = getAutoSidebarProjectColorTheme(getProjectsWithoutProject(projects, projectRoot), { projectRoot }, resolveProjectTheme);
102
+ return setSidebarProjectColorTheme(projects, projectRoot, autoTheme, 'auto');
103
+ }
104
+ if (settingValue === '') {
105
+ return setSidebarProjectColorTheme(projects, projectRoot, undefined);
106
+ }
107
+ if (isDmuxThemeName(settingValue)) {
108
+ return setSidebarProjectColorTheme(projects, projectRoot, settingValue, 'manual');
109
+ }
110
+ return projects;
111
+ }
112
+ export function getAutoSidebarProjectColorTheme(projects, nextProject, resolveProjectTheme) {
113
+ const usedThemes = new Set();
114
+ for (const project of projects) {
115
+ const resolvedTheme = normalizeProjectColorTheme(project.colorTheme)
116
+ || normalizeProjectColorTheme(resolveProjectTheme?.(project.projectRoot));
117
+ if (resolvedTheme) {
118
+ usedThemes.add(resolvedTheme);
119
+ }
120
+ }
121
+ const preferredTheme = normalizeProjectColorTheme(nextProject.colorTheme)
122
+ || normalizeProjectColorTheme(resolveProjectTheme?.(nextProject.projectRoot));
123
+ if (preferredTheme && !usedThemes.has(preferredTheme)) {
124
+ return preferredTheme;
125
+ }
126
+ return AUTO_SIDEBAR_THEME_ORDER.find((themeName) => !usedThemes.has(themeName))
127
+ || preferredTheme
128
+ || DEFAULT_DMUX_THEME;
129
+ }
29
130
  /**
30
131
  * Normalize persistent sidebar projects so the session project is always present,
31
- * explicit sidebar entries keep their order, and any pane-backed projects are
32
- * preserved for backward compatibility.
132
+ * explicit sidebar entries keep their order and metadata, and any pane-backed
133
+ * projects are preserved for backward compatibility.
33
134
  */
34
135
  export function normalizeSidebarProjects(sidebarProjects, panes, fallbackProjectRoot, fallbackProjectName) {
35
136
  const normalizedProjects = [];
36
- const seenRoots = new Set();
37
- const addProject = (projectRoot, projectName) => {
38
- const entry = buildProjectEntry(projectRoot, projectName);
137
+ const projectIndexByRoot = new Map();
138
+ const addProject = (projectRoot, projectName, colorTheme, colorThemeSource) => {
139
+ const entry = buildProjectEntry(projectRoot, projectName, colorTheme, colorThemeSource);
39
140
  const key = normalizeProjectRoot(entry.projectRoot);
40
- if (seenRoots.has(key)) {
141
+ const existingIndex = projectIndexByRoot.get(key);
142
+ if (existingIndex !== undefined) {
143
+ const existing = normalizedProjects[existingIndex];
144
+ const derivedExistingName = path.basename(normalizeProjectRoot(existing.projectRoot)) || 'project';
145
+ const shouldReplaceName = existing.projectName === derivedExistingName;
146
+ const nextColorTheme = entry.colorTheme || existing.colorTheme;
147
+ const nextColorThemeSource = nextColorTheme
148
+ ? (entry.colorThemeSource ?? existing.colorThemeSource)
149
+ : undefined;
150
+ normalizedProjects[existingIndex] = {
151
+ ...existing,
152
+ projectName: shouldReplaceName ? entry.projectName : existing.projectName,
153
+ ...(nextColorTheme ? { colorTheme: nextColorTheme } : {}),
154
+ ...(nextColorThemeSource ? { colorThemeSource: nextColorThemeSource } : {}),
155
+ };
41
156
  return;
42
157
  }
43
- seenRoots.add(key);
158
+ projectIndexByRoot.set(key, normalizedProjects.length);
44
159
  normalizedProjects.push(entry);
45
160
  };
46
161
  addProject(fallbackProjectRoot, fallbackProjectName);
47
162
  for (const project of sidebarProjects || []) {
48
163
  if (!project?.projectRoot)
49
164
  continue;
50
- addProject(project.projectRoot, project.projectName);
165
+ addProject(project.projectRoot, project.projectName, project.colorTheme, project.colorThemeSource);
51
166
  }
52
167
  for (const pane of panes) {
53
168
  const projectRoot = getPaneProjectRoot(pane, fallbackProjectRoot);
@@ -1 +1 @@
1
- {"version":3,"file":"sidebarProjects.js","sourceRoot":"","sources":["../../src/utils/sidebarProjects.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sidebarProjects.js","sourceRoot":"","sources":["../../src/utils/sidebarProjects.ts"],"names":[],"mappings":"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"}
@@ -11,4 +11,10 @@ export declare function buildPaneExitedHookCommand(pid: number): string;
11
11
  * This avoids relying on hook format variables that may vary by tmux version.
12
12
  */
13
13
  export declare function buildPaneExitedHookCommandForSession(pid: number, sessionName: string): string;
14
+ /**
15
+ * Builds an after-select-pane hook that copies the focused pane's cached border
16
+ * style onto the session immediately. This stays inside tmux so focus changes
17
+ * do not need to wait on a shell subprocess before the active border updates.
18
+ */
19
+ export declare function buildPaneFocusHookCommandForSession(sessionName: string, pid?: number): string;
14
20
  //# sourceMappingURL=tmuxHookCommands.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tmuxHookCommands.d.ts","sourceRoot":"","sources":["../../src/utils/tmuxHookCommands.ts"],"names":[],"mappings":"AASA;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAI9D;AAED;;;GAGG;AACH,wBAAgB,oCAAoC,CAClD,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,GAClB,MAAM,CAMR"}
1
+ {"version":3,"file":"tmuxHookCommands.d.ts","sourceRoot":"","sources":["../../src/utils/tmuxHookCommands.ts"],"names":[],"mappings":"AASA;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAI9D;AAED;;;GAGG;AACH,wBAAgB,oCAAoC,CAClD,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,GAClB,MAAM,CAMR;AAED;;;;GAIG;AACH,wBAAgB,mCAAmC,CACjD,WAAW,EAAE,MAAM,EACnB,GAAG,CAAC,EAAE,MAAM,GACX,MAAM,CAOR"}
@@ -27,4 +27,16 @@ export function buildPaneExitedHookCommandForSession(pid, sessionName) {
27
27
  const encodedSessionName = Buffer.from(sessionName, 'utf-8').toString('base64');
28
28
  return `run-shell "DMUX_RECOVERY_SESSION_B64=${encodedSessionName} DMUX_RECOVERY_EXITED_PANE=#{hook_pane} node \\"${escapedScriptPath}\\" >/dev/null 2>&1; kill -USR2 ${pid} 2>/dev/null || true # dmux-hook"`;
29
29
  }
30
+ /**
31
+ * Builds an after-select-pane hook that copies the focused pane's cached border
32
+ * style onto the session immediately. This stays inside tmux so focus changes
33
+ * do not need to wait on a shell subprocess before the active border updates.
34
+ */
35
+ export function buildPaneFocusHookCommandForSession(sessionName, pid) {
36
+ const escapedSessionName = escapeForDoubleQuotes(sessionName);
37
+ const notifyController = typeof pid === 'number'
38
+ ? `; run-shell -b "kill -USR2 ${pid} 2>/dev/null || true # dmux-hook"`
39
+ : '';
40
+ return `if-shell -F "#{!=:#{@dmux_active_border_style},}" "set-option -F -t \\"${escapedSessionName}\\" pane-active-border-style \\"#{@dmux_active_border_style}\\""${notifyController}`;
41
+ }
30
42
  //# sourceMappingURL=tmuxHookCommands.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tmuxHookCommands.js","sourceRoot":"","sources":["../../src/utils/tmuxHookCommands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;GAEG;AACH,SAAS,qBAAqB,CAAC,KAAa;IAC1C,OAAO,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;AAC3C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,0BAA0B,CAAC,GAAW;IACpD,MAAM,kBAAkB,GAAG,eAAe,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC;IAC9E,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,kBAAkB,CAAC,CAAC;IACpE,OAAO,6DAA6D,iBAAiB,mCAAmC,GAAG,mCAAmC,CAAC;AACjK,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oCAAoC,CAClD,GAAW,EACX,WAAmB;IAEnB,MAAM,kBAAkB,GAAG,eAAe,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC;IAC9E,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,kBAAkB,CAAC,CAAC;IACpE,MAAM,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAEhF,OAAO,wCAAwC,kBAAkB,mDAAmD,iBAAiB,mCAAmC,GAAG,mCAAmC,CAAC;AACjN,CAAC"}
1
+ {"version":3,"file":"tmuxHookCommands.js","sourceRoot":"","sources":["../../src/utils/tmuxHookCommands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;GAEG;AACH,SAAS,qBAAqB,CAAC,KAAa;IAC1C,OAAO,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;AAC3C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,0BAA0B,CAAC,GAAW;IACpD,MAAM,kBAAkB,GAAG,eAAe,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC;IAC9E,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,kBAAkB,CAAC,CAAC;IACpE,OAAO,6DAA6D,iBAAiB,mCAAmC,GAAG,mCAAmC,CAAC;AACjK,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oCAAoC,CAClD,GAAW,EACX,WAAmB;IAEnB,MAAM,kBAAkB,GAAG,eAAe,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC;IAC9E,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,kBAAkB,CAAC,CAAC;IACpE,MAAM,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAEhF,OAAO,wCAAwC,kBAAkB,mDAAmD,iBAAiB,mCAAmC,GAAG,mCAAmC,CAAC;AACjN,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mCAAmC,CACjD,WAAmB,EACnB,GAAY;IAEZ,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAC9D,MAAM,gBAAgB,GAAG,OAAO,GAAG,KAAK,QAAQ;QAC9C,CAAC,CAAC,8BAA8B,GAAG,mCAAmC;QACtE,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO,0EAA0E,kBAAkB,mEAAmE,gBAAgB,EAAE,CAAC;AAC3L,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function sendTmuxShellCommand(target: string, command: string, stdio?: 'pipe' | 'inherit'): void;
2
+ //# sourceMappingURL=tmuxSendKeys.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tmuxSendKeys.d.ts","sourceRoot":"","sources":["../../src/utils/tmuxSendKeys.ts"],"names":[],"mappings":"AAEA,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,KAAK,GAAE,MAAM,GAAG,SAAkB,GACjC,IAAI,CAUN"}
@@ -0,0 +1,8 @@
1
+ import { spawnSync } from 'child_process';
2
+ export function sendTmuxShellCommand(target, command, stdio = 'pipe') {
3
+ const result = spawnSync('tmux', ['send-keys', '-t', target, command, 'Enter'], { stdio });
4
+ if (result.status !== 0) {
5
+ throw new Error(`Failed to send tmux command to target ${target}`);
6
+ }
7
+ }
8
+ //# sourceMappingURL=tmuxSendKeys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tmuxSendKeys.js","sourceRoot":"","sources":["../../src/utils/tmuxSendKeys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,MAAM,UAAU,oBAAoB,CAClC,MAAc,EACd,OAAe,EACf,QAA4B,MAAM;IAElC,MAAM,MAAM,GAAG,SAAS,CACtB,MAAM,EACN,CAAC,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAC7C,EAAE,KAAK,EAAE,CACV,CAAC;IAEF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,yCAAyC,MAAM,EAAE,CAAC,CAAC;IACrE,CAAC;AACH,CAAC"}
@@ -0,0 +1,10 @@
1
+ interface ToastLike {
2
+ message: string;
3
+ }
4
+ export interface ToastSectionLayout {
5
+ footerExtraLines: number;
6
+ toastHeight: number;
7
+ }
8
+ export declare function getToastSectionLayout(currentToast: ToastLike | null | undefined, toastQueueLength: number, availableWidth?: number): ToastSectionLayout;
9
+ export {};
10
+ //# sourceMappingURL=toastLayout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toastLayout.d.ts","sourceRoot":"","sources":["../../src/utils/toastLayout.ts"],"names":[],"mappings":"AAGA,UAAU,SAAS;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,SAAS,GAAG,IAAI,GAAG,SAAS,EAC1C,gBAAgB,EAAE,MAAM,EACxB,cAAc,GAAE,MAA0B,GACzC,kBAAkB,CAuBpB"}
@@ -0,0 +1,24 @@
1
+ import stringWidth from 'string-width';
2
+ import { SIDEBAR_WIDTH } from './layoutManager.js';
3
+ export function getToastSectionLayout(currentToast, toastQueueLength, availableWidth = SIDEBAR_WIDTH - 2) {
4
+ if (currentToast) {
5
+ const iconAndSpaceWidth = 2;
6
+ const toastDisplayWidth = iconAndSpaceWidth + stringWidth(currentToast.message);
7
+ const wrappedLines = Math.max(1, Math.ceil(toastDisplayWidth / availableWidth));
8
+ return {
9
+ footerExtraLines: wrappedLines + 2,
10
+ toastHeight: wrappedLines + 1,
11
+ };
12
+ }
13
+ if (toastQueueLength > 0) {
14
+ return {
15
+ footerExtraLines: 2,
16
+ toastHeight: 1,
17
+ };
18
+ }
19
+ return {
20
+ footerExtraLines: 0,
21
+ toastHeight: 0,
22
+ };
23
+ }
24
+ //# sourceMappingURL=toastLayout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toastLayout.js","sourceRoot":"","sources":["../../src/utils/toastLayout.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAWnD,MAAM,UAAU,qBAAqB,CACnC,YAA0C,EAC1C,gBAAwB,EACxB,iBAAyB,aAAa,GAAG,CAAC;IAE1C,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,iBAAiB,GAAG,CAAC,CAAC;QAC5B,MAAM,iBAAiB,GAAG,iBAAiB,GAAG,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAChF,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB,GAAG,cAAc,CAAC,CAAC,CAAC;QAEhF,OAAO;YACL,gBAAgB,EAAE,YAAY,GAAG,CAAC;YAClC,WAAW,EAAE,YAAY,GAAG,CAAC;SAC9B,CAAC;IACJ,CAAC;IAED,IAAI,gBAAgB,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO;YACL,gBAAgB,EAAE,CAAC;YACnB,WAAW,EAAE,CAAC;SACf,CAAC;IACJ,CAAC;IAED,OAAO;QACL,gBAAgB,EAAE,CAAC;QACnB,WAAW,EAAE,CAAC;KACf,CAAC;AACJ,CAAC"}