Просмотр исходного кода

feat: reconnect current tab hotkey

Clem 2 лет назад
Родитель
Сommit
bbca7a6a84

+ 1 - 0
tabby-core/src/configDefaults.linux.yaml

@@ -22,6 +22,7 @@ hotkeys:
     - 'Ctrl-Shift'
     - 'Ctrl-Shift'
   duplicate-tab: []
   duplicate-tab: []
   restart-tab: []
   restart-tab: []
+  reconnect-tab: []
   explode-tab:
   explode-tab:
     - 'Ctrl-Shift-.'
     - 'Ctrl-Shift-.'
   combine-tabs:
   combine-tabs:

+ 1 - 0
tabby-core/src/configDefaults.macos.yaml

@@ -39,6 +39,7 @@ hotkeys:
   tab-10: []
   tab-10: []
   duplicate-tab: []
   duplicate-tab: []
   restart-tab: []
   restart-tab: []
+  reconnect-tab: []
   explode-tab:
   explode-tab:
     - '⌘-Shift-.'
     - '⌘-Shift-.'
   combine-tabs:
   combine-tabs:

+ 1 - 0
tabby-core/src/configDefaults.windows.yaml

@@ -23,6 +23,7 @@ hotkeys:
     - 'Ctrl-Shift'
     - 'Ctrl-Shift'
   duplicate-tab: []
   duplicate-tab: []
   restart-tab: []
   restart-tab: []
+  reconnect-tab: []
   explode-tab:
   explode-tab:
     - 'Ctrl-Shift-.'
     - 'Ctrl-Shift-.'
   combine-tabs:
   combine-tabs:

+ 6 - 1
tabby-terminal/src/api/baseTerminalTab.component.ts

@@ -9,7 +9,7 @@ import { BaseSession } from '../session'
 
 
 import { Frontend } from '../frontends/frontend'
 import { Frontend } from '../frontends/frontend'
 import { XTermFrontend, XTermWebGLFrontend } from '../frontends/xtermFrontend'
 import { XTermFrontend, XTermWebGLFrontend } from '../frontends/xtermFrontend'
-import { ResizeEvent, BaseTerminalProfile } from './interfaces'
+import { ResizeEvent, BaseTerminalProfile, isReconnectable } from './interfaces'
 import { TerminalDecorator } from './decorator'
 import { TerminalDecorator } from './decorator'
 import { SearchPanelComponent } from '../components/searchPanel.component'
 import { SearchPanelComponent } from '../components/searchPanel.component'
 import { MultifocusService } from '../services/multifocus.service'
 import { MultifocusService } from '../services/multifocus.service'
@@ -306,6 +306,11 @@ export class BaseTerminalTabComponent<P extends BaseTerminalProfile> extends Bas
                 case 'scroll-to-bottom':
                 case 'scroll-to-bottom':
                     this.frontend?.scrollToBottom()
                     this.frontend?.scrollToBottom()
                     break
                     break
+                case 'reconnect-tab':
+                    if (isReconnectable(this)) {
+                        this.reconnect()
+                    }
+                    break
             }
             }
         })
         })
 
 

+ 4 - 0
tabby-terminal/src/hotkeys.ts

@@ -97,6 +97,10 @@ export class TerminalHotkeyProvider extends HotkeyProvider {
             id: 'scroll-to-bottom',
             id: 'scroll-to-bottom',
             name: this.translate.instant('Scroll terminal to bottom'),
             name: this.translate.instant('Scroll terminal to bottom'),
         },
         },
+        {
+            id: 'reconnect-tab',
+            name: this.translate.instant('Reconnect current tab (Serial/Telnet/SSH)'),
+        },
     ]
     ]
 
 
     constructor (private translate: TranslateService) { super() }
     constructor (private translate: TranslateService) { super() }