Is there a way to disable minimising windows with the yellow button in OS X?

Coming from the Windows world, I am used to minimising windows in OS X, then using Cmd-Tab to get back to the app to re-open them. However, this doesn't work on OS X, and the approach for re-opening them with Cmd-Tab once minimised is driving me slightly round the bend as I try to contort my fingers into place (plus, I typically forget to do this, then have to go round the Cmd-Tab loop again). Instead, I've taken to hiding windows with Cmd-H when I can, which does work when using Cmd-Tab to get them back again. Nevertheless, I don't always remember to use this, and sometimes minimise them instead.

Is there a way I can disable minimising windows entirely, ideally by removing or disabling the yellow minimise button from the window header (I don't use ⌘M)? Alternatively, can I convert the yellow button so it behaves like "hide" instead? Ideally I'd like to avoid paying money for an add-on, but if there's one that works, that may be an acceptable answer.


If you have some spare money, I might point you at Witch, a $14 app from ManyTricks. It has a direct download that integrates with system preferences, and an app store version.

http://manytricks.com/witch/

It doesn't remove minimization like you want, but if I understand the reason for the question, it would work, because it replaces the cmd-tab switcher and Mission Control with something that works in a no-nonsense fashion. I have to admit that I do not own a copy, but it looks very promising and has a full-featured demo. It is very customizable and even has Win7-ish window previews if you're willing to mouse hover.


A couple options:

AltTab is a free, open source app that makes macOS alt-tab work much like it does on Windows, including maximizing hidden/minimized windows upon selection. It does pretty much what you're asking for out of the box.

Better Touch Tool (45 day free trial/$7.50) enables you to map many kinds of reactions to a wide array of events (much more than touch/trackpad related events).

To do this with Better Touch Tool: Under the 'Named & Other Triggers' group, you can map a click of the yellow/orange minimize button to the ⌘H keyboard shortcut, so the window is hidden rather than minimized.

I am not affiliated with AltTab or Better Touch Tool in any way.


You can disable ⌘M by running this and reopening applications:

defaults write -g NSUserKeyEquivalents -dict-add Minimize '\0'

If the menu item was assigned to nil, pressing L would trigger it in some applications like Audacity.

If you remove Dock.app, the minimize buttons stop working. But it also disables full screen windows, Mission Control, the Notification Center sidebar, the application switcher, Launchpad, and Dashboard, and makes desktop backgrounds gray.

NuKit can change the zoom and close buttons, but I don't know any application for changing or disabling the minimize buttons. There is another question about it at Super User.

I didn't find any hidden preferences for it using strings or gdb.