gimpdir goes to ~/Library/Gimp/x.y
thumbnails go to ~/Library/Caches/org.freedesktop.thumbnails
The thumbnail location is not standardized yet, but is the only
location that makes sense. Also fix user install to search old
gimpdirs to migrate in both Library and the classic location.
Remove the obsolete CABON_CFLAGS from all makefiles.
In order to be able to change GIMP2_DIRECTORY during run-time, check
for changes to GIMP2_DIRECTORY in gimp_directory().
This is typically useful in test case where you could read from one
GIMP2_DIRECTORY at start-up and then write to a different
GIMP2_DIRECTORY at shut down.
The documentation for this function does not suggest that the value is
cached and thus the old behavior can be considered a bug. It is hard
to imagine why anyone would change GIMP2_DIRECTORY at run-time in a
script for example and *not* expect gimp_directory() to return the
updated gimp_dir.
2009-01-17 Michael Natterer <mitch@gimp.org>
* all files with a GPL header and all COPYING files:
Change licence to GPLv3 (and to LGPLv3 for libgimp).
Cleaned up some copyright headers and regenerated the parsers in
the ImageMap plugin.
svn path=/trunk/; revision=27913
2007-12-12 Tor Lillqvist <tml@novell.com>
* libgimpbase/gimpenv.c (gimp_locale_directory) [Win32]: Use
g_win32_locale_filename_from_utf8() instead of duplicating its
code.
svn path=/trunk/; revision=24345
2007-12-12 Tor Lillqvist <tml@novell.com>
* libgimpbase/gimpenv.c (gimp_toplevel_directory) [Win32]: Use the
location of the libgimpbase DLL and not that of the main
executable (which will be the Python interpreter in the case of
python-fu) to determine the top-level GIMP installation
folder. (#502506)
(gimp_locale_directory) [Win32]: Guard against the possibility
that we can't get the system codepage form of the locale
directory, in case the installation folder contains characters not
in the system codepage. In that case use the short name instead.
svn path=/trunk/; revision=24333
2007-10-27 Tor Lillqvist <tml@novell.com>
* libgimpbase/gimpenv.c (gimp_toplevel_directory): Drop the Win9x
code path here, too.
* libgimpbase/gimpenv.c (gimp_locale_directory): On Windows return
the pathname in system codepage and not UTF-8.
svn path=/trunk/; revision=23962
2007-08-28 Tor Lillqvist <tml@novell.com>
* libgimpbase/gimpenv.c: Update doc comments about filename
encoding on Windows. It is now always UTF-8, like in
GLib. (#471033) Change "Win32" to "Windows" in doc comments.
svn path=/trunk/; revision=23387
2007-08-11 Michael Natterer <mitch@gimp.org>
* libgimpbase/gimpbaseenums.[ch]
* libgimpbase/gimpenv.[ch]: changed enum GimpUserDirectory and API
of gimp_user_directory() so that g_get_user_special_dir() can be
used instead as soon as we depend on GLib 2.14.
* tools/pdbgen/enums.pl: regenerated.
* app/widgets/gimpfiledialog.c
* plug-ins/pygimp/gimpmodule.c: changed accordingly.
svn path=/trunk/; revision=23212
2007-05-14 Tor Lillqvist <tml@novell.com>
* libgimpbase/gimpenv.c: Undef DATADIR before including <shlobj.h>
to avoid collision with DATADIR enum in objidl.h. Define
CSIDL_MYDOCUMENTS, CSIDL_MYMUSIC and CSIDL_MYVIDEO in case missing
from shlobj.h.
* libgimpbase/Makefile.am: Link with -lole32 on Win32 for
CoTaskMemFree().
svn path=/trunk/; revision=22483
2007-05-13 Sven Neumann <sven@gimp.org>
* app/file/Makefile.am
* app/file/xdg-user-dir.c[ch]: removed here ...
* libgimpbase/Makefile.am
* libgimpbase/xdg-user-dir.[ch]: ... and moved to libgimpbase.
* libgimpbase/gimpbaseenums.[ch]: added GimpUserDirectory enum.
* libgimpbase/gimpenv.[ch]: added new function to identify
special
user folders. Added Win32 specific code and use
xdg_user_dir_lookup()
on other platforms.
* libgimpbase/gimpbase.def: regenerated.
svn path=/trunk/; revision=22475
2006-11-28 Michael Natterer <mitch@gimp.org>
* libgimp/gimp.[ch]: removed gimp_foo_version variables.
* libgimpbase/gimpenv.[ch]: added them here.
* app/sanity.c: added sanity_check_gimp() and abort if the libgimp
version gimp is compiled with is not exactly the same we encounter
at runtime.
2005-11-06 Sven Neumann <sven@gimp.org>
Added support for binary relocation by means of binreloc, largely
based on a patch by Hongli Lai:
* m4macros/Makefile.am
* m4macros/binreloc.m4: new file providing a macro to check for
binreloc support.
* acinclude.m4
* configure.in: use the macro.
* libgimpbase/Makefile.am
* libgimpbase/gimpreloc.[ch]: new files providing binreloc support
on Linux.
* libgimpbase/gimpenv.[ch]: use binreloc, provide a function to
initialize the environment machinery.
* libgimpbase/gimpbase.def: updated.
* app/Makefile.am: fiddle with the LDFLAGS for binreloc.
* app/main.c (main): gimp_env_init(FALSE).
* libgimp/gimp.c (gimp_main): gimp_env_init(TRUE).
2005-08-24 Tor Lillqvist <tml@novell.com>
Make GIMP work on Win32 even if installed in a path containing
random non-ASCII characters.
* libgimpbase/gimpenv.c (gimp_toplevel_directory): [Win32] Use
wide-char API on NT-based Windowses. Keep the toplevel directory
name in UTF-8. The rest of GIMP assumes it is UTF-8 anyway, and
for instance passes file names constructed from it to g_open().
* app/plug-in/plug-in.c (plug_in_open): On Win32, if compiled
against GLib < 2.8.2, convert the pathname arguments passed to
g_spawn_async() to locale charset (system codepage). The
g_spawn*() functions in GLib < 2.8.2 take system codepage
arguments and not UTF-8.
2004-12-14 Sven Neumann <sven@gimp.org>
* configure.in: added GIMP_API_VERSION to the generated gimpversion.h.
* libgimpbase/gimpenv.c (gimp_toplevel_directory): use
GIMP_API_VERSION instead of GIMP_MACRO_VERSION.GIMP_MINOR_VERSION
when building a path to test the plug-in executable path against.
2004-01-14 Tor Lillqvist <tml@iki.fi>
* app/file/file-utils.[ch]: Add new function
file_utils_filename_to_utf8(), which is to be used when converting
file names (which are kept in the on-disk encoding) to UTF-8 for
passing to GTK, or to g_print() etc.
* app/*/*.c: Call file_utils_filename_to_utf8(). Should fix most
of the warnings generated by non-UTF8 pathnames. See #130118.
* libgimpbase/gimpenv.b: Document that gimp_directory() etc return
strings in the on-disk encoding.
* libgimpmodule/gimpmodule.c: Convert filenames to UTF-8 (using
g_filename_to_utf8()) before passing to g_print().
2003-10-20 Tor Lillqvist <tml@iki.fi>
* libgimpbase/gimpenv.c (gimp_directory): Fix bug that was
introduced when the call to g_strconcat() was replaced with a call
to g_build_filename(). The per-user directory in
gimp_data_directory() (which mainly is used on Windows when no
home directory can be found) is supposed to be
".gimp-1.3.<username>", not ".gimp-1.3./<username>".
2002-05-30 Sven Neumann <sven@gimp.org>
* configure.in: added -lX11 to LIBXMU since GTK_LIBS doesn't provide
it for us anymore (reported by Tomas Ogren).
* libgimpbase/gimpenv.[ch]: declare gimp_path_runtime_fix() static.
* app/base/Makefile.am: conditionally build detect-mmx.S to avoid
warnings about empty object files (reported by Tomas Ogren).
* plug-ins/Makefile.am: commented out plugin-helper since it's just
too broken to be distributed.
* themes/Default/images/Makefile.am: echo -n is not portable and not
needed, so removed it (reported by Tomas Ogren).
2001-05-11 Hans Breuer <hans@breuer.org>
* app/makefile.msc : add appconfig.lib. Statically
link libgimptool/gimptool.lib.
* app/main.c : use gimp_locale_directory()
* app/config/gimpconfig-utils.c : <string.h>
* app/config/makefile.msc : add gimpscanner
* app/core/gimpimagefile.c : some G_OS_WIN32 mess to get
mkdir() and chmod()
* app/display/gimpdisplayshell.c
app/plug-in/plug-in-progrss.c
app/tool/gimpcolorpickertool.c
app/tool/gimpcroptool.c
app/tool/gimpmeasuretool.c
app/tool/gimpperspectivetool.c
app/tool/gimprotatetool.c
app/tool/gimpscaletool.c
app/tool/gimpsheartool.c
app/tool/gimptransformtool.c
app/widgets/gimpcolormapeditor.c
app/widgets/gimpcolorpanel.c
app/widgets/gimptoolbox-color-area.c
add #ifdef __GNUC__ to avoid breaking on non standard
pragma #warning
* app/tools/makefile.msc : add gimptoolcontrol remove
tools-enum
* app/tools/tool_manager.c : need to include
libgimptool/gimptoolcontrol.h after core includes
otherwise we would compile without prototypes or
break miserably
* app/gui/plug-in-menus.c : replace LOCALEDIR with
gimp_locale_directory ()
* app/gui/preferences-dialog.c (prefs_notebook_append_page) :
only try to gdk_pixbuf_new_from_file() with a valid filename.
It should simply return NULL otherwise, but fails if the
filename is an empty string.
* app/paint-funcs/makefile.msc : add -FImsvc_recommended_pragmas.h
* app/widgets/gimpcolormapeditor.c : the 'row'
allocated needs to be 'xn * cellsize * 2' (to avoid
accessing unowned memory) not only width, which has
become allocation.width by someone commenting out
the correct size calculation
* app/widgets/gimpdialogfactory.c : varargs to macros
are GCCism or at least non standard. #define DEBUG
to g_print or nothing - without arguments - does fix
it somewhat dirty as the compiler needs to tolerate
the '(blah, foo, bar);' statement than
* app/widgets/makefile.msc : updated
* app/xcf/makefile.msc : add -FImsvc_recommended_pragmas.h
* etc/gimprc.win32 : use ';' to separate theme-path
* libgimpbase/gimpenv.c : #include <stdio.h>
for sprintf()
* app/widgets/gimpdnd.c (gimp_dnd_set_file_data) :
the passed in vals chunk is not always null-terminated
(at least not on win32). Use the length parameter too
to avoid reading junk filenames.
* libgimp/gimp.def : export gimp_image_get_name()
* libgimpbase/gimpbase.def : export gimp_locale_directory()
* libgimpbase/gimpenv.[ch] : added gimp_locale_directory ()
* libgimpbase/makefile.msc : define DATADIR and SYSCONFDIR
to empty string to let gimp find its files in the common
place (win32: relative to the top level gimp dir)
* plug-ins/common/pixelize.c : <string.h>
* plug-ins/flame/cmap.c : #include <glib.h> for g_random_int()
* plug-ins/makefile.msc : -FImsvc_recommended_pragams.h
and a little hack to give imagemap the prototypes it
desires without changing the lexed source
* themes/Default/images/makefile.msc : now added (see below)
* themes/Default/images/stock-button-reset.png : made it binary
2002-03-30 Tor Lillqvist <tml@iki.fi>
* libgimpbase/Makefile.am: Additions for Win32: Use
-no-undefined. Use the gimpbase.def file. Produce MS style import
library if possible. Install (and uninstall) import
libraries. Pass definition of PREFIX in CPPFLAGS.
* libgimpbase/gimpbase.def: Do export gimp_signal_private.
* libgimpbase/gimpenv.c: Similar Win32 working as in the gimp-1-2
branch:
(gimp_directory): Replace funny chars in user name (when used as
part of last-resort personal gimp directory name) with
underscores.
(gimp_toplevel_directory): New (Win32-only) function. Deduces the
installation prefix at run-time.
(gimp_path_runtime_fix): New function. On Win32, replace the
string with one where the compile-time prefix has been replaced
with the run-time one.
(gimp_path_parse, gimp_env_get_dir): Call it.
* libgimpbase/gimpsignal.c: Trim (lots of) trailing spaces in
copyright notice.
(gimp_signal_private): Bypass on Win32, return NULL. Or should we
call g_error(), thus requiring that calls of this are enclosed with
#ifdef G_OS_UNIX?
* libgimpbase/makefile.mingw.in: Add comment that it is seriously
out-of-date.
* libgimpbase/makefile.msc: Do compile gimpsignal.c.
2001-12-10 Sven Neumann <sven@gimp.org>
* libgimpbase/Makefile.am
* libgimpbase/gimpenv.[ch]: added new function gimp_plug_in_directory()
to retrieve the compile_time defined plug_in directory. Declared some
functions G_GNUC_CONST and simplified code by introducing a helper
function.
* app/config/Makefile.am
* app/config/gimpcoreconfig.[ch]: started to implement GimpCoreConfig
derived from GimpBaseConfig.
* app/config/gimpbaseconfig.[ch]: misc small changes.
* app/config/gimpconfig-deserialize.c
(gimp_config_deserialize_properties): return quietly if there are no
properties.
* app/config/gimpconfig-substitute.c: more special cases.
* app/config/test-config.c: test GimpCoreConfig.
2001-11-29 Sven Neumann <sven@gimp.org>
* libgimpbase/gimpenv.c
* plug-ins/helpbrowser/helpbrowser.c
* plug-ins/imagemap/imap_preferences.c: use g_build_filename().
* plug-ins/script-fu/script-fu-scripts.c: use new GDir functions,
g_build_filename() and g_file_test() to make code more portable.
Don't use deprecated gdk_font functions. We don't use X fonts any
longer.
2001-10-24 Michael Natterer <mitch@gimp.org>
* app/file-open.c
* app/file-utils.c
* app/gimprc.c
* app/plug_in.c
* app/user_install.c
* app/base/base.c
* app/base/temp-buf.c
* app/core/gimpdata.c
* app/core/gimpdatafiles.c
* app/core/gimpimagefile.c
* app/gui/about-dialog.c
* app/gui/file-open-dialog.c
* app/gui/file-save-dialog.c
* app/gui/gui.c
* app/gui/menus.c
* app/gui/splash.c
* app/gui/tips-dialog.c
* app/tools/gimpcurvestool.c
* app/tools/gimplevelstool.c
* libgimpbase/gimpenv.c
* plug-ins/FractalExplorer/FractalExplorer.c
* plug-ins/gfig/gfig.c
* plug-ins/gflare/gflare.c
* tools/pdbgen/pdb/fileops.pdb: use g_build_filename() all over
the place instead of g_strconcat() and friends together with
G_DIR_SEPARATOR_S. Also removed all attempts to manually detect
double dir separators. LibGimpBase's searchpath utility functions
don't append a G_DIR_SEPARATOR_S to all paths any more.
* app/pdb/fileops_cmds.c: regenerated.
2001-08-06 Michael Natterer <mitch@gimp.org>
* configure.in
* themes/Default/images/Makefile.am
* themes/Default/images/tools/Makefile.am: some new Makefiles to
make it installable.
* Makefile.am
* gtkrc: removed...
* themes/Default/Makefile.am
* themes/Default/gtkrc: ...added here.
* themes/Default/imagerc: new file (not used, just for
documentation) which loads the default theme's images in the same
way the inlined pixbufs are registered with the stock system.
* gimprc.in
* gimprc.win32
* user_install
* user_install.bat
* app/gimprc.[ch]: added "theme-path" and "theme" gimprc variables.
* app/app_procs.c: prase gimprc before initializing the GUI.
* app/core/gimpdatafiles.[ch]: added support for getting only
subdirectories in the callback.
* libgimpbase/gimpenv.c: as a temp_hack gimp_gtkrc(); returns the
default theme's gtkrc.
* app/gui/gui.c: build a hash of theme directories and select
the one configured in gimprc.theme. Use gimp_gtkrc()'s default
value if there is no theme installed or configured.
* app/gui/preferences-dialog.c: Added theme_path to the GUI. No
stuff for selection the theme yet.
* app/gui/menus.c: beautify <Image>/Tools/
* app/tools/gimpcroptool.c: register in <Image>/Tools/Transform Tools/
2001-07-24 Michael Natterer <mitch@gimp.org>
Port to glib/gtk+ 2.0 episode I (every segfault has it's beginning)
* configure.in: require glib/gtk+ >= 1.3.7, commented out the
gtkxmhtml stuff.
From now on, you will need glib, pango, atk and gtk+ HEAD from CVS
to hack or use GIMP HEAD.
Beware, it crashes randomly :)
* app/core/Makefile.am
* app/core/gimpmarshal.list: new file plus rules to generate
gimpmarshal.[ch] from it.
* app/core/*
* app/tools/*
* app/widgets/*
* libgimpwidgets/*: started to use the glib object system. All
core/ objects are still gtk objects however. All signals are
created using g_signal_new(). There are many gtk+ artefacts left.
Finally, we will _not_ use the gtk_signal_foo() wrappers and
friends any more.
* app/colormaps.c
* app/devices.[ch]
* app/disp_callbacks.c
* app/errorconsole.c
* app/file-save.[ch]
* app/interface.c
* app/module_db.c
* app/nav_window.c
* app/ops_buttons.c
* app/scroll.c
* app/user_install.c
* app/gui/about-dialog.c
* app/gui/brush-editor.c
* app/gui/brushes-commands.c
* app/gui/color-notebook.c
* app/gui/colormap-dialog.c
* app/gui/dialogs-commands.c
* app/gui/dialogs-constructors.c
* app/gui/file-commands.c
* app/gui/file-dialog-utils.c
* app/gui/file-new-dialog.c
* app/gui/file-open-dialog.[ch]
* app/gui/file-save-dialog.c
* app/gui/gradient-editor.c
* app/gui/gradients-commands.c
* app/gui/image-commands.c
* app/gui/info-dialog.[ch]
* app/gui/layer-select.c
* app/gui/layers-commands.c
* app/gui/menus.c
* app/gui/offset-dialog.c
* app/gui/palette-editor.c
* app/gui/palettes-commands.c
* app/gui/patterns-commands.c
* app/gui/preferences-dialog.c
* app/gui/resize-dialog.[ch]
* app/gui/splash.c
* app/gui/tips-dialog.c
* app/gui/tool-options-dialog.c
* app/gui/toolbox.c
* app/gui/tools-commands.c
* libgimp/gimpbrushmenu.c
* libgimp/gimpmenu.c
* libgimp/gimppatternmenu.c
* libgimp/gimpui.c
* libgimpbase/gimpenv.c: tons and tons of changes like "const
gchar*", switch from GdkDeviceInfo to GdkDevice (very incomplete
and currently disables), lots of s/gtk_signal/g_signal/,
removal/replacement of deprecated stuff,
s/GtkSignalFunc/GCallback/ and lots of small changes and fixes
while I was on it, zillions of warnings left...
* modules/Makefile.am: disabled the water color selector
temporarily (XInput issues).
* plug-ins/Makefile.am
* plug-ins/common/.cvsignore
* plug-ins/common/Makefile.am
* plug-ins/common/plugin-defs.pl: simply excluded all plug-ins
which did not build (including Script-Fu). They are trivial to
fix.