Description
Describe the problem
Arduino IDE displays various information in the "Output" view.
During long operations such as installing large boards platforms or libraries, or compiling/uploading large sketch programs, the user may wish to multitask by using another application will the operation proceeds in Arduino IDE.
🐛 The Arduino IDE window steals focus from the other application each time any new content is printed to the "Output" view. This makes it impossible for the user to multitask.
To reproduce
Linux and macOS
- Open Library Manager.
- Type
arduinoiotcloud
in the "Filter your search..." field. - If the "ArduinoIoTCloud" library is already installed, use Library Manager to uninstall it.
- Click the "INSTALL" button on the "ArduinoIoTCloud" library entry.
ⓘ Installation of the "ArduinoIoTCloud" library was chosen arbitrarily as a simple operation that will produce periodic output. The bug is not in any way specific to this particular operation.
An "Install library dependencies" dialog will open. - Click the "INSTALL ALL" button in the "Install library dependencies" dialog.
The dialog will close and installation of the libraries will start. - Switch to any other application's window.
🐛 The Arduino IDE window will automatically take focus from the other application each time a message indicating the libraries installation progress is printed in the "Output" panel.
Windows
From my tests, the situation is different for Windows users in that focus is only stolen from other Arduino IDE windows.
- Start Arduino IDE.
- Select File > New Sketch from the Arduino IDE menus.
An additional Arduino IDE will open. - Open Library Manager.
- Type
arduinoiotcloud
in the "Filter your search..." field. - If the "ArduinoIoTCloud" library is already installed, use Library Manager to uninstall it.
- Click the "INSTALL" button on the "ArduinoIoTCloud" library entry.
An "Install library dependencies" dialog will open. - Click the "INSTALL ALL" button in the "Install library dependencies" dialog.
The dialog will close and installation of the libraries will start. - Switch to the other Arduino IDE window.
🐛 The Arduino IDE window in which the library installation was performed will automatically take focus from the current Arduino IDE window each time a message indicating the libraries installation progress is printed in the "Output" panel.
Expected behavior
Arduino IDE does not steal focus from other windows.
Arduino IDE version
2.3.5
Operating system
- Linux
- macOS
- Windows
Operating system version
- Ubuntu 24.04
- macOS Sequoia
- Windows 11
Additional context
I bisected the regression to 859d29d / #2654 (does not occur when using the build at the previous commit d298b3f).
I was not able to reproduce the fault using Eclipse Theia IDE version 1.57.0.
The fault does not occur when text is printed in the "Terminal" view instead of the "Output" view.
Originally reported by @Gartosz at #2678 (comment)
Issue checklist
- I searched for previous reports in the issue tracker
- I verified the problem still occurs when using the latest nightly build
- My report contains all necessary details