我可以在 MacBook 的菜单栏上为非苹果图标设置固定顺序吗?

CT.*_*CT. 14 macos

我比较强迫症,喜欢按特定顺序排列的图标。

我可以按住 command + 来移动和更改菜单栏中苹果图标的顺序,但这不适用于其他图标。

我意识到这些按照它们运行的​​顺序显示在菜单栏中,但我有一定数量的应用程序想要在启动时运行,并且一个图标(小飞贼)甚至没有被列为启动项物品。

谁有想法?

OSX 10.6.2

编辑:

是否可以编写某种在登录时运行的脚本?类似于 Windows 批处理文件。不确定如何在 Mac 端执行此操作。

批处理文件将运行我最想要的程序,等待 10 秒钟,然后在下一个位置运行我想要的程序,依此类推。

任何 Mac 专家都知道如何做到这一点?

小智 10

简答

自 OS X 10.12 以来,Apple 已启用拖放功能菜单栏图标,但该顺序不会在重新启动后保持不变。如果开发人员不提供首选项,重新排序它们的唯一方法是以特定顺序打开应用程序,首先打开的应用程序将显示在右侧。有时,一些供应商编写代码强制图标出现在一端或另一端,让您对其位置进行零控制。


勘误表

OS X 菜单栏中有两种类型的图标:

  • MenuExtra:Apple 的私有类,用于开发自己的菜单图标。
  • StatusItem:提供给第三方开发者创建菜单图标的类。

菜单附加功能

Apple 的私人课程有许多内置福利,包括:

  • 如果您双击它们(在查找器中),它们将加载到菜单栏中并在登录时自动打开。
  • 您可以命令单击它们(在菜单栏中)并拖动以重新排序它们。
  • 要删除它们,您可以单击命令并将它们拖出栏(类似于停靠项目)。

不幸的是,Apple 并未正式批准 3rd-party MenuExtras 的开发。给出的原因是它们作为 SystemUIServer 中的插件运行,错误的代码可能导致操作系统核心部分的不稳定。

状态项

面向开发人员的类不提供这种开箱即用的功能(从 10.6 Snow Leopard 开始),不幸的是,目前没有允许商业使用的开源类。

因此,开发人员通常按照一般发生的顺序执行以下操作:

  • 一起忽略这个问题
  • 强制预设位置
  • 提供一些基本的偏好;或者
  • 必须编写自己的类来复制 MenuExtra 功能

有关可用 MenuExtras 的列表,请在 Finder 中导航至:

/System/Library/CoreServices/Menu Extras
Run Code Online (Sandbox Code Playgroud)

有关保存完好的免费和商业 StatusItem 列表,请访问:

超级 OS X 菜单栏项


Ben*_*Ben 10

调酒师会让你这样做。

披露:我是 Bartender 的开发者。


Gor*_*son 8

我可以回答有关在登录时按顺序启动应用程序的部分:首先,打开 AppleScript 编辑器并按照以下方式创建脚本:

tell application "Address Book" to activate
delay 10
tell application "Chess" to activate
Run Code Online (Sandbox Code Playgroud)

(对于您实际想要启动的任何程序)。将此脚本另存为应用程序(默认为另存为脚本,在这种情况下,它将在编辑器中打开而不是运行)。然后打开“系统偏好设置”、“帐户”面板,选择您的帐户,选择“登录项目”选项卡,然后将脚本拖到项目列表中。那应该这样做。