diff --git a/src/renderer/components/SvgIcon.vue b/src/renderer/components/SvgIcon.vue
index 244a6f55..3d44a6d1 100644
--- a/src/renderer/components/SvgIcon.vue
+++ b/src/renderer/components/SvgIcon.vue
@@ -23,6 +23,7 @@ export default defineComponent({
presentation: '',
clipboard: '',
'chevron-down': '',
+ terminal: '',
}
const html = ref(icons[props.name!])
diff --git a/src/renderer/context/build-in-plugins.ts b/src/renderer/context/build-in-plugins.ts
index acbcafcb..bb7ff8f8 100644
--- a/src/renderer/context/build-in-plugins.ts
+++ b/src/renderer/context/build-in-plugins.ts
@@ -7,6 +7,7 @@ import statusBarTool from '@fe/plugins/status-bar-tool'
import statusBarHelp from '@fe/plugins/status-bar-help'
import statusBarRefresh from '@fe/plugins/status-bar-refresh'
import statusBarPresentation from '@fe/plugins/status-bar-presentation'
+import statusBarTerminal from '@fe/plugins/status-bar-terminal'
import statusBarGet from '@fe/plugins/status-bar-get'
import editorPaste from '@fe/plugins/editor-paste'
import editorAttachment from '@fe/plugins/editor-attachment'
@@ -47,6 +48,7 @@ export default [
statusBarTool,
statusBarHelp,
statusBarRefresh,
+ statusBarTerminal,
statusBarPresentation,
statusBarGet,
transformImgOutLink,
diff --git a/src/renderer/plugins/status-bar-terminal.ts b/src/renderer/plugins/status-bar-terminal.ts
new file mode 100644
index 00000000..923b5f82
--- /dev/null
+++ b/src/renderer/plugins/status-bar-terminal.ts
@@ -0,0 +1,16 @@
+import type { Plugin } from '@fe/context/plugin'
+
+export default {
+ name: 'status-bar-terminal',
+ register: ctx => {
+ ctx.statusBar.tapMenus(menus => {
+ menus['status-bar-terminal'] = {
+ id: 'status-bar-terminal',
+ position: 'right',
+ tips: `切换终端 (${ctx.shortcut.getKeysLabel('layout.toggle-xterm')})`,
+ icon: 'terminal',
+ onClick: () => ctx.action.getActionHandler('layout.toggle-xterm')()
+ }
+ })
+ }
+} as Plugin