
su_v wrote:
Sample code (C) in Gedit to implement such a proxy icon: https://git.gnome.org/browse/gedit/tree/gedit/gedit-app-osx.c#n99 Related documentation: https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/WinPa...
You may also want use proxy menu for recent files and [[NSDocumentController sharedDocumentController] noteNewRecentDocumentURL:<URL>] to populate recent menu.
It also gives extra feature of recent files visible right-clicking on Dock icon regardless if application is running or not.
I don't know a solution for displaying the full information for items in the 'File > Open recent' menu.
Once you get native recent menu, all files with same name will have their folder icon and name as suffix. Also once proxy icon is there you can right click on the icon to revel file folder.
When using the global menu bar on OS X, the menu items for preferences and input devices need to be moved to the application menu (currently they are still in the 'Edit' menu, following the GNOME HIG).
Agreed. Also one has to ensure proper shortcuts are used, i.e. ⇧⌘, instead ⇧⌘P for Preferences and ⌘`/⇧⌘` to cycle between application windows.
- context menu for the Dock icon
As above. Do we need anything more than just recent files and New, Open ? Then it should be easy.
There also one minor annoyance, but noticeable for Mac user. Inkscape should not quit when closing last window, but only when users explicitly close it via menu or Dock. Also when Inkscape has no documents open, clicking on Dock should open new empty document, otherwise it should bring up first open document. This is behavior found in most apps on Mac.
There is also interesting bug connected to issue above, using ⌘W (Close Window) when there is only one window immediately creates new document, rather than quitting or leaving Inkscape without documents open.
Finally I have tested Inkscape on my Retina laptop, using: <key>NSPrincipalClass</key> <string>NSApplication</string> <key>NSHighResolutionCapable</key> <true/>
It works surprisingly well. Somehow Murrine engine renders all controls like buttons using HiDpi, unfortunately canvas, toolbar icons are lo-res, also SVG based elements rendered via pixbuf are lo-res, which is kind of surprise since Murrine does HiDpi.
As for the theme, one can consider doing native Quartz theme engine using HITheme/HIToolbox API for rendering various Mac widgets, same way Qt or WebKit/Chromium do. The only problem I can see is to somehow get CoreGraphics handle out of GTK/GDK.
Regards,