[macOS] Application-level hide/show (NSApp hide/unhide)
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 52/100
- Issue-Typ
- Feature
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- cpp, macos, objective-c
Rechercherichtung
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.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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)
- Vorherrschende Sprache
- C++
- Sterne
- 34
- Forks
- 7
- Ø Merge
- 3 T. 1 Std.
- Gemergte PRs (30 T.)
- 1
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus libnativeapi/nativeapi
-
bug
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 45/100
libnativeapi/nativeapi#81 ·
-
bug
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 45/100
libnativeapi/nativeapi#80 ·
-
bug
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
libnativeapi/nativeapi#79 ·
-
bug
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 45/100
libnativeapi/nativeapi#78 ·
-
bug
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 45/100
libnativeapi/nativeapi#77 ·
Alle Issues in libnativeapi/nativeapi
Ähnliche Issues
-
ai_reviewed
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
ydb-platform/ydb#53869 · 3 Kommentare ·
-
bug cert blocker needs triage
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
project-chip/connectedhomeip#74373 ·
-
[request] tracy/0.14.1 Offenupstream update
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
conan-io/conan-center-index#31035 ·
-
Bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
-
documentation
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 85/100
vllm-project/vllm-ascend#17329 ·