[macOS] Application-level hide/show (NSApp hide/unhide)
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 52/100
- Type d'issue
- Fonctionnalité
- Clarté
- Plutôt claire
- Activité
- Active
- Stack technique
- cpp, macos, objective-c
Piste de recherche
Start with src/platform/macos/window_macos.mm and the existing Window::Hide() behavior, then trace the Application API entry point. Check the macOS hide-twice and global-shortcut cases described in the issue; done means Application::Hide(), Show(), and IsHidden() expose the requested NSApp behavior without breaking window reopening or shortcut handling.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
On macOS, Window::Hide() uses orderOut: (src/platform/macos/window_macos.mm). That's right for hiding one window, but the application stays "shown" as far as the system is concerned. The Dock menu keeps offering "Hide", clicking the Dock icon doesn't bring the window back, and the previously active app doesn't get focus back.
Apps that live in the tray or menu bar usually want app-level hiding. Proposal: add Application::Hide() / Application::Show() (and IsHidden()), backed by [NSApp hide:] / [NSApp unhide:] on macOS. Also check the hide-twice case on macOS 14+, and hiding while a global shortcut handler is running.
Background, from window_manager (moving onto nativeapi in 0.6.0):
- leanflutter/window_manager#431: the Dock menu doesn't understand hide()
- leanflutter/window_manager#530: a PR that switched hide() to
NSApp.hide(nil) - possibly related: leanflutter/window_manager#501 (window can't be reopened after hiding twice on macOS 14+), #543 (crash on hide() with hotkey_manager)
- Langage dominant
- C++
- Étoiles
- 34
- Forks
- 7
- Merge moyen
- 3 j 1 h
- PR mergées (30 j)
- 1
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de libnativeapi/nativeapi
-
bug
Difficulté 4/5 3-5 jours Accessibilité débutants 45/100
libnativeapi/nativeapi#81 ·
-
bug
Difficulté 4/5 3-5 jours Accessibilité débutants 45/100
libnativeapi/nativeapi#80 ·
-
bug
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
libnativeapi/nativeapi#79 ·
-
bug
Difficulté 4/5 3-5 jours Accessibilité débutants 45/100
libnativeapi/nativeapi#78 ·
-
bug
Difficulté 4/5 3-5 jours Accessibilité débutants 45/100
libnativeapi/nativeapi#77 ·
Toutes les issues de libnativeapi/nativeapi
Issues similaires
-
AuTest Bug Tests
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
apache/trafficserver#13714 ·
-
bug build
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
facebookincubator/velox#19143 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
tenstorrent/tt-metal#57393 · 1 commentaire ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
objectionary/eo-graphs#74 ·