Go to file
Michael Natterer ecb0b58439 Changed the semantics of GIMP_EXTENSION and (to some extent) of
2003-06-19  Michael Natterer  <mitch@gimp.org>

	Changed the semantics of GIMP_EXTENSION and (to some extent)
	of GIMP_PLUGIN:

	The old meaning of EXTENSION was "I live in the toolbox" and
	PLUGIN meant "I take RUN-MODE,IMAGE,DRAWABLE args (but only if I
	am invoked interactively)". This is completely useless, since
	living in the toolbox means having "<Toolbox>" in the menu_path
	and taking RUN-MODE,IMAGE,DRAWABLE means just that, regardless of
	what type of procedure we are.

	The new meaning of GIMP_PLUGIN is just "I am an ordinary procedure,
	I am invoked, do my job and finish", while GIMP_EXTENSION means
	"I will install temporary procedures and I will keep running to
	keep them available".

	(A GIMP_EXTENSION *must* call gimp_extension_ack() now to tell the
	core that it's ready to run, or the core will block waiting for
	the message !!!).

	* configure.in: bumped version number to 1.3.16.

	* libgimpbase/gimpprotocol.h: increased protocol version number so
	old extensions will refuse to load.

	* app/gui/plug-in-commands.c (plug_in_run_cmd_callback): don't
	blindly pass RUN-MODE,IMAGE,DRAWABLE to GIMP_PLUGIN procedures but
	look at their parameters and pass them either RUN-MODE, or
	RUN-MODE,IMAGE, or RUN-MODE,IMAGE,DRAWABLE.

	* app/pdb/procedural_db.c: cleaned up, better error reporting,
	replaced an impossible error message by g_return_if_fail()

	* app/plug-in/plug-in-message.c (plug_in_handle_proc_install):
	better error messages.

	* app/plug-in/plug-in-params.c: allocate parameter arrays using
	g_new0() so we don't have to worry about uninitialized stuff
	later.

	* app/plug-in/plug-in-run.c (plug_in_run): wait for
	gimp_extension_ack() installation confirmation for ALL extensions,
	not just for automatically started ones.

	* app/plug-in/plug-ins.c: cleanup.

	* libgimp/gimp.[ch]: cleaned up and API-documented massively. Made
	all magic values given in the GPConfig message static and added
	accessor functions for them. Added gimp_tile_width()/height().
	Added new function gimp_extension_enable() which turns on
	asynchronous processing of temp_proc run requests without having
	to enter an endless gimp_extension_process() loop. Moved all
	private functions to the end of the file. Added tons of
	g_return_if_fail() all over the place.  Call gimp_run_procedure2()
	from gimp_run_procedure() instead of duplicating the
	code. Indentation, spacing, stuff...

	* libgimp/gimptile.[ch]: removed gimp_tile_width()/height().

	* libgimp/gimpdrawable.c
	* libgimp/gimppixelrgn.c
	* libgimp/gimptile.c: use the gimp_tile_width()/height() accessor
	functions.

	* libgimp/gimp.def: added gimp_extension_enable.

	* libgimp/gimpmenu.c: removed evil code which connected to
	_readchannel manually and use gimp_extension_enable() for watching
	temp_procs.

	* plug-ins/helpbrowser/helpbrowser.c: removed the same evil code
	here and call gimp_extension_enable(). Call gimp_extension_ack()
	to let the core know that the temp_proc is installed.

	* plug-ins/script-fu/script-fu.c: made all procedures except the
	permanently running "extension_script_fu" ordinary GIMP_PLUGIN
	procedures.

	* plug-ins/common/curve_bend.c
	* plug-ins/common/plugindetails.c
	* plug-ins/common/screenshot.c
	* plug-ins/common/uniteditor.c
	* plug-ins/common/winclipboard.c
	* plug-ins/dbbrowser/dbbrowser.c
	* plug-ins/gfli/gfli.c
	* plug-ins/twain/twain.c
	* plug-ins/webbrowser/webbrowser.c
	* plug-ins/winsnap/winsnap.c: made them all ordinary GIMP_PLUGIN
	procedures and renamed them from "extension_*" to "plug_in_*".
	Random cleanups.

	* app/widgets/gimphelp.c
	* plug-ins/maze/maze_face.c: call "plug_in_web_browser" now.
