gpt4 book ai didi

macos - OS X : Setting at runtime the Application name as it appears in Dock and Menu Bar

转载 作者:行者123 更新时间:2023-12-04 15:05:14 26 4
gpt4 key购买 nike

我有一个可以使用当前用户或 root 权限启动的应用程序。

事实上,应用程序有可能同时运行两次——一次在当前用户下,一次以 root 身份运行。

我喜欢在应用程序在 root 下运行时通知用户。目前,我在其窗口标题中显示了这一点,但我更愿意更改应用程序的名称,以便在适当的地方显示为“Appname (Root)”。这样,名称将同时出现在菜单栏和 Dock 中,并带有此“root”信息,并允许用户判断 Dock 中的两个应用程序实例中的哪个是 root 版本。

有人知道应用程序名称是否可以通过代码更改,即应用程序本身或其启动器?

如果没有,我唯一的选择似乎是在 Dock 图标上添加一个标记为“root”,但这是我最后的手段,因为它不适用于菜单栏或显示应用程序名称的其他工具(即其他应用程序启动器,例如 DragThing)。

最佳答案

…there are at least five application names floating around, at least in concept: (1) the file name the Finder sees, which in the case of an application package is the package (bundle) name; (2) the name of the executable inside the package, (3) the long name used in many places for display purposes only; (4) the short name used as the application menu title and in a few other places where a long name won’t fit for display purposes; and (5) the process name of a running application. They aren’t always the same, especially in Microsoft and Adobe products.

Bill Cheeseman
据我所知,dock 中的名称是文件系统上的应用程序包(无“.app”)的名称。 CFBundleName下的值info.plist 中的键是菜单栏中显示的内容。
据我所知,在运行时更改其中任何一个都不起作用……但是您可以做的是在面向用户的 .app 包中拥有两个版本的应用程序,一个根版本和非根版本。当面向用户的应用程序启动时,它会检查它是否以 root 身份运行,并启动真实应用程序的适当副本,其中包含 CFBundleName和你想要的文件名。
我希望我知道一个更优雅的解决方案。

关于macos - OS X : Setting at runtime the Application name as it appears in Dock and Menu Bar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1918367/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com