Написал приложение, которое добавляет в macOS две функции:
Открытие приложений сочетанием клавиш, например
⌥-1для Chrome,⌥-2для Slack;Открытие проектов сочетанием клавиш, например
⌥-3откроетOption1.xcodeprojв Xcode. Работает с любым приложением.
В статье покажу принцип работы и возможности macOS о которых вы могли не знать.
Текст и код подготовлены без использования технологий искусственного интеллекта.
Исходный код — https://github.com/Medvedev91/Option1
В чем проблема?
Я работаю над несколькими проектами. Когда открыто 3 проекта VS Code или несколько окон Finder, то переключаться между окнами одного приложения крайне неудобно.
Год назад начал разработку идеального для себя способа работать с окнами. В итоге, кроме переключения между окнами, реализовал ряд других функций.
Текущая версия покрывает все мои потребности. Пора это отпускать в народ. Подготовил интерфейс, написал документацию, держите!
Ниже делюсь своим опытом от простого к сложному. Не нужно ничему переучиваться, смотрите на это как на дополнительные возможности macOS.
1. Встроенный ⌘‑Tab
Для переключения между окнами чаще всего использую встроенный ⌘-Tab. Ничего нового, все как обычно.
2. Сочетания клавиш для часто используемых приложений
Для открытия приложений которые использую чаще всего, например веб‑браузер или мессенджер я задаю сочетания клавиш. Например, так:

⌥-1 для Chrome, ⌥-2 для SlackЕсли приложение закрыто — оно откроется, иначе просто получит фокус.
3. Сочетания клавиш для проектов, файлов, сайтов...
Для меня это главная функция!
Пример: как разработчик Option1, я часто открываю проект Option1.xcodeproj в Xcode. Вот что я сделал:

⌥-8 откроет Option1.xcodeproj в XcodeТеперь я не думаю, открыт проект или нет. Я просто нажимаю ⌥-8. Если проект закрыт — он откроется, иначе просто получит фокус.
Особенно удобно когда открыто несколько Xcode проектов. Ибо встроенный ⌘-Tab переключает приложения, а не проекты или окна.
Работает с любым приложением. Несколько примеров:

Прошу заметить, ⌥-0 не только открывает Google Chrome как ⌥-1, но еще в новой вкладке открывает habr.com.
4. Полноэкранный режим
Теперь, когда есть быстрый доступ к окнам и проектам, многие окна открываю в полноэкранном режиме. Особенно актуально в профессиональном ПО.
Дополнительно, в полноэкранном режиме настроил скрытие строки меню (Menu Bar):

5. Рабочие столы и «Assign To This Desktop»
Был удивлен узнав что в macOS есть такая функция. Отлично сочетается с моей программой!
Пример: я использую отдельный рабочий стол для рабочих окон: Slack и Firefox — Desktop 2:

Поскольку ⌥-2 открывает Slack, я еще хочу чтобы он всегда открывался на втором рабочем столе. Для этого перехожу на второй рабочий стол (Desktop 2) и делаю это:

Теперь я не думаю открыт Slack или нет. Я просто нажимаю ⌥-2. Я всегда буду перемещен на второй рабочий стол где Slack будет запущен и получит фокус.
Поскольку у меня заданы комбинации для всех часто используемых приложений, я предпочитаю скрывать Dock:

6. Рабочие пространства
Я работаю над двумя проектами: Option1 и timeto.me. Я не хочу задавать разные сочетания клавиш для разных проектов, я хочу чтобы ⌥-8 всегда открывал проект над которым сейчас работаю.
Для этого создал два рабочих пространства (workspaces): Option1 и timeto.me:

Обратите внимание, что ⌥-1 и ⌥-2 из Shared по‑прежнему работают!
Для смены рабочих пространств использую строку меню:

One more thing. ⌥‑Tab.
Удобно для переключения между окнами одного приложения так как встроенный ⌘-Tab переключает приложения, а не окна или проекты.

⌥-TabДополнительные возможности ⌥-Tab:
Закрепленные приложения вверху списка;
Двойное нажатие Option отображает список окон. Удобно для просмотра уведомлений приложений;
⌥-`и⌘-`«прыгает» только по приложениям с уведомлениями;Сортировка окон по приложению, истории или специальный JK‑режим;
Вдохновленный Vim‑ом JK‑режим это комбинация сортировок по приложению и истории. При нажатии
⌥-Tab— по приложению,⌥-J— по истории;⌥-(A-Z)для окон. Для каждого окна автоматически задается комбинация клавиш. Например на снимке выше для Recent задан⌥-R. ВНИМАНИЕ Если вы используете эти комбинации в других приложения — отключите это в настройках;Избранное (Favourites).
Честно говоря, я нечасто использую ⌥-Tab, но иногда это просто незаменимо.
Post Scriptum
Создавая приложение я фокусировался на функциях которых мне не хватало. Это не замена, а дополнение к встроенным возможностям macOS:
поддержка нескольких дисплеев,
поддержка встроенных рабочих столов macOS,
поддержка полноэкранного режима.
Готов добавлять функционал по вашему заказу.
Исходный код — https://github.com/Medvedev91/Option1, веб‑сайт — https://option1.io.


