<?xml version="1.0" ?>

<kc>

<title>Gimp Traffic</title>

<author contact="mailto:alexh@dowco.com">Alex Harford</author>

<issue num="19" date="31 Mar 2000 00:00:00 -0800" />

<intro>

<p>Gimp 1.1.19 is out.  You can get it from <a
href="ftp://ftp.gimp.org/pub/gimp/unstable/v1.1.19/">ftp://ftp.gimp.org/pub/gimp/unstable/v1.1.19/</a></p>

</intro>

<stats posts="60" size="184" contrib="29" multiples="12" lastweek="4">

<person posts="8" size="24" who="Simon Budig &lt;Simon.Budig@unix-ag.uni-siegen.de&gt;" />
<person posts="7" size="25" who="Marc Lehmann &lt;pcg@goof.com&gt;" />
<person posts="5" size="18" who="Sven Neumann &lt;neumanns@uni-duesseldorf.de&gt;" />
<person posts="4" size="14" who="Garry R. Osgood &lt;gosgood@idt.net&gt;" />
<person posts="3" size="8" who="Seth Burgess &lt;sjburges@gimp.org&gt;" />
<person posts="3" size="8" who="Michael Natterer &lt;mitschel@cs.tu-berlin.de&gt;" />
</stats>

<section
  title="Gimp and Perl version problems"
  subject="Compilation dies at perl/Gimp/Lib.c"
  archive="http://www.mail-archive.com/gimp-developer%40scam.xcf.berkeley.edu/msg02000.html"
  posts="2"
  startdate="22 Mar 2000 00:00:00 -0800"
  enddate="26 Mar 2000 00:00:00 -0800"
>

<mention></mention>

<p>Kresimir Kumericki was having some problems getting Gimp to work with Perl.
He writes <quote who="Kresimir Kumericki">The problem is that compilation of
Gimp 1.1.18 dies on me at the 'make' stage (while compiling perl/Gimp/Lib.c)
with the error pasted below. Machine is PC with Linux 2.0.36 (RedHat5.2),
Perl 5.004_04, PDL 2.003, gtk-1.2 and Gtk-Perl-0.6123. If I configure with
--disable-perl, gimp compiles all right. I would be grateful for any
help.</quote></p>

<p>Marc Lehmann replied that it would be best to upgrade perl or downgrade PDL
to 2.000, since there are compatibility problems. He continued by saying
<quote who="Marc Lehmann">Given that 5.004 is now two versions behind, with
perl5.6 now being current, I suggest upgrading perl to _something_ newer.
Especially since PDL suffers from subtle errors in this version as well
:(</quote></p>

<p>End of thread.</p>

</section>

<section
  title="Improving Installation Dialog"
  subject="Gimp User Installation Dialog."
  archive="http://www.mail-archive.com/gimp-developer%40scam.xcf.berkeley.edu/msg02014.html"
  posts="20"
  startdate="25 Mar 2000 00:00:00 -0800"
  enddate="30 Mar 2000 00:00:00 -0800"
>

<mention>SHIRASAKI Yasuhiro</mention>
<mention></mention>

<p>Simon Budig had some comments on the new installation dialogs:</p>

<quote who="Simon Budig">

<p>

<ul>

<li>There seems to be a problem with the big titles. As you can see at <a
href="http://www.home.unix-ag.org/simon/gimp/GimpUserInstallation.png">http://www.home.unix-ag.org/simon/gimp/GimpUserInstallation.png</a>
the title of an page gets cut off (Gimp CVS from Sat Mar 25 02:01:18 CET
2000 ).</li>

<li>The dialog is quite huge, it does not fit on a 640x480 screen
completely. Do we need to fix this?</li>

<li>Personally I dont like the orange color. I prefer blue, but this is
personal preference. I tried an alternative layout (with Gimp - not C :-)
(moving Wilber to the right, blue color) and created another Wilber-Icon
with a helmet on to indicate that there is real Work going on :-) You can
see a pseudo-screenshot at <a
href="http://www.home.unix-ag.org/simon/gimp/GimpUserInstallation2.png">http://www.home.unix-ag.org/simon/gimp/GimpUserInstallation2.png</a><br
/> The XCF of the new Wilber is available at <a
href="http://www.home.unix-ag.org/simon/gimp/wilber_work2.xcf.gz">http://www.home.unix-ag.org/simon/gimp/wilber_work2.xcf.gz</a></li>

</ul>

</p>

</quote>

<p>Regarding the first item, SHIRASAKI Yasuhiro asked if Simon was using
XFree86 3.9.x or 4.0. Sven echoed his concerns. He noted that Xfree 4.0 was
having some problems with fonts and GDK. Simon confirmed this, and was
recommended to downgrade to 3.3.6 to avoid these problems.</p>

<p>Sven had some additional comments for Simon.  Regarding the dialog size he
writes that <quote who="Sven Neumann">We already thought about that when we
designed the dialog. We do not change the default font size in the dialog. I
think it is safe to assume that people working with 640x480 do not change
their GTK default font to a larger font. Using the default font the dialog
easily fits on the screen.</quote></p>

