11 из 131 мин

Мониторы и стабильность рабочего места (Hammerspoon)

Многомониторный сетап в macOS часто ведёт себя хаотично: после переподключения дисплеев окна “переезжают”, Dock может оказаться не на том экране, а раскладка мониторов меняется непредсказуемо. Чтобы это не ломало рабочее место, часть логики вынесена в Hammerspoon.

1) displayplacer + отслеживание подключений

Раскладка экранов применяется не вручную, а через displayplacer: Hammerspoon проверяет наличие конкретного дисплея по persistent ID и понимает, какая конфигурация сейчас активна (например, подключён ли iPad/Sidecar).

2) Авто-применение лэйаутов через скрипты

Под разные сценарии подготовлены скрипты в ~/.layouts/… (условно “с iPad” и “без iPad”). При изменении набора экранов Hammerspoon ждёт короткую паузу, даёт macOS “успокоиться”, и затем применяет нужный лэйаут автоматически.

3) Антихаос после отключения Sidecar/iPad

Одна из самых неприятных ситуаций: отключаешь iPad, и часть окон улетает на “крайний” экран. В этой конфигурации Hammerspoon отслеживает момент отключения и аккуратно возвращает такие окна на primary display, чтобы не искать их по всей комнате.

В следующем посте покажу, как в Hammerspoon я поднимаю WebSocket-связь с OBS.

Оглавление серии
  1. Клавиатурные слои
  2. Karabiner = набор JSON-правил
  3. 1) Caps Lock = Hyper
  4. 2) Слой на Space: tap = пробел, hold = F18
  5. 3) backtick hold = F17
  6. 4) RU-раскладка: точечные правила только для русского набора
  7. Hammerspoon
  8. Window Manager в Hammerspoon
  9. Медиа-контроль как сценарии в Hammerspoon
  10. Hammerspoon как локальный сервер и “пульт” управления
  11. Мониторы и стабильность рабочего места (Hammerspoon)
  12. MIDI-клавиатура и OBS как аппаратный контроллер (Hammerspoon)
  13. Тема клавиатурных слоев на этом этапе закрыта.