dmux 3.2.0 → 3.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/DmuxApp.d.ts.map +1 -1
- package/dist/DmuxApp.js +270 -1606
- package/dist/DmuxApp.js.map +1 -1
- package/dist/actions/implementations/closeAction.d.ts +10 -0
- package/dist/actions/implementations/closeAction.d.ts.map +1 -0
- package/dist/actions/implementations/closeAction.js +201 -0
- package/dist/actions/implementations/closeAction.js.map +1 -0
- package/dist/actions/implementations/copyPathAction.d.ts +10 -0
- package/dist/actions/implementations/copyPathAction.d.ts.map +1 -0
- package/dist/actions/implementations/copyPathAction.js +34 -0
- package/dist/actions/implementations/copyPathAction.js.map +1 -0
- package/dist/actions/implementations/duplicateAction.d.ts +10 -0
- package/dist/actions/implementations/duplicateAction.d.ts.map +1 -0
- package/dist/actions/implementations/duplicateAction.js +25 -0
- package/dist/actions/implementations/duplicateAction.js.map +1 -0
- package/dist/actions/implementations/index.d.ts +14 -0
- package/dist/actions/implementations/index.d.ts.map +1 -0
- package/dist/actions/implementations/index.js +14 -0
- package/dist/actions/implementations/index.js.map +1 -0
- package/dist/actions/implementations/mergeAction.d.ts +14 -0
- package/dist/actions/implementations/mergeAction.d.ts.map +1 -0
- package/dist/actions/implementations/mergeAction.js +84 -0
- package/dist/actions/implementations/mergeAction.js.map +1 -0
- package/dist/actions/implementations/openInEditorAction.d.ts +12 -0
- package/dist/actions/implementations/openInEditorAction.d.ts.map +1 -0
- package/dist/actions/implementations/openInEditorAction.js +33 -0
- package/dist/actions/implementations/openInEditorAction.js.map +1 -0
- package/dist/actions/implementations/renameAction.d.ts +13 -0
- package/dist/actions/implementations/renameAction.d.ts.map +1 -0
- package/dist/actions/implementations/renameAction.js +18 -0
- package/dist/actions/implementations/renameAction.js.map +1 -0
- package/dist/actions/implementations/toggleAutopilotAction.d.ts +10 -0
- package/dist/actions/implementations/toggleAutopilotAction.d.ts.map +1 -0
- package/dist/actions/implementations/toggleAutopilotAction.js +33 -0
- package/dist/actions/implementations/toggleAutopilotAction.js.map +1 -0
- package/dist/actions/implementations/viewAction.d.ts +10 -0
- package/dist/actions/implementations/viewAction.d.ts.map +1 -0
- package/dist/actions/implementations/viewAction.js +26 -0
- package/dist/actions/implementations/viewAction.js.map +1 -0
- package/dist/actions/merge/commitMessageHandler.d.ts +27 -0
- package/dist/actions/merge/commitMessageHandler.d.ts.map +1 -0
- package/dist/actions/merge/commitMessageHandler.js +123 -0
- package/dist/actions/merge/commitMessageHandler.js.map +1 -0
- package/dist/actions/merge/conflictResolution.d.ts +13 -0
- package/dist/actions/merge/conflictResolution.d.ts.map +1 -0
- package/dist/actions/merge/conflictResolution.js +134 -0
- package/dist/actions/merge/conflictResolution.js.map +1 -0
- package/dist/actions/merge/issueHandlers/index.d.ts +11 -0
- package/dist/actions/merge/issueHandlers/index.d.ts.map +1 -0
- package/dist/actions/merge/issueHandlers/index.js +8 -0
- package/dist/actions/merge/issueHandlers/index.js.map +1 -0
- package/dist/actions/merge/issueHandlers/mainDirtyHandler.d.ts +13 -0
- package/dist/actions/merge/issueHandlers/mainDirtyHandler.d.ts.map +1 -0
- package/dist/actions/merge/issueHandlers/mainDirtyHandler.js +72 -0
- package/dist/actions/merge/issueHandlers/mainDirtyHandler.js.map +1 -0
- package/dist/actions/merge/issueHandlers/mergeConflictHandler.d.ts +13 -0
- package/dist/actions/merge/issueHandlers/mergeConflictHandler.d.ts.map +1 -0
- package/dist/actions/merge/issueHandlers/mergeConflictHandler.js +52 -0
- package/dist/actions/merge/issueHandlers/mergeConflictHandler.js.map +1 -0
- package/dist/actions/merge/issueHandlers/nothingToMergeHandler.d.ts +7 -0
- package/dist/actions/merge/issueHandlers/nothingToMergeHandler.d.ts.map +1 -0
- package/dist/actions/merge/issueHandlers/nothingToMergeHandler.js +12 -0
- package/dist/actions/merge/issueHandlers/nothingToMergeHandler.js.map +1 -0
- package/dist/actions/merge/issueHandlers/worktreeUncommittedHandler.d.ts +13 -0
- package/dist/actions/merge/issueHandlers/worktreeUncommittedHandler.d.ts.map +1 -0
- package/dist/actions/merge/issueHandlers/worktreeUncommittedHandler.js +49 -0
- package/dist/actions/merge/issueHandlers/worktreeUncommittedHandler.js.map +1 -0
- package/dist/actions/merge/mergeExecution.d.ts +22 -0
- package/dist/actions/merge/mergeExecution.d.ts.map +1 -0
- package/dist/actions/merge/mergeExecution.js +184 -0
- package/dist/actions/merge/mergeExecution.js.map +1 -0
- package/dist/actions/paneActions.d.ts +3 -40
- package/dist/actions/paneActions.d.ts.map +1 -1
- package/dist/actions/paneActions.js +4 -1038
- package/dist/actions/paneActions.js.map +1 -1
- package/dist/actions/types.d.ts +1 -0
- package/dist/actions/types.d.ts.map +1 -1
- package/dist/actions/types.js.map +1 -1
- package/dist/components/{ActionChoiceDialog.d.ts → dialogs/ActionChoiceDialog.d.ts} +1 -1
- package/dist/components/dialogs/ActionChoiceDialog.d.ts.map +1 -0
- package/dist/components/dialogs/ActionChoiceDialog.js.map +1 -0
- package/dist/components/dialogs/ActionConfirmDialog.d.ts.map +1 -0
- package/dist/components/dialogs/ActionConfirmDialog.js.map +1 -0
- package/dist/components/dialogs/ActionInputDialog.d.ts.map +1 -0
- package/dist/components/{ActionInputDialog.js → dialogs/ActionInputDialog.js} +2 -2
- package/dist/components/dialogs/ActionInputDialog.js.map +1 -0
- package/dist/components/dialogs/ActionProgressDialog.d.ts.map +1 -0
- package/dist/components/dialogs/ActionProgressDialog.js.map +1 -0
- package/dist/components/dialogs/AgentChoiceDialog.d.ts.map +1 -0
- package/dist/components/dialogs/AgentChoiceDialog.js.map +1 -0
- package/dist/components/{CloseOptionsDialog.d.ts → dialogs/CloseOptionsDialog.d.ts} +1 -1
- package/dist/components/dialogs/CloseOptionsDialog.d.ts.map +1 -0
- package/dist/components/dialogs/CloseOptionsDialog.js.map +1 -0
- package/dist/components/dialogs/CommandPromptDialog.d.ts.map +1 -0
- package/dist/components/{CommandPromptDialog.js → dialogs/CommandPromptDialog.js} +1 -1
- package/dist/components/dialogs/CommandPromptDialog.js.map +1 -0
- package/dist/components/dialogs/DialogBox.d.ts.map +1 -0
- package/dist/components/dialogs/DialogBox.js.map +1 -0
- package/dist/components/dialogs/HooksDialog.d.ts.map +1 -0
- package/dist/components/dialogs/HooksDialog.js.map +1 -0
- package/dist/components/{MergeConfirmationDialog.d.ts → dialogs/MergeConfirmationDialog.d.ts} +1 -1
- package/dist/components/dialogs/MergeConfirmationDialog.d.ts.map +1 -0
- package/dist/components/dialogs/MergeConfirmationDialog.js.map +1 -0
- package/dist/components/{SettingsDialog.d.ts → dialogs/SettingsDialog.d.ts} +1 -1
- package/dist/components/dialogs/SettingsDialog.d.ts.map +1 -0
- package/dist/components/dialogs/SettingsDialog.js.map +1 -0
- package/dist/components/dialogs/UpdateDialog.d.ts.map +1 -0
- package/dist/components/dialogs/UpdateDialog.js.map +1 -0
- package/dist/components/indicators/CreatingIndicator.d.ts.map +1 -0
- package/dist/components/indicators/CreatingIndicator.js.map +1 -0
- package/dist/components/indicators/LoadingIndicator.d.ts.map +1 -0
- package/dist/components/indicators/LoadingIndicator.js.map +1 -0
- package/dist/components/indicators/RunningIndicator.d.ts.map +1 -0
- package/dist/components/indicators/RunningIndicator.js.map +1 -0
- package/dist/components/indicators/Spinner.d.ts.map +1 -0
- package/dist/components/indicators/Spinner.js.map +1 -0
- package/dist/components/indicators/UpdatingIndicator.d.ts.map +1 -0
- package/dist/components/indicators/UpdatingIndicator.js.map +1 -0
- package/dist/components/indicators/index.d.ts +6 -0
- package/dist/components/indicators/index.d.ts.map +1 -0
- package/dist/components/indicators/index.js +6 -0
- package/dist/components/indicators/index.js.map +1 -0
- package/dist/components/inputs/CleanTextInput.d.ts.map +1 -0
- package/dist/{CleanTextInput.js → components/inputs/CleanTextInput.js} +2 -144
- package/dist/components/inputs/CleanTextInput.js.map +1 -0
- package/dist/components/inputs/StyledTextInput.d.ts.map +1 -0
- package/dist/components/inputs/StyledTextInput.js.map +1 -0
- package/dist/components/inputs/index.d.ts +3 -0
- package/dist/components/inputs/index.d.ts.map +1 -0
- package/dist/components/inputs/index.js +3 -0
- package/dist/components/inputs/index.js.map +1 -0
- package/dist/components/{KebabMenu.d.ts → panes/KebabMenu.d.ts} +1 -1
- package/dist/components/panes/KebabMenu.d.ts.map +1 -0
- package/dist/components/panes/KebabMenu.js.map +1 -0
- package/dist/components/panes/MergePane.d.ts.map +1 -0
- package/dist/{MergePane.js → components/panes/MergePane.js} +1 -1
- package/dist/components/panes/MergePane.js.map +1 -0
- package/dist/components/{PaneCard.d.ts → panes/PaneCard.d.ts} +1 -1
- package/dist/components/panes/PaneCard.d.ts.map +1 -0
- package/dist/components/{PaneCard.js → panes/PaneCard.js} +1 -1
- package/dist/components/panes/PaneCard.js.map +1 -0
- package/dist/components/{PanesGrid.d.ts → panes/PanesGrid.d.ts} +2 -2
- package/dist/components/panes/PanesGrid.d.ts.map +1 -0
- package/dist/components/{PanesGrid.js → panes/PanesGrid.js} +1 -1
- package/dist/components/panes/PanesGrid.js.map +1 -0
- package/dist/components/panes/index.d.ts +5 -0
- package/dist/components/panes/index.d.ts.map +1 -0
- package/dist/components/panes/index.js +5 -0
- package/dist/components/panes/index.js.map +1 -0
- package/dist/components/popups/agentChoicePopup.d.ts.map +1 -0
- package/dist/{popups → components/popups}/agentChoicePopup.js +1 -1
- package/dist/components/popups/agentChoicePopup.js.map +1 -0
- package/dist/components/popups/choicePopup.d.ts.map +1 -0
- package/dist/{popups → components/popups}/choicePopup.js +3 -3
- package/dist/components/popups/choicePopup.js.map +1 -0
- package/dist/components/popups/config.d.ts.map +1 -0
- package/dist/{popups → components/popups}/config.js +1 -1
- package/dist/components/popups/config.js.map +1 -0
- package/dist/components/popups/confirmPopup.d.ts.map +1 -0
- package/dist/{popups → components/popups}/confirmPopup.js +2 -3
- package/dist/components/popups/confirmPopup.js.map +1 -0
- package/dist/components/popups/hooksPopup.d.ts.map +1 -0
- package/dist/{popups → components/popups}/hooksPopup.js +1 -1
- package/dist/components/popups/hooksPopup.js.map +1 -0
- package/dist/components/popups/inputPopup.d.ts.map +1 -0
- package/dist/{popups → components/popups}/inputPopup.js +3 -4
- package/dist/components/popups/inputPopup.js.map +1 -0
- package/dist/components/popups/kebabMenuPopup.d.ts.map +1 -0
- package/dist/{popups → components/popups}/kebabMenuPopup.js +1 -1
- package/dist/components/popups/kebabMenuPopup.js.map +1 -0
- package/dist/components/popups/logsPopup.d.ts.map +1 -0
- package/dist/{popups → components/popups}/logsPopup.js +15 -7
- package/dist/components/popups/logsPopup.js.map +1 -0
- package/dist/components/popups/mergePopup.d.ts.map +1 -0
- package/dist/{popups → components/popups}/mergePopup.js +6 -6
- package/dist/components/popups/mergePopup.js.map +1 -0
- package/dist/components/popups/newPanePopup.d.ts.map +1 -0
- package/dist/{popups → components/popups}/newPanePopup.js +3 -3
- package/dist/components/popups/newPanePopup.js.map +1 -0
- package/dist/components/popups/progressPopup.d.ts.map +1 -0
- package/dist/{popups → components/popups}/progressPopup.js +1 -2
- package/dist/components/popups/progressPopup.js.map +1 -0
- package/dist/components/popups/remotePopup.d.ts.map +1 -0
- package/dist/{popups → components/popups}/remotePopup.js +1 -1
- package/dist/components/popups/remotePopup.js.map +1 -0
- package/dist/components/popups/settingsPopup.d.ts.map +1 -0
- package/dist/{popups → components/popups}/settingsPopup.js +1 -1
- package/dist/components/popups/settingsPopup.js.map +1 -0
- package/dist/components/popups/shared/FileList.d.ts.map +1 -0
- package/dist/components/popups/shared/FileList.js.map +1 -0
- package/dist/components/popups/shared/PopupContainer.d.ts.map +1 -0
- package/dist/components/popups/shared/PopupContainer.js.map +1 -0
- package/dist/components/popups/shared/PopupInputBox.d.ts.map +1 -0
- package/dist/components/popups/shared/PopupInputBox.js.map +1 -0
- package/dist/components/popups/shared/PopupWrapper.d.ts.map +1 -0
- package/dist/components/popups/shared/PopupWrapper.js.map +1 -0
- package/dist/components/popups/shared/index.d.ts.map +1 -0
- package/dist/components/popups/shared/index.js.map +1 -0
- package/dist/components/popups/shortcutsPopup.d.ts.map +1 -0
- package/dist/{popups → components/popups}/shortcutsPopup.js +1 -1
- package/dist/components/popups/shortcutsPopup.js.map +1 -0
- package/dist/components/popups/templates/SimpleInputPopup.d.ts.map +1 -0
- package/dist/{popups → components/popups}/templates/SimpleInputPopup.js +2 -2
- package/dist/components/popups/templates/SimpleInputPopup.js.map +1 -0
- package/dist/components/ui/FileCopyPrompt.d.ts.map +1 -0
- package/dist/components/ui/FileCopyPrompt.js.map +1 -0
- package/dist/components/{FooterHelp.d.ts → ui/FooterHelp.d.ts} +4 -0
- package/dist/components/ui/FooterHelp.d.ts.map +1 -0
- package/dist/components/{FooterHelp.js → ui/FooterHelp.js} +45 -1
- package/dist/components/ui/FooterHelp.js.map +1 -0
- package/dist/components/ui/QRCode.d.ts.map +1 -0
- package/dist/components/ui/QRCode.js.map +1 -0
- package/dist/components/ui/ToastNotification.d.ts +13 -0
- package/dist/components/ui/ToastNotification.d.ts.map +1 -0
- package/dist/components/ui/ToastNotification.js +22 -0
- package/dist/components/ui/ToastNotification.js.map +1 -0
- package/dist/components/ui/index.d.ts +4 -0
- package/dist/components/ui/index.d.ts.map +1 -0
- package/dist/components/ui/index.js +4 -0
- package/dist/components/ui/index.js.map +1 -0
- package/dist/constants/timing.d.ts +22 -0
- package/dist/constants/timing.d.ts.map +1 -0
- package/dist/constants/timing.js +26 -0
- package/dist/constants/timing.js.map +1 -0
- package/dist/dashboard.js +2 -2
- package/dist/hooks/useActionSystem.d.ts +5 -4
- package/dist/hooks/useActionSystem.d.ts.map +1 -1
- package/dist/hooks/useActionSystem.js +105 -114
- package/dist/hooks/useActionSystem.js.map +1 -1
- package/dist/hooks/useDebugInfo.d.ts +11 -0
- package/dist/hooks/useDebugInfo.d.ts.map +1 -0
- package/dist/hooks/useDebugInfo.js +34 -0
- package/dist/hooks/useDebugInfo.js.map +1 -0
- package/dist/hooks/useDialogState.d.ts +22 -0
- package/dist/hooks/useDialogState.d.ts.map +1 -0
- package/dist/hooks/useDialogState.js +62 -0
- package/dist/hooks/useDialogState.js.map +1 -0
- package/dist/hooks/useInputHandling.d.ts +60 -0
- package/dist/hooks/useInputHandling.d.ts.map +1 -0
- package/dist/hooks/useInputHandling.js +294 -0
- package/dist/hooks/useInputHandling.js.map +1 -0
- package/dist/hooks/useLayoutManagement.d.ts +12 -0
- package/dist/hooks/useLayoutManagement.d.ts.map +1 -0
- package/dist/hooks/useLayoutManagement.js +63 -0
- package/dist/hooks/useLayoutManagement.js.map +1 -0
- package/dist/hooks/usePaneCreation.d.ts.map +1 -1
- package/dist/hooks/usePaneCreation.js +4 -9
- package/dist/hooks/usePaneCreation.js.map +1 -1
- package/dist/hooks/usePaneLoading.d.ts +45 -0
- package/dist/hooks/usePaneLoading.d.ts.map +1 -0
- package/dist/hooks/usePaneLoading.js +208 -0
- package/dist/hooks/usePaneLoading.js.map +1 -0
- package/dist/hooks/usePaneRunner.d.ts.map +1 -1
- package/dist/hooks/usePaneRunner.js +9 -6
- package/dist/hooks/usePaneRunner.js.map +1 -1
- package/dist/hooks/usePaneSync.d.ts +34 -0
- package/dist/hooks/usePaneSync.d.ts.map +1 -0
- package/dist/hooks/usePaneSync.js +186 -0
- package/dist/hooks/usePaneSync.js.map +1 -0
- package/dist/hooks/usePanes.d.ts.map +1 -1
- package/dist/hooks/usePanes.js +68 -406
- package/dist/hooks/usePanes.js.map +1 -1
- package/dist/hooks/useServices.d.ts +24 -0
- package/dist/hooks/useServices.d.ts.map +1 -0
- package/dist/hooks/useServices.js +39 -0
- package/dist/hooks/useServices.js.map +1 -0
- package/dist/hooks/useShellDetection.d.ts +10 -0
- package/dist/hooks/useShellDetection.d.ts.map +1 -0
- package/dist/hooks/useShellDetection.js +67 -0
- package/dist/hooks/useShellDetection.js.map +1 -0
- package/dist/hooks/useStatusMessages.d.ts +11 -0
- package/dist/hooks/useStatusMessages.d.ts.map +1 -0
- package/dist/hooks/useStatusMessages.js +32 -0
- package/dist/hooks/useStatusMessages.js.map +1 -0
- package/dist/hooks/useTemporaryStatus.d.ts +13 -0
- package/dist/hooks/useTemporaryStatus.d.ts.map +1 -0
- package/dist/hooks/useTemporaryStatus.js +30 -0
- package/dist/hooks/useTemporaryStatus.js.map +1 -0
- package/dist/hooks/useTerminalWidth.d.ts.map +1 -1
- package/dist/hooks/useTerminalWidth.js +7 -12
- package/dist/hooks/useTerminalWidth.js.map +1 -1
- package/dist/hooks/useTunnelManagement.d.ts +18 -0
- package/dist/hooks/useTunnelManagement.d.ts.map +1 -0
- package/dist/hooks/useTunnelManagement.js +55 -0
- package/dist/hooks/useTunnelManagement.js.map +1 -0
- package/dist/hooks/useWorktreeActions.d.ts.map +1 -1
- package/dist/hooks/useWorktreeActions.js +18 -13
- package/dist/hooks/useWorktreeActions.js.map +1 -1
- package/dist/index.js +124 -94
- package/dist/index.js.map +1 -1
- package/dist/layout/LayoutCalculator.d.ts +62 -0
- package/dist/layout/LayoutCalculator.d.ts.map +1 -0
- package/dist/layout/LayoutCalculator.js +140 -0
- package/dist/layout/LayoutCalculator.js.map +1 -0
- package/dist/layout/SpacerManager.d.ts +64 -0
- package/dist/layout/SpacerManager.d.ts.map +1 -0
- package/dist/layout/SpacerManager.js +156 -0
- package/dist/layout/SpacerManager.js.map +1 -0
- package/dist/layout/TmuxLayoutApplier.d.ts +62 -0
- package/dist/layout/TmuxLayoutApplier.d.ts.map +1 -0
- package/dist/layout/TmuxLayoutApplier.js +147 -0
- package/dist/layout/TmuxLayoutApplier.js.map +1 -0
- package/dist/panes/decorative-pane.d.ts.map +1 -0
- package/dist/{decorative-pane.js → panes/decorative-pane.js} +1 -1
- package/dist/panes/decorative-pane.js.map +1 -0
- package/dist/panes/spacer-pane.d.ts.map +1 -0
- package/dist/panes/spacer-pane.js.map +1 -0
- package/dist/server/embedded-assets.d.ts.map +1 -1
- package/dist/server/embedded-assets.js +727 -5677
- package/dist/server/embedded-assets.js.map +1 -1
- package/dist/server/routes/actionsRoutes.d.ts +2 -0
- package/dist/server/routes/actionsRoutes.d.ts.map +1 -0
- package/dist/server/routes/actionsRoutes.js +110 -0
- package/dist/server/routes/actionsRoutes.js.map +1 -0
- package/dist/server/routes/healthRoutes.d.ts +13 -0
- package/dist/server/routes/healthRoutes.d.ts.map +1 -0
- package/dist/server/routes/healthRoutes.js +70 -0
- package/dist/server/routes/healthRoutes.js.map +1 -0
- package/dist/server/routes/index.d.ts +8 -0
- package/dist/server/routes/index.d.ts.map +1 -0
- package/dist/server/routes/index.js +67 -0
- package/dist/server/routes/index.js.map +1 -0
- package/dist/server/routes/keysRoutes.d.ts +33 -0
- package/dist/server/routes/keysRoutes.d.ts.map +1 -0
- package/dist/server/routes/keysRoutes.js +128 -0
- package/dist/server/routes/keysRoutes.js.map +1 -0
- package/dist/server/routes/panesRoutes.d.ts +2 -0
- package/dist/server/routes/panesRoutes.d.ts.map +1 -0
- package/dist/server/routes/panesRoutes.js +373 -0
- package/dist/server/routes/panesRoutes.js.map +1 -0
- package/dist/server/routes/settingsRoutes.d.ts +94 -0
- package/dist/server/routes/settingsRoutes.d.ts.map +1 -0
- package/dist/server/routes/settingsRoutes.js +159 -0
- package/dist/server/routes/settingsRoutes.js.map +1 -0
- package/dist/server/routes/streamRoutes.d.ts +18 -0
- package/dist/server/routes/streamRoutes.d.ts.map +1 -0
- package/dist/server/routes/streamRoutes.js +87 -0
- package/dist/server/routes/streamRoutes.js.map +1 -0
- package/dist/server/routes/tunnelRoutes.d.ts +11 -0
- package/dist/server/routes/tunnelRoutes.d.ts.map +1 -0
- package/dist/server/routes/tunnelRoutes.js +28 -0
- package/dist/server/routes/tunnelRoutes.js.map +1 -0
- package/dist/server/routes.d.ts +16 -2
- package/dist/server/routes.d.ts.map +1 -1
- package/dist/server/routes.js +16 -878
- package/dist/server/routes.js.map +1 -1
- package/dist/{AutoUpdater.d.ts → services/AutoUpdater.d.ts} +1 -0
- package/dist/services/AutoUpdater.d.ts.map +1 -0
- package/dist/{AutoUpdater.js → services/AutoUpdater.js} +44 -10
- package/dist/services/AutoUpdater.js.map +1 -0
- package/dist/services/PaneAnalyzer.d.ts.map +1 -0
- package/dist/{PaneAnalyzer.js → services/PaneAnalyzer.js} +1 -1
- package/dist/services/PaneAnalyzer.js.map +1 -0
- package/dist/services/PaneLifecycleManager.d.ts +60 -0
- package/dist/services/PaneLifecycleManager.d.ts.map +1 -0
- package/dist/services/PaneLifecycleManager.js +119 -0
- package/dist/services/PaneLifecycleManager.js.map +1 -0
- package/dist/services/PaneWorkerManager.d.ts.map +1 -1
- package/dist/services/PaneWorkerManager.js +6 -3
- package/dist/services/PaneWorkerManager.js.map +1 -1
- package/dist/services/PopupManager.d.ts +68 -0
- package/dist/services/PopupManager.d.ts.map +1 -0
- package/dist/services/PopupManager.js +415 -0
- package/dist/services/PopupManager.js.map +1 -0
- package/dist/services/StatusDetector.d.ts.map +1 -1
- package/dist/services/StatusDetector.js +6 -8
- package/dist/services/StatusDetector.js.map +1 -1
- package/dist/services/TerminalStreamer.d.ts +1 -0
- package/dist/services/TerminalStreamer.d.ts.map +1 -1
- package/dist/services/TerminalStreamer.js +22 -16
- package/dist/services/TerminalStreamer.js.map +1 -1
- package/dist/services/TmuxService.d.ts +346 -0
- package/dist/services/TmuxService.d.ts.map +1 -0
- package/dist/services/TmuxService.js +849 -0
- package/dist/services/TmuxService.js.map +1 -0
- package/dist/services/ToastService.d.ts +71 -0
- package/dist/services/ToastService.d.ts.map +1 -0
- package/dist/services/ToastService.js +151 -0
- package/dist/services/ToastService.js.map +1 -0
- package/dist/services/TunnelService.d.ts.map +1 -1
- package/dist/services/TunnelService.js +2 -1
- package/dist/services/TunnelService.js.map +1 -1
- package/dist/shared/StateManager.d.ts +22 -0
- package/dist/shared/StateManager.d.ts.map +1 -1
- package/dist/shared/StateManager.js +68 -1
- package/dist/shared/StateManager.js.map +1 -1
- package/dist/terminal.js +3 -3
- package/dist/types.d.ts +7 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/asciiArt.d.ts.map +1 -1
- package/dist/utils/asciiArt.js +9 -22
- package/dist/utils/asciiArt.js.map +1 -1
- package/dist/utils/atomicWrite.d.ts +33 -0
- package/dist/utils/atomicWrite.d.ts.map +1 -0
- package/dist/utils/atomicWrite.js +89 -0
- package/dist/utils/atomicWrite.js.map +1 -0
- package/dist/utils/conflictMonitor.d.ts +20 -0
- package/dist/utils/conflictMonitor.d.ts.map +1 -0
- package/dist/utils/conflictMonitor.js +113 -0
- package/dist/utils/conflictMonitor.js.map +1 -0
- package/dist/utils/conflictResolutionPane.d.ts.map +1 -1
- package/dist/utils/conflictResolutionPane.js +70 -79
- package/dist/utils/conflictResolutionPane.js.map +1 -1
- package/dist/utils/errorHandling.d.ts +37 -0
- package/dist/utils/errorHandling.d.ts.map +1 -0
- package/dist/utils/errorHandling.js +138 -0
- package/dist/utils/errorHandling.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/git.d.ts +4 -0
- package/dist/utils/git.d.ts.map +1 -1
- package/dist/utils/git.js +15 -0
- package/dist/utils/git.js.map +1 -1
- package/dist/utils/hooksDocs.d.ts +1 -1
- package/dist/utils/layoutManager.d.ts +20 -16
- package/dist/utils/layoutManager.d.ts.map +1 -1
- package/dist/utils/layoutManager.js +159 -380
- package/dist/utils/layoutManager.js.map +1 -1
- package/dist/utils/mergeExecution.d.ts.map +1 -1
- package/dist/utils/mergeExecution.js +8 -1
- package/dist/utils/mergeExecution.js.map +1 -1
- package/dist/utils/mergeValidation.d.ts.map +1 -1
- package/dist/utils/mergeValidation.js +46 -13
- package/dist/utils/mergeValidation.js.map +1 -1
- package/dist/utils/paneCreation.d.ts.map +1 -1
- package/dist/utils/paneCreation.js +115 -106
- package/dist/utils/paneCreation.js.map +1 -1
- package/dist/utils/paneRebinding.d.ts +14 -0
- package/dist/utils/paneRebinding.d.ts.map +1 -0
- package/dist/utils/paneRebinding.js +30 -0
- package/dist/utils/paneRebinding.js.map +1 -0
- package/dist/utils/popup.d.ts.map +1 -1
- package/dist/utils/popup.js +11 -17
- package/dist/utils/popup.js.map +1 -1
- package/dist/utils/postPaneCleanup.d.ts.map +1 -1
- package/dist/utils/postPaneCleanup.js +5 -14
- package/dist/utils/postPaneCleanup.js.map +1 -1
- package/dist/utils/shellPaneDetection.d.ts +3 -3
- package/dist/utils/shellPaneDetection.d.ts.map +1 -1
- package/dist/utils/shellPaneDetection.js +43 -29
- package/dist/utils/shellPaneDetection.js.map +1 -1
- package/dist/utils/systemCheck.d.ts +19 -0
- package/dist/utils/systemCheck.d.ts.map +1 -0
- package/dist/utils/systemCheck.js +160 -0
- package/dist/utils/systemCheck.js.map +1 -0
- package/dist/utils/tmux.d.ts +26 -7
- package/dist/utils/tmux.d.ts.map +1 -1
- package/dist/utils/tmux.js +84 -76
- package/dist/utils/tmux.js.map +1 -1
- package/dist/utils/welcomePane.d.ts +2 -2
- package/dist/utils/welcomePane.d.ts.map +1 -1
- package/dist/utils/welcomePane.js +19 -33
- package/dist/utils/welcomePane.js.map +1 -1
- package/dist/utils/welcomePaneManager.d.ts.map +1 -1
- package/dist/utils/welcomePaneManager.js +11 -25
- package/dist/utils/welcomePaneManager.js.map +1 -1
- package/dist/workers/PaneWorker.js +7 -9
- package/dist/workers/PaneWorker.js.map +1 -1
- package/dist/workers/updateChecker.js +1 -1
- package/dist/workers/updateChecker.js.map +1 -1
- package/package.json +3 -1
- package/dist/AutoUpdater.d.ts.map +0 -1
- package/dist/AutoUpdater.js.map +0 -1
- package/dist/BetterTextInput.d.ts +0 -10
- package/dist/BetterTextInput.d.ts.map +0 -1
- package/dist/BetterTextInput.js +0 -177
- package/dist/BetterTextInput.js.map +0 -1
- package/dist/CleanTextInput.d.ts.map +0 -1
- package/dist/CleanTextInput.js.map +0 -1
- package/dist/EnhancedTextInput.d.ts +0 -13
- package/dist/EnhancedTextInput.d.ts.map +0 -1
- package/dist/EnhancedTextInput.js +0 -443
- package/dist/EnhancedTextInput.js.map +0 -1
- package/dist/GeminiTextInput.d.ts +0 -12
- package/dist/GeminiTextInput.d.ts.map +0 -1
- package/dist/GeminiTextInput.js +0 -210
- package/dist/GeminiTextInput.js.map +0 -1
- package/dist/MergePane.d.ts.map +0 -1
- package/dist/MergePane.js.map +0 -1
- package/dist/MultilineTextInput.d.ts +0 -10
- package/dist/MultilineTextInput.d.ts.map +0 -1
- package/dist/MultilineTextInput.js +0 -184
- package/dist/MultilineTextInput.js.map +0 -1
- package/dist/PaneAnalyzer.d.ts.map +0 -1
- package/dist/PaneAnalyzer.js.map +0 -1
- package/dist/SimpleEnhancedInput.d.ts +0 -13
- package/dist/SimpleEnhancedInput.d.ts.map +0 -1
- package/dist/SimpleEnhancedInput.js +0 -639
- package/dist/SimpleEnhancedInput.js.map +0 -1
- package/dist/SimpleGeminiInput.d.ts +0 -12
- package/dist/SimpleGeminiInput.d.ts.map +0 -1
- package/dist/SimpleGeminiInput.js +0 -223
- package/dist/SimpleGeminiInput.js.map +0 -1
- package/dist/StyledTextInput.d.ts.map +0 -1
- package/dist/StyledTextInput.js.map +0 -1
- package/dist/components/ActionChoiceDialog.d.ts.map +0 -1
- package/dist/components/ActionChoiceDialog.js.map +0 -1
- package/dist/components/ActionConfirmDialog.d.ts.map +0 -1
- package/dist/components/ActionConfirmDialog.js.map +0 -1
- package/dist/components/ActionInputDialog.d.ts.map +0 -1
- package/dist/components/ActionInputDialog.js.map +0 -1
- package/dist/components/ActionProgressDialog.d.ts.map +0 -1
- package/dist/components/ActionProgressDialog.js.map +0 -1
- package/dist/components/AgentChoiceDialog.d.ts.map +0 -1
- package/dist/components/AgentChoiceDialog.js.map +0 -1
- package/dist/components/CloseOptionsDialog.d.ts.map +0 -1
- package/dist/components/CloseOptionsDialog.js.map +0 -1
- package/dist/components/CommandPromptDialog.d.ts.map +0 -1
- package/dist/components/CommandPromptDialog.js.map +0 -1
- package/dist/components/CreatingIndicator.d.ts.map +0 -1
- package/dist/components/CreatingIndicator.js.map +0 -1
- package/dist/components/DialogBox.d.ts.map +0 -1
- package/dist/components/DialogBox.js.map +0 -1
- package/dist/components/FileCopyPrompt.d.ts.map +0 -1
- package/dist/components/FileCopyPrompt.js.map +0 -1
- package/dist/components/FooterHelp.d.ts.map +0 -1
- package/dist/components/FooterHelp.js.map +0 -1
- package/dist/components/HooksDialog.d.ts.map +0 -1
- package/dist/components/HooksDialog.js.map +0 -1
- package/dist/components/KebabMenu.d.ts.map +0 -1
- package/dist/components/KebabMenu.js.map +0 -1
- package/dist/components/LoadingIndicator.d.ts.map +0 -1
- package/dist/components/LoadingIndicator.js.map +0 -1
- package/dist/components/MergeConfirmationDialog.d.ts.map +0 -1
- package/dist/components/MergeConfirmationDialog.js.map +0 -1
- package/dist/components/PaneCard.d.ts.map +0 -1
- package/dist/components/PaneCard.js.map +0 -1
- package/dist/components/PanesGrid.d.ts.map +0 -1
- package/dist/components/PanesGrid.js.map +0 -1
- package/dist/components/QRCode.d.ts.map +0 -1
- package/dist/components/QRCode.js.map +0 -1
- package/dist/components/RunningIndicator.d.ts.map +0 -1
- package/dist/components/RunningIndicator.js.map +0 -1
- package/dist/components/SettingsDialog.d.ts.map +0 -1
- package/dist/components/SettingsDialog.js.map +0 -1
- package/dist/components/Spinner.d.ts.map +0 -1
- package/dist/components/Spinner.js.map +0 -1
- package/dist/components/UpdateDialog.d.ts.map +0 -1
- package/dist/components/UpdateDialog.js.map +0 -1
- package/dist/components/UpdatingIndicator.d.ts.map +0 -1
- package/dist/components/UpdatingIndicator.js.map +0 -1
- package/dist/decorative-pane.d.ts.map +0 -1
- package/dist/decorative-pane.js.map +0 -1
- package/dist/popups/agentChoicePopup.d.ts.map +0 -1
- package/dist/popups/agentChoicePopup.js.map +0 -1
- package/dist/popups/choicePopup.d.ts.map +0 -1
- package/dist/popups/choicePopup.js.map +0 -1
- package/dist/popups/components/FileList.d.ts.map +0 -1
- package/dist/popups/components/FileList.js.map +0 -1
- package/dist/popups/components/PopupContainer.d.ts.map +0 -1
- package/dist/popups/components/PopupContainer.js.map +0 -1
- package/dist/popups/components/PopupInputBox.d.ts.map +0 -1
- package/dist/popups/components/PopupInputBox.js.map +0 -1
- package/dist/popups/components/PopupWrapper.d.ts.map +0 -1
- package/dist/popups/components/PopupWrapper.js.map +0 -1
- package/dist/popups/components/index.d.ts.map +0 -1
- package/dist/popups/components/index.js.map +0 -1
- package/dist/popups/config.d.ts.map +0 -1
- package/dist/popups/config.js.map +0 -1
- package/dist/popups/confirmPopup.d.ts.map +0 -1
- package/dist/popups/confirmPopup.js.map +0 -1
- package/dist/popups/hooksPopup.d.ts.map +0 -1
- package/dist/popups/hooksPopup.js.map +0 -1
- package/dist/popups/inputPopup.d.ts.map +0 -1
- package/dist/popups/inputPopup.js.map +0 -1
- package/dist/popups/kebabMenuPopup.d.ts.map +0 -1
- package/dist/popups/kebabMenuPopup.js.map +0 -1
- package/dist/popups/logsPopup.d.ts.map +0 -1
- package/dist/popups/logsPopup.js.map +0 -1
- package/dist/popups/mergePopup.d.ts.map +0 -1
- package/dist/popups/mergePopup.js.map +0 -1
- package/dist/popups/newPanePopup.d.ts.map +0 -1
- package/dist/popups/newPanePopup.js.map +0 -1
- package/dist/popups/progressPopup.d.ts.map +0 -1
- package/dist/popups/progressPopup.js.map +0 -1
- package/dist/popups/remotePopup.d.ts.map +0 -1
- package/dist/popups/remotePopup.js.map +0 -1
- package/dist/popups/settingsPopup.d.ts.map +0 -1
- package/dist/popups/settingsPopup.js.map +0 -1
- package/dist/popups/shortcutsPopup.d.ts.map +0 -1
- package/dist/popups/shortcutsPopup.js.map +0 -1
- package/dist/popups/templates/SimpleInputPopup.d.ts.map +0 -1
- package/dist/popups/templates/SimpleInputPopup.js.map +0 -1
- package/dist/server/static.d.ts +0 -6
- package/dist/server/static.d.ts.map +0 -1
- package/dist/server/static.js +0 -3040
- package/dist/server/static.js.map +0 -1
- package/dist/spacer-pane.d.ts.map +0 -1
- package/dist/spacer-pane.js.map +0 -1
- /package/dist/components/{ActionChoiceDialog.js → dialogs/ActionChoiceDialog.js} +0 -0
- /package/dist/components/{ActionConfirmDialog.d.ts → dialogs/ActionConfirmDialog.d.ts} +0 -0
- /package/dist/components/{ActionConfirmDialog.js → dialogs/ActionConfirmDialog.js} +0 -0
- /package/dist/components/{ActionInputDialog.d.ts → dialogs/ActionInputDialog.d.ts} +0 -0
- /package/dist/components/{ActionProgressDialog.d.ts → dialogs/ActionProgressDialog.d.ts} +0 -0
- /package/dist/components/{ActionProgressDialog.js → dialogs/ActionProgressDialog.js} +0 -0
- /package/dist/components/{AgentChoiceDialog.d.ts → dialogs/AgentChoiceDialog.d.ts} +0 -0
- /package/dist/components/{AgentChoiceDialog.js → dialogs/AgentChoiceDialog.js} +0 -0
- /package/dist/components/{CloseOptionsDialog.js → dialogs/CloseOptionsDialog.js} +0 -0
- /package/dist/components/{CommandPromptDialog.d.ts → dialogs/CommandPromptDialog.d.ts} +0 -0
- /package/dist/components/{DialogBox.d.ts → dialogs/DialogBox.d.ts} +0 -0
- /package/dist/components/{DialogBox.js → dialogs/DialogBox.js} +0 -0
- /package/dist/components/{HooksDialog.d.ts → dialogs/HooksDialog.d.ts} +0 -0
- /package/dist/components/{HooksDialog.js → dialogs/HooksDialog.js} +0 -0
- /package/dist/components/{MergeConfirmationDialog.js → dialogs/MergeConfirmationDialog.js} +0 -0
- /package/dist/components/{SettingsDialog.js → dialogs/SettingsDialog.js} +0 -0
- /package/dist/components/{UpdateDialog.d.ts → dialogs/UpdateDialog.d.ts} +0 -0
- /package/dist/components/{UpdateDialog.js → dialogs/UpdateDialog.js} +0 -0
- /package/dist/components/{CreatingIndicator.d.ts → indicators/CreatingIndicator.d.ts} +0 -0
- /package/dist/components/{CreatingIndicator.js → indicators/CreatingIndicator.js} +0 -0
- /package/dist/components/{LoadingIndicator.d.ts → indicators/LoadingIndicator.d.ts} +0 -0
- /package/dist/components/{LoadingIndicator.js → indicators/LoadingIndicator.js} +0 -0
- /package/dist/components/{RunningIndicator.d.ts → indicators/RunningIndicator.d.ts} +0 -0
- /package/dist/components/{RunningIndicator.js → indicators/RunningIndicator.js} +0 -0
- /package/dist/components/{Spinner.d.ts → indicators/Spinner.d.ts} +0 -0
- /package/dist/components/{Spinner.js → indicators/Spinner.js} +0 -0
- /package/dist/components/{UpdatingIndicator.d.ts → indicators/UpdatingIndicator.d.ts} +0 -0
- /package/dist/components/{UpdatingIndicator.js → indicators/UpdatingIndicator.js} +0 -0
- /package/dist/{CleanTextInput.d.ts → components/inputs/CleanTextInput.d.ts} +0 -0
- /package/dist/{StyledTextInput.d.ts → components/inputs/StyledTextInput.d.ts} +0 -0
- /package/dist/{StyledTextInput.js → components/inputs/StyledTextInput.js} +0 -0
- /package/dist/components/{KebabMenu.js → panes/KebabMenu.js} +0 -0
- /package/dist/{MergePane.d.ts → components/panes/MergePane.d.ts} +0 -0
- /package/dist/{popups → components/popups}/agentChoicePopup.d.ts +0 -0
- /package/dist/{popups → components/popups}/choicePopup.d.ts +0 -0
- /package/dist/{popups → components/popups}/config.d.ts +0 -0
- /package/dist/{popups → components/popups}/confirmPopup.d.ts +0 -0
- /package/dist/{popups → components/popups}/hooksPopup.d.ts +0 -0
- /package/dist/{popups → components/popups}/inputPopup.d.ts +0 -0
- /package/dist/{popups → components/popups}/kebabMenuPopup.d.ts +0 -0
- /package/dist/{popups → components/popups}/logsPopup.d.ts +0 -0
- /package/dist/{popups → components/popups}/mergePopup.d.ts +0 -0
- /package/dist/{popups → components/popups}/newPanePopup.d.ts +0 -0
- /package/dist/{popups → components/popups}/progressPopup.d.ts +0 -0
- /package/dist/{popups → components/popups}/remotePopup.d.ts +0 -0
- /package/dist/{popups → components/popups}/settingsPopup.d.ts +0 -0
- /package/dist/{popups/components → components/popups/shared}/FileList.d.ts +0 -0
- /package/dist/{popups/components → components/popups/shared}/FileList.js +0 -0
- /package/dist/{popups/components → components/popups/shared}/PopupContainer.d.ts +0 -0
- /package/dist/{popups/components → components/popups/shared}/PopupContainer.js +0 -0
- /package/dist/{popups/components → components/popups/shared}/PopupInputBox.d.ts +0 -0
- /package/dist/{popups/components → components/popups/shared}/PopupInputBox.js +0 -0
- /package/dist/{popups/components → components/popups/shared}/PopupWrapper.d.ts +0 -0
- /package/dist/{popups/components → components/popups/shared}/PopupWrapper.js +0 -0
- /package/dist/{popups/components → components/popups/shared}/index.d.ts +0 -0
- /package/dist/{popups/components → components/popups/shared}/index.js +0 -0
- /package/dist/{popups → components/popups}/shortcutsPopup.d.ts +0 -0
- /package/dist/{popups → components/popups}/templates/SimpleInputPopup.d.ts +0 -0
- /package/dist/components/{FileCopyPrompt.d.ts → ui/FileCopyPrompt.d.ts} +0 -0
- /package/dist/components/{FileCopyPrompt.js → ui/FileCopyPrompt.js} +0 -0
- /package/dist/components/{QRCode.d.ts → ui/QRCode.d.ts} +0 -0
- /package/dist/components/{QRCode.js → ui/QRCode.js} +0 -0
- /package/dist/{decorative-pane.d.ts → panes/decorative-pane.d.ts} +0 -0
- /package/dist/{spacer-pane.d.ts → panes/spacer-pane.d.ts} +0 -0
- /package/dist/{spacer-pane.js → panes/spacer-pane.js} +0 -0
- /package/dist/{PaneAnalyzer.d.ts → services/PaneAnalyzer.d.ts} +0 -0
package/dist/utils/tmux.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { execSync } from 'child_process';
|
|
2
1
|
import { LogService } from '../services/LogService.js';
|
|
2
|
+
import { TmuxService } from '../services/TmuxService.js';
|
|
3
3
|
import { recalculateAndApplyLayout } from './layoutManager.js';
|
|
4
4
|
// Layout configuration - adjust these to change layout behavior
|
|
5
5
|
export const SIDEBAR_WIDTH = 40;
|
|
@@ -22,75 +22,58 @@ function calculateLayoutChecksum(layout) {
|
|
|
22
22
|
}
|
|
23
23
|
/**
|
|
24
24
|
* Gets current window dimensions
|
|
25
|
+
* @deprecated Use TmuxService.getInstance().getWindowDimensionsSync() instead
|
|
25
26
|
*/
|
|
26
27
|
export const getWindowDimensions = () => {
|
|
27
|
-
|
|
28
|
-
const output = execSync('tmux display-message -p "#{window_width} #{window_height}"', { encoding: 'utf-8', stdio: 'pipe' }).trim();
|
|
29
|
-
const [width, height] = output.split(' ').map(n => parseInt(n));
|
|
30
|
-
return { width, height };
|
|
31
|
-
}
|
|
32
|
-
catch {
|
|
33
|
-
return { width: 120, height: 40 }; // Fallback dimensions
|
|
34
|
-
}
|
|
28
|
+
return TmuxService.getInstance().getWindowDimensionsSync();
|
|
35
29
|
};
|
|
36
30
|
/**
|
|
37
31
|
* Gets current terminal (client) dimensions
|
|
38
32
|
* This is the actual terminal size, not the tmux window size
|
|
33
|
+
* @deprecated Use TmuxService.getInstance().getTerminalDimensionsSync() instead
|
|
39
34
|
*/
|
|
40
35
|
export const getTerminalDimensions = () => {
|
|
41
|
-
|
|
42
|
-
const output = execSync('tmux display-message -p "#{client_width} #{client_height}"', { encoding: 'utf-8', stdio: 'pipe' }).trim();
|
|
43
|
-
const [width, height] = output.split(' ').map(n => parseInt(n));
|
|
44
|
-
return { width, height };
|
|
45
|
-
}
|
|
46
|
-
catch {
|
|
47
|
-
return { width: 120, height: 40 }; // Fallback dimensions
|
|
48
|
-
}
|
|
36
|
+
return TmuxService.getInstance().getTerminalDimensionsSync();
|
|
49
37
|
};
|
|
38
|
+
/**
|
|
39
|
+
* Get pane positions for all panes
|
|
40
|
+
* @deprecated Use TmuxService.getInstance().getPanePositionsSync() instead
|
|
41
|
+
*/
|
|
50
42
|
export const getPanePositions = () => {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
catch {
|
|
65
|
-
return [];
|
|
66
|
-
}
|
|
43
|
+
return TmuxService.getInstance().getPanePositionsSync();
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* Creates a new tmux pane by splitting horizontally
|
|
47
|
+
* @param options - Split pane options
|
|
48
|
+
* @param options.targetPane - Pane to split from (optional)
|
|
49
|
+
* @param options.cwd - Working directory for new pane (optional)
|
|
50
|
+
* @param options.command - Command to run in new pane (optional)
|
|
51
|
+
* @returns The new pane ID
|
|
52
|
+
* @deprecated Use TmuxService.getInstance().splitPaneSync() instead
|
|
53
|
+
*/
|
|
54
|
+
export const splitPane = (options = {}) => {
|
|
55
|
+
return TmuxService.getInstance().splitPaneSync(options);
|
|
67
56
|
};
|
|
68
57
|
/**
|
|
69
58
|
* Gets all pane IDs in current window
|
|
59
|
+
* @deprecated Use TmuxService.getInstance().getAllPaneIdsSync() instead
|
|
70
60
|
*/
|
|
71
61
|
export const getAllPaneIds = () => {
|
|
72
|
-
|
|
73
|
-
const output = execSync('tmux list-panes -F "#{pane_id}"', {
|
|
74
|
-
encoding: 'utf-8',
|
|
75
|
-
stdio: 'pipe',
|
|
76
|
-
}).trim();
|
|
77
|
-
return output.split('\n').filter(id => id.trim());
|
|
78
|
-
}
|
|
79
|
-
catch {
|
|
80
|
-
return [];
|
|
81
|
-
}
|
|
62
|
+
return TmuxService.getInstance().getAllPaneIdsSync();
|
|
82
63
|
};
|
|
83
64
|
/**
|
|
84
65
|
* Gets content pane IDs (excludes control pane and spacer pane)
|
|
66
|
+
* This uses synchronous operations to maintain compatibility with existing code
|
|
85
67
|
*/
|
|
86
68
|
export const getContentPaneIds = (controlPaneId) => {
|
|
87
|
-
const
|
|
69
|
+
const tmuxService = TmuxService.getInstance();
|
|
70
|
+
const allPanes = tmuxService.getAllPaneIdsSync();
|
|
88
71
|
return allPanes.filter(id => {
|
|
89
72
|
if (id === controlPaneId)
|
|
90
73
|
return false;
|
|
91
74
|
// Filter out spacer pane
|
|
92
75
|
try {
|
|
93
|
-
const title =
|
|
76
|
+
const title = tmuxService.getPaneTitleSync(id);
|
|
94
77
|
return title !== 'dmux-spacer';
|
|
95
78
|
}
|
|
96
79
|
catch {
|
|
@@ -105,14 +88,34 @@ export const getContentPaneIds = (controlPaneId) => {
|
|
|
105
88
|
*/
|
|
106
89
|
export const setupSidebarLayout = (controlPaneId) => {
|
|
107
90
|
try {
|
|
91
|
+
const tmuxService = TmuxService.getInstance();
|
|
92
|
+
// Defensive check: verify the control pane still exists before splitting
|
|
93
|
+
try {
|
|
94
|
+
// Try to get the pane title - this will throw if the pane doesn't exist
|
|
95
|
+
tmuxService.getPaneTitleSync(controlPaneId);
|
|
96
|
+
}
|
|
97
|
+
catch (error) {
|
|
98
|
+
throw new Error(`Control pane ${controlPaneId} does not exist. Cannot create sidebar layout.`);
|
|
99
|
+
}
|
|
108
100
|
// Split horizontally (left-right) from control pane
|
|
109
|
-
const newPaneId =
|
|
101
|
+
const newPaneId = tmuxService.splitPaneSync({
|
|
102
|
+
targetPane: controlPaneId,
|
|
103
|
+
});
|
|
110
104
|
// Wait for split to settle
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
105
|
+
const waitMs = 100;
|
|
106
|
+
const startTime = Date.now();
|
|
107
|
+
while (Date.now() - startTime < waitMs) {
|
|
108
|
+
// Busy wait
|
|
109
|
+
}
|
|
110
|
+
// Resize control pane to fixed width (sync version for initial setup)
|
|
111
|
+
try {
|
|
112
|
+
tmuxService.resizePaneSync(controlPaneId, { width: SIDEBAR_WIDTH });
|
|
113
|
+
}
|
|
114
|
+
catch {
|
|
115
|
+
// Ignore resize errors during initial setup
|
|
116
|
+
}
|
|
114
117
|
// Refresh to ensure panes are painted correctly after layout
|
|
115
|
-
|
|
118
|
+
tmuxService.refreshClientSync();
|
|
116
119
|
return newPaneId;
|
|
117
120
|
}
|
|
118
121
|
catch (error) {
|
|
@@ -139,10 +142,11 @@ export const generateSidebarGridLayout = (controlPaneId, contentPanes, sidebarWi
|
|
|
139
142
|
const availableWidth = contentWidth - bordersWidth;
|
|
140
143
|
const paneWidth = Math.floor(availableWidth / cols);
|
|
141
144
|
// Check if last pane is a spacer
|
|
145
|
+
const tmuxService = TmuxService.getInstance();
|
|
142
146
|
const lastPaneIsSpacer = contentPanes.length > 0 && (() => {
|
|
143
147
|
try {
|
|
144
148
|
const lastPaneId = contentPanes[contentPanes.length - 1];
|
|
145
|
-
const title =
|
|
149
|
+
const title = tmuxService.getPaneTitleSync(lastPaneId);
|
|
146
150
|
return title === 'dmux-spacer';
|
|
147
151
|
}
|
|
148
152
|
catch {
|
|
@@ -156,10 +160,10 @@ export const generateSidebarGridLayout = (controlPaneId, contentPanes, sidebarWi
|
|
|
156
160
|
const paneHeight = Math.floor(availableHeight / rows);
|
|
157
161
|
// Extract numeric ID from controlPaneId (e.g., %1 -> 1)
|
|
158
162
|
const sidebarId = controlPaneId.replace('%', '');
|
|
159
|
-
// Debug logging
|
|
160
|
-
LogService.getInstance().debug(`generateSidebarGridLayout: ${numContentPanes} panes, ${cols} cols x ${rows} rows`, 'Layout');
|
|
161
|
-
LogService.getInstance().debug(`Window: ${windowWidth}x${windowHeight}, Content: ${contentWidth}x${windowHeight} starting at X=${contentStartX}`, 'Layout');
|
|
162
|
-
LogService.getInstance().debug(`Pane width: ${paneWidth}, borders: ${bordersWidth}`, 'Layout');
|
|
163
|
+
// Debug logging (commented out to reduce log noise)
|
|
164
|
+
// LogService.getInstance().debug(`generateSidebarGridLayout: ${numContentPanes} panes, ${cols} cols x ${rows} rows`, 'Layout');
|
|
165
|
+
// LogService.getInstance().debug(`Window: ${windowWidth}x${windowHeight}, Content: ${contentWidth}x${windowHeight} starting at X=${contentStartX}`, 'Layout');
|
|
166
|
+
// LogService.getInstance().debug(`Pane width: ${paneWidth}, borders: ${bordersWidth}`, 'Layout');
|
|
163
167
|
// Build grid rows (vertical splits within content area)
|
|
164
168
|
// Use ABSOLUTE coordinates everywhere (tmux requirement - yes, even inside containers!)
|
|
165
169
|
const gridRows = [];
|
|
@@ -196,9 +200,12 @@ export const generateSidebarGridLayout = (controlPaneId, contentPanes, sidebarWi
|
|
|
196
200
|
const bordersInRow = panesInThisRow.length - 1; // borders between ALL panes in row
|
|
197
201
|
const totalContentWidth = numContentPanesInRow * contentPaneWidth;
|
|
198
202
|
const remainingWidth = contentWidth - totalContentWidth - bordersInRow;
|
|
199
|
-
LogService.getInstance().debug(
|
|
203
|
+
// LogService.getInstance().debug(
|
|
204
|
+
// `Row ${row} with spacer: ${numContentPanesInRow} content panes @ ${contentPaneWidth} = ${totalContentWidth}, borders=${bordersInRow}, spacer=${remainingWidth}`,
|
|
205
|
+
// 'Layout'
|
|
206
|
+
// );
|
|
200
207
|
if (remainingWidth < 0) {
|
|
201
|
-
LogService.getInstance().
|
|
208
|
+
LogService.getInstance().warn(`Negative spacer width! contentWidth=${contentWidth}, totalContent=${totalContentWidth}, borders=${bordersInRow}`, 'Layout');
|
|
202
209
|
}
|
|
203
210
|
contentPaneWidths = Array(numContentPanesInRow).fill(contentPaneWidth);
|
|
204
211
|
spacerWidth = remainingWidth;
|
|
@@ -232,7 +239,7 @@ export const generateSidebarGridLayout = (controlPaneId, contentPanes, sidebarWi
|
|
|
232
239
|
// Horizontal split = use curly braces {}
|
|
233
240
|
// Row container also uses ABSOLUTE coordinates
|
|
234
241
|
const rowString = `${contentWidth}x${rowHeight},${contentStartX},${currentY}{${rowPanes.join(',')}}`;
|
|
235
|
-
LogService.getInstance().debug(`Row ${row}: ${rowPanes.length} panes → ${rowString}`, 'Layout');
|
|
242
|
+
// LogService.getInstance().debug(`Row ${row}: ${rowPanes.length} panes → ${rowString}`, 'Layout');
|
|
236
243
|
gridRows.push(rowString);
|
|
237
244
|
}
|
|
238
245
|
else if (rowPanes.length === 1) {
|
|
@@ -242,7 +249,7 @@ export const generateSidebarGridLayout = (controlPaneId, contentPanes, sidebarWi
|
|
|
242
249
|
parts[1] = contentStartX.toString(); // X absolute
|
|
243
250
|
parts[2] = currentY.toString(); // Y absolute
|
|
244
251
|
const singlePaneString = parts.join(',');
|
|
245
|
-
LogService.getInstance().debug(`Row ${row}: 1 pane → ${singlePaneString}`, 'Layout');
|
|
252
|
+
// LogService.getInstance().debug(`Row ${row}: 1 pane → ${singlePaneString}`, 'Layout');
|
|
246
253
|
gridRows.push(singlePaneString);
|
|
247
254
|
}
|
|
248
255
|
// Move Y position down by pane height + 1 for border (except on last row)
|
|
@@ -265,7 +272,7 @@ export const generateSidebarGridLayout = (controlPaneId, contentPanes, sidebarWi
|
|
|
265
272
|
// Adjust the container's X position from 0 to contentStartX
|
|
266
273
|
const contentArea = row.replace(/^(\d+x\d+),0,/, `$1,${contentStartX},`);
|
|
267
274
|
layoutWithoutChecksum = `${windowWidth}x${windowHeight},0,0{${sidebar},${contentArea}}`;
|
|
268
|
-
LogService.getInstance().debug(`Single row layout: {sidebar, content}`, 'Layout');
|
|
275
|
+
// LogService.getInstance().debug(`Single row layout: {sidebar, content}`, 'Layout');
|
|
269
276
|
}
|
|
270
277
|
else {
|
|
271
278
|
// No content panes
|
|
@@ -274,7 +281,7 @@ export const generateSidebarGridLayout = (controlPaneId, contentPanes, sidebarWi
|
|
|
274
281
|
// Calculate checksum and prepend to layout string
|
|
275
282
|
const checksum = calculateLayoutChecksum(layoutWithoutChecksum);
|
|
276
283
|
const finalLayout = `${checksum},${layoutWithoutChecksum}`;
|
|
277
|
-
LogService.getInstance().debug(`Generated layout string: ${finalLayout}`, 'Layout');
|
|
284
|
+
// LogService.getInstance().debug(`Generated layout string: ${finalLayout}`, 'Layout');
|
|
278
285
|
return finalLayout;
|
|
279
286
|
};
|
|
280
287
|
/**
|
|
@@ -331,16 +338,17 @@ export const calculateOptimalColumns = (numPanes, contentWidth, contentHeight) =
|
|
|
331
338
|
* @deprecated This function now delegates to the centralized layout manager.
|
|
332
339
|
* Consider using recalculateAndApplyLayout() directly from layoutManager.ts
|
|
333
340
|
*/
|
|
334
|
-
export const enforceControlPaneSize = (controlPaneId, width) => {
|
|
341
|
+
export const enforceControlPaneSize = async (controlPaneId, width) => {
|
|
335
342
|
const logService = LogService.getInstance();
|
|
343
|
+
const tmuxService = TmuxService.getInstance();
|
|
336
344
|
try {
|
|
337
345
|
const contentPanes = getContentPaneIds(controlPaneId);
|
|
338
|
-
logService.debug(`enforceControlPaneSize called: ${contentPanes.length} content panes`, 'Layout');
|
|
346
|
+
// logService.debug(`enforceControlPaneSize called: ${contentPanes.length} content panes`, 'Layout');
|
|
339
347
|
// If we only have the control pane, nothing to enforce
|
|
340
348
|
if (contentPanes.length === 0) {
|
|
341
349
|
// Just resize the sidebar
|
|
342
350
|
try {
|
|
343
|
-
|
|
351
|
+
await tmuxService.resizePane(controlPaneId, { width });
|
|
344
352
|
}
|
|
345
353
|
catch {
|
|
346
354
|
// Ignore errors
|
|
@@ -350,21 +358,21 @@ export const enforceControlPaneSize = (controlPaneId, width) => {
|
|
|
350
358
|
// Check if we have only the welcome pane (should not be width-constrained)
|
|
351
359
|
if (contentPanes.length === 1) {
|
|
352
360
|
try {
|
|
353
|
-
const title =
|
|
354
|
-
encoding: 'utf-8',
|
|
355
|
-
stdio: 'pipe'
|
|
356
|
-
}).trim();
|
|
361
|
+
const title = tmuxService.getPaneTitleSync(contentPanes[0]);
|
|
357
362
|
if (title === 'Welcome') {
|
|
358
363
|
// Welcome pane should use full terminal width, not be constrained
|
|
359
364
|
// Get terminal dimensions and let window follow terminal
|
|
360
365
|
const termDims = getTerminalDimensions();
|
|
366
|
+
// Calculate window height accounting for status bar to prevent scroll
|
|
367
|
+
const statusBarHeight = tmuxService.getStatusBarHeightSync();
|
|
368
|
+
const windowHeight = termDims.height - statusBarHeight;
|
|
361
369
|
// Set window size to match terminal (manual mode but always tracking terminal)
|
|
362
|
-
|
|
363
|
-
|
|
370
|
+
tmuxService.setWindowOptionSync('window-size', 'manual');
|
|
371
|
+
await tmuxService.resizeWindow({ width: termDims.width, height: windowHeight });
|
|
364
372
|
// Apply main-vertical layout with fixed sidebar width
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
373
|
+
tmuxService.setWindowOptionSync('main-pane-width', String(width));
|
|
374
|
+
await tmuxService.selectLayout('main-vertical');
|
|
375
|
+
await tmuxService.refreshClient();
|
|
368
376
|
return;
|
|
369
377
|
}
|
|
370
378
|
}
|
|
@@ -375,10 +383,10 @@ export const enforceControlPaneSize = (controlPaneId, width) => {
|
|
|
375
383
|
// Use the new layout manager for regular content panes
|
|
376
384
|
// Read terminal dimensions (not window dimensions which may be stale in manual mode)
|
|
377
385
|
const dimensions = getTerminalDimensions();
|
|
378
|
-
logService.debug(`Terminal dimensions: ${dimensions.width}x${dimensions.height}`, 'Layout');
|
|
379
|
-
recalculateAndApplyLayout(controlPaneId, contentPanes, dimensions.width, dimensions.height);
|
|
386
|
+
// logService.debug(`Terminal dimensions: ${dimensions.width}x${dimensions.height}`, 'Layout');
|
|
387
|
+
await recalculateAndApplyLayout(controlPaneId, contentPanes, dimensions.width, dimensions.height);
|
|
380
388
|
// Refresh to apply changes (but don't select the pane - don't steal focus!)
|
|
381
|
-
|
|
389
|
+
await tmuxService.refreshClient();
|
|
382
390
|
}
|
|
383
391
|
catch (error) {
|
|
384
392
|
// Log error for debugging but don't crash
|
package/dist/utils/tmux.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tmux.js","sourceRoot":"","sources":["../../src/utils/tmux.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tmux.js","sourceRoot":"","sources":["../../src/utils/tmux.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,12 +11,12 @@ export declare function createWelcomePane(controlPaneId: string): Promise<string
|
|
|
11
11
|
*
|
|
12
12
|
* @param welcomePaneId - The pane ID of the welcome pane to destroy
|
|
13
13
|
*/
|
|
14
|
-
export declare function destroyWelcomePane(welcomePaneId: string | undefined): void
|
|
14
|
+
export declare function destroyWelcomePane(welcomePaneId: string | undefined): Promise<void>;
|
|
15
15
|
/**
|
|
16
16
|
* Checks if a welcome pane exists and is still alive
|
|
17
17
|
*
|
|
18
18
|
* @param welcomePaneId - The pane ID to check
|
|
19
19
|
* @returns true if the pane exists, false otherwise
|
|
20
20
|
*/
|
|
21
|
-
export declare function welcomePaneExists(welcomePaneId: string | undefined): boolean
|
|
21
|
+
export declare function welcomePaneExists(welcomePaneId: string | undefined): Promise<boolean>;
|
|
22
22
|
//# sourceMappingURL=welcomePane.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"welcomePane.d.ts","sourceRoot":"","sources":["../../src/utils/welcomePane.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"welcomePane.d.ts","sourceRoot":"","sources":["../../src/utils/welcomePane.ts"],"names":[],"mappings":"AAKA;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CA8D1F;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBzF;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,CAO3F"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { execSync } from 'child_process';
|
|
2
1
|
import { renderAsciiArt } from './asciiArt.js';
|
|
3
2
|
import { LogService } from '../services/LogService.js';
|
|
4
|
-
import {
|
|
3
|
+
import { TmuxService } from '../services/TmuxService.js';
|
|
5
4
|
import { SIDEBAR_WIDTH } from './layoutManager.js';
|
|
6
5
|
/**
|
|
7
6
|
* Creates a welcome pane in the tmux session
|
|
@@ -12,19 +11,18 @@ import { SIDEBAR_WIDTH } from './layoutManager.js';
|
|
|
12
11
|
*/
|
|
13
12
|
export async function createWelcomePane(controlPaneId) {
|
|
14
13
|
const logService = LogService.getInstance();
|
|
14
|
+
const tmuxService = TmuxService.getInstance();
|
|
15
15
|
try {
|
|
16
16
|
// Split horizontally to the right of the control pane
|
|
17
17
|
// This creates a new pane that takes up the rest of the horizontal space
|
|
18
|
-
const
|
|
19
|
-
const welcomePaneId = result;
|
|
18
|
+
const welcomePaneId = await tmuxService.splitPane({ targetPane: controlPaneId });
|
|
20
19
|
if (!welcomePaneId) {
|
|
21
20
|
logService.error('Failed to create welcome pane: no pane ID returned', 'WelcomePane');
|
|
22
21
|
return undefined;
|
|
23
22
|
}
|
|
24
|
-
logService.debug(`Created welcome pane: ${welcomePaneId}`, 'WelcomePane');
|
|
25
23
|
// Set pane title
|
|
26
24
|
try {
|
|
27
|
-
|
|
25
|
+
await tmuxService.setPaneTitle(welcomePaneId, "Welcome");
|
|
28
26
|
}
|
|
29
27
|
catch {
|
|
30
28
|
// Ignore title errors
|
|
@@ -41,19 +39,20 @@ export async function createWelcomePane(controlPaneId) {
|
|
|
41
39
|
// Welcome pane uses full terminal dimensions
|
|
42
40
|
// CRITICAL: Use main-vertical layout to lock sidebar at fixed width
|
|
43
41
|
try {
|
|
44
|
-
const dimensions = getTerminalDimensions();
|
|
42
|
+
const dimensions = await tmuxService.getTerminalDimensions();
|
|
45
43
|
// Apply main-vertical layout FIRST (this locks sidebar width)
|
|
44
|
+
const { execSync } = await import('child_process');
|
|
46
45
|
execSync(`tmux set-window-option main-pane-width ${SIDEBAR_WIDTH}`, { stdio: 'pipe' });
|
|
47
46
|
execSync(`tmux select-layout main-vertical`, { stdio: 'pipe' });
|
|
48
47
|
// Refresh to apply layout changes
|
|
49
|
-
|
|
50
|
-
logService.debug(`Set welcome pane layout: sidebar=${SIDEBAR_WIDTH}, window=${dimensions.width}x${dimensions.height}`, 'WelcomePane');
|
|
48
|
+
await tmuxService.refreshClient();
|
|
51
49
|
}
|
|
52
50
|
catch (error) {
|
|
53
|
-
|
|
51
|
+
// Silently ignore layout errors
|
|
54
52
|
}
|
|
55
53
|
// Switch focus back to the control pane (dmux sidebar)
|
|
56
54
|
try {
|
|
55
|
+
const { execSync } = await import('child_process');
|
|
57
56
|
execSync(`tmux select-pane -t '${controlPaneId}'`, { stdio: 'pipe' });
|
|
58
57
|
}
|
|
59
58
|
catch {
|
|
@@ -71,25 +70,23 @@ export async function createWelcomePane(controlPaneId) {
|
|
|
71
70
|
*
|
|
72
71
|
* @param welcomePaneId - The pane ID of the welcome pane to destroy
|
|
73
72
|
*/
|
|
74
|
-
export function destroyWelcomePane(welcomePaneId) {
|
|
73
|
+
export async function destroyWelcomePane(welcomePaneId) {
|
|
75
74
|
if (!welcomePaneId) {
|
|
76
75
|
return;
|
|
77
76
|
}
|
|
78
77
|
const logService = LogService.getInstance();
|
|
78
|
+
const tmuxService = TmuxService.getInstance();
|
|
79
79
|
try {
|
|
80
80
|
// Check if the pane still exists before trying to kill it
|
|
81
|
-
const paneExists =
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
}
|
|
85
|
-
logService.debug(`Found welcome pane ${paneExists}, destroying it`, 'WelcomePane');
|
|
81
|
+
const paneExists = await tmuxService.paneExists(welcomePaneId);
|
|
82
|
+
if (!paneExists) {
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
86
85
|
// Kill the pane
|
|
87
|
-
|
|
88
|
-
logService.debug(`Destroyed welcome pane: ${welcomePaneId}`, 'WelcomePane');
|
|
86
|
+
await tmuxService.killPane(welcomePaneId);
|
|
89
87
|
}
|
|
90
88
|
catch (error) {
|
|
91
89
|
// Pane doesn't exist or already killed - that's fine
|
|
92
|
-
logService.debug(`Welcome pane ${welcomePaneId} already gone or couldn't be destroyed`, 'WelcomePane');
|
|
93
90
|
}
|
|
94
91
|
}
|
|
95
92
|
/**
|
|
@@ -98,22 +95,11 @@ export function destroyWelcomePane(welcomePaneId) {
|
|
|
98
95
|
* @param welcomePaneId - The pane ID to check
|
|
99
96
|
* @returns true if the pane exists, false otherwise
|
|
100
97
|
*/
|
|
101
|
-
export function welcomePaneExists(welcomePaneId) {
|
|
98
|
+
export async function welcomePaneExists(welcomePaneId) {
|
|
102
99
|
if (!welcomePaneId) {
|
|
103
100
|
return false;
|
|
104
101
|
}
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
// This is more reliable than display-message which sometimes succeeds for non-existent panes
|
|
108
|
-
const paneList = execSync('tmux list-panes -a -F "#{pane_id}"', {
|
|
109
|
-
encoding: 'utf-8',
|
|
110
|
-
stdio: 'pipe'
|
|
111
|
-
}).trim();
|
|
112
|
-
const panes = paneList.split('\n');
|
|
113
|
-
return panes.includes(welcomePaneId);
|
|
114
|
-
}
|
|
115
|
-
catch {
|
|
116
|
-
return false;
|
|
117
|
-
}
|
|
102
|
+
const tmuxService = TmuxService.getInstance();
|
|
103
|
+
return await tmuxService.paneExists(welcomePaneId);
|
|
118
104
|
}
|
|
119
105
|
//# sourceMappingURL=welcomePane.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"welcomePane.js","sourceRoot":"","sources":["../../src/utils/welcomePane.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"welcomePane.js","sourceRoot":"","sources":["../../src/utils/welcomePane.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"welcomePaneManager.d.ts","sourceRoot":"","sources":["../../src/utils/welcomePaneManager.ts"],"names":[],"mappings":"
|
|
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"}
|
|
@@ -2,8 +2,7 @@ import fs from 'fs';
|
|
|
2
2
|
import path from 'path';
|
|
3
3
|
import { createWelcomePane, welcomePaneExists, destroyWelcomePane } from './welcomePane.js';
|
|
4
4
|
import { LogService } from '../services/LogService.js';
|
|
5
|
-
import {
|
|
6
|
-
import { getTerminalDimensions } from './tmux.js';
|
|
5
|
+
import { atomicWriteJsonSync } from './atomicWrite.js';
|
|
7
6
|
// Global lock to prevent concurrent welcome pane operations
|
|
8
7
|
let creationLock = false;
|
|
9
8
|
let lastCreationTime = 0;
|
|
@@ -50,26 +49,17 @@ export function destroyWelcomePaneCoordinated(projectRoot) {
|
|
|
50
49
|
const configContent = fs.readFileSync(configPath, 'utf-8');
|
|
51
50
|
const config = JSON.parse(configContent);
|
|
52
51
|
if (config.welcomePaneId) {
|
|
53
|
-
logService.debug(`Destroying welcome pane: ${config.welcomePaneId}`, 'WelcomePaneManager');
|
|
54
52
|
// Destroy the pane
|
|
55
53
|
destroyWelcomePane(config.welcomePaneId);
|
|
56
|
-
// Clear from config
|
|
54
|
+
// Clear from config (use atomic write to prevent race conditions)
|
|
57
55
|
delete config.welcomePaneId;
|
|
58
56
|
config.lastUpdated = new Date().toISOString();
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
//
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
const contentPaneIds = config.panes.map(p => p.paneId);
|
|
66
|
-
recalculateAndApplyLayout(config.controlPaneId, contentPaneIds, dimensions.width, dimensions.height);
|
|
67
|
-
logService.debug(`Recalculated layout for ${contentPaneIds.length} content panes`, 'WelcomePaneManager');
|
|
68
|
-
}
|
|
69
|
-
catch (error) {
|
|
70
|
-
logService.debug('Failed to recalculate layout after welcome pane destruction', 'WelcomePaneManager');
|
|
71
|
-
}
|
|
72
|
-
}
|
|
57
|
+
atomicWriteJsonSync(configPath, config);
|
|
58
|
+
// DO NOT recalculate layout here - layout was already calculated in paneCreation.ts
|
|
59
|
+
// before this function was called. Recalculating now would cause a mismatch because
|
|
60
|
+
// tmux still has 3 panes (sidebar, welcome being destroyed, new content) but we'd
|
|
61
|
+
// calculate for 2 panes (sidebar, new content).
|
|
62
|
+
// The layout application in paneCreation.ts already accounts for the correct final state.
|
|
73
63
|
}
|
|
74
64
|
return true;
|
|
75
65
|
}
|
|
@@ -103,23 +93,19 @@ export async function createWelcomePaneCoordinated(projectRoot, controlPaneId) {
|
|
|
103
93
|
const configContent = fs.readFileSync(configPath, 'utf-8');
|
|
104
94
|
const config = JSON.parse(configContent);
|
|
105
95
|
// Check if we already have a valid welcome pane
|
|
106
|
-
if (config.welcomePaneId && welcomePaneExists(config.welcomePaneId)) {
|
|
107
|
-
logService.debug(`Welcome pane ${config.welcomePaneId} already exists`, 'WelcomePaneManager');
|
|
96
|
+
if (config.welcomePaneId && await welcomePaneExists(config.welcomePaneId)) {
|
|
108
97
|
return true; // Already exists, that's fine
|
|
109
98
|
}
|
|
110
|
-
logService.debug('Creating new welcome pane', 'WelcomePaneManager');
|
|
111
99
|
// Create the welcome pane
|
|
112
100
|
const welcomePaneId = await createWelcomePane(controlPaneId);
|
|
113
101
|
if (welcomePaneId) {
|
|
114
|
-
// Update config with new welcome pane ID
|
|
102
|
+
// Update config with new welcome pane ID (use atomic write)
|
|
115
103
|
config.welcomePaneId = welcomePaneId;
|
|
116
104
|
config.lastUpdated = new Date().toISOString();
|
|
117
|
-
|
|
118
|
-
logService.debug(`Created welcome pane: ${welcomePaneId}`, 'WelcomePaneManager');
|
|
105
|
+
atomicWriteJsonSync(configPath, config);
|
|
119
106
|
return true;
|
|
120
107
|
}
|
|
121
108
|
else {
|
|
122
|
-
logService.debug('createWelcomePane returned undefined', 'WelcomePaneManager');
|
|
123
109
|
return false;
|
|
124
110
|
}
|
|
125
111
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"welcomePaneManager.js","sourceRoot":"","sources":["../../src/utils/welcomePaneManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC5F,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"welcomePaneManager.js","sourceRoot":"","sources":["../../src/utils/welcomePaneManager.ts"],"names":[],"mappings":"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"}
|