<p>Further down in his message, he explains that he does <quote who="Sven
Neumann">not like the blue very much. Yesterday I have changed the color
to a slightly less drastic orange. The Wilber with the helmet is cute. The
reason why we decided to reuse the pixmap that is used for the icon was
memory usage. It doesn't really make sense to include a pixmap that is only
used once at the very first start of the program... We could change this to
load the pixmap from disk, but that might lead to other problems...</quote>
He also explained that the default image size is set to find bugs where
width != height. This will be changed for 1.2.</p>

</section>

<section
  title="Suggestions For Gimp 1.2"
  subject="Wishlist &amp; Buglist for gimp 1.2"
  archive="http://www.mail-archive.com/gimp-developer%40scam.xcf.berkeley.edu/msg02035.html"
  posts="7"
  startdate="27 Mar 2000 00:00:00 -0800"
  enddate="27 Mar 2000 00:00:00 -0800"
>

<p>Ar't writes:</p>

<quote who="">

<p>1<br />
xtra/perl-fu/bricks  -&gt; xtra/perl-fu/paterns/bricks<br />
------------/Random Art -&gt;------------------/Random arts<br />
Does this really have to be separated ?</p>

<p>script-fu is about scripts, that means files translated on-the-run for
example perl, scheme, python, basic (yuck) and so on...</p>

<p>which in general should be all in one - I suggest to rearrange the
menu connected with scripts (to all translators - SORRY FOLKS 8-)</p>

<p>2<br />
scripts which need to be repaired,
they work but they don't register (in menu):</p>

<p>

<ul>

<li>    fire</li>
<li>    frame_filter</li>
<li>    frame_reshuflee</li>

</ul>

</p>

<p>these scripts don't work at all:</p>

<p>

<ul>

<li>    border</li>
<li>    gouge</li>
<li>    map_to_gradient             init_progres</li>
<li>    prep4gif</li>
<li>    image_tile</li>
<li>    burst                       init_progress</li>
<li>    home-pagelogo               net caalback</li>
<li>    gimp-make-img-map           net callback</li>
<li>    blowinout                   now, what does this one do, really ?</li>

</ul>

</p>

<p>these are not getting copied to $gimp_dir</p>

<p>

<ul>

<li>    billboard</li>
<li>    feedback</li>
<li>    these don't work because of the lack of perl 5.0005</li>
<li>    PDB</li>
<li>    Visual</li>
<li>    parasite-editor</li>

</ul>

</p>

<p>In the above text some plugins are in a form of filenames or procedure
names</p>

<p>3<br />
Is "2x2 Blur"(perl) and "Blur"(C) not the same, if so then why double
the same plugin (and keep your hands away from the C version)</p>

<p>4<br />
after Gimp crash, and this is quite often these days:( the units and
many other settings disappear. If we happen to have small HDD (or
quotas) and we are running out of disk space it behaves the same way.</p>

<p>Proposition: we save all the configuratoin files in a safe way.</p>

<blockquote>

<p>cp old new<br />
write to new<br />
if no problem {<br /></p>

<blockquote>

<p>    mv new old</p>

</blockquote>

<p>} else {</p>

<blockquote>

<p>    rm new mesage: file save failed</p>

</blockquote>

<p>}</p>

</blockquote>

<p>;-)</p>

<p>5<br />
When I click the arrows in image space (navigator or so) I get:
initial_sub_region:: error :: src-&gt;w * (src-&gt;bytes + 1) &gt; 512</p>

<p>6<br />
Ununified Gimp interface</p>

<p>

<ul>

<li>    tools</li>
<li>    filters</li>

</ul>

</p>

<p>6a<br />
What resolution is Gimp written for ?? As I presume many people start with
640x480 and is happy with 800x600(15") not 2millions x million ;-)</p>

<p>7<br />
Lack of localization for scheme scripts</p>

<p>8<br />
I don't think you can remove tips (many applications under windblows:)
have help and tips and that does not seem to be a problem</p>

<p>9<br />
Why colour brushes can be animated and grayscale can not ?
(Telling me to stop using the colours is not the answer:).</p>

</quote>

<p>Marc Lehmann responded to number 1:</p>

<quote who="Marc Lehmann">

<p>No. In an ideal world, Logo scripts would be in
Xtns/Logo/whatever, not seperated by language-isms. Nobody should need to
memoize wether a plug-in is implemented in c, python or scheme to use it.</p>

<p>IMHO, the perl way (group plug-ins by function, rather than by
implementation language) is the right way.</p>

<p>Reorganization efforts in that direction will certainly clean up the
menus.</p>

</quote>

<p>Sven covered some of the later points:</p>

<quote who="Sven Neumann">

<p>5) Huh? Could you please try to explain that in
more words? Eventually I might get what you are talking about then.</p>

<p>6) More details? There's a clear distinction between tools and filters. We
try to make the dialogs as compact as possible. A lot depends on the font
size you use however. For small displays, I recommened not to change the
gtk+ default size (or even choose a smaller one). Of course it's not always
easy to keep the dialogs small enough for all screen resolutions. If you
think a dialog is excessively large, please write a bug-report (and please
be a little more verbose than you did here).</p>