2003-06-19 17:12:00 +00:00
app Changed the semantics of GIMP_EXTENSION and (to some extent) of 2003-06-19 17:12:00 +00:00
cursors
data forgot some hardcoded "1.3" here. 2003-05-25 11:38:59 +00:00
debian
devel-docs update the BrushSelect "object" when the brush opacity is changed. 2003-06-17 09:43:14 +00:00
docs Always provide interlibrary dependencies, not just on Win32. 2003-05-23 17:28:07 +00:00
etc etc/Makefile.am added a sample sessiorc which will be used after user 2003-06-11 10:58:57 +00:00
libgimp Changed the semantics of GIMP_EXTENSION and (to some extent) of 2003-06-19 17:12:00 +00:00
libgimpbase updated win32 (msvc) build 2003-05-24 17:00:03 +00:00
libgimpcolor Applied a patch from S. Mukund <muks@mukund.org> fixing rounding problems 2003-06-16 17:30:06 +00:00
libgimpconfig
libgimpmath Always provide interlibrary dependencies, not just on Win32. 2003-05-23 17:28:07 +00:00
libgimpmodule Always provide interlibrary dependencies, not just on Win32. 2003-05-23 17:28:07 +00:00
libgimpwidgets app/gui/info-window.c libgimpcolor/gimpcolorspace.c libgimpcolor/gimprgb.c 2003-06-13 16:44:21 +00:00
m4macros
modules Always provide interlibrary dependencies, not just on Win32. 2003-05-23 17:28:07 +00:00
plug-ins Changed the semantics of GIMP_EXTENSION and (to some extent) of 2003-06-19 17:12:00 +00:00
po Updated French translation. 2003-06-18 23:26:58 +00:00
po-libgimp Updated Swedish translation. 2003-06-18 19:22:21 +00:00
po-plug-ins Updated French translation. 2003-06-18 23:26:58 +00:00
po-script-fu ru.po: Updated Russian translation from Russian team <gnome-cyr@gnome.org>. 2003-06-16 05:04:23 +00:00
regexrepl
RPM
themes replace the win9x specific cd .... with the portable cd ..\..\.. 2003-06-19 09:57:35 +00:00
tips Removed, it contains only one completely broken string. 2003-06-08 09:46:55 +00:00
tools update the BrushSelect "object" when the brush opacity is changed. 2003-06-17 09:43:14 +00:00
.cvsignore
acinclude.m4
AUTHORS remove glibconfig.h inline check, it hasn't worked for a long time. 2003-05-19 07:04:46 +00:00
autogen.sh
ChangeLog Changed the semantics of GIMP_EXTENSION and (to some extent) of 2003-06-19 17:12:00 +00:00
ChangeLog.pre-1-0
ChangeLog.pre-1-2
config.h.in
config.h.win32
configure.in configure.in use automake conditionals for subdirectories so that they 2003-06-09 15:29:20 +00:00
COPYING
gimp-1.3.pc.in
gimp-2.0.pc.in
gimp.pc.in
gimp.spec.in
gimptool-1.3.in
gimptool-2.0.in
gimpui-1.3.pc.in
gimpui-2.0.pc.in
gimpui.pc.in
HACKING
INSTALL
MAINTAINERS
Makefile.am Always provide interlibrary dependencies, not just on Win32. 2003-05-23 17:28:07 +00:00
makefile.msc updated win32 (msvc) build 2003-05-24 17:00:03 +00:00
NEWS Made 1.3.15 release. 2003-06-09 23:28:50 +00:00
PLUGIN_MAINTAINERS
README updated info about mailing lists. 2003-05-28 11:28:39 +00:00
README.i18n
README.win32 Mention no prebuilt binaries of GIMP 1.3... 2003-05-31 21:51:21 +00:00
TODO.xml

The GIMP: The GNU Image Manipulation Program
============================================

