Apache NetBeans version
Apache NetBeans 30
What happened
Description
When closing NetBeans while in macOS native Full Screen mode, the IDE saves an invalid window state (frame-state="6") in the local configuration files. Upon the next launch, a coordinate mapping conflict occurs between the Java Swing/AWT frame management (Frame.MAXIMIZED_BOTH) and the macOS Full Screen Space manager. This results in a severe vertical/horizontal mouse coordinate and click offset across the entire UI.
Environment
- OS: macOS (Apple Silicon M1/M2/M3)
- NetBeans Version: Apache NetBeans 26, 28, 29, 30
- JDK: Java 21+
Root Cause Analysis
The issue originates in the window manager persistence file:
~/Library/Application Support/NetBeans/<version>/config/Windows2Local/WindowManager.wswmgr
-
Working State (frame-state="0"):
When NetBeans starts with frame-state="0", window coordinates yield properly to macOS window management. Entering Full Screen mode manually works as expected with accurate mouse tracking.
-
Corrupted State (frame-state="6"):
Closing NetBeans while in macOS Full Screen mode writes frame-state="6" (Frame.MAXIMIZED_BOTH). On subsequent launches, Swing attempts to apply software-maximized geometry inside the native macOS Space, breaking the UI click matrix.
Steps to Reproduce
- Open Apache NetBeans on macOS.
- Enter native macOS Full Screen mode (
Control + Cmd + F).
- Quit NetBeans (
Cmd + Q) while still in Full Screen.
- Relaunch NetBeans.
- Result: The UI renders, but mouse clicks register with a offset relative to the visual cursor position.
Temporary Workaround
Set the file permissions to read-only on WindowManager.wswmgr after ensuring frame-state="0" is present:
chmod 444 "$HOME/Library/Application Support/NetBeans/<version>/config/Windows2Local/WindowManager.wswmgr"
Language / Project Type / NetBeans Component
No response
How to reproduce
Steps to Reproduce
- Open Apache NetBeans on macOS.
- Enter native macOS Full Screen mode (
Control + Cmd + F).
- Quit NetBeans (
Cmd + Q) while still in Full Screen.
- Relaunch NetBeans.
- Result: The UI renders, but mouse clicks register with a offset relative to the visual cursor position.
Did this work correctly in an earlier version?
Apache NetBeans 26 or earlier
Operating System
macOS
JDK
SDK 26
Apache NetBeans packaging
Apache NetBeans binary zip
Anything else
Temporary Workaround
Set the file permissions to read-only on WindowManager.wswmgr after ensuring frame-state="0" is present:
chmod 444 "$HOME/Library/Application Support/NetBeans/<version>/config/Windows2Local/WindowManager.wswmgr"
Are you willing to submit a pull request?
No
Apache NetBeans version
Apache NetBeans 30
What happened
Description
When closing NetBeans while in macOS native Full Screen mode, the IDE saves an invalid window state (
frame-state="6") in the local configuration files. Upon the next launch, a coordinate mapping conflict occurs between the Java Swing/AWT frame management (Frame.MAXIMIZED_BOTH) and the macOS Full Screen Space manager. This results in a severe vertical/horizontal mouse coordinate and click offset across the entire UI.Environment
Root Cause Analysis
The issue originates in the window manager persistence file:
~/Library/Application Support/NetBeans/<version>/config/Windows2Local/WindowManager.wswmgrWorking State (
frame-state="0"):When NetBeans starts with
frame-state="0", window coordinates yield properly to macOS window management. Entering Full Screen mode manually works as expected with accurate mouse tracking.Corrupted State (
frame-state="6"):Closing NetBeans while in macOS Full Screen mode writes
frame-state="6"(Frame.MAXIMIZED_BOTH). On subsequent launches, Swing attempts to apply software-maximized geometry inside the native macOS Space, breaking the UI click matrix.Steps to Reproduce
Control + Cmd + F).Cmd + Q) while still in Full Screen.Temporary Workaround
Set the file permissions to read-only on
WindowManager.wswmgrafter ensuringframe-state="0"is present:chmod 444 "$HOME/Library/Application Support/NetBeans/<version>/config/Windows2Local/WindowManager.wswmgr"Language / Project Type / NetBeans Component
No response
How to reproduce
Steps to Reproduce
Control + Cmd + F).Cmd + Q) while still in Full Screen.Did this work correctly in an earlier version?
Apache NetBeans 26 or earlier
Operating System
macOS
JDK
SDK 26
Apache NetBeans packaging
Apache NetBeans binary zip
Anything else
Temporary Workaround
Set the file permissions to read-only on
WindowManager.wswmgrafter ensuringframe-state="0"is present:chmod 444 "$HOME/Library/Application Support/NetBeans/<version>/config/Windows2Local/WindowManager.wswmgr"Are you willing to submit a pull request?
No