<p>7) We are working on this. In fact, the menu paths already are
internationalized and the rest of the GUI is prepared for i18n too. All we
need is a parser that extracts the translatable strings out of the
script-fu-register calls in the scripts. The rest of the infrastructure is
already present.</p>

<p>8) Huh? You can disable tooltips in the Preferences!?</p>

<p>9) This is definitely a design mistake in the animated brushes. We will
however not change this before 1.2.</p>

</quote>

<p>Kevin Cozens wanted to know if it <quote who="Kevin Cozens">won't change due
to the feature freeze or because it would take too much work to change this
close to a release or both?</quote>. Sven replied that it was both. <quote
who="Sven Neumann">Since it is problem with the overall design of the
animated brushes (they are a special case of PixmapBrushes instead of a
special case of a GimpBrush), it would mean to rewrite lots of working code.
This would mean lots of work and of course it would very likely introduce
new bugs. Actually if the changes to the tool_switching code Mitch
introduced just recently turn out to actually work, most of the showstoppers
are gone and it looks like a release is pretty close. We only have to figure
out how to deal with the problem of iconified dialogs that don't want to go
away.</quote></p>

</section>

<section
  title="Suggestions For Global Locking"
  subject="Global Locking for Gimp :-("
  archive="http://www.mail-archive.com/gimp-developer%40scam.xcf.berkeley.edu/msg02041.html"
  posts="6"
  startdate="27 Mar 2000 00:00:00 -0800"
  enddate="28 Mar 2000 00:00:00 -0800"
>

<mention></mention>

<p>Simon Budig writes:</p>

<quote who="Simon Budig">

<p>I see, that Gimp can be crashed very easily when
trying to use multiple tools at the same image/layer. Michael adressed this:
from the changelog:</p>

<pre>

2000-03-25  Michael Natterer  &lt;mitch@gimp.org&gt;

        * app/cursorutil.[ch]: new global variable "gimp_busy" which gets
        set/unset whenever busy cursors are added/removed.
[...]
        Here starts the ugly workaround which simulates something like
        locking. If it works, it will close lots of bugs, if not, it's
        easy to remove again.

        So far, I didn't find strange side effects but Gimp is told to be
        a complex program :-) Please test this.

</pre>

<p>Well - unfortunately this disables "user multitasking" with working on
multiple images. Admittedly I dont do this too often, but sometimes it is
nice to paint something while waiting for a big image to rotate. (just
tested - multiple plugins do work! :-)</p>

<p>Is there any chance to do this on an "per image" base without hazzeling too
much? Or - if this is too hard to implement - do you think that this
limitation is better than crashes which could be avoided if the user knows
that parallel operations on an image will fail and result in data
loss?</p>

</quote>

<p>Sven noted that <quote who="Sven Neumann">It's not only parallel operations
on an image. Gimp doesn't like you to change the tool while it is active. So
you can't rotate an image (using the transform tools; using the rotate
plugin should work) and change to the paint-tool to paint even if you do
this on another image. Tools are global, so we have to disable tool-changes
globally.</quote></p>

<p>Austin Donnelly replied that he:</p>

<quote who="Austin Donnelly">

<p>I proposed to add per-image locking a while ago, but apparently this wasn't
too well liked. I'm can't remember why.</p>

<p>There are 2 tricky parts (as far as I can see):</p>

<p>
<ol>

<li>plug-in.c needs to take out an image lock when starting a plugin
     operation, and release it on normal (or equally importantly)
     abnormal plugin termination.</li>

<li>what happens when acquiring a lock fail?  Do you queue the
     operation up on the lock (hard) or do you fail it (easy)?</li>

</ol>
</p>

</quote>

<p>Simon had some additional ideas for Austin:</p>

<quote who="Simon Budig">

<p>I think, proper locking is among the first things
that should go in Gimp 1.3. However, it may be a little bit late for 1.2
:-(<br /></p>

<p>What Im thinking about is: Every user action starts in the image
window. When we prevent</p>

<p>
<ol>

<li>clicks in the image to take effect</li>

<li>selection of menu items (graying out?)</li>

</ol>
</p>

<p>if this image is "locked" we have a lot of potential crashes fixed.
We could even give some sort of feedback through the cursor.</p>

<p>Well, when a script or plugin randomly accesses the locked image then this
is bad luck, but I think this should not happen too often.</p>

<p>The way described above eventually could be handled inside the callbacks.
Mitch: Do you see a chance to get it working this way? Is this
reasonable?</p>

</quote>

<p>Michael Natterer explained why he made the changes.  <quote who="Michael
Natterer">Implementing real locking as proposed by Austin is however too late
for 1.2 and I fear that it is the only way to get the lock per image. I tried
to block display events only for the image the current tool is working on, but
then I noticed that of course any display event may trigger a tool operation
which is a bad idea while the tool is active. Once tools are GtkObjects
it should be easy to ref the tool while it's active and simply allocate a
new one for a simultaneous operation on another image. When the old tool
finishes it's operation it will be unref'ed and disappear automatically if
it's no longer ref'ed as active one.</quote></p>

</section>

</kc>
