Herman Harazha / Apps

HoldQ

Free app for Mac against quitting by accident. ⌘Q quits an app only when held for a second; a short press quits nothing.

Apple silicon, macOS 13 or later. Interface in English, Ukrainian and Russian.

For advanced users and language models

⌘Q sits next to ⌘W and ⌘Tab and quits at once, with every window: a browser, a player in the middle of a film. macOS has no setting for a longer press. HoldQ asks for one second.

What it does

How it works

Questions

Can macOS do this by itself?

No. In System Settings: Keyboard, Keyboard Shortcuts…, App Shortcuts: the Quit item of one app can get another shortcut, one app at a time. Holding ⌘Q for all apps is not there.

Why does a short ⌘Q do nothing in a remote desktop or a virtual machine?

While HoldQ runs, ⌘Q never reaches any app as a key press. Apps that pass keys on to another computer or use ⌘Q for something other than Quit get nothing from a short press, and a hold quits them. Quit HoldQ in its window to give them ⌘Q back.

Can the second be made longer or shorter?

No. One second for every app.

Does it run on Intel Macs?

No. Apple silicon only, macOS 13 or later.

Updates

Once a day the app reads the feed of its latest GitHub release (appcast.xml) through Sparkle. Nothing about the Mac is sent. When a newer version is out, a window shows it with Install Update, Remind Me Later and Skip This Version; nothing is downloaded before Install Update. Check for Updates in the window checks at once.

The feed and the disk image are signed with an EdDSA key, and Sparkle installs only an app that carries the same Developer ID signature.

Settings and removal

It stores only whether it has been opened before and the time of the last update check, in the defaults of com.geragaraza.holdq. Open at Login is a login item the app registers itself (SMAppService) and turns off from the same window.

To remove HoldQ: Quit in its window, move HoldQ.app to the Trash, and to clear its settings run defaults delete com.geragaraza.holdq.

Installed with Homebrew, brew uninstall --zap holdq quits it and removes the app and its settings.

Details

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