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 @@