
window resizing becomes life (can prolly be prevented if this turns out to be annoying, though).window movement, app activation, menu handling.toolbar config stuff is done automatically (as soon as there's a toolbar).proxy icon handling is done automatically (as soon as proxy icons are supported).Stuff that's influenced by a change to Carbon Events and the standard event handler: Keyboard events (seems to be already in place).

Plan: Replace WaintForNextEvent() with RunApplicationEventLoop() (and use CreateNewWindow() instead of NewCWindow() in gui_mch_init()), use standard event handler.
#Macvim update code
Using Carbon Events (especially the standard event handlers) should make the code shorter.īefore porting to Carbon events, gui_mac.c is about 6500 lines (with gui tab pages).
#Macvim update for mac
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. Unicode characters (ä etc.) should work (they are broken because of the Shift-Tab patch at the moment).Shift-Space has to work (the code that removes shift from chars like (, *, + etc.Shift-Tab is a special key and has to be send as such.

simplify_key() seems to mess up the shift-tab keys.
