diff --git a/arduino-ide-extension/src/browser/monitor/monitor-view-contribution.tsx b/arduino-ide-extension/src/browser/monitor/monitor-view-contribution.tsx index a37cd38d..3a4c42b0 100644 --- a/arduino-ide-extension/src/browser/monitor/monitor-view-contribution.tsx +++ b/arduino-ide-extension/src/browser/monitor/monitor-view-contribution.tsx @@ -87,25 +87,23 @@ export class MonitorViewContribution extends AbstractViewContribution this.openView({ - toggle: true, - activate: true - }) - }); - const toolbarCmd = { - id: MonitorViewContribution.TOGGLE_SERIAL_MONITOR_TOOLBAR - } - commands.registerCommand(toolbarCmd, { + commands.registerCommand(this.toggleCommand, { execute: () => this.toggle() }); + commands.registerCommand({ id: MonitorViewContribution.TOGGLE_SERIAL_MONITOR_TOOLBAR }, { isVisible: widget => ArduinoToolbar.is(widget) && widget.side === 'right', - execute: () => this.openView({ - toggle: true, - activate: true - }) + execute: () => this.toggle() }); } } + protected async toggle(): Promise { + const widget = this.tryGetWidget(); + if (widget) { + widget.dispose(); + } else { + await this.openView({ activate: true, reveal: true }); + } + } + protected renderAutoScrollButton(): React.ReactNode { return