Hacking:Merging lisanet.de fork
We had a quick check with Mitch and saw that many are outdated with current code. For instance some about a switch to Carbon->Cocoa platforms already in our code tree, or others obsoleted by our menu replacement. Others seem to make sense like the "color display change".
This is a working page for GIMP developers to go through the list and decide what we want to integrate and what we want to leave out.
1/ $ svn checkout svn://svn.code.sf.net/p/gimponosx/code/ gimponosx-code
2/ $ cd gimponosx-code/GimpPorts/ports/graphics/gimp2/files/
3/ Check the patches and update the below lists to keep or not. For instance, if you reviewed a patch and it is not good for us, you can leave a "[exclude]" next to it. If we want to keep it but it needs work, add "[need work]", and so on.
4/ I set up a Bugzilla report. When a patch seems good, make a `git format-patch` and upload it there for review if needed. :-) We can close this report when all the patches of the list will have been either applied in our tree or discarded. :-)
List of Patches
|app-actions-dialogs-actions.c.diff|| Answer: Yes, change to 'About GIMP'.
The specs supersede what other programs do.
The OS X human interface guidelines, Windows human interface guidelines provide for 'About GIMP'. The GNOME human interface guidelines uses only 'About'. More human interface guidelines are listed at Wikipedia.
Peter Sikking advices in a blog posting about cross-platform development to use the platform specific specs.
|merged; please test on Windows|
|app-actions-file-actions.c.diff||Add "file-hide" ("<primary>H") and "file-hide-others" ("<primary><alt>H") actions. Are they common OSX actions?|
|app-actions-file-commands.c.diff||The code (OSX specific, apparently using Cocoa headers) for the new "file-hide" and "file-hide-others" actions.|
|app-actions-file-commands.h.diff||Headers for the new "file-hide" and "file-hide-others" actions|
|app-actions-Makefile.am.diff||Adding a "-xobjective-c" flag by default, thus specifying all files are Objective-C, even when not necessary. Do we want this for OSX?|
|app-actions-Makefile.in.diff||Makefile.in are generated. See the Makefile.am patch.||discarded|
|app-actions-plug-in-actions.c.diff||Change "Repeat Last" action's shortcut from "<primary>F" to "<Alt>F" and "Re-show Last" from "<primary><shift>F" to "<Alt><shift>F". Are they shortcuts which make more sense on an OSX platform maybe? No idea. In any case, if we decide to change the fullscreen default shortcut, we will indeed also want to change the repat shortcuts for OSX specifically.|
|app-actions-view-actions.c.diff||Changing Fullscreen actions from default F11 to "<primary>F" shortcut. According to Wikipedia, whereas F11 is the standard on every other platform, "⌘ Cmd+⇧ Shift+F" seems to be the standard on OSX. Is <primary> equivalent to Cmd+Shift when on OSX?|
|app-config-gimpcoreconfig.c.diff||Some code relative to the save-xcf-only config added on this fork.||discarded|
|app-config-gimpcoreconfig.h.diff||Some code relative to the save-xcf-only config added on this fork.||discarded|
|app-config-gimpdisplayconfig.c.diff||Changing DEFAULT_MARCHING_ANTS_SPEED from 200 to 600. Is the current default too slow?|
|app-config-gimpguiconfig.c.diff||Modifies default values of "dock-window-hint" and "toolbox-window-hint" properties from GIMP_WINDOW_HINT_UTILITY to GIMP_WINDOW_HINT_NORMAL.|
|app-config-gimprc-blurbs.h.diff||Blurb for the save/export changes: "Uncheck to allow all image formats to be saved via the 'File - Save' menu entry"||discarded|
|app-core-gimpimage.c.diff||Code relative to the save/export changes.||discarded|
|app-core-gimpimage.h.diff||Code relative to the save/export changes.||discarded|
|app-core-gimp-user-install.c.diff||Ah! This one looks interesting. It adds some migration code for the config in ~/Library/GIMP (apparently 2.8.2) to /Library/Application Support/GIMP (since 2.8.4). Code checked and does some bad things (like moving config folder of older versions!) so I basically rewrote it fully. Commit 7ef45be8902a4b7403d1d1736ca4f7c95b6449a8||merged|
|app-dialogs-preferences-dialog.c.diff||Commit 308efbb51401ef2a1032619c335e56150587f227||help browser change merged, rest discarded|
|app-file-file-open.c.diff||Disable some check which looks for a "icc-profile" parasite on our image. Something to look into why she did this?|
|app-file-file-save.c.diff||Some code related to the save/export changes.||discarded|
|app-gui-gui.c.diff||Looks like some kind of menu grouping change. I guess someone with OSX platform knowledge will know better what it is. Edit: appears it was already merged: commit e56344294c90e1ba97de5c134b50c4c522f0808f||merged|
|app-gui-gui-unique.c.diff|| Looks interesting, though I guess some OSX dev would need to look closer. Apparently some desktop integration. I copy-paste an in-code comment:
/* The application delegate handles some events * - terminate GIMP * - open files when GIMP is already running by dropping on the icon or Finder's 'Open with' * The event handler * - handles open events when GIMP is launched by dropping on the icon or Finder's 'Open with' * * Now Cocoa based. */
Edit: looks like it may have been handled in commit e56344294c90e1ba97de5c134b50c4c522f0808f? There is definitely some changes on app/gui/gui-unique.c with some similarities (but also many differences). Is it the same feature change?
|app-gui-Makefile.in.diff||Makefile.in are generated. See the Makefile.am patch.||discarded|
|app-Makefile.in.diff||Makefile.in are generated. See the Makefile.am patch.||discarded|
|app-menus-menus.c.diff|| 'Print' is now always set to CMD+P (under some circumstances this could be 'P' in the past).
To be examined in more detail. A quick comparison with Claytons 2.8.10 build showed no differences.
|app-widgets-gimphelp.c.diff|| Some change in the help browser apparently, and apparently better integration to OSX locales, or something. Copy-paste from code:
/* on OS X there's no need for config->help_locales. The user can handle this * via System Preferences. Even if she wants to use a different help locale than the * default language. Just add this alternative locale in System Preferences and * install the corresponding User manual. */
|app-widgets-Makefile.am.diff||Adding a "-xobjective-c" flag by default, thus specifying all files are Objective-C, even when not necessary. Do we want this for OSX?|
|app-widgets-Makefile.in.diff||Makefile.in are generated. See the Makefile.am patch.||discarded|
|configure.ac.diff||Commit e56344294c90e1ba97de5c134b50c4c522f0808f (note: the fork uses gtk-mac-integration version 2.0.0 and over, whereas we use 1.0.1 and over though. Moreover it seems it also uses a patched version of gtkosxapplication whereas we use obviously the upstream version).||merged|
|configure.diff||configure is generated. See the configure.ac patch.||discarded|
|etc-gimprc.diff||Add a config option to allow to save in any format.||discarded|
|gimpguiconfig.c.diff||older version of app-config-gimpguiconfig.c.diff.||discarded|
|lcms.c.diff||See plug-ins-common-lcms.c.diff (duplicate).||discarded|
|libgimpbase-gimpenv.c.diff|| Just does this change:
-#include <AppKit/AppKit.h> +#import <Foundation/Foundation.h> Not sure why is that.
|libgimp-gimpui.c.diff||Removes a signal handling on "show" for a window that is made transient. Not sure what this signal handling was supposed to do ([NSApp arrangeInFront: nil] -> pushing it to the top of window layers?).|
|libgimp-Makefile.in.diff||Makefile.in are generated. See the Makefile.am patch.||discarded|
|libgimpthumb-gimp-thumbnail-list.c.diff|| Add support for Freedesktop's Thumbnail standard to this file. We already added support to another file as of bug 646644. It seems we may have forgotten a part of the code. :-)
I opened bug 719830 for this, with a patch based on our existing core code..
|libgimpthumb-gimpthumb-utils.c.diff|| Just does this change:
-#include <AppKit/AppKit.h> +#import <Foundation/Foundation.h> Not sure why is that.
|libgimpwidgets-gimpdialog.c.diff||Position a dialog at display center as default. Commit 0b56aa0d133a9743dca74701a54f21cf9c609f7d then implementation changed with 9e5ed1e70acfef7a488982ae42ea08c32e18a52d.||merged|
|libgimpwidgets-Makefile.am.diff||Adding a "-xobjective-c" flag by default, thus specifying all files are Objective-C, even when not necessary. Do we want this for OSX?|
|libgimpwidgets-Makefile.am.diff-old.diff||Same as libgimpwidgets-Makefile.am.diff with fixed tabulation.||discarded|
|libgimpwidgets-Makefile.in.diff||Makefile.in are generated. See the Makefile.am patch.||discarded|
|Makefile.in.diff||This patch tries to disable gtk-doc on a `distcheck` target.||discarded|
|modules-display-filter-lcms.c.diff||Looks interesting. If nothing else because it seems this piece of code has been forgotten and is still using Carbon on our master (at least there is a remaining Carbon.h include)!|
|modules-Makefile.in.diff||Makefile.in are generated. See the Makefile.am patch.||discarded|
|plug-ins-common-file-ps.c.diff||Communicate with Ghostscript asynchronously.|
|plug-ins-common-file-tiff-load.c.diff||See comment on plug-ins-file-jpeg-jpeg.c.diff.||discarded|
|plug-ins-common-file-tiff-save.c.diff||See comment on plug-ins-file-jpeg-jpeg.c.diff.||discarded|
|plug-ins-common-lcms.c.diff||The lcms plug-in is gone in master.||discarded|
|plug-ins-common-web-browser.c.diff||Commit 308efbb51401ef2a1032619c335e56150587f227 - Should be merged upstream.||merged|
|plug-ins-file-jpeg-jpeg.c.diff||Try to load and save back metadata (saved in a temporary empty jpeg image) by running the external command exiftool through system()! I don't think we want this, first because we have a new metadata system in master, second because that's a terrible design for just so many reasons!||discarded|
|plugins-filejpeg-jpeg.c.diff||Exactly same as plug-ins-file-jpeg-jpeg.c.diff||discarded|
|plug-ins-help-gimphelplocale.c.diff||Use OS X specific implementation.|
|plug-ins-help-Makefile.in.diff||Makefile.in are generated. See the Makefile.am patch.||discarded|
|plug-ins-script-fu-Makefile.in.diff||Makefile.in are generated. See the Makefile.am patch.||discarded|
|plug-ins-script-fu-script-fu-interface.c.diff|| Some changes about script-fu dialog hiding/showing, or something? Better a OSX dev check this. Only 3 small changes, fast to check.
Note: apparently it modifies further commit 83de53ee4de56c41694b7196345586e8f6578d23 by Mitch (which was already coming from a patch from Simone originally!).
|po-de.po.diff||Answer: Yes, 'Über GIMP' is the proper translation. for Windows and OS X, for GNOME it is 'Info'.||merged w/o the 'Force to save in XCF format' translation|
|save-export-conf-patch.diff||Code for the save/export changes.||discarded|
|save-export-patch.diff|| I don't think anyone has actually checked the save/export patches, but there are some written specs. If this is up to date with the patch, basically it allows to "save" images into non-XCF format if and only if the image has just
one layers. The current opinion is that this feels like "unpredictable magic". It would likely feel like really inconsistent to a user (some times you can "save" to non-XCF, sometimes no).
|tools-gimptool.c.diff||Deprecated. Changes something we already changed (GIMP directory) both in master and gimp-2-8 in OSX case.||discarded|