Могу ли я изменить порядок значков не Apple в строке меню моего MacBook?

13

Я скорее ОКР и люблю свои иконки в определенном порядке.

Я могу просто удерживать команду +, чтобы перемещать и изменять порядок значков яблок в строке меню, но это не работает для других значков.

Я понимаю, что они отображаются в строке меню в том порядке, в котором они запускаются, но у меня есть определенное количество приложений, которые я хотел бы запустить при запуске, и один значок (небольшая стукачка) даже не указан в качестве запуска вещь.

У кого-нибудь есть идеи?

OSX 10.6.2

Редактировать:

Можно ли написать какой-то скрипт, который запускается при входе в систему? Подобно пакетному файлу Windows. Не уверен, как это сделать на стороне Mac.

Пакетный файл будет запускать программу, которую я хотел, наиболее правую, ждать 10 секунд и запускать программу, которую я хотел, в следующей позиции и так далее.

Любые эксперты Mac знают, как это будет сделано?

КТ.
источник
Хороший вопрос ... я тоже хотел выяснить это. Это действительно должно быть встроено в OS X, но я думаю, что нам не повезло.
Нолдорин
Это встроенная macOS Sierra 10.12 сейчас
Codler

Ответы:

8

Я могу ответить на часть о запуске приложений по порядку, когда вы входите в систему: во-первых, откройте редактор AppleScript и создайте скрипт по следующим направлениям:

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

(для любых программ, которые вы действительно хотите запустить). Сохраните этот скрипт как приложение (по умолчанию он сохраняется как скрипт, и в этом случае он открывается в редакторе, а не работает). Затем откройте «Системные настройки», панель «Учетные записи», выберите свою учетную запись, выберите вкладку «Элементы входа» и перетащите сценарий в список элементов. Это должно сделать это.

Гордон Дэвиссон
источник
Это фантастика, я думал, что удивлен, что никто еще не написал вспомогательное приложение, чтобы помочь с переупорядочением. Так здорово, что мы наконец получаем все решения в одном месте. :)
Мэтт Гарднер
Большое спасибо - именно то, что я искал. Кажется, что Applescript было бы полезно узнать.
КТ.
11

Короткий ответ

К сожалению, Apple еще не включила функцию перетаскивания значков сторонних меню. Без предпочтений, предоставленных разработчиком, единственный способ изменить их порядок - открыть приложения в определенном порядке, где те, которые открылись первыми, появятся справа. Иногда некоторые поставщики пишут код, который заставляет значок появляться на одном конце или другом, давая вам нулевой контроль над его положением.

Длинный ответ

В строке меню OS X есть два типа значков:

  • MenuExtra : закрытый класс Apple для разработки собственных значков меню.
  • StatusItem : класс, предоставленный сторонним разработчикам для создания значков меню.

MenuExtras

Частный класс Apple имеет ряд встроенных привилегий, в том числе:

  • Если дважды щелкнуть их (в окне поиска), они загрузятся в меню и автоматически откроются при входе в систему.
  • Вы можете щелкнуть их по команде (в строке меню) и перетащить, чтобы изменить их порядок.
  • Чтобы удалить их, вы можете щелкнуть по команде и перетащить их за пределы панели (аналогично элементам стыковки).

К сожалению, Apple официально не разрешает разработку сторонних MenuExtras. Причина заключается в том, что они работают как плагины в SystemUIServer, и неисправный код может вызвать нестабильность в основной части операционной системы.

StatusItems

Класс для разработчиков не предоставляет такую ​​функциональность "из коробки" (по состоянию на 10.6 Snow Leopard), и, к сожалению, в настоящее время нет классов с открытым исходным кодом, которые разрешают коммерческое использование.

Таким образом, разработчики обычно делают следующее в порядке обычного появления:

  • Игнорировать проблему все вместе
  • Принудительно установить предустановленную позицию
  • Предоставьте несколько основных предпочтений; или
  • Необходимо написать свои собственные классы, чтобы дублировать функциональность MenuExtra

