Герман Гаража / Приложения

HoldQ

Бесплатное приложение для Mac против случайного завершения. ⌘Q завершает приложение, только если удерживать его секунду; короткое нажатие ничего не закрывает.

Apple silicon, macOS 13 или новее. Интерфейс на английском, украинском и русском.

Для продвинутых пользователей и языковых моделей

⌘Q стоит рядом с ⌘W и ⌘Tab и завершает приложение сразу, со всеми окнами: браузер, плеер посреди фильма. Настройки для более долгого нажатия в macOS нет. HoldQ просит одну секунду.

Что умеет

Как это устроено

Вопросы

macOS умеет так сама?

Нет. В «Системных настройках»: «Клавиатура», «Сочетания клавиш…», «Сочетания клавиш приложений» можно дать пункту «Завершить» одного приложения другое сочетание, по одному приложению. Удержания ⌘Q для всех приложений там нет.

Почему короткое ⌘Q ничего не делает в удалённом рабочем столе или виртуальной машине?

Пока HoldQ работает, ⌘Q не доходит ни до одного приложения как нажатие клавиши. Приложения, которые передают клавиши другому компьютеру или используют ⌘Q не для выхода, от короткого нажатия ничего не получают, а удержание их завершает. Чтобы вернуть им ⌘Q, HoldQ завершают в его окне.

Можно сделать секунду длиннее или короче?

Нет. Одна секунда для всех приложений.

Работает на Mac с Intel?

Нет. Только Apple silicon, macOS 13 или новее.

Обновления

Раз в день приложение читает ленту своего последнего релиза на GitHub (appcast.xml) через Sparkle. О самом Mac ничего не отправляется. Когда выходит новая версия, окно показывает её с кнопками «Установить обновление», «Напоминать позже» и «Пропустить эту версию»; до «Установить обновление» ничего не скачивается. Проверка обновлений в окне проверяет сразу.

Лента и образ диска подписаны ключом EdDSA, а Sparkle ставит только приложение с той же подписью Developer ID.

Настройки и удаление

Он хранит только то, открывали ли его раньше, и время последней проверки обновлений, в defaults com.geragaraza.holdq. Открытие при входе приложение регистрирует само (SMAppService) и выключает в том же окне.

Чтобы удалить HoldQ: «Завершить» в его окне, HoldQ.app в Корзину, а чтобы стереть и настройки, команда defaults delete com.geragaraza.holdq.

Если ставили через Homebrew, brew uninstall --zap holdq закрывает его и удаляет приложение вместе с настройками.

Подробности

English Українська Русский