mirror of
https://github.com/arduino/arduino-ide.git
synced 2025-04-19 12:57:17 +00:00
fix(terminal): split-terminal
visibility
Removed the toolbar contribution from the UI. Ref: eclipse-theia/theia#12626/ Signed-off-by: dankeboy36 <dankeboy36@gmail.com>
This commit is contained in:
parent
0bcb182ec0
commit
954fee41a0
@ -357,6 +357,8 @@ import { MonacoEditorMenuContribution as TheiaMonacoEditorMenuContribution } fro
|
||||
import { UpdateArduinoState } from './contributions/update-arduino-state';
|
||||
import { TerminalWidgetImpl } from './theia/terminal/terminal-widget-impl';
|
||||
import { TerminalWidget } from '@theia/terminal/lib/browser/base/terminal-widget';
|
||||
import { TerminalFrontendContribution } from './theia/terminal/terminal-frontend-contribution';
|
||||
import { TerminalFrontendContribution as TheiaTerminalFrontendContribution } from '@theia/terminal/lib/browser/terminal-frontend-contribution'
|
||||
|
||||
// Hack to fix copy/cut/paste issue after electron version update in Theia.
|
||||
// https://github.com/eclipse-theia/theia/issues/12487
|
||||
@ -1031,4 +1033,6 @@ export default new ContainerModule((bind, unbind, isBound, rebind) => {
|
||||
|
||||
// Patch terminal issues.
|
||||
rebind(TerminalWidget).to(TerminalWidgetImpl).inTransientScope();
|
||||
bind(TerminalFrontendContribution).toSelf().inSingletonScope();
|
||||
rebind(TheiaTerminalFrontendContribution).toService(TerminalFrontendContribution);
|
||||
});
|
||||
|
@ -0,0 +1,38 @@
|
||||
import { TabBarToolbarRegistry } from '@theia/core/lib/browser/shell/tab-bar-toolbar';
|
||||
import { CommandRegistry } from '@theia/core/lib/common/command';
|
||||
import { Widget } from '@theia/core/shared/@phosphor/widgets';
|
||||
import { injectable } from '@theia/core/shared/inversify';
|
||||
import { TerminalWidget } from '@theia/terminal/lib/browser/base/terminal-widget';
|
||||
import {
|
||||
TerminalCommands,
|
||||
TerminalFrontendContribution as TheiaTerminalFrontendContribution,
|
||||
} from '@theia/terminal/lib/browser/terminal-frontend-contribution';
|
||||
|
||||
// Patch for https://github.com/eclipse-theia/theia/pull/12626
|
||||
@injectable()
|
||||
export class TerminalFrontendContribution extends TheiaTerminalFrontendContribution {
|
||||
override registerCommands(commands: CommandRegistry): void {
|
||||
super.registerCommands(commands);
|
||||
commands.unregisterCommand(TerminalCommands.SPLIT);
|
||||
commands.registerCommand(TerminalCommands.SPLIT, {
|
||||
execute: () => this.splitTerminal(),
|
||||
isEnabled: (w) => this.withWidget(w, () => true),
|
||||
isVisible: (w) => this.withWidget(w, () => true),
|
||||
});
|
||||
}
|
||||
|
||||
override registerToolbarItems(toolbar: TabBarToolbarRegistry): void {
|
||||
super.registerToolbarItems(toolbar);
|
||||
toolbar.unregisterItem(TerminalCommands.SPLIT.id);
|
||||
}
|
||||
|
||||
private withWidget<T>(
|
||||
widget: Widget | undefined,
|
||||
fn: (widget: TerminalWidget) => T
|
||||
): T | false {
|
||||
if (widget instanceof TerminalWidget) {
|
||||
return fn(widget);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user