

Vim for Mac still uses the seriously deprecated WaitNextEvent() api. SetEventParameter(event, kEventParamDimensions, typeQDPoint, * ideal height is as high as we can get */ P.h = Columns * gui.char_width + gui_get_base_width() GetEventParameter(event, kEventParamAttributes, typeUInt32, NULL, Static OSStatus onWindow(EventHandlerCallRef handler, Option-Clicking moves the window into the upper left window, as it turns out. The standard window handler does the rest.

You only need to implement an kEventWindowGetIdealSize handler and return the standard state size of your window. But, hey, we're used to that, aren't we?įortunately, you can get around writing your own kEventWindowZoom handler most of the time. Try Option-Clicking the zoom box in several apps and see what happens for instance. However, implementing the kEventWindowZoom yourself is a bad idea, because no one really knows what this button should do. If you want to change it, you are advised to write a listener to the kEventWindowZoom event. However, this is exactly what Carbon's standard window handler does.
MACVIM UPDATE PATCH
The latest version of the patch can be found here.ĭo you know what the green circle in the title bar of your windows does? What happens if you option-click it? You're not alone.Īccording to Apple's HIG, it toggles between a user state and a standard state - it doesn't maximize your window - and the HIG explicitely advice against maximizing your window. Notes: Keyboard layout files this seems to be what I'm looking for Is there a way to find out which modifiers are necessary for a given character? This depends on the keyboard layout of course. Generally, modifiers required to generate a key (shift is required for uppercase characters or * etc, alt is required for ç (at least on my keyboard), etc) should not be sent to vim.
MACVIM UPDATE CODE

Fix: Don't send CTRL modifier for keys with ASCII code < 32 Should work (insert mode and normal mode) (regression found by Kyle Wheeler).