Для получения списка доступных MenuExtras перейдите в Finder к:

/System/Library/CoreServices/Menu Extras

Чтобы получить полный список бесплатных и коммерческих StatusItems, посетите:

Элементы меню Super OS X

Надеюсь это поможет. :) М

Мэтт Гарднер
источник
9

Бармен позволит тебе это сделать.

Раскрытие: я разработчик Bartender.

Бен
источник
1
Пожалуйста, расскажите о вашей принадлежности к продукту: см. FAQ .
Даниэль Бек
@Ben Согласен с вами, и обзор этого приложения под названием «Бармен помогает вам контролировать значки в строке меню», написанный 13 ноября 2012 года Дэном Миллером для MacWorld, расскажет об этом подробнее
Симон
@DanielBeck, спасибо за внимание, я не знал, что это было нужно, никакого вреда не было, я отредактировал свой ответ, включив раскрытие, в котором говорится, что я разработчик.
Бен
Удивительное приложение! Мне очень нравится его «расширенная» функциональность. Некоторым приложениям не нравится нажимать клавиши Command +, но достаточно легко перемещать все остальные значки вокруг них, чтобы получить тот же конечный результат.
Джоэл Меллон
Это действительно делает именно то, что запрашивал ОП, я думаю, это должно быть помечено как правильный ответ.
chris838
2

Это зависит от людей, которые сделали приложения, чтобы включить функцию перетаскивания команд. Например, метры iStat, очень популярный набор индикаторов состояния меню, имеют полную функциональность перетаскивания команд.

Если вы не можете этого сделать, скорее всего, разработчики приложений не реализовали эту функцию должным образом.

Феб
источник
1
На самом деле, это потому, что Apple не позволяет сторонним разработчикам реализовывать эту функциональность.
Хасан Чоп
На самом деле, НРД, это не так. Вам абсолютно «разрешено» реализовать эту функциональность, Apple просто не открывает код, который они используют для встроенного в MenuExtras. Вы, конечно, можете реализовать это сами (а я есть).
Феб
1
Давайте посмотрим, что вы реализовали.
Хасан Чоп
2
И не говорите «iStat Menus», потому что этот продукт очень четко использует MenuCracker для проникновения в частные SPI.
Хасан Чоп
1
Вы тот, кто заявляет, что вы сделали это через общедоступные интерфейсы, поэтому бремя доказывания будет полностью вашим. Каждый и его мать могут прочитать документацию NSStatusBar и убедиться, что в ней нет средств для переупорядочения.
Хасан Чоп
1

Я такой же. Насколько я могу судить, приложения в меню отображаются в порядке их запуска.

Поскольку все приложения, которые запускаются при входе в систему (должны), отображаются в элементах входа в разделе «Пользователи и группы» в «Системных настройках», просто установите порядок запуска таким образом, чтобы они отображались в строке меню.

Работает для меня, никаких сторонних приложений или скриптов не требуется.

Ele
источник
0

Я не думаю, что вы можете сделать это, по крайней мере, не без взлома. Я знаю, что в некоторых приложениях с иконками меню в настройках есть параметры, отображать ли они ближе к левой или правой стороне. Кроме, не знаю, что еще я могу сказать, но удачи!

Ора
источник
0

Я считаю, что это возможно, поскольку я могу перемещаться по своему iStat MenuBar, приложениям панели меню. Я хотел бы написать разработчику iStat Menus по электронной почте и посмотреть, как он это сделал, или, возможно, создать приложение, которое позволит другим приложениям делать это. Вот сайт разработчика: http://bjango.com/

Иаков
источник
0

Функция «Перестановка MenuBar» позволяет вам переставлять StatusItems между собой, но не позволяет вам переставлять их в собственных MenuExtras Apple или в утилитах третьей части, таких как iStat Menus, которые имитируют функциональность MenuExtras.

MenuExtras всегда будет отображаться вместе и отдельно от StatusItems в строке меню. Таким образом, этот отличный инструмент дает вам только некоторый контроль над размещением значков вашего меню.

Вальтер
источник