diff --git a/src/renderer/components/SvgIcon.vue b/src/renderer/components/SvgIcon.vue
index b54b51a8..244a6f55 100644
--- a/src/renderer/components/SvgIcon.vue
+++ b/src/renderer/components/SvgIcon.vue
@@ -22,6 +22,7 @@ export default defineComponent({
download: '',
presentation: '',
clipboard: '',
+ 'chevron-down': '',
}
const html = ref(icons[props.name!])
diff --git a/src/renderer/components/Xterm.vue b/src/renderer/components/Xterm.vue
index 6d697975..6da5cb8b 100644
--- a/src/renderer/components/Xterm.vue
+++ b/src/renderer/components/Xterm.vue
@@ -1,5 +1,8 @@
@@ -17,12 +20,15 @@ import { registerAction, removeAction } from '@fe/context/action'
import { getLogger } from '@fe/utils'
import { getColorScheme } from '@fe/context/theme'
import { OneHalfLight, OneHalfDark } from 'xterm-theme'
+import SvgIcon from './SvgIcon.vue'
+
import 'xterm/css/xterm.css'
const logger = getLogger('component-x-term')
export default defineComponent({
name: 'xterm',
+ components: { SvgIcon },
setup () {
const bus = useBus()
const store = useStore()
@@ -195,4 +201,34 @@ export default defineComponent({
width: 100%;
height: 100%;
}
+
+.hide {
+ position: absolute;
+ top: -6px;
+ right: 1px;
+ z-index: 10;
+ background: var(--g-color-90);
+ border-bottom-left-radius: var(--g-border-radius);
+ border-bottom-right-radius: var(--g-border-radius);
+ width: 30px;
+ height: 30px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ cursor: pointer;
+ transform: scaleY(0.6);
+ border: 8px solid transparent;
+ box-sizing: border-box;
+ color: var(--g-color-20);
+ opacity: 0;
+ transition: opacity .2s;
+}
+
+.xterm:hover .hide {
+ opacity: 1;
+}
+
+.hide:hover {
+ background: var(--g-color-70);
+}
diff --git a/src/renderer/views/Main.vue b/src/renderer/views/Main.vue
index ef9bed37..dc28d70f 100644
--- a/src/renderer/views/Main.vue
+++ b/src/renderer/views/Main.vue
@@ -10,7 +10,7 @@
-
+
@@ -28,6 +28,7 @@