Files
Termix/plugins/ssh-terminal/manifest.json
T

826 lines
24 KiB
JSON

{
"id": "ssh-terminal",
"name": "SSH Terminal",
"version": "1.0.0",
"description": "SSH terminal sessions with jump hosts, host key checks, command history and a local terminal in the desktop app.",
"author": {
"name": "Termix"
},
"license": "MIT",
"repository": "https://github.com/Termix-SSH/Termix",
"category": "Terminal",
"icon": "SquareTerminal",
"engine": {
"termix": ">=2.9.0",
"api": "1"
},
"capabilities": [
"hosts:read",
"credentials:use",
"credentials:read",
"ssh:connect",
"network:serve",
"db:own",
"events:core",
"ui:surface"
],
"provides": [
{
"service": "sessions.live",
"version": "1.0.0",
"permission": "ssh-terminal.sessions",
"names": ["ssh"]
},
{
"service": "terminal.history",
"version": "1.0.0",
"permission": "ssh-terminal.history"
}
],
"requires": [
{
"service": "tmux.sessions",
"versionRange": "^1.0.0",
"optional": true
},
{
"service": "sessions.sharing",
"versionRange": "^1.0.0",
"optional": true
},
{
"service": "recordings.writer",
"versionRange": "^1.0.0",
"optional": true
}
],
"contributes": {
"tabs": [
{
"id": "terminal",
"titleKey": "nav.terminal",
"icon": "SquareTerminal",
"openFrom": ["host-context-menu", "palette"]
},
{
"id": "local-terminal",
"titleKey": "nav.localTerminal",
"icon": "Laptop",
"openFrom": ["rail", "palette"]
}
],
"panels": [
{
"id": "history",
"titleKey": "nav.history",
"icon": "History"
},
{
"id": "ssh-tools",
"titleKey": "nav.sshTools",
"icon": "Hammer"
},
{
"id": "macros",
"titleKey": "nav.macros",
"icon": "Braces"
}
],
"actionSlots": [
{
"id": "terminal.toolbar",
"accepts": ["button"]
},
{
"id": "terminal.toolbarStatus",
"accepts": ["component"]
},
{
"id": "terminal.sidePanel",
"accepts": ["component"]
},
{
"id": "terminal.overlay",
"accepts": ["component"]
}
],
"permissions": [
{
"name": "sessions",
"titleKey": "permissions.sessions.title",
"descriptionKey": "permissions.sessions.description",
"defaultRoles": ["admin", "user"]
},
{
"name": "history",
"titleKey": "permissions.history.title",
"descriptionKey": "permissions.history.description",
"defaultRoles": ["admin", "user"]
}
],
"settings": {
"admin": [
{
"key": "sessionTimeoutMinutes",
"type": "number",
"labelKey": "settings.admin.sessionTimeoutMinutes.label",
"descriptionKey": "settings.admin.sessionTimeoutMinutes.description",
"group": "settings.admin.group.sessions",
"min": 1,
"max": 1440,
"default": 30
},
{
"key": "sessionPersistence",
"type": "boolean",
"labelKey": "settings.admin.sessionPersistence.label",
"descriptionKey": "settings.admin.sessionPersistence.description",
"group": "settings.admin.group.sessions",
"default": true
},
{
"key": "commandHistoryEnabled",
"type": "boolean",
"labelKey": "settings.admin.commandHistoryEnabled.label",
"descriptionKey": "settings.admin.commandHistoryEnabled.description",
"group": "settings.admin.group.sessions",
"default": true
},
{
"key": "commandHistoryForNewHosts",
"type": "boolean",
"labelKey": "settings.admin.commandHistoryForNewHosts.label",
"descriptionKey": "settings.admin.commandHistoryForNewHosts.description",
"default": true,
"hidden": true
},
{
"key": "newHostTheme",
"type": "custom",
"component": "newHostTheme",
"group": "settings.admin.group.newHosts",
"default": "termix",
"hidden": true
},
{
"key": "newHostFontFamily",
"type": "custom",
"component": "newHostFontFamily",
"group": "settings.admin.group.newHosts",
"default": "Caskaydia Cove Nerd Font Mono",
"hidden": true
},
{
"key": "newHostFontSize",
"type": "number",
"labelKey": "settings.admin.newHostFontSize.label",
"descriptionKey": "settings.admin.newHostFontSize.description",
"group": "settings.admin.group.newHosts",
"min": 8,
"max": 36,
"default": 14,
"hidden": true
},
{
"key": "newHostCursorStyle",
"type": "select",
"labelKey": "settings.admin.newHostCursorStyle.label",
"group": "settings.admin.group.newHosts",
"default": "bar",
"options": [
{
"value": "block",
"labelKey": "hosts.cursorStyleBlock"
},
{
"value": "underline",
"labelKey": "hosts.cursorStyleUnderline"
},
{
"value": "bar",
"labelKey": "hosts.cursorStyleBar"
}
],
"hidden": true
},
{
"key": "newHostCursorBlink",
"type": "boolean",
"labelKey": "settings.admin.newHostCursorBlink.label",
"group": "settings.admin.group.newHosts",
"default": true,
"hidden": true
},
{
"key": "newHostAutoTmux",
"type": "boolean",
"labelKey": "settings.admin.newHostAutoTmux.label",
"descriptionKey": "settings.admin.newHostAutoTmux.description",
"group": "settings.admin.group.newHosts",
"default": false,
"hidden": true
},
{
"key": "touchInput",
"type": "custom",
"component": "touchInput",
"group": "settings.admin.group.touch"
},
{
"key": "imageStorageMode",
"type": "select",
"labelKey": "settings.admin.imageStorageMode.label",
"descriptionKey": "settings.admin.imageStorageMode.description",
"group": "settings.admin.group.images",
"options": [
{
"value": "auto",
"labelKey": "settings.admin.imageStorageMode.auto"
},
{
"value": "local",
"labelKey": "settings.admin.imageStorageMode.local"
},
{
"value": "remote-sftp",
"labelKey": "settings.admin.imageStorageMode.remoteSftp"
}
]
},
{
"key": "imageLocalDir",
"type": "secret",
"labelKey": "settings.admin.imageLocalDir.label",
"descriptionKey": "settings.admin.imageLocalDir.description",
"group": "settings.admin.group.images"
},
{
"key": "imageHostPath",
"type": "string",
"labelKey": "settings.admin.imageHostPath.label",
"descriptionKey": "settings.admin.imageHostPath.description",
"group": "settings.admin.group.images"
},
{
"key": "imageTtlMs",
"type": "number",
"labelKey": "settings.admin.imageTtlMs.label",
"descriptionKey": "settings.admin.imageTtlMs.description",
"group": "settings.admin.group.images",
"min": 0
},
{
"key": "imageMaxCount",
"type": "number",
"labelKey": "settings.admin.imageMaxCount.label",
"descriptionKey": "settings.admin.imageMaxCount.description",
"group": "settings.admin.group.images",
"min": 1
},
{
"key": "imageMaxBytes",
"type": "number",
"labelKey": "settings.admin.imageMaxBytes.label",
"descriptionKey": "settings.admin.imageMaxBytes.description",
"group": "settings.admin.group.images",
"min": 1048576
},
{
"key": "imageStorageTest",
"type": "custom",
"component": "imageStorageTest",
"group": "settings.admin.group.images"
}
],
"host": {
"editorGroup": "ssh",
"editorOrder": 12,
"enableKey": "enableTerminal",
"enableLabelKey": "settings.host.enableTerminal.label",
"enableDescriptionKey": "settings.host.enableTerminal.description",
"enableDefault": true,
"fields": [
{
"key": "enableTerminalToolbar",
"type": "boolean",
"labelKey": "settings.host.enableTerminalToolbar.label",
"descriptionKey": "settings.host.enableTerminalToolbar.description",
"default": true
},
{
"key": "terminalToolbarPosition",
"type": "select",
"labelKey": "settings.host.terminalToolbarPosition.label",
"descriptionKey": "settings.host.terminalToolbarPosition.description",
"requires": "enableTerminalToolbar",
"default": "bottom",
"options": [
{
"value": "bottom",
"labelKey": "settings.host.terminalToolbarPosition.bottom"
},
{
"value": "bottom-left",
"labelKey": "settings.host.terminalToolbarPosition.bottomLeft"
},
{
"value": "bottom-right",
"labelKey": "settings.host.terminalToolbarPosition.bottomRight"
},
{
"value": "top",
"labelKey": "settings.host.terminalToolbarPosition.top"
},
{
"value": "top-left",
"labelKey": "settings.host.terminalToolbarPosition.topLeft"
},
{
"value": "top-right",
"labelKey": "settings.host.terminalToolbarPosition.topRight"
}
]
},
{
"key": "terminalToolbarStartState",
"type": "select",
"labelKey": "settings.host.terminalToolbarStartState.label",
"descriptionKey": "settings.host.terminalToolbarStartState.description",
"requires": "enableTerminalToolbar",
"default": "expanded",
"options": [
{
"value": "expanded",
"labelKey": "settings.host.terminalToolbarStartState.expanded"
},
{
"value": "collapsed",
"labelKey": "settings.host.terminalToolbarStartState.collapsed"
}
]
},
{
"key": "terminalToolbarDisplay",
"type": "select",
"labelKey": "settings.host.terminalToolbarDisplay.label",
"descriptionKey": "settings.host.terminalToolbarDisplay.description",
"requires": "enableTerminalToolbar",
"default": "remember",
"options": [
{
"value": "remember",
"labelKey": "settings.host.terminalToolbarDisplay.remember"
},
{
"value": "icon",
"labelKey": "settings.host.terminalToolbarDisplay.icon"
},
{
"value": "labeled",
"labelKey": "settings.host.terminalToolbarDisplay.labeled"
},
{
"value": "expanded",
"labelKey": "settings.host.terminalToolbarDisplay.expanded"
}
]
},
{
"key": "terminalToolbarShowStatus",
"type": "boolean",
"labelKey": "settings.host.terminalToolbarShowStatus.label",
"descriptionKey": "settings.host.terminalToolbarShowStatus.description",
"requires": "enableTerminalToolbar",
"default": true
},
{
"key": "terminalToolbarFade",
"type": "boolean",
"labelKey": "settings.host.terminalToolbarFade.label",
"descriptionKey": "settings.host.terminalToolbarFade.description",
"requires": "enableTerminalToolbar",
"default": true
},
{
"key": "enableCommandHistory",
"type": "boolean",
"labelKey": "settings.host.enableCommandHistory.label",
"descriptionKey": "settings.host.enableCommandHistory.description",
"default": true
},
{
"key": "inheritAppearance",
"type": "boolean",
"labelKey": "settings.host.inheritAppearance.label",
"hidden": true,
"default": true,
"defaultable": false
},
{
"key": "theme",
"type": "string",
"labelKey": "settings.host.theme.label",
"hidden": true,
"default": "termix",
"personal": true
},
{
"key": "cursorBlink",
"type": "boolean",
"labelKey": "settings.host.cursorBlink.label",
"hidden": true,
"default": true,
"personal": true
},
{
"key": "cursorStyle",
"type": "select",
"labelKey": "settings.host.cursorStyle.label",
"hidden": true,
"default": "bar",
"options": [
{
"value": "block",
"labelKey": "hosts.cursorStyleBlock"
},
{
"value": "underline",
"labelKey": "hosts.cursorStyleUnderline"
},
{
"value": "bar",
"labelKey": "hosts.cursorStyleBar"
}
],
"personal": true
},
{
"key": "fontSize",
"type": "number",
"labelKey": "settings.host.fontSize.label",
"hidden": true,
"default": 14,
"personal": true
},
{
"key": "fontFamily",
"type": "string",
"labelKey": "settings.host.fontFamily.label",
"hidden": true,
"default": "Caskaydia Cove Nerd Font Mono",
"personal": true
},
{
"key": "scrollback",
"type": "number",
"labelKey": "settings.host.scrollback.label",
"hidden": true,
"default": 10000,
"personal": true
},
{
"key": "letterSpacing",
"type": "number",
"labelKey": "settings.host.letterSpacing.label",
"hidden": true,
"default": 0,
"personal": true
},
{
"key": "lineHeight",
"type": "number",
"labelKey": "settings.host.lineHeight.label",
"hidden": true,
"default": 1,
"personal": true
},
{
"key": "bellStyle",
"type": "select",
"labelKey": "settings.host.bellStyle.label",
"hidden": true,
"default": "none",
"options": [
{
"value": "none",
"labelKey": "hosts.bellStyleNone"
},
{
"value": "sound",
"labelKey": "hosts.bellStyleSound"
},
{
"value": "visual",
"labelKey": "hosts.bellStyleVisual"
},
{
"value": "both",
"labelKey": "hosts.bellStyleBoth"
}
],
"personal": true
},
{
"key": "minimumContrastRatio",
"type": "number",
"labelKey": "settings.host.minimumContrastRatio.label",
"hidden": true,
"default": 1,
"personal": true
},
{
"key": "backgroundImage",
"type": "string",
"labelKey": "settings.host.backgroundImage.label",
"hidden": true,
"default": "",
"personal": true
},
{
"key": "backgroundImageOpacity",
"type": "number",
"labelKey": "settings.host.backgroundImageOpacity.label",
"hidden": true,
"default": 0.15,
"personal": true
},
{
"key": "customThemeColors",
"type": "json",
"labelKey": "settings.host.customThemeColors.label",
"hidden": true,
"personal": true
},
{
"key": "rightClickSelectsWord",
"type": "boolean",
"labelKey": "settings.host.rightClickSelectsWord.label",
"hidden": true,
"default": false
},
{
"key": "macOptionIsMeta",
"type": "boolean",
"labelKey": "settings.host.macOptionIsMeta.label",
"hidden": true,
"default": false
},
{
"key": "fastScrollModifier",
"type": "select",
"labelKey": "settings.host.fastScrollModifier.label",
"hidden": true,
"default": "alt",
"options": [
{
"value": "alt",
"labelKey": "hosts.fastScrollModifierAlt"
},
{
"value": "ctrl",
"labelKey": "hosts.fastScrollModifierCtrl"
},
{
"value": "shift",
"labelKey": "hosts.fastScrollModifierShift"
}
]
},
{
"key": "fastScrollSensitivity",
"type": "number",
"labelKey": "settings.host.fastScrollSensitivity.label",
"hidden": true,
"default": 5
},
{
"key": "backspaceMode",
"type": "select",
"labelKey": "settings.host.backspaceMode.label",
"hidden": true,
"default": "normal",
"options": [
{
"value": "normal",
"labelKey": "hosts.backspaceModeNormal"
},
{
"value": "control-h",
"labelKey": "hosts.backspaceModeControlH"
}
]
},
{
"key": "autoMosh",
"type": "boolean",
"labelKey": "settings.host.autoMosh.label",
"hidden": true,
"default": false
},
{
"key": "moshCommand",
"type": "string",
"labelKey": "settings.host.moshCommand.label",
"hidden": true,
"default": ""
},
{
"key": "autoTmux",
"type": "boolean",
"labelKey": "settings.host.autoTmux.label",
"hidden": true,
"default": false
},
{
"key": "useSSHTitle",
"type": "boolean",
"labelKey": "settings.host.useSSHTitle.label",
"hidden": true,
"default": false
},
{
"key": "syntaxHighlighting",
"type": "boolean",
"labelKey": "settings.host.syntaxHighlighting.label",
"hidden": true,
"default": true
},
{
"key": "syntaxHighlightingOptions",
"type": "json",
"labelKey": "settings.host.syntaxHighlightingOptions.label",
"hidden": true
},
{
"key": "linkClickBehavior",
"type": "select",
"labelKey": "settings.host.linkClickBehavior.label",
"hidden": true,
"default": "confirm",
"options": [
{
"value": "confirm",
"labelKey": "hosts.linkClickBehaviorConfirm"
},
{
"value": "direct",
"labelKey": "hosts.linkClickBehaviorDirect"
}
]
},
{
"key": "localEcho",
"type": "select",
"labelKey": "settings.host.localEcho.label",
"hidden": true,
"default": "auto",
"options": [
{
"value": "off",
"labelKey": "hosts.localEchoOff"
},
{
"value": "auto",
"labelKey": "hosts.localEchoAuto"
},
{
"value": "on",
"labelKey": "hosts.localEchoOn"
}
]
},
{
"key": "passwordPromptAutoFill",
"type": "boolean",
"labelKey": "settings.host.passwordPromptAutoFill.label",
"hidden": true,
"default": true
},
{
"key": "sudoPasswordAutoFill",
"type": "boolean",
"labelKey": "settings.host.sudoPasswordAutoFill.label",
"hidden": true,
"default": false
}
]
},
"user": [
{
"key": "terminalDefaults",
"type": "custom",
"component": "terminalDefaults",
"default": {},
"hidden": true
},
{
"key": "customThemes",
"type": "json",
"labelKey": "settings.user.customThemes.label",
"hidden": true,
"default": []
},
{
"key": "commandAutocomplete",
"type": "boolean",
"labelKey": "settings.user.commandAutocomplete.label",
"descriptionKey": "settings.user.commandAutocomplete.description",
"default": false
},
{
"key": "localEcho",
"type": "select",
"labelKey": "settings.user.localEcho.label",
"descriptionKey": "settings.user.localEcho.description",
"default": "auto",
"options": [
{
"value": "off",
"labelKey": "hosts.localEchoOff"
},
{
"value": "auto",
"labelKey": "hosts.localEchoAuto"
},
{
"value": "on",
"labelKey": "hosts.localEchoOn"
}
],
"hidden": true
},
{
"key": "linkClickBehavior",
"type": "select",
"labelKey": "settings.user.linkClickBehavior.label",
"descriptionKey": "settings.user.linkClickBehavior.description",
"default": "confirm",
"options": [
{
"value": "confirm",
"labelKey": "hosts.linkClickBehaviorConfirm"
},
{
"value": "direct",
"labelKey": "hosts.linkClickBehaviorDirect"
}
],
"hidden": true
},
{
"key": "macros",
"type": "json",
"labelKey": "macros.title",
"hidden": true,
"default": []
}
]
},
"keybindingActions": [
{
"id": "copy"
},
{
"id": "paste"
},
{
"id": "sendControlCode",
"params": {
"controlCode": {
"type": "string",
"required": true,
"pattern": "^[a-zA-Z]$"
}
}
},
{
"id": "sendText",
"params": {
"text": {
"type": "string",
"maxLength": 65536,
"required": true
},
"appendEnter": {
"type": "boolean"
}
}
}
],
"uiPresets": {
"simple": {
"toolbarDensity": "icon"
},
"balanced": {
"toolbarDensity": "labeled"
},
"advanced": {
"toolbarDensity": "expanded"
}
},
"uses": ["files.openEditor", "files.openHost", "snippets.startupCommand"]
},
"locales": "locales",
"platforms": ["linux", "win32", "darwin"]
}