Add pinnable new-tab targets to the tab row and sidebar

Any new-tab target (new agent, terminal, browser, or a terminal profile)
can be pinned as a quick-launch button. Pins are global client app state
(persisted), not daemon config, so the same set shows on every workspace;
profile pins resolve per host and are dropped where that profile is absent.

The sidebar mirror launches via a navigate-then-launch intent store rather
than calling the create handlers directly: terminal creation only works in
the mounted/focused workspace, so the sidebar requests the launch and the
workspace screen consumes it on focus.
This commit is contained in:
Mohamed Boudra
2026-06-15 14:09:29 +07:00
parent 42969e40d5
commit 713a042dc5
22 changed files with 835 additions and 65 deletions
+2
View File
@@ -467,6 +467,8 @@ export const ar: TranslationResources = {
splitDown: "تقسيم الجزء لأسفل",
terminalProfilesMenu: "Terminal profiles",
editTerminalProfiles: "Edit profiles…",
pinTarget: "تثبيت",
unpinTarget: "إلغاء التثبيت",
},
explorer: {
open: "افتح المستكشف",
+2
View File
@@ -466,6 +466,8 @@ export const en = {
splitDown: "Split pane down",
terminalProfilesMenu: "Terminal profiles",
editTerminalProfiles: "Edit profiles…",
pinTarget: "Pin",
unpinTarget: "Unpin",
},
explorer: {
open: "Open explorer",
+2
View File
@@ -471,6 +471,8 @@ export const es: TranslationResources = {
splitDown: "Dividir panel hacia abajo",
terminalProfilesMenu: "Terminal profiles",
editTerminalProfiles: "Edit profiles…",
pinTarget: "Fijar",
unpinTarget: "Desfijar",
},
explorer: {
open: "Explorador abierto",
+2
View File
@@ -471,6 +471,8 @@ export const fr: TranslationResources = {
splitDown: "Diviser le volet vers le bas",
terminalProfilesMenu: "Terminal profiles",
editTerminalProfiles: "Edit profiles…",
pinTarget: "Épingler",
unpinTarget: "Détacher",
},
explorer: {
open: "Ouvrir l'explorateur",
+2
View File
@@ -470,6 +470,8 @@ export const ru: TranslationResources = {
splitDown: "Разделить панель вниз",
terminalProfilesMenu: "Terminal profiles",
editTerminalProfiles: "Edit profiles…",
pinTarget: "Закрепить",
unpinTarget: "Открепить",
},
explorer: {
open: "Открыть проводник",
+2
View File
@@ -467,6 +467,8 @@ export const zhCN: TranslationResources = {
splitDown: "向下拆分窗格",
terminalProfilesMenu: "Terminal profiles",
editTerminalProfiles: "Edit profiles…",
pinTarget: "固定",
unpinTarget: "取消固定",
},
explorer: {
open: "打开 explorer",