Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

[macOS] Mouse cursor and click offset when launching in Full Screen (frame-state="6" conflict)

Ouverte
#9,539 2 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
48/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
Calme
Stack technique
java, macos

Piste de recherche

Reproduisez le problème sur macOS en suivant les étapes indiquées pour Full Screen et le relancement, puis examinez le fichier WindowManager.wswmgr dans le répertoire de configuration de NetBeans, en particulier la valeur de l’état de la fenêtre. C’est terminé lorsque quitter le Full Screen natif ne provoque plus de décalage du curseur ou de la position du clic après le relancement, sans nécessiter la solution de contournement en lecture seule.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

kind:bug needs:triage os:macos pending-response UI
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

  1. 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.

  2. 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
  1. Open Apache NetBeans on macOS.
  2. Enter native macOS Full Screen mode (Control + Cmd + F).
  3. Quit NetBeans (Cmd + Q) while still in Full Screen.
  4. Relaunch NetBeans.
  5. 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
  1. Open Apache NetBeans on macOS.
  2. Enter native macOS Full Screen mode (Control + Cmd + F).
  3. Quit NetBeans (Cmd + Q) while still in Full Screen.
  4. Relaunch NetBeans.
  5. 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

Langage dominant
Java
Étoiles
3.1k
Forks
939
Merge moyen
4 j 21 h
PR mergées (30 j)
24

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de apache/netbeans

Toutes les issues de apache/netbeans

Issues similaires

Plus d'issues Java

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.