Implement hotkeys for navigating to a specific pane

This commit is contained in:
Atte Timonen
2022-05-19 18:04:40 +02:00
parent f1d91162c3
commit 8ee1d0076b
5 changed files with 99 additions and 0 deletions

View File

@@ -311,6 +311,33 @@ export class SplitTabComponent extends BaseTabComponent implements AfterViewInit
case 'pane-nav-next':
this.navigateLinear(1)
break
case 'pane-nav-1':
this.navigateSpecific(0)
break
case 'pane-nav-2':
this.navigateSpecific(1)
break
case 'pane-nav-3':
this.navigateSpecific(2)
break
case 'pane-nav-4':
this.navigateSpecific(3)
break
case 'pane-nav-5':
this.navigateSpecific(4)
break
case 'pane-nav-6':
this.navigateSpecific(5)
break
case 'pane-nav-7':
this.navigateSpecific(6)
break
case 'pane-nav-8':
this.navigateSpecific(7)
break
case 'pane-nav-9':
this.navigateSpecific(8)
break
case 'pane-maximize':
if (this.maximizedTab) {
this.maximize(null)
@@ -644,6 +671,15 @@ export class SplitTabComponent extends BaseTabComponent implements AfterViewInit
this.focus(target)
}
navigateSpecific (target: number): void {
const all = this.getAllTabs()
if (target >= all.length) {
return
}
this.focus(all[target])
}
async splitTab (tab: BaseTabComponent, dir: SplitDirection): Promise<BaseTabComponent|null> {
const newTab = await this.tabsService.duplicate(tab)
if (newTab) {

View File

@@ -73,6 +73,15 @@ hotkeys:
- 'Ctrl-Alt-['
pane-nav-next:
- 'Ctrl-Alt-]'
pane-nav-1: []
pane-nav-2: []
pane-nav-3: []
pane-nav-4: []
pane-nav-5: []
pane-nav-6: []
pane-nav-7: []
pane-nav-8: []
pane-nav-9: []
pane-maximize:
- 'Ctrl-Alt-Enter'
pane-increase-vertical: []

View File

@@ -71,6 +71,15 @@ hotkeys:
- '⌘-⌥-['
pane-nav-next:
- '⌘-⌥-]'
pane-nav-1: []
pane-nav-2: []
pane-nav-3: []
pane-nav-4: []
pane-nav-5: []
pane-nav-6: []
pane-nav-7: []
pane-nav-8: []
pane-nav-9: []
pane-maximize:
- '⌘-⌥-Enter'
close-pane:

View File

@@ -74,6 +74,15 @@ hotkeys:
- 'Ctrl-Alt-['
pane-nav-next:
- 'Ctrl-Alt-]'
pane-nav-1: []
pane-nav-2: []
pane-nav-3: []
pane-nav-4: []
pane-nav-5: []
pane-nav-6: []
pane-nav-7: []
pane-nav-8: []
pane-nav-9: []
pane-maximize:
- 'Ctrl-Alt-Enter'
close-pane: []

View File

@@ -188,6 +188,42 @@ export class AppHotkeyProvider extends HotkeyProvider {
id: 'pane-nav-next',
name: this.translate.instant('Focus next pane'),
},
{
id: 'pane-nav-1',
name: this.translate.instant('Focus pane {number}', { number: 1 }),
},
{
id: 'pane-nav-2',
name: this.translate.instant('Focus pane {number}', { number: 2 }),
},
{
id: 'pane-nav-3',
name: this.translate.instant('Focus pane {number}', { number: 3 }),
},
{
id: 'pane-nav-4',
name: this.translate.instant('Focus pane {number}', { number: 4 }),
},
{
id: 'pane-nav-5',
name: this.translate.instant('Focus pane {number}', { number: 5 }),
},
{
id: 'pane-nav-6',
name: this.translate.instant('Focus pane {number}', { number: 6 }),
},
{
id: 'pane-nav-7',
name: this.translate.instant('Focus pane {number}', { number: 7 }),
},
{
id: 'pane-nav-8',
name: this.translate.instant('Focus pane {number}', { number: 8 }),
},
{
id: 'pane-nav-9',
name: this.translate.instant('Focus pane {number}', { number: 9 }),
},
{
id: 'switch-profile',
name: this.translate.instant('Switch profile in the active pane'),