Skip to content

feat(panes): Gemeinsames Startmenü für Tab und Pane - #522

Merged
iret77 merged 2 commits into
mainfrom
feat/unified-launch-menu-tab-to-pane
Oct 8, 2026
Merged

iret77 merged 2 commits into
mainfrom
feat/unified-launch-menu-tab-to-pane

Conversation

@iret77

@iret77 iret77 commented Oct 6, 2026 •

Copy link
Copy Markdown
Collaborator

Was

Tabs und Panes haben ein gemeinsames Startmenü. „+“ und alle vier Split-Richtungen (links, rechts, oben, unten; Menü und Tastatur) zeigen:

  1. Terminal (lokal)
  2. Neuer Agent… (bei aktivem Cockpit)
  3. Favoriten (Klick verbindet direkt, ⋯ öffnet „Neuer Agent auf …“, „Bearbeiten“, „Entfernen“)
  4. Weitere Hosts ›: neues Untermenü mit allen registrierten Hosts, die keine Favoriten sind

Aus einem Split heraus zielt jeder Eintrag auf das beim Öffnen erfasste Ziel (Tab, Pane, Richtung). Tab-spezifische Einträge (Tab-Konfigurationen, Docker-Sandbox, Worktree-Konfiguration, geschlossene Session) bleiben im „+“-Menü unterhalb des gemeinsamen Teils.

„Neuer Agent…“ aus dem Split-Menü öffnet die Spawn-Karte mit dem erfassten Ziel. Der Start legt genau ein Pane an dieser Position an und revalidiert das Ziel vorher, weil sich das Layout bei offener Karte ändern kann, etwa durch die Auswahl eines Remote-Verzeichnisses. Konto, Launch-Intent und Prompt-Vorbelegung hängen am neuen Pane, nicht am fokussierten. Eine Auswahl mehrerer Konten wird mit Hinweis abgelehnt.

Umsetzung

  • split_launch_menu ist jetzt ein dispatchendes Menu<WorkspaceAction> mit Safe-Triangle wie das „+“-Menü. Neue Aktionen: SplitLaunchLocal, SplitLaunchHost, SplitLaunchSpawnCard. Die Aktion läuft vor dem Close des Menüs und verbraucht das PendingSplitLaunch.
  • Ein LaunchMenuTarget (NewTab/Split) erzeugt aus denselben Favoriten- und Host-Bausteinen die jeweilige Aktion.
  • launch_routed_agent_with_mode hat einen optionalen Split-Parameter und liefert das gestartete Terminal zurück. Lokal wird über insert_terminal_for_split gestartet, remote, geroutet und managed über die vorhandenen Split-Pfade von open_resolved_ssh_terminal_command.
  • Die Markierung „· Aktuell“ entfällt, weil die Pane-Kopfzeile den Host bereits nennt. split_launch_source_host ist dadurch entfallen.

Spec

Eigenständig getroffene, umkehrbare Entscheidungen

  • Version 1.2.0: Es ist ein Feature. 1.1.1 wurde nie veröffentlicht (letzter Tag v1.1.0), deshalb gehen die bisherigen 1.1.1-Einträge im Changelog in 1.2.0 auf, statt eine nie erschienene Version zu führen.
  • Reihenfolge im „+“-Menü: Die Tab-Konfigurationen stehen jetzt unter dem gemeinsamen Startteil statt direkt unter „Terminal“, damit der erste Block in beiden Menüs gleich ist.

Verifikation

  • Statisch: rustfmt --check (geänderte Hunks), git diff --check, check-no-new-cjk, check-i18n-parity, check-i18n-literals, check-persistent-hover-state, check-v1-release-readiness --phase-a.
  • Nicht kompiliert: Lokale Builds sind nach den Repo-Regeln ausgeschlossen. Kompilierung und Tests laufen im ci-batch erst nach Freigabe.
  • Tests: connections_registry_drives_favorite_launch_menu erweitert (Weitere Hosts, Split-Varianten), neu sind split_launch_menu_without_cockpit_or_registry_keeps_the_local_terminal, every_split_direction_opens_the_launch_menu_without_adding_a_pane und split_agent_launch_recaptures_its_target_until_the_source_pane_closes. Die Integrationsschritte klicken jetzt „Terminal“ statt „Lokal · Aktuell“.

Nicht enthalten

  • Tab per Ziehen als Pane: separater, darauf aufbauender PR (feat/tab-join-as-pane).
  • Ein manuell getipptes ssh host in einem lokalen Pane wird weiterhin nicht als Host erkannt; der Pane-Titel bleibt „Lokal · …“.

View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

iret77 added 2 commits October 6, 2026 12:04
„+“ und alle vier Split-Richtungen öffnen dasselbe Startmenü: Terminal,
„Neuer Agent…“, die Favoriten und neu das Untermenü „Weitere Hosts“ mit
allen registrierten Hosts, die keine Favoriten sind. Aus einem Split
dispatcht jeder Eintrag eine Split-Aktion gegen das beim Öffnen erfasste
Ziel; Tab-spezifische Einträge bleiben im „+“-Menü.

„Neuer Agent…“ aus dem Split-Menü öffnet die Spawn-Karte mit dem
erfassten Ziel. Der Start legt genau ein Pane dort an, revalidiert das
Ziel vorher und bindet Konto, Launch-Intent und Prompt an das neue Pane
statt an das fokussierte. Eine Auswahl mehrerer Konten wird abgelehnt.

Die UI-Spec docs/ui/pane-launch-and-tab-join.html beschreibt das
Startmenü und das spätere Einfügen eines Tabs als Pane; PRODUCT §31/§32/§34
und #spec P2/P4 sind angepasst. Version 1.2.0, da 1.1.1 nie veröffentlicht
wurde und dessen Einträge in 1.2.0 aufgehen.
@iret77
iret77 merged commit 0829474 into main Oct 8, 2026
1 check passed
@iret77
iret77 deleted the feat/unified-launch-menu-tab-to-pane branch October 8, 2026 15:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant