Горячие клавиши таймера на Mac: во что обошлось сочетание ⌘⇧3

Глобальное сочетание работает в любой программе и может совпасть с командой macOS. Разбор случая с ⌘⇧3 со счётом потерь и правило: такие клавиши держат на ⌥⇧.

Глобальное сочетание работает в любой программе и может совпасть с командой macOS. Разбор случая с ⌘⇧3 со счётом потерь и правило: такие клавиши держат на ⌥⇧.

Глобальная горячая клавиша на Mac работает в любой программе. Моя стояла на ⌘⇧3 — и таймер запускался от каждого снимка экрана. Десять снимков в день дают 200 лишних минут в журнале за месяц.

Символы дальше — как на клавишах Мака: ⌘ это Command, ⌥ — Option или Alt, ⌃ — Control, ⇧ — Shift.

Секундомер включался сам от обычного снимка экрана

Хоткей отвечал за таймер третьего проекта — из трёх, что идут параллельно. Номер совпал с командой снимка всего экрана, и система отдавала нажатие обоим.

Я тестировал программу на себе и долго не понимал, откуда лишние минуты. Таймер то включался, то выключался без единого клика. Будто им управлял кто-то другой. Причина пряталась в привычном действии.

Снимок экрана делают по десять раз в день, и о таймере в этот момент никто не думает. Разгадку дало время. Лишние старты совпадали по секундам с файлами снимков на рабочем столе: щёлкнул экран — в проекте прибавилась минута.

Заметнее всего это было в дни, полные снимков для документации. Отдельно такая минута выглядит мелочью. Вместе за день они складывались в полосу записей, которым нельзя верить.

Идущий таймер проекта в списке со ставками
Журнал таймера: у каждого пуска видно время — по нему и ловятся чужие старты. Демонстрационные данные.

Локальное сочетание слушает окно, глобальное — всю клавиатуру Mac

Сочетание внутри программы работает только тогда, когда её окно в фокусе. Переключились на почту — клавиша молчит, как любая другая незанятая комбинация.

Глобальное сочетание регистрируется на уровне системы. Она слышит нажатие в любой программе: в почте, браузере, редакторе. Дальше передаёт тому, кто на него подписан.

Совпадение с системной командой не видно сразу. Внутри своего окна конфликта нет. Он начинается, когда фокус переходит на другое окно — то есть почти всё время работы за компьютером.

Проверка простая: любое сочетание, которое отвечает на нажатие при свёрнутой программе, — глобальное. Такому нужен список того, что уже занято до него. Локальному список не нужен: он живёт внутри одного окна и никого не задевает.

⌘⇧3 в macOS занят раньше, чем до него дойдёт сторонняя программа

Выбор ⌘⇧ казался логичным. Почти вся клавиатурная память Мака держится на ⌘, а ⇧ добавляет второй вариант той же команды. Пара выглядела свободной — её просто ни разу не сверили с системным списком.

Внутри своей программы всё работало без сучка. Хоткей запускал нужный таймер при каждом нажатии, тесты проходили. Код был исправен. Занят оказался сам ряд клавиш.

На деле этот ряд занят гуще прочих — и системой, и соседними программами. Вот что там уже стоит, по справке Apple о сочетаниях клавиш и о снимках экрана:

Сочетание Кто уже занял Что делает
⇧⌘3 macOS снимок всего экрана
⇧⌘4 macOS снимок выделенной области
⇧⌘5 macOS окно записи экрана
⌃⇧⌘3 и ⌃⇧⌘4 macOS тот же снимок, но в буфер обмена
⇧⌘N Finder новая папка
⇧⌘N Chrome окно инкогнито
⇧⌘T браузеры вернуть закрытую вкладку
⇧⌘P редакторы кода палитра команд
⇧⌘Z почти все повтор отменённой команды
⇧⌘Q macOS выход из учётной записи
⇧⌘Delete Finder очистка корзины

Одно сочетание в таблице стоит дважды, и это не опечатка. ⇧⌘N у Finder создаёт папку, у Chrome открывает окно инкогнито. Кому достанется нажатие, решает фокус.

Цена ошибки — не «неудобно», а 6 500 ₽ за месяц

Пока ошибка жила в коде, каждый снимок экрана дописывал журнал за меня. Работа не начиналась и не заканчивалась. Где-то сбоку прибавлялась минута.

Считаю на своём же дне, круглыми числами. 10 снимков экрана — 10 лишних пусков, по минуте на каждый. Выходит 10 минут в день. За 20 рабочих дней это 200 минут, то есть 3 ч 20 мин.

Возьмём ставку 1 500 ₽ в час. Спорного времени набегает на 5 000 ₽ — ровно столько нельзя отправить заказчику, не объяснив, откуда взялись эти часы.

Дальше начинается вторая половина счёта. Журнал за месяц пришлось поднять и вычитать руками, отделяя ручные пуски от случайных: короткая запись — проверить, совпала ли она со снимком экрана. Работы на час.

Час своего времени по той же ставке — ещё 1 500 ₽. Итого 6 500 ₽ за месяц: 5 000 ₽ спорного времени и 1 500 ₽ на разбор.

И это только деньги. Отправить заказчику время, которого не было, — вопрос к доверию, а его в рублях не считают.

Как узнать, что комбинация уже занята

Самый быстрый способ — нажать её при пустом рабочем столе. Все окна закрыты, откликаться нечему. Щёлкнул затвор или что-то мелькнуло — комбинация чужая.

Дальше откройте программы, в которых работаете каждый день: браузер, редактор, мессенджер. Нажмите сочетание в каждой. Занятые комбинации видно и без нажатия: в меню программы они напечатаны справа от пунктов.

Короткие пуски таймера без остановки рукой — отдельный признак. Сверьте их время со списком снимков экрана за тот же день. Совпадение по минуте укажет прямо на комбинацию клавиш.

Есть и обратная ловушка: сочетание свободно, а программа на него молчит. Часть программ ловит глобальные нажатия системным перехватом, а такому перехвату нужно разрешение «Универсальный доступ». Без него нажатие уходит в пустоту, и это легко принять за конфликт клавиш.

Как назначить своё сочетание: пять шагов

  1. Откройте настройки самой программы и найдите раздел горячих клавиш.
  2. Возьмите пару ⌥⇧ и добавьте к ней букву или цифру.
  3. Нажмите сочетание в поле записи — программа запомнит его как есть.
  4. Проверьте на пустом рабочем столе и в браузере: отклик должен быть один.
  5. Отказалась принимать — сочетание в её чёрном списке системных, возьмите другое.

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

Правило после этого случая: глобальные сочетания живут на ⌥⇧

Снимки экрана я делать не перестал — переехали клавиши. Все глобальные хоткеи программы ушли с ⌘⇧ на ⌥⇧: тот же принцип модификаторов, ряд, который система почти не трогает.

Свободнее прочих ⌥⇧ не случайно. У ⌘ и ⇧ отдельно — тысячи команд в системе и в каждой открытой программе. У ⌃ — жесты Mission Control и специальные символы. Пара ⌥⇧ без третьей клавиши почти не участвует в стандартных сочетаниях macOS.

Исключение в WorkClient всё же есть, и оно честное: история буфера обмена открывается тем же ⌘⇧V, каким многие мессенджеры вставляют текст без форматирования. Совпадение мелкое и осознанное: записи времени оно не портит, только перебивает одну команду вставки. Сочетание при этом меняется в настройках.

Сам список зарезервированных комбинаций теперь встроен в программу: назначить на глобальный хоткей ⇧⌘3 или похожую системную команду настройка просто не даст.

Это не единственный способ вести время на Mac. Часы можно писать в таблицу руками: там нет ни глобальных клавиш, ни конфликтов — но и пуск таймера придётся помнить самому, а забытый старт стоит дороже лишней минуты.

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

Правило переносится на любую программу с таймером: ряд ⌥⇧ безопаснее, а ⌘⇧ — почти всегда чей-то чужой.

Вопросы и ответы

Что такое глобальные горячие клавиши на Mac?

Это сочетания, которые система слышит в любой программе — даже когда окно нужной свёрнуто. Нажатие ловит операционная система, а не активное окно. Поэтому глобальная клавиша может незаметно совпасть с командой самой macOS или другой открытой программы, и сработают обе.

Что делать при конфликте сочетаний клавиш на Mac?

Сначала проверить, где на самом деле срабатывает нажатие: в нужной программе, в другой открытой или в самой системе. Если совпадение с системной командой — комбинацию меняют в настройках самой программы, а системные сочетания при этом не трогают. Список зарезервированных Mac сочетаний есть в справке Apple, и с ним стоит сверяться перед назначением.

Какую горячую клавишу поставить на старт и стоп таймера?

Ту, которую не держит система и не держат браузер с редактором кода — то есть не ⌘⇧ и не ⌃. Свободнее прочих ряд ⌥⇧: у macOS на нём почти нет своих команд. WorkClient использует ⌥⇧T для старта и стоп, но подходит любая пара из этого ряда.

Как назначить свою горячую клавишу на Mac?

Откройте настройки самой программы и найдите раздел горячих клавиш. Нажмите нужное сочетание в поле записи, лучше из ряда ⌥⇧. Проверьте его на пустом рабочем столе и в браузере: отклик должен быть один. Системные сочетания Мака ради этого менять не нужно.

Источники

  1. Сочетания клавиш Mac — support.apple.com
  2. Создание снимка экрана на компьютере Mac — support.apple.com