diff --git a/src/hooks/bottomPanelTabs/useTerminal.ts b/src/hooks/bottomPanelTabs/useTerminal.ts index beb77c98c..7040c6e4a 100644 --- a/src/hooks/bottomPanelTabs/useTerminal.ts +++ b/src/hooks/bottomPanelTabs/useTerminal.ts @@ -14,11 +14,14 @@ export function useTerminal(element: Ref) { terminal.loadAddon(fitAddon) terminal.attachCustomKeyEventHandler((event) => { - if (event.type === 'keydown' && (event.ctrlKey || event.metaKey)) { - if (event.key === 'c' || event.key === 'v') { - // Allow default browser copy/paste handling - return false - } + // Allow default browser copy/paste handling + if ( + event.type === 'keydown' && + (event.ctrlKey || event.metaKey) && + ((event.key === 'c' && terminal.hasSelection()) || event.key === 'v') + ) { + // TODO: Deselect text after copy/paste; use IPC. + return false } return true })