Написал приложение, которое добавляет в 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.
Благодарен за ваши звезды на GitHub ;)
Комментарии (5)

Greenback
28.10.2026 22:23Это замечательно!
Я делал то же самое с помощью скриптов Autohotkey, но это было лет пятнадцать назад, когда я ещё пользовался Windows.
В итоге отказался от явной привязки проектов/окон к сочетаниям клавиш. Намного гибче оказался такой подход:
Передо мной открыто некое окно (терминал, редактор, браузер, etc)
Нажимаю Win+Shift+<буква> и таким образом происходит привязка сочетания Win+<буква> к данному конкретному окну, даже если это окно внутри приложения (работало не везде).
То есть чтобы, скажем, привязать Win+S к терминалу, я нажимал Win+Shift+S
Между перезагрузками компа настройка не сохранялось, но я не страдал. Перегружаю комп редко, а привязать было быстро. Пользовался этим несколько лет, полный восторг. Никакого UI для настройки не нужно было в принципе.
Осталось мечтой сделать следующее: не одновременное нажатие, а последовательное: чтобы можно было нажать Win (или Cmd) и тут же отпустить, и после этого было бы 1-2 секунды на нажатие собственно горячей клавиши. При этом экран мог бы визуально подсказать что находится в режиме ожидания горячей клавиши, моргнуть как-то в уголке.
Это избавило бы от конфликтов с существующими сочетаниями, и к тому же последовательно давить кнопки удобнее чем одновременно.

Medvedev91 Автор
28.10.2026 22:23Нажимаю Win+Shift+<буква> и таким образом происходит привязка сочетания Win+<буква> к данному конкретному окну
Изначальная задумка и первая версия были точно такими, но меня не устраивало:
после закрытия приложения привязка переставала существовать,
после перезагрузки ОС привязка переставала существовать.
Т.е. не было эффекта что я не думая нажимаю комбинацию и попадаю куда нужно. В итоге пришел куда пришел. Но если вам так удобнее, можете попробовать первые версии на странице релизов.

AppCrafter
28.10.2026 22:23One more thing. ⌥‑Tab.
Удобно для переключения между окнами одного приложения так как встроенный
⌘-Tabпереключает приложения, а не окна или проекты.Возможно вы не обратили внимание, что есть ещё Comand + ~, который переключает как раз между окнами одного приложения.

Medvedev91 Автор
28.10.2026 22:23Да, но
Command ~:работает только в рамках одного рабочего стола,
не дает возможности посмотреть список всех окон и выбрать нужный. Т.е. чтобы найти нужное окно я должен нажать
Cmd ~, понять оно или нет, нажать снова и т.д. В некоторых случаях, конечно, например с двумя окнами на одном рабочем столе, этого хватает.
Если что, то в настройках моей программы
Option-Tabможно отключить.который переключает как раз между окнами одного приложения.
Есть еще вариант: ПКМ по приложению в Dock, там будет список всех окон на всех рабочих столах.
achekalin
Как быть со вкладками. В одной вкладке браузера один сайт, во второй - другой. Если работать часть с ними двумя, хотелось бы всегда иметь комбинацию их открыть - сайты или вкладки, но с сайтами.
И... под brew нет?