dmux 5.5.3 → 5.6.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.
- package/dist/DmuxApp.d.ts.map +1 -1
- package/dist/DmuxApp.js +55 -22
- package/dist/DmuxApp.js.map +1 -1
- package/dist/components/panes/PanesGrid.d.ts +2 -1
- package/dist/components/panes/PanesGrid.d.ts.map +1 -1
- package/dist/components/panes/PanesGrid.js +37 -28
- package/dist/components/panes/PanesGrid.js.map +1 -1
- package/dist/components/popups/kebabMenuPopup.d.ts +8 -0
- package/dist/components/popups/kebabMenuPopup.d.ts.map +1 -1
- package/dist/components/popups/kebabMenuPopup.js +14 -4
- package/dist/components/popups/kebabMenuPopup.js.map +1 -1
- package/dist/components/popups/newPanePopup.d.ts +4 -1
- package/dist/components/popups/newPanePopup.d.ts.map +1 -1
- package/dist/components/popups/newPanePopup.js +53 -9
- package/dist/components/popups/newPanePopup.js.map +1 -1
- package/dist/components/popups/shared/PopupWrapper.d.ts.map +1 -1
- package/dist/components/popups/shared/PopupWrapper.js +12 -1
- package/dist/components/popups/shared/PopupWrapper.js.map +1 -1
- package/dist/components/popups/shortcutsPopup.d.ts +7 -0
- package/dist/components/popups/shortcutsPopup.d.ts.map +1 -1
- package/dist/components/popups/shortcutsPopup.js +13 -7
- package/dist/components/popups/shortcutsPopup.js.map +1 -1
- package/dist/components/ui/FooterHelp.d.ts +1 -0
- package/dist/components/ui/FooterHelp.d.ts.map +1 -1
- package/dist/components/ui/FooterHelp.js +5 -1
- package/dist/components/ui/FooterHelp.js.map +1 -1
- package/dist/hooks/useInputHandling.d.ts +3 -1
- package/dist/hooks/useInputHandling.d.ts.map +1 -1
- package/dist/hooks/useInputHandling.js +215 -58
- package/dist/hooks/useInputHandling.js.map +1 -1
- package/dist/hooks/usePaneLoading.d.ts +3 -1
- package/dist/hooks/usePaneLoading.d.ts.map +1 -1
- package/dist/hooks/usePaneLoading.js +37 -0
- package/dist/hooks/usePaneLoading.js.map +1 -1
- package/dist/hooks/usePaneSync.d.ts.map +1 -1
- package/dist/hooks/usePaneSync.js +8 -0
- package/dist/hooks/usePaneSync.js.map +1 -1
- package/dist/hooks/usePanes.d.ts +3 -1
- package/dist/hooks/usePanes.d.ts.map +1 -1
- package/dist/hooks/usePanes.js +68 -3
- package/dist/hooks/usePanes.js.map +1 -1
- package/dist/index.js +162 -49
- package/dist/index.js.map +1 -1
- package/dist/server/embedded-assets.js +1 -1
- package/dist/services/PopupManager.d.ts +3 -1
- package/dist/services/PopupManager.d.ts.map +1 -1
- package/dist/services/PopupManager.js +32 -5
- package/dist/services/PopupManager.js.map +1 -1
- package/dist/types.d.ts +8 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/agentLaunch.d.ts +1 -0
- package/dist/utils/agentLaunch.d.ts.map +1 -1
- package/dist/utils/agentLaunch.js +4 -0
- package/dist/utils/agentLaunch.js.map +1 -1
- package/dist/utils/attachAgent.d.ts.map +1 -1
- package/dist/utils/attachAgent.js +1 -0
- package/dist/utils/attachAgent.js.map +1 -1
- package/dist/utils/dmuxCommand.d.ts +2 -0
- package/dist/utils/dmuxCommand.d.ts.map +1 -1
- package/dist/utils/dmuxCommand.js +3 -0
- package/dist/utils/dmuxCommand.js.map +1 -1
- package/dist/utils/footerTips.d.ts +5 -0
- package/dist/utils/footerTips.d.ts.map +1 -0
- package/dist/utils/footerTips.js +57 -0
- package/dist/utils/footerTips.js.map +1 -0
- package/dist/utils/generated-agents-doc.d.ts +1 -1
- package/dist/utils/generated-agents-doc.js +1 -1
- package/dist/utils/paneCreation.d.ts.map +1 -1
- package/dist/utils/paneCreation.js +3 -0
- package/dist/utils/paneCreation.js.map +1 -1
- package/dist/utils/paneGrouping.d.ts +2 -2
- package/dist/utils/paneGrouping.d.ts.map +1 -1
- package/dist/utils/paneGrouping.js +19 -3
- package/dist/utils/paneGrouping.js.map +1 -1
- package/dist/utils/popup.d.ts +20 -0
- package/dist/utils/popup.d.ts.map +1 -1
- package/dist/utils/popup.js +68 -1
- package/dist/utils/popup.js.map +1 -1
- package/dist/utils/projectActions.d.ts +4 -4
- package/dist/utils/projectActions.d.ts.map +1 -1
- package/dist/utils/projectActions.js +28 -6
- package/dist/utils/projectActions.js.map +1 -1
- package/dist/utils/remotePaneActions.d.ts +24 -0
- package/dist/utils/remotePaneActions.d.ts.map +1 -0
- package/dist/utils/remotePaneActions.js +187 -0
- package/dist/utils/remotePaneActions.js.map +1 -0
- package/dist/utils/reopenWorktree.d.ts.map +1 -1
- package/dist/utils/reopenWorktree.js +10 -6
- package/dist/utils/reopenWorktree.js.map +1 -1
- package/dist/utils/settingsManager.d.ts.map +1 -1
- package/dist/utils/settingsManager.js +7 -0
- package/dist/utils/settingsManager.js.map +1 -1
- package/dist/utils/sidebarProjects.d.ts +12 -0
- package/dist/utils/sidebarProjects.d.ts.map +1 -0
- package/dist/utils/sidebarProjects.js +59 -0
- package/dist/utils/sidebarProjects.js.map +1 -0
- package/dist/utils/worktreeMetadata.d.ts +3 -0
- package/dist/utils/worktreeMetadata.d.ts.map +1 -1
- package/dist/utils/worktreeMetadata.js +14 -0
- package/dist/utils/worktreeMetadata.js.map +1 -1
- package/package.json +1 -1
|
@@ -10,16 +10,18 @@ import { enforceControlPaneSize } from "../utils/tmux.js";
|
|
|
10
10
|
import { SIDEBAR_WIDTH } from "../utils/layoutManager.js";
|
|
11
11
|
import { suggestCommand } from "../utils/commands.js";
|
|
12
12
|
import { getPaneProjectName, getPaneProjectRoot } from "../utils/paneProject.js";
|
|
13
|
-
import { getProjectActionByIndex, } from "../utils/projectActions.js";
|
|
13
|
+
import { buildProjectActionLayout, getProjectActionByIndex, } from "../utils/projectActions.js";
|
|
14
14
|
import { createShellPane, getNextDmuxId } from "../utils/shellPaneDetection.js";
|
|
15
15
|
import { getBulkVisibilityAction, getProjectVisibilityAction, partitionPanesByProject, } from "../utils/paneVisibility.js";
|
|
16
16
|
import { buildFilesOnlyCommand } from "../utils/dmuxCommand.js";
|
|
17
|
+
import { addSidebarProject, hasSidebarProject, removeSidebarProject, sameSidebarProjectRoot, } from "../utils/sidebarProjects.js";
|
|
18
|
+
import { drainRemotePaneActions, getCurrentTmuxSessionName, } from "../utils/remotePaneActions.js";
|
|
17
19
|
/**
|
|
18
20
|
* Hook that handles all keyboard input for the TUI
|
|
19
21
|
* Extracted from DmuxApp.tsx to reduce component complexity
|
|
20
22
|
*/
|
|
21
23
|
export function useInputHandling(params) {
|
|
22
|
-
const { panes, selectedIndex, setSelectedIndex, isCreatingPane, setIsCreatingPane, runningCommand, isUpdating, isLoading, ignoreInput, isDevMode, quitConfirmMode, setQuitConfirmMode, showCommandPrompt, setShowCommandPrompt, commandInput, setCommandInput, showFileCopyPrompt, setShowFileCopyPrompt, currentCommandType, setCurrentCommandType, projectSettings, saveSettings, settingsManager, popupManager, actionSystem, controlPaneId, setStatusMessage, copyNonGitFiles, runCommandInternal, handlePaneCreationWithAgent, handleCreateChildWorktree, handleReopenWorktree, setDevSourceFromPane, savePanes, loadPanes, cleanExit, availableAgents, panesFile, projectRoot, projectActionItems, findCardInDirection, } = params;
|
|
24
|
+
const { panes, selectedIndex, setSelectedIndex, isCreatingPane, setIsCreatingPane, runningCommand, isUpdating, isLoading, ignoreInput, isDevMode, quitConfirmMode, setQuitConfirmMode, showCommandPrompt, setShowCommandPrompt, commandInput, setCommandInput, showFileCopyPrompt, setShowFileCopyPrompt, currentCommandType, setCurrentCommandType, projectSettings, saveSettings, settingsManager, popupManager, actionSystem, controlPaneId, setStatusMessage, copyNonGitFiles, runCommandInternal, handlePaneCreationWithAgent, handleCreateChildWorktree, handleReopenWorktree, setDevSourceFromPane, savePanes, sidebarProjects, saveSidebarProjects, loadPanes, cleanExit, availableAgents, panesFile, projectRoot, projectActionItems, findCardInDirection, } = params;
|
|
23
25
|
const layoutRefreshDebounceRef = useRef(null);
|
|
24
26
|
useEffect(() => {
|
|
25
27
|
return () => {
|
|
@@ -77,6 +79,14 @@ export function useInputHandling(params) {
|
|
|
77
79
|
setTimeout(() => setStatusMessage(""), STATUS_MESSAGE_DURATION_LONG);
|
|
78
80
|
}
|
|
79
81
|
};
|
|
82
|
+
const selectProjectAction = (targetProjectRoot, projectsToRender = sidebarProjects) => {
|
|
83
|
+
const actionLayout = buildProjectActionLayout(panes, projectsToRender, projectRoot, path.basename(projectRoot));
|
|
84
|
+
const selectedAction = actionLayout.actionItems.find((action) => action.kind === "new-agent" &&
|
|
85
|
+
sameSidebarProjectRoot(action.projectRoot, targetProjectRoot));
|
|
86
|
+
if (selectedAction) {
|
|
87
|
+
setSelectedIndex(selectedAction.index);
|
|
88
|
+
}
|
|
89
|
+
};
|
|
80
90
|
const openTerminalInWorktree = async (selectedPane) => {
|
|
81
91
|
if (!selectedPane.worktreePath) {
|
|
82
92
|
setStatusMessage("Cannot open terminal: this pane has no worktree");
|
|
@@ -169,7 +179,7 @@ export function useInputHandling(params) {
|
|
|
169
179
|
setIsCreatingPane(false);
|
|
170
180
|
}
|
|
171
181
|
};
|
|
172
|
-
const
|
|
182
|
+
const handleAddProjectToSidebar = async () => {
|
|
173
183
|
const selectedAction = getProjectActionByIndex(projectActionItems, selectedIndex);
|
|
174
184
|
const selectedPane = selectedIndex < panes.length ? panes[selectedIndex] : undefined;
|
|
175
185
|
const defaultProjectPath = selectedPane
|
|
@@ -182,17 +192,49 @@ export function useInputHandling(params) {
|
|
|
182
192
|
try {
|
|
183
193
|
const { resolveProjectRootFromPath } = await import("../utils/projectRoot.js");
|
|
184
194
|
const resolved = resolveProjectRootFromPath(requestedProjectPath, projectRoot);
|
|
185
|
-
const
|
|
186
|
-
|
|
195
|
+
const nextProjects = addSidebarProject(sidebarProjects, {
|
|
196
|
+
projectRoot: resolved.projectRoot,
|
|
197
|
+
projectName: resolved.projectName,
|
|
198
|
+
});
|
|
199
|
+
if (nextProjects === sidebarProjects) {
|
|
200
|
+
selectProjectAction(resolved.projectRoot);
|
|
201
|
+
setStatusMessage(`${resolved.projectName} is already in the sidebar`);
|
|
202
|
+
setTimeout(() => setStatusMessage(""), STATUS_MESSAGE_DURATION_SHORT);
|
|
187
203
|
return;
|
|
188
204
|
}
|
|
189
|
-
await
|
|
205
|
+
const savedProjects = await saveSidebarProjects(nextProjects);
|
|
206
|
+
selectProjectAction(resolved.projectRoot, savedProjects);
|
|
207
|
+
setStatusMessage(`Added ${resolved.projectName} to the sidebar`);
|
|
208
|
+
setTimeout(() => setStatusMessage(""), STATUS_MESSAGE_DURATION_SHORT);
|
|
190
209
|
}
|
|
191
210
|
catch (error) {
|
|
192
211
|
setStatusMessage(error?.message || "Invalid project path");
|
|
193
212
|
setTimeout(() => setStatusMessage(""), STATUS_MESSAGE_DURATION_LONG);
|
|
194
213
|
}
|
|
195
214
|
};
|
|
215
|
+
const handleRemoveProjectFromSidebar = async (targetProjectRoot) => {
|
|
216
|
+
if (sameSidebarProjectRoot(targetProjectRoot, projectRoot)) {
|
|
217
|
+
setStatusMessage("The session project cannot be removed from the sidebar");
|
|
218
|
+
setTimeout(() => setStatusMessage(""), STATUS_MESSAGE_DURATION_SHORT);
|
|
219
|
+
return;
|
|
220
|
+
}
|
|
221
|
+
const projectHasPanes = panes.some((pane) => sameSidebarProjectRoot(getPaneProjectRoot(pane, projectRoot), targetProjectRoot));
|
|
222
|
+
if (projectHasPanes) {
|
|
223
|
+
setStatusMessage("Close this project's panes before removing it from the sidebar");
|
|
224
|
+
setTimeout(() => setStatusMessage(""), STATUS_MESSAGE_DURATION_LONG);
|
|
225
|
+
return;
|
|
226
|
+
}
|
|
227
|
+
if (!hasSidebarProject(sidebarProjects, targetProjectRoot)) {
|
|
228
|
+
setStatusMessage("Project is not in the sidebar");
|
|
229
|
+
setTimeout(() => setStatusMessage(""), STATUS_MESSAGE_DURATION_SHORT);
|
|
230
|
+
return;
|
|
231
|
+
}
|
|
232
|
+
const updatedProjects = removeSidebarProject(sidebarProjects, targetProjectRoot);
|
|
233
|
+
const savedProjects = await saveSidebarProjects(updatedProjects);
|
|
234
|
+
selectProjectAction(projectRoot, savedProjects);
|
|
235
|
+
setStatusMessage(`Removed ${path.basename(targetProjectRoot)} from the sidebar`);
|
|
236
|
+
setTimeout(() => setStatusMessage(""), STATUS_MESSAGE_DURATION_SHORT);
|
|
237
|
+
};
|
|
196
238
|
const getActiveProjectRoot = () => {
|
|
197
239
|
const selectedPane = selectedIndex < panes.length ? panes[selectedIndex] : undefined;
|
|
198
240
|
if (selectedPane) {
|
|
@@ -377,8 +419,8 @@ export function useInputHandling(params) {
|
|
|
377
419
|
setIsCreatingPane(false);
|
|
378
420
|
}
|
|
379
421
|
};
|
|
380
|
-
const openPaneMenu = async (pane) => {
|
|
381
|
-
const actionId = await popupManager.launchKebabMenuPopup(pane, panes);
|
|
422
|
+
const openPaneMenu = async (pane, options = {}) => {
|
|
423
|
+
const actionId = await popupManager.launchKebabMenuPopup(pane, panes, options);
|
|
382
424
|
if (!actionId) {
|
|
383
425
|
return;
|
|
384
426
|
}
|
|
@@ -511,6 +553,145 @@ export function useInputHandling(params) {
|
|
|
511
553
|
setIsCreatingPane(false);
|
|
512
554
|
}
|
|
513
555
|
};
|
|
556
|
+
const isInteractionBlocked = () => ignoreInput
|
|
557
|
+
|| isCreatingPane
|
|
558
|
+
|| runningCommand
|
|
559
|
+
|| isUpdating
|
|
560
|
+
|| isLoading
|
|
561
|
+
|| showFileCopyPrompt
|
|
562
|
+
|| showCommandPrompt !== null;
|
|
563
|
+
const reopenClosedWorktreesInProject = async (targetProjectRoot) => {
|
|
564
|
+
const activeSlugs = panes
|
|
565
|
+
.filter((pane) => getPaneProjectRoot(pane, projectRoot) === targetProjectRoot)
|
|
566
|
+
.map((pane) => pane.slug);
|
|
567
|
+
const orphanedWorktrees = getOrphanedWorktrees(targetProjectRoot, activeSlugs);
|
|
568
|
+
if (orphanedWorktrees.length === 0) {
|
|
569
|
+
setStatusMessage(`No closed worktrees in ${targetProjectRoot}`);
|
|
570
|
+
setTimeout(() => setStatusMessage(""), STATUS_MESSAGE_DURATION_SHORT);
|
|
571
|
+
return;
|
|
572
|
+
}
|
|
573
|
+
const result = await popupManager.launchReopenWorktreePopup(orphanedWorktrees, targetProjectRoot);
|
|
574
|
+
if (result) {
|
|
575
|
+
await handleReopenWorktree(result.slug, result.path, targetProjectRoot);
|
|
576
|
+
}
|
|
577
|
+
};
|
|
578
|
+
const executePaneShortcut = async (shortcut, selectedPane, options = {}) => {
|
|
579
|
+
switch (shortcut) {
|
|
580
|
+
case "a":
|
|
581
|
+
await attachAgentsToPane(selectedPane);
|
|
582
|
+
return;
|
|
583
|
+
case "b":
|
|
584
|
+
await handleCreateChildWorktree(selectedPane);
|
|
585
|
+
return;
|
|
586
|
+
case "f":
|
|
587
|
+
await openFileBrowserInWorktree(selectedPane);
|
|
588
|
+
return;
|
|
589
|
+
case "A":
|
|
590
|
+
await openTerminalInWorktree(selectedPane);
|
|
591
|
+
return;
|
|
592
|
+
case "m":
|
|
593
|
+
await openPaneMenu(selectedPane, {
|
|
594
|
+
anchorToPane: options.anchorMenuToPane,
|
|
595
|
+
});
|
|
596
|
+
return;
|
|
597
|
+
case "h":
|
|
598
|
+
await togglePaneVisibility(selectedPane);
|
|
599
|
+
return;
|
|
600
|
+
case "H":
|
|
601
|
+
await toggleOtherPanesVisibility(selectedPane);
|
|
602
|
+
return;
|
|
603
|
+
case "P":
|
|
604
|
+
await toggleProjectPanesVisibility(getPaneProjectRoot(selectedPane, projectRoot));
|
|
605
|
+
return;
|
|
606
|
+
case "r":
|
|
607
|
+
await reopenClosedWorktreesInProject(getPaneProjectRoot(selectedPane, projectRoot));
|
|
608
|
+
return;
|
|
609
|
+
case "S":
|
|
610
|
+
if (!isDevMode) {
|
|
611
|
+
setStatusMessage("Source switching is only available in DEV mode");
|
|
612
|
+
setTimeout(() => setStatusMessage(""), STATUS_MESSAGE_DURATION_SHORT);
|
|
613
|
+
return;
|
|
614
|
+
}
|
|
615
|
+
await setDevSourceFromPane(selectedPane);
|
|
616
|
+
return;
|
|
617
|
+
case "j":
|
|
618
|
+
StateManager.getInstance().setDebugMessage(`Jumping to pane: ${selectedPane.slug}`);
|
|
619
|
+
setTimeout(() => StateManager.getInstance().setDebugMessage(""), STATUS_MESSAGE_DURATION_SHORT);
|
|
620
|
+
await actionSystem.executeAction(PaneAction.VIEW, selectedPane);
|
|
621
|
+
return;
|
|
622
|
+
case "x":
|
|
623
|
+
StateManager.getInstance().setDebugMessage(`Closing pane: ${selectedPane.slug}`);
|
|
624
|
+
setTimeout(() => StateManager.getInstance().setDebugMessage(""), STATUS_MESSAGE_DURATION_SHORT);
|
|
625
|
+
await actionSystem.executeAction(PaneAction.CLOSE, selectedPane);
|
|
626
|
+
return;
|
|
627
|
+
}
|
|
628
|
+
};
|
|
629
|
+
const remoteDrainRef = useRef(Promise.resolve());
|
|
630
|
+
useEffect(() => {
|
|
631
|
+
const drainQueuedRemoteActions = async () => {
|
|
632
|
+
const sessionName = getCurrentTmuxSessionName();
|
|
633
|
+
if (!sessionName) {
|
|
634
|
+
return;
|
|
635
|
+
}
|
|
636
|
+
const queuedActions = await drainRemotePaneActions(sessionName);
|
|
637
|
+
if (queuedActions.length === 0) {
|
|
638
|
+
return;
|
|
639
|
+
}
|
|
640
|
+
for (const action of queuedActions) {
|
|
641
|
+
if (isInteractionBlocked()) {
|
|
642
|
+
setStatusMessage(`dmux is busy; ignored remote pane action ${action.shortcut}`);
|
|
643
|
+
setTimeout(() => setStatusMessage(""), STATUS_MESSAGE_DURATION_LONG);
|
|
644
|
+
continue;
|
|
645
|
+
}
|
|
646
|
+
const paneIndex = panes.findIndex((pane) => pane.paneId === action.targetPaneId);
|
|
647
|
+
if (paneIndex === -1) {
|
|
648
|
+
setStatusMessage(`Focused pane is not managed by dmux: ${action.targetPaneId}`);
|
|
649
|
+
setTimeout(() => setStatusMessage(""), STATUS_MESSAGE_DURATION_LONG);
|
|
650
|
+
continue;
|
|
651
|
+
}
|
|
652
|
+
setSelectedIndex(paneIndex);
|
|
653
|
+
await executePaneShortcut(action.shortcut, panes[paneIndex], {
|
|
654
|
+
anchorMenuToPane: true,
|
|
655
|
+
});
|
|
656
|
+
}
|
|
657
|
+
};
|
|
658
|
+
const queueDrain = () => {
|
|
659
|
+
remoteDrainRef.current = remoteDrainRef.current
|
|
660
|
+
.then(drainQueuedRemoteActions)
|
|
661
|
+
.catch((error) => {
|
|
662
|
+
setStatusMessage(`Failed to process remote pane action: ${error?.message || String(error)}`);
|
|
663
|
+
setTimeout(() => setStatusMessage(""), STATUS_MESSAGE_DURATION_LONG);
|
|
664
|
+
});
|
|
665
|
+
return remoteDrainRef.current;
|
|
666
|
+
};
|
|
667
|
+
const handleRemoteSignal = () => {
|
|
668
|
+
void queueDrain();
|
|
669
|
+
};
|
|
670
|
+
void queueDrain();
|
|
671
|
+
process.on("dmux-external-command-signal", handleRemoteSignal);
|
|
672
|
+
return () => {
|
|
673
|
+
process.off("dmux-external-command-signal", handleRemoteSignal);
|
|
674
|
+
};
|
|
675
|
+
}, [
|
|
676
|
+
actionSystem,
|
|
677
|
+
handleCreateChildWorktree,
|
|
678
|
+
handleReopenWorktree,
|
|
679
|
+
ignoreInput,
|
|
680
|
+
isCreatingPane,
|
|
681
|
+
isDevMode,
|
|
682
|
+
isLoading,
|
|
683
|
+
isUpdating,
|
|
684
|
+
panes,
|
|
685
|
+
popupManager,
|
|
686
|
+
projectRoot,
|
|
687
|
+
runCommandInternal,
|
|
688
|
+
runningCommand,
|
|
689
|
+
setDevSourceFromPane,
|
|
690
|
+
setSelectedIndex,
|
|
691
|
+
setStatusMessage,
|
|
692
|
+
showCommandPrompt,
|
|
693
|
+
showFileCopyPrompt,
|
|
694
|
+
]);
|
|
514
695
|
useInput(async (input, key) => {
|
|
515
696
|
// Ignore input temporarily after popup operations (prevents buffered keys from being processed)
|
|
516
697
|
if (ignoreInput) {
|
|
@@ -644,27 +825,11 @@ export function useInputHandling(params) {
|
|
|
644
825
|
}
|
|
645
826
|
return;
|
|
646
827
|
}
|
|
647
|
-
if (
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
}
|
|
651
|
-
else if (input === "b" && selectedIndex < panes.length) {
|
|
652
|
-
await handleCreateChildWorktree(panes[selectedIndex]);
|
|
828
|
+
if (selectedIndex < panes.length
|
|
829
|
+
&& ["a", "b", "f", "A", "m"].includes(input)) {
|
|
830
|
+
await executePaneShortcut(input, panes[selectedIndex]);
|
|
653
831
|
return;
|
|
654
832
|
}
|
|
655
|
-
else if (input === "f" && selectedIndex < panes.length) {
|
|
656
|
-
await openFileBrowserInWorktree(panes[selectedIndex]);
|
|
657
|
-
return;
|
|
658
|
-
}
|
|
659
|
-
else if (input === "A" && selectedIndex < panes.length) {
|
|
660
|
-
await openTerminalInWorktree(panes[selectedIndex]);
|
|
661
|
-
return;
|
|
662
|
-
}
|
|
663
|
-
else if (input === "m" && selectedIndex < panes.length) {
|
|
664
|
-
// Open kebab menu popup for selected pane
|
|
665
|
-
const selectedPane = panes[selectedIndex];
|
|
666
|
-
await openPaneMenu(selectedPane);
|
|
667
|
-
}
|
|
668
833
|
else if (input === "s") {
|
|
669
834
|
// Open settings popup
|
|
670
835
|
const result = await popupManager.launchSettingsPopup(async () => {
|
|
@@ -717,7 +882,7 @@ export function useInputHandling(params) {
|
|
|
717
882
|
}
|
|
718
883
|
else if (input === "h") {
|
|
719
884
|
if (selectedIndex < panes.length) {
|
|
720
|
-
await
|
|
885
|
+
await executePaneShortcut("h", panes[selectedIndex]);
|
|
721
886
|
}
|
|
722
887
|
else {
|
|
723
888
|
setStatusMessage("Select a pane to toggle visibility");
|
|
@@ -726,7 +891,7 @@ export function useInputHandling(params) {
|
|
|
726
891
|
}
|
|
727
892
|
else if (input === "H") {
|
|
728
893
|
if (selectedIndex < panes.length) {
|
|
729
|
-
await
|
|
894
|
+
await executePaneShortcut("H", panes[selectedIndex]);
|
|
730
895
|
}
|
|
731
896
|
else {
|
|
732
897
|
setStatusMessage("Select a pane to toggle the others");
|
|
@@ -734,7 +899,12 @@ export function useInputHandling(params) {
|
|
|
734
899
|
}
|
|
735
900
|
}
|
|
736
901
|
else if (input === "P") {
|
|
737
|
-
|
|
902
|
+
if (selectedIndex < panes.length) {
|
|
903
|
+
await executePaneShortcut("P", panes[selectedIndex]);
|
|
904
|
+
}
|
|
905
|
+
else {
|
|
906
|
+
await toggleProjectPanesVisibility();
|
|
907
|
+
}
|
|
738
908
|
}
|
|
739
909
|
else if (input === "?") {
|
|
740
910
|
// Open keyboard shortcuts popup
|
|
@@ -771,35 +941,26 @@ export function useInputHandling(params) {
|
|
|
771
941
|
cleanExit();
|
|
772
942
|
}
|
|
773
943
|
else if (isDevMode && input === "S" && selectedIndex < panes.length) {
|
|
774
|
-
await
|
|
944
|
+
await executePaneShortcut("S", panes[selectedIndex]);
|
|
775
945
|
return;
|
|
776
946
|
}
|
|
777
947
|
else if (input === "r") {
|
|
778
|
-
// Reopen closed worktree popup
|
|
779
948
|
const selectedPane = selectedIndex < panes.length ? panes[selectedIndex] : undefined;
|
|
780
949
|
const targetProjectRoot = selectedPane
|
|
781
950
|
? getPaneProjectRoot(selectedPane, projectRoot)
|
|
782
951
|
: projectRoot;
|
|
783
|
-
|
|
784
|
-
.filter((p) => getPaneProjectRoot(p, projectRoot) === targetProjectRoot)
|
|
785
|
-
.map((p) => p.slug);
|
|
786
|
-
const orphanedWorktrees = getOrphanedWorktrees(targetProjectRoot, activeSlugs);
|
|
787
|
-
if (orphanedWorktrees.length === 0) {
|
|
788
|
-
setStatusMessage(`No closed worktrees in ${targetProjectRoot}`);
|
|
789
|
-
setTimeout(() => setStatusMessage(""), STATUS_MESSAGE_DURATION_SHORT);
|
|
790
|
-
return;
|
|
791
|
-
}
|
|
792
|
-
const result = await popupManager.launchReopenWorktreePopup(orphanedWorktrees, targetProjectRoot);
|
|
793
|
-
if (result) {
|
|
794
|
-
await handleReopenWorktree(result.slug, result.path, targetProjectRoot);
|
|
795
|
-
}
|
|
952
|
+
await reopenClosedWorktreesInProject(targetProjectRoot);
|
|
796
953
|
return;
|
|
797
954
|
}
|
|
798
955
|
else if (!isLoading &&
|
|
799
956
|
(input === "p" ||
|
|
800
957
|
input === "N")) {
|
|
801
|
-
//
|
|
802
|
-
await
|
|
958
|
+
// Add a project to the sidebar ([p], with Shift+N fallback)
|
|
959
|
+
await handleAddProjectToSidebar();
|
|
960
|
+
return;
|
|
961
|
+
}
|
|
962
|
+
else if (!isLoading && input === "R") {
|
|
963
|
+
await handleRemoveProjectFromSidebar(getActiveProjectRoot());
|
|
803
964
|
return;
|
|
804
965
|
}
|
|
805
966
|
else if (!isLoading && input === "n") {
|
|
@@ -820,19 +981,15 @@ export function useInputHandling(params) {
|
|
|
820
981
|
else if (selectedAction.kind === "terminal") {
|
|
821
982
|
await handleCreateTerminalPane(selectedAction.projectRoot);
|
|
822
983
|
}
|
|
984
|
+
else if (selectedAction.kind === "remove-project") {
|
|
985
|
+
await handleRemoveProjectFromSidebar(selectedAction.projectRoot);
|
|
986
|
+
}
|
|
823
987
|
return;
|
|
824
988
|
}
|
|
825
|
-
else if (
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
actionSystem.executeAction(PaneAction.VIEW, panes[selectedIndex]);
|
|
830
|
-
}
|
|
831
|
-
else if (input === "x" && selectedIndex < panes.length) {
|
|
832
|
-
// Close pane (NEW: using action system)
|
|
833
|
-
StateManager.getInstance().setDebugMessage(`Closing pane: ${panes[selectedIndex].slug}`);
|
|
834
|
-
setTimeout(() => StateManager.getInstance().setDebugMessage(""), STATUS_MESSAGE_DURATION_SHORT);
|
|
835
|
-
actionSystem.executeAction(PaneAction.CLOSE, panes[selectedIndex]);
|
|
989
|
+
else if (selectedIndex < panes.length
|
|
990
|
+
&& (input === "j" || input === "x")) {
|
|
991
|
+
await executePaneShortcut(input, panes[selectedIndex]);
|
|
992
|
+
return;
|
|
836
993
|
}
|
|
837
994
|
else if (key.return && selectedIndex < panes.length) {
|
|
838
995
|
// Open pane menu for selected pane
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useInputHandling.js","sourceRoot":"","sources":["../../src/hooks/useInputHandling.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useInputHandling.js","sourceRoot":"","sources":["../../src/hooks/useInputHandling.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import type { DmuxPane } from '../types.js';
|
|
1
|
+
import type { DmuxPane, SidebarProject } from '../types.js';
|
|
2
2
|
export interface DmuxConfig {
|
|
3
3
|
projectName?: string;
|
|
4
4
|
projectRoot?: string;
|
|
5
5
|
panes: DmuxPane[];
|
|
6
|
+
sidebarProjects?: SidebarProject[];
|
|
6
7
|
settings?: any;
|
|
7
8
|
lastUpdated?: string;
|
|
8
9
|
controlPaneId?: string;
|
|
@@ -27,6 +28,7 @@ export declare function fetchTmuxPaneIds(maxRetries?: number): Promise<{
|
|
|
27
28
|
* Handles both old array format and new config format
|
|
28
29
|
*/
|
|
29
30
|
export declare function loadPanesFromFile(panesFile: string): Promise<DmuxPane[]>;
|
|
31
|
+
export declare function loadSidebarProjectsFromFile(panesFile: string, panes?: DmuxPane[]): Promise<SidebarProject[]>;
|
|
30
32
|
/**
|
|
31
33
|
* Recreates missing worktree panes that exist in config but not in tmux
|
|
32
34
|
* Only called on initial load
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePaneLoading.d.ts","sourceRoot":"","sources":["../../src/hooks/usePaneLoading.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"usePaneLoading.d.ts","sourceRoot":"","sources":["../../src/hooks/usePaneLoading.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAkB5D,MAAM,WAAW,UAAU;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;IACnC,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,UAAU,cAAc;IACtB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AAuBD;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,UAAU,SAAI,GAAG,OAAO,CAAC;IAC9D,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,oBAAoB,EAAE,MAAM,EAAE,CAAC;CAChC,CAAC,CAoCD;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAoB9E;AAED,wBAAsB,2BAA2B,CAC/C,SAAS,EAAE,MAAM,EACjB,KAAK,CAAC,EAAE,QAAQ,EAAE,GACjB,OAAO,CAAC,cAAc,EAAE,CAAC,CA4B3B;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,YAAY,EAAE,QAAQ,EAAE,EACxB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CAiCf;AAED;;;;;;GAMG;AACH,wBAAsB,2BAA2B,CAC/C,KAAK,EAAE,QAAQ,EAAE,EACjB,UAAU,EAAE,MAAM,EAAE,EACpB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,QAAQ,EAAE,CAAC,CAqGrB;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,OAAO,GACrB,OAAO,CAAC,cAAc,CAAC,CAgFzB"}
|
|
@@ -7,8 +7,22 @@ import { TmuxService } from '../services/TmuxService.js';
|
|
|
7
7
|
import { PaneLifecycleManager } from '../services/PaneLifecycleManager.js';
|
|
8
8
|
import { TMUX_RETRY_DELAY } from '../constants/timing.js';
|
|
9
9
|
import { atomicWriteJson } from '../utils/atomicWrite.js';
|
|
10
|
+
import { buildAgentResumeOrLaunchCommand } from '../utils/agentLaunch.js';
|
|
11
|
+
import { ensureGeminiFolderTrusted } from '../utils/geminiTrust.js';
|
|
10
12
|
import { getPaneTmuxTitle } from '../utils/paneTitle.js';
|
|
11
13
|
import { getVisiblePanes, syncHiddenStateFromCurrentWindow, } from '../utils/paneVisibility.js';
|
|
14
|
+
import { normalizeSidebarProjects } from '../utils/sidebarProjects.js';
|
|
15
|
+
async function restoreAgentSessionForPane(tmuxService, pane, paneId) {
|
|
16
|
+
if (!pane.agent) {
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
if (pane.agent === 'gemini' && pane.worktreePath) {
|
|
20
|
+
ensureGeminiFolderTrusted(pane.worktreePath);
|
|
21
|
+
}
|
|
22
|
+
await new Promise((resolve) => setTimeout(resolve, 200));
|
|
23
|
+
await tmuxService.sendShellCommand(paneId, buildAgentResumeOrLaunchCommand(pane.agent, pane.permissionMode));
|
|
24
|
+
await tmuxService.sendTmuxKeys(paneId, 'Enter');
|
|
25
|
+
}
|
|
12
26
|
/**
|
|
13
27
|
* Fetches all tmux pane IDs and titles for the current session
|
|
14
28
|
* Retries up to maxRetries times with delay between attempts
|
|
@@ -74,6 +88,24 @@ export async function loadPanesFromFile(panesFile) {
|
|
|
74
88
|
return [];
|
|
75
89
|
}
|
|
76
90
|
}
|
|
91
|
+
export async function loadSidebarProjectsFromFile(panesFile, panes) {
|
|
92
|
+
const fallbackProjectRoot = path.dirname(path.dirname(panesFile));
|
|
93
|
+
try {
|
|
94
|
+
const content = await fs.readFile(panesFile, 'utf-8');
|
|
95
|
+
const parsed = JSON.parse(content);
|
|
96
|
+
const config = Array.isArray(parsed)
|
|
97
|
+
? { panes: parsed }
|
|
98
|
+
: parsed;
|
|
99
|
+
const configPanes = Array.isArray(config.panes) ? config.panes : [];
|
|
100
|
+
const effectivePanes = panes || configPanes;
|
|
101
|
+
const projectRoot = config.projectRoot || fallbackProjectRoot;
|
|
102
|
+
const projectName = config.projectName || path.basename(projectRoot);
|
|
103
|
+
return normalizeSidebarProjects(config.sidebarProjects, effectivePanes, projectRoot, projectName);
|
|
104
|
+
}
|
|
105
|
+
catch {
|
|
106
|
+
return normalizeSidebarProjects(undefined, panes || [], fallbackProjectRoot, path.basename(fallbackProjectRoot));
|
|
107
|
+
}
|
|
108
|
+
}
|
|
77
109
|
/**
|
|
78
110
|
* Recreates missing worktree panes that exist in config but not in tmux
|
|
79
111
|
* Only called on initial load
|
|
@@ -96,6 +128,7 @@ export async function recreateMissingPanes(missingPanes, panesFile) {
|
|
|
96
128
|
const promptPreview = missingPane.prompt?.substring(0, 50) || '';
|
|
97
129
|
await tmuxService.sendKeys(newPaneId, `"echo '# Original prompt: ${promptPreview}...'" Enter`);
|
|
98
130
|
await tmuxService.sendKeys(newPaneId, `"cd ${missingPane.worktreePath || process.cwd()}" Enter`);
|
|
131
|
+
await restoreAgentSessionForPane(tmuxService, missingPane, newPaneId);
|
|
99
132
|
}
|
|
100
133
|
catch (error) {
|
|
101
134
|
// If we can't create the pane, skip it
|
|
@@ -159,6 +192,7 @@ export async function recreateKilledWorktreePanes(panes, allPaneIds, panesFile)
|
|
|
159
192
|
await tmuxService.sendKeys(newPaneId, `"echo '# Original prompt: ${promptPreview}...'" Enter`);
|
|
160
193
|
}
|
|
161
194
|
await tmuxService.sendKeys(newPaneId, `"cd ${pane.worktreePath}" Enter`);
|
|
195
|
+
await restoreAgentSessionForPane(tmuxService, pane, newPaneId);
|
|
162
196
|
// LogService.getInstance().debug(
|
|
163
197
|
// `Recreated worktree pane ${pane.id} (${pane.slug}) with new ID ${newPaneId}`,
|
|
164
198
|
// 'shellDetection'
|
|
@@ -224,6 +258,9 @@ export async function loadAndProcessPanes(panesFile, isInitialLoad) {
|
|
|
224
258
|
const configContent = await fs.readFile(panesFile, 'utf-8');
|
|
225
259
|
const config = JSON.parse(configContent);
|
|
226
260
|
config.panes = reboundPanes;
|
|
261
|
+
const projectRoot = config.projectRoot || path.dirname(path.dirname(panesFile));
|
|
262
|
+
const projectName = config.projectName || path.basename(projectRoot);
|
|
263
|
+
config.sidebarProjects = normalizeSidebarProjects(config.sidebarProjects, reboundPanes, projectRoot, projectName);
|
|
227
264
|
config.lastUpdated = new Date().toISOString();
|
|
228
265
|
await atomicWriteJson(panesFile, config);
|
|
229
266
|
LogService.getInstance().debug('Saved cleaned config after removing stale shell panes', 'usePaneLoading');
|