This is version 1.3, the developers version of The GIMP. Only use it
if you are brave and curious and want to participate development
towards the next stable release version 1.4. This is a developers
version. We know it has bugs and it might not even compile. You have
been warned!

Some features that were present in GIMP 1.2 are disabled or not even
included in this release. The perl bindings as well as all the perl
scripts are not any longer included in this source tree. They have
been moved into its own module called gimp-perl and await being
porting to GIMP-1.3 and GTK+-2.0.

The new text tool is only halfway done and various other tools and
functions are broken. Almost everything is under construction. Don't
even think about using this for daily work. If you are a software
distributor, dont' dare to ship this package to innocent users.

For installation instructions, see the file INSTALL.


1. Web Resources
================

The GIMP's home page is at:

	http://www.gimp.org/

Please be sure to visit this site for information, documentation,
tutorials, news, etc.  All things GIMP-ish are available from there.

The automated plug-in registry is located at:

	http://registry.gimp.org/

There you can get the latest versions of plug-ins using a convenient
forms-based interface.

The latest version of The GIMP can be found at:

	http://www.gimp.org/download/


2. Mailing Lists
================

We have several mailing lists dedicated to GIMP user and development
discussion.  There is more info at

	https://lists.xcf.berkeley.edu/mailman/listinfo/<listname>

substituting <listname> for "gimp-announce", "gimp-user", "gimp-win-users"
or "gimp-developer" (without the quotes, of course) depending on the list
you want to subscribe to.  Links to the mailing list archives can be
found at the same addresses as given above.

Gimp-announce is a low-traffic list with announcements about new
releases of GIMP and plug-ins. Gimp-user is a mailing list dedicated
to user problems, hints and tips, discussion of cool effects, etc.
Gimp-developer is oriented to GIMP core and plug-in developers.  Most
people will only want to be subscribed to gimp-user. If you want to
help develop The GIMP, the gimp-developer mailing list is a good
starting point.

There is also a mailing list dedicated to users of the Win32 port
"gimpwin-users".  To subscribe, send an empty message to

	gimpwin-users-subscribe@egroups.com

You can also use the web interface at
http://www.egroups.com/group/gimpwin-users/. Note that as this mailing
list is hosted on egroups.com; the messages from the list contain
relatively unintrusive and easily ignored advertisements at the
end. But if you are absolutely allergic to ads, don't subscribe.


3. IRC
======

And finally, for the real junkies, there is an IRC channel devoted to
the GIMP. On Byxnet (a private mostly-GIMP network) there is #gimp.
Many of the developers hang out there.  One of the Byxnet servers are:

	irc.gimp.org:6667


4. Customizing
==============

The look of GIMP's interface can be customized like any other GTK app
by editing the ~/.gtkrc file or by using "themes" (ready-made
customizations).  For downloadable themes and further details, see
http://gtk.themes.org.  Additionally GIMP reads ~/.gimp-1.3/gtkrc so
you can have settings that only apply to The GIMP.

Included is a set of keybindings similar to those in Adobe Photoshop.
You can find them in the ps-menurc file.  To use them, copy this file
to ~/.gimp-1.3/menurc. You can also manually change the keybindings to
any of your choice by editing ~/.gimp-1.3/menurc.


5. Bugs
=======

Since this is a developers version, we are at the moment not really
interested in receiving too many bug-reports. Some parts of the code
are unfinished and under heavy development and we know that.
Bug-reports for incomplete or missing are features are therefore often
not helpful. Instead of filing a bug you should try to contact the
person who is working on this particular part of the program (see the
ChangeLog) or try to fix it yourself. You should report crashes and
other severe bugs at Bugzilla (http://bugzilla.gnome.org/). Your
bug-report needs to provide detailed instruction of how to reproduce
the problem. For reports on crashes, please also include a stack
trace.

If you experience crashes whenever you try to start gimp-1.3, you are
most probably using gdkxft or another LD_PRELOAD hack designed for
gtk+-1.2. These hacks will not work with GTK+-2.0 applications like
this version of The GIMP.


Have fun,

  Spencer Kimball
  Peter Mattis
  Federico Mena
  Manish Singh
  Sven Neumann
  Michael Natterer