Connection manager in its own native window, modal to main
Single window centered over the main app. Electrobun has no native modality, so it's approximated: bun bounces the main window's focus back to the manager, the main webview shows a click-swallowing overlay, and main-targeted menu/keyboard actions are dropped while open. Editor windows stay fully usable. Connect/open-stack execute in the main window via the existing connect: action channel; store edits push a connectionsChanged refresh. Trigger moved from the panel dropdown to a tab-bar button. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -140,6 +140,13 @@ export type AppRPC = {
|
||||
/** Editor windows only — handled by that window's own rpc closure. */
|
||||
editorSave: { params: { content: string }; response: Result };
|
||||
editorClose: { params: Record<string, never>; response: Result };
|
||||
// connection-manager window
|
||||
/** Main window: open (or focus) the single connection-manager window. */
|
||||
openConnectionManager: { params: Record<string, never>; response: Result };
|
||||
/** Manager window only: connect/open-stack run in the MAIN window. */
|
||||
managerConnect: { params: { id: string }; response: Result };
|
||||
managerOpenStack: { params: { id: string }; response: Result };
|
||||
managerClose: { params: Record<string, never>; response: Result };
|
||||
};
|
||||
messages: {
|
||||
/** Editor → bun draft mirror; safety net for the non-cancellable native close. */
|
||||
@@ -158,6 +165,10 @@ export type AppRPC = {
|
||||
pathRefresh: { sessionId: string; dir: string };
|
||||
/** bun → one editor: run the in-window close flow (dirty prompt). */
|
||||
editorCloseRequest: Record<string, never>;
|
||||
/** bun → main: the modal connection manager opened/closed. */
|
||||
managerState: { open: boolean };
|
||||
/** bun → main: the manager window changed the connection store. */
|
||||
connectionsChanged: Record<string, never>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user