Как отключить анимацию переключения рабочих столов в Macos
Представьте: вы разработчик, у вас открыто пять рабочих столов (Spaces). На одном — IDE, на другом — браузер с документацией, на третьем — терминал, на четвёртом — Slack, на пятом — музыка. Вы активно переключаетесь между ними в течение дня.
И каждый раз — эта противная анимация. Экран уходит в сторону, новый появляется… 300 миллисекунд? 500? Неважно. Когда ты делаешь это сто раз в день, это начинает бесить.
Apple почему-то упорно отказывается дать нам простую галочку «отключить анимацию». И люди ищут обходные пути.
Почему стандартные решения не работают
Первое, что вам предложат везде — включить «Reduce Motion» в системных настройках. Автор статьи называет это «дефолтным ответом» и честно говорит: это не работает. Анимация исчезает, но вместо неё появляется такая же бесполезная fade-in (затухающая) анимация. Плюс ко всему, этот параметр активирует prefers-reduced-motion в браузерах — а это уже влияет на то, как сайты вам показывают интерфейс.
Второй популярный вариант — yabai. Это tiling window manager (менеджер окон), который умеет переключать пространства мгновенно. Работает хорошо, но есть две проблемы: во-первых, yabai патчит системные файлы macOS, поэтому нужно отключать System Integrity Protection (SIP) — защиту безопасности системы. Во-вторых, yabai требует использовать себя как основной менеджер окон целиком. Если вы привыкли к другому решению (автор использует PaperWM.spoon), придётся выбирать.
Третий вариант — сторонние приложения типа FlashSpace или AeroSpace. Они создают виртуальную прослойку и прячут/показывают окна при переключении. Решения неплохие, но чувствуются чуждо в экосистеме Apple — хочется чего-то более нативного.
Четвёртый вариант — BetterTouchTool. Платное приложение ($10), которое умеет делать «Move Right Space (Without Animation)». Работает, но платить за то, что Apple не добавляет эту настройку уже много лет? Справедливо, но обидно.
Найденное решение
Автор статьи рассказывает о приложении под названием InstantSpaceSwitcher от разработчика jurplel (один из тех случаев, когда репозиторий буквально имеет одну звезду на GitHub).
Почему это решение лучше:
- Не требует отключения SIP (система защиты остаётся нетронутой)
- Работает поверх любого менеджера окон
- Это просто меню-bar приложение без сложных зависимостей
- Есть CLI (командная строка) для любителей автоматизации
Как оно работает? Хитрость в том, что программа симулирует свайп по трекпаду с огромной скоростью. Система думает, что пользователь сделал жест переключения пространства физически — и выполняет его без задержки анимации.
Также можно мгновенно прыгнуть на конкретный номер Space через горячие клавиши или команду.
Установка
Клонируем репозиторий:
git clone https://github.com/jurplel/InstantSpaceSwitcher
cd InstantSpaceSwitcher
./build.sh
После этого приложение появится в ваших программах и будет доступно в менюбаре.
CLI доступен по адресу:
.build/release/ISSCli --help
Usage: .build/release/ISSCli [left | right | index <n>]
Можно повесить эти команды на шорткаты через Karabiner-Elements или любой другой менеджер клавиш.
РАБОЧИЙ ПРОЦЕСС INSTANTSPACESWITCHER
─────────────────────────────────────
┌──────────────┐ ┌─────────────────┐ ┌──────────────┐ ┌──────────────┐
│ Пользователь│───▶│ ISSCli / горячая │───▶│ Симуляция │───▶│ Мгновенное │
│ жмет кнопку │ │ клавиша │ │ свайпа │ │ переключение │
└──────────────┘ └─────────────────┘ └─────────────────┘ └──────────────┘
▲ │
│ │
└────────────────────────────────────────────────────────────┘
Система думает: "Это жест пользователя"
Что в итоге
Лично мне эта история напоминает типичные 10 лет ожидания очевидной функции в macOS: Apple почему-то не считает нужным добавить очевидную настройку («Дайте мне просто отключить эту анимацию!»), и сообщество вынуждено писать костыли вокруг системы.
Автор статьи честно признаётся: он хочет, чтобы больше людей узнали об этом инструменте и поставили звёздочку репозиторию — их там пока всего несколько десятков.
Если вы тоже беситесь от анимации Spaces и не хотите ставить тяжёлые сторонние инструменты типа yabai или платить за BetterTouchTool — попробуйте InstantSpaceSwitcher. Иногда может конфликтовать с System Integrity Protection при обновлениях macOS, но для многих это может оказаться тем самым решением «без головной боли».
А вы как справляетесь с переключением пространств? Есть свои лайфхаки?
Ссылки
- InstantSpaceSwitcher — приложение для мгновенного переключения рабочих столов
- Yabai — tiling window manager для macOS
- PaperWM.spoon — альтернативный менеджер окон
Дмитрий Полухин — продуктовый дизайнер. Пишу про разработку, AI и дизайн интерфейсов. Обо мне, контакты и профили.