Repository: napari/napari

Issue:
Add "About napari" menu option on macOS
## 🚀 Feature
Apps on macOS have a standard place for an "About <name of app>" entry in the menu, e.g. for Firefox:

![Screenshot 2024-02-13 at 17 29 40](https://github.com/napari/napari/assets/6197628/8df4dcb3-7cb7-4cb8-aa4a-2686e80d41bd)

It would be nice for napari to have this too; currently it doesn't:
![Screenshot 2024-02-13 at 17 30 00](https://github.com/napari/napari/assets/6197628/48cd6186-4d35-4aae-a16d-3fbfa51510c2)

## Motivation

<!-- Please outline the motivation for the proposal. Is your feature request related to a problem? e.g., I'm always frustrated when [...]. If this is related to another GitHub issue, please link here too -->

## Pitch

<!-- A clear and concise description of what you want to happen. -->

## Alternatives

<!-- A clear and concise description of any alternative solutions or features you've considered, if any. -->

## Additional context

<!-- Add any other context or screenshots about the feature request here. -->



Discussion:
I agree it would be nice -- I've thought about it (and a few other macOS menu things) having the napari info there, the issue is that then it makes docs hard because we say it's in Help and would need to clarify that on macOS we mean napari menu. Not sure we can put a menu item in two places 🤔 

Resolving patch:
diff --git a/napari/_app_model/constants/_commands.py b/napari/_app_model/constants/_commands.py
--- a/napari/_app_model/constants/_commands.py
+++ b/napari/_app_model/constants/_commands.py
@@ -63,6 +63,7 @@ class CommandId(StrEnum):
     NAPARI_RELEASE_NOTES = 'napari:window:help:release_notes'
     NAPARI_HOMEPAGE = 'napari:window:help:homepage'
     NAPARI_INFO = 'napari:window:help:info'
+    NAPARI_ABOUT_MACOS = 'napari:window:help:about_macos'
     NAPARI_GITHUB_ISSUE = 'napari:window:help:github_issue'
     TOGGLE_BUG_REPORT_OPT_IN = 'napari:window:help:bug_report_opt_in'
 
@@ -158,7 +159,8 @@ class _i(NamedTuple):
     CommandId.NAPARI_EXAMPLES: _i(trans._('Examples Gallery')),
     CommandId.NAPARI_RELEASE_NOTES: _i(trans._('Release Notes')),
     CommandId.NAPARI_HOMEPAGE: _i(trans._('napari homepage')),
-    CommandId.NAPARI_INFO: _i(trans._('napari Info')),
+    CommandId.NAPARI_INFO: _i(trans._('‎napari Info')),
+    CommandId.NAPARI_ABOUT_MACOS: _i(trans._('About napari')),
     CommandId.NAPARI_GITHUB_ISSUE: _i(trans._('Report an issue on GitHub')),
     CommandId.TOGGLE_BUG_REPORT_OPT_IN: _i(trans._('Bug Reporting Opt In/Out...')),
 
diff --git a/napari/_qt/_qapp_model/qactions/_help.py b/napari/_qt/_qapp_model/qactions/_help.py
--- a/napari/_qt/_qapp_model/qactions/_help.py
+++ b/napari/_qt/_qapp_model/qactions/_help.py
@@ -4,6 +4,7 @@
 file within `napari/_app_model/actions/`.
 """
 
+import sys
 from typing import List
 
 from app_model.types import Action, KeyBindingRule, KeyCode, KeyMod
@@ -31,7 +32,20 @@ def _show_about(window: Window):
         menus=[{'id': MenuId.MENUBAR_HELP, 'group': MenuGroup.RENDER}],
         status_tip=trans._('About napari'),
         keybindings=[KeyBindingRule(primary=KeyMod.CtrlCmd | KeyCode.Slash)],
-    )
+    ),
+    Action(
+        id=CommandId.NAPARI_ABOUT_MACOS,
+        title=CommandId.NAPARI_ABOUT_MACOS.command_title,
+        callback=_show_about,
+        menus=[
+            {
+                'id': MenuId.MENUBAR_HELP,
+                'group': MenuGroup.RENDER,
+                'when': sys.platform == 'darwin',
+            }
+        ],
+        status_tip=trans._('About napari'),
+    ),
 ]
 
 if ask_opt_in is not None:


Test patch: