我可以更改MacBook菜单栏上非苹果图标的顺序吗?


13

我是强迫症患者,并且按特定顺序喜欢我的图标。

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

我意识到这些按启动顺序显示在菜单栏中,但是我有一定数量的应用程序想在启动时运行,并且甚至没有列出一个图标(小提示)项目。

有人有想法么?

OSX 10.6.2

编辑:

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

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

任何Mac专家都知道该怎么做?


好问题...我也很想弄清楚这个问题。它确实应该内置到OS X中,但是我认为我们很不走运。
Noldorin

现在是内置的macOS Sierra 10.12
Codler '16

Answers:


8

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

tell application "Address Book" to activate
delay 10
tell application "Chess" to activate

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


太棒了,我以为我很惊讶,还没有人编写出帮助程序来帮助重新排序。太棒了,我们终于可以将所有解决方案集中在一个地方。:)
马特·加德纳

非常感谢-正是我想要的。Applescript似乎是一件很有价值的事情。
CT。

11

简短答案

不幸的是,Apple尚未启用第三方菜单栏图标的拖放功能。在没有开发人员提供首选项的情况下,重新排序的唯一方法是按特定的顺序打开应用,首先打开的应用将显示在右侧。有时,某些供应商会编写代码来强制图标出现在一端或另一端,从而使您对其位置的控制为零。

长答案

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

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

选单

苹果的私人班级有很多内置的特权,包括:

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

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

状态项

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

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

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

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

/System/Library/CoreServices/Menu Extras

有关免费的和商业的StatusItem的完整清单,请访问:

Super OS X菜单栏项目

希望这可以帮助。:) M


9

调酒师会让你这样做。

披露:我是Bartender的开发人员。


1
请披露您可能与该产品有任何隶属关系:请参阅FAQ
丹尼尔·贝克

@Ben同意您的意见,Dan Miller在MacWorld于2012年11月13日撰写的标题为“ Bartender帮助您控制菜单栏图标”的应用程序的评论将对它进行更多的解释
Simon

@DanielBeck,感谢您的注意,我不知道这是必需的,不会造成任何伤害,我已经对答案进行了编辑,其中包括说明我是开发人员的信息。

太棒了!我也非常喜欢它的“扩展”功能。一些应用程序不喜欢被Command +单击,但是很容易在它们周围移动所有其他图标以得到相同的最终结果。
乔尔·梅隆

这确实符合OP的要求,我认为应该将其标记为正确答案。
chris838

2

这取决于使应用程序启用命令拖动功能的人员。例如,iStat仪表是一组非常流行的菜单栏状态仪表,具有完整的命令拖动功能。

如果您无法执行此操作,则可能是因为应用程序开发人员未正确实现该功能。


1
实际上,这是因为Apple不允许第三方开发人员实现该功能。
Hasaan Chop

实际上,NSD并非如此。您绝对可以“实现”该功能,Apple不会公开它们用于MenuExtras内置代码。您当然可以自己实现(而且我有)。
phoebus

1
让我们看看您已经实现了什么。
Hasaan Chop

2
而且不要说iStat Menus,因为该产品非常明显地使用MenuCracker侵入了专用SPI。
Hasaan Chop

1
您是声称已通过公共界面做到这一点的人,因此举证责任完全是您的。每个人及其母亲都可以阅读NSStatusBar文档,并发现它没有提供重新排序的方法。
Hasaan Chop

1

我也是一样 据我所知,菜单栏中的应用程序是根据其启动顺序进行排序的。

由于所有在登录时启动的应用程序(应该)都会显示在“系统偏好设置”的“用户和组”下的“登录项”中,因此只需安排开始顺序以匹配您希望它们在菜单栏中的显示方式即可。

对我有效,不需要第三方应用程序或脚本。


0

我认为您无法做到这一点,至少不能没有一些黑客手段。我知道有些带有菜单栏图标的应用程序在其首选项中显示的是靠近左侧还是靠近右侧。除了,不知道我还能说什么,但祝你好运!


0

我相信有可能,因为我能够在iStat MenuBar,菜单栏应用程序中移动。我会通过电子邮件向iStat Menus的开发人员发送电子邮件,并查看他的操作方式,或者创建一个允许其他应用程序执行此操作的应用程序。这是开发人员的网站:http : //bjango.com/



0

MenuBar Rearranger允许您在彼此之间重新排列StatusItem,但不允许您在Apple自己的MenuExtras或模仿MenuExtras功能的iStat Menus等第三方实用程序中重新排列它们。

MenuExtras将始终一起出现,并与菜单栏上的StatusItems分开。因此,这个漂亮的工具仅使您可以控制菜单图标的位置。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.