smart ctrl-c behaviour (fixes #307)

This commit is contained in:
Eugene Pankov
2018-03-30 23:42:50 +02:00
parent f947fe3f0f
commit dce8647f55
2 changed files with 11 additions and 0 deletions

View File

@@ -90,6 +90,13 @@ export class TerminalTabComponent extends BaseTabComponent {
return return
} }
switch (hotkey) { switch (hotkey) {
case 'ctrl-c':
if (this.hterm.getSelectionText()) {
this.hterm.copySelectionToClipboard()
} else {
this.sendInput('\x03')
}
break
case 'copy': case 'copy':
this.hterm.copySelectionToClipboard() this.hterm.copySelectionToClipboard()
break break
@@ -366,6 +373,7 @@ export class TerminalTabComponent extends BaseTabComponent {
preferenceManager.set('alt-gr-mode', 'ctrl-alt') preferenceManager.set('alt-gr-mode', 'ctrl-alt')
preferenceManager.set('pass-alt-number', true) preferenceManager.set('pass-alt-number', true)
preferenceManager.set('cursor-blink', config.terminal.cursorBlink) preferenceManager.set('cursor-blink', config.terminal.cursorBlink)
preferenceManager.set('clear-selection-after-copy', true)
if (config.terminal.colorScheme.foreground) { if (config.terminal.colorScheme.foreground) {
preferenceManager.set('foreground-color', config.terminal.colorScheme.foreground) preferenceManager.set('foreground-color', config.terminal.colorScheme.foreground)

View File

@@ -53,6 +53,7 @@ export class TerminalConfigProvider extends ConfigProvider {
persistence: 'screen', persistence: 'screen',
}, },
hotkeys: { hotkeys: {
'ctrl-c': ['Ctrl-C'],
'copy': [ 'copy': [
'⌘-C', '⌘-C',
], ],
@@ -96,6 +97,7 @@ export class TerminalConfigProvider extends ConfigProvider {
copyOnSelect: true, copyOnSelect: true,
}, },
hotkeys: { hotkeys: {
'ctrl-c': ['Ctrl-C'],
'copy': [ 'copy': [
'Ctrl-Shift-C', 'Ctrl-Shift-C',
], ],
@@ -136,6 +138,7 @@ export class TerminalConfigProvider extends ConfigProvider {
persistence: 'tmux', persistence: 'tmux',
}, },
hotkeys: { hotkeys: {
'ctrl-c': ['Ctrl-C'],
'copy': [ 'copy': [
'Ctrl-Shift-C', 'Ctrl-Shift-C',
], ],