Re: Perl-Fu plug-ins in 1.1.21

2000-05-07 Thread Marc Lehmann

On Mon, May 08, 2000 at 12:47:27AM +0200, Sven Neumann <[EMAIL PROTECTED]> 
wrote:
> The order of menus was determined by the order of installation. The code
> in plug-in.c uses readdir(). On most systems this will give you the plug-ins
> in the order the inodes were created.

I doubt it. But the usual order in directorirs comes close indeed.

This expalins why perl plug-ins were grouped together.

> more or less unpredictable, I have checked in some code today that orders 
> the plug-ins and script-fu scripts alphabetically according to their 
> translated menu-entries. 

Very good!

> I have however noticed that perl i18n is totally broken at the moment (at
> least on my box) and I couldn't figure out why.

I checked in a patch yesterday (or the day before) that should fix the
".gmo files not created properly" problem.

> passed to menus_create_item...() correctly. Later I found out why this 
> does not work: gimp-perl sets the domain-path to "/usr/share/locale".
> As the po build system in gimp-perl is definitely messed up since no 
> gmo files are build ever, I can not determine if this is intentional.

I'll check (unfortunately, the drive with the sources just stopped
working, so I couldn't check it).

> I suggest that perl installs its message catalogs under the prefix
> however (which is /usr/local/ here) and uses gimp_plugin_domain_add()
> instead of gimp_plugin_domain_add_with_path().

Is it guarenteed that .mo files end up in "prefix"/share/locale/?
configure does not export the path that gettext uses (so rather than
trying to second-guess, I used the same prefix gimp-perl uses).

However, if gimp_plugin_domain_add_with_path works as advertised(?),
fixing the build process should suffice.

-- 
  -==- |
  ==-- _   |
  ---==---(_)__  __   __   Marc Lehmann  +--
  --==---/ / _ \/ // /\ \/ /   [EMAIL PROTECTED] |e|
  -=/_/_//_/\_,_/ /_/\_\   XX11-RIPE --+
The choice of a GNU generation   |
 |



Re: Perl-Fu plug-ins in 1.1.21

2000-05-07 Thread Sven Neumann

Hi,

myself wrote:
> I have however noticed that perl i18n is totally broken at the moment (at
> least on my box) and I couldn't figure out why. This was broken before my 
> changes and I have double-checked that the gimp-perl text-domain gets 
> passed to menus_create_item...() correctly. Later I found out why this 
> does not work: gimp-perl sets the domain-path to "/usr/share/locale".
> As the po build system in gimp-perl is definitely messed up since no 
> gmo files are build ever, I can not determine if this is intentional.
> I suggest that perl installs its message catalogs under the prefix
> however (which is /usr/local/ here) and uses gimp_plugin_domain_add()
> instead of gimp_plugin_domain_add_with_path().

Actually running autogen.sh in the toplevel gimp source dir solved the
problem


Salut, Sven





Re: Perl-Fu plug-ins in 1.1.21

2000-05-07 Thread Sven Neumann

Hi,

> For 1.2, the solution should be clear: find out why perl plug-ins get
> specialcased (maybe because menus.c doesn't know about them but about the
> c-plug-ins? or maybe because the i18n code handles them differently?) and
> sort everything alphabetically (source language, e.g. english).

The order of menus was determined by the order of installation. The code
in plug-in.c uses readdir(). On most systems this will give you the plug-ins
in the order the inodes were created. This means that the order of menus was 
more or less unpredictable, I have checked in some code today that orders 
the plug-ins and script-fu scripts alphabetically according to their 
translated menu-entries. 

I have however noticed that perl i18n is totally broken at the moment (at
least on my box) and I couldn't figure out why. This was broken before my 
changes and I have double-checked that the gimp-perl text-domain gets 
passed to menus_create_item...() correctly. Later I found out why this 
does not work: gimp-perl sets the domain-path to "/usr/share/locale".
As the po build system in gimp-perl is definitely messed up since no 
gmo files are build ever, I can not determine if this is intentional.
I suggest that perl installs its message catalogs under the prefix
however (which is /usr/local/ here) and uses gimp_plugin_domain_add()
instead of gimp_plugin_domain_add_with_path().



Salut, Sven



Salut, Sven





Re: Perl-Fu plug-ins in 1.1.21

2000-05-05 Thread Marc Lehmann

On Fri, May 05, 2000 at 01:22:48PM +0200, Sven Neumann <[EMAIL PROTECTED]> 
wrote:
> entries? Sort them according to their original name (easy) or according 
> to the translated one? I fear that the latter will be difficult and it 
> would lead to different menu orders depending on what language you 
> started gimp with. 
> 
> I'm undecided. What do you think ?

For 1.2, the solution should be clear: find out why perl plug-ins get
specialcased (maybe because menus.c doesn't know about them but about the
c-plug-ins? or maybe because the i18n code handles them differently?) and
sort everything alphabetically (source language, e.g. english).

Sorting them alphabetically is not right, either, so maybe we should get
1.2 out and working instead of trying some nasty tricks to still not get it
right.

(== my opinion, if this was a poll ;)

-- 
  -==- |
  ==-- _   |
  ---==---(_)__  __   __   Marc Lehmann  +--
  --==---/ / _ \/ // /\ \/ /   [EMAIL PROTECTED] |e|
  -=/_/_//_/\_,_/ /_/\_\   XX11-RIPE --+
The choice of a GNU generation   |
 |



Re: Perl-Fu plug-ins in 1.1.21

2000-05-05 Thread Marc Lehmann

On Wed, May 03, 2000 at 03:20:19PM +0200, Raphael Quinet <[EMAIL PROTECTED]> wrote:
> That's why I am surprised to get this problem: I double-checked that I
> had no old files in the plug-ins directory before reporting this
> strange bug.  The only files that are in the plug-in-path came from a
> fresh install of 1.1.21.  I also re-did a "make" and "make install" in
> the source tree to be sure that I was not dreaming.  :-)

Maybe you have an old gimp-perl installation? You could check the
configure output for messages to that extend (gimp-perl _tries_ to chekc
for old, incompatible installations).

> > If you give me a log-in on your machine I could fix it ;)
> 
> home.  But if you want to come and say hello, I can give you my work
> address and a roadmap of the area.  ;-)

Uh ;-> Cool, but I guess it might be a bit *too* far for a casual visit ;)

(You could also send me the output of configure + make + make install)

> > (that were reinstalled) registered below the existing plug-ins and the
> > perl-plug-ins (which you haven't reinstalled) moved to the top.
> 
> register again before the C plug-ins.  This appears to be new,
> although I do not know when this behavior was introduced because the

Hmm.. I just recompiled my tree (cvs last night), nuked ~/.gimp, but I
can't see the same behaviour. The scripts seem to be scattered around
quite randomly in the menus.

Sinc eI do not know wether gimp cares at all about menu-order (ot might be
that app/menus.c does something), I shouldn't comment anyway ;)

> > a seperate menu hierarchy hardly makes sense.
> 
> The same arguments apply to Script-Fu as well, however there is still
> a separate menu hierarchy for these scripts.  But maybe a separate
> menu hierarchy is not the best solution...

This is a (IMnsHO) very nice conclusion ;) From a GUI POV, seperating
similar functionality into different menus does not make sense. It only
adds work for the user who needs to memorize that a given Filter (say,
unsharpen-warp) is not in the Filters menu, but in the Script-Fu menu. It
is also hard to explain to new users that "Add Dust" would be found in a
"Perl" submenu and not in "Filters", especially since most people do not
know what "Perl" is (or Script-Fu).

> care too much about the Perl-Fu scripts and do not even test them.  I
> am sure that I am not the only one who is worried about the overall
> consistency of the user interface, but I am surprised by the lack of
> comments about Perl-Fu

I got some comments to the extent of "perl-fu does not follow gimp-gui
standards", but I was never able to find out what that means (i.e. what
the gimp-gui standard is, and what must be changed to be more compliant).

As for consistency, most perl-scripts use the Gimp::Fu module to create
their dialog, which ensures overall consistency between 97% of all
perl-scripts. It would also make it quite easy to fix any layout problems
since the dialog code is in a central location.

After 1.2 is released, that code will change a lot, to make it possible
to add internionalized descriptions in an easier way and allow even more
customization (people do not like to write their own dialog-code, it
seems).

> Where are the "many eyeballs" that ensure that "all bugs are shallow"?

Oh, the situation has improved a lot. Quite a few gimp-developers do build
perl now, and a few even test it.

-- 
  -==- |
  ==-- _   |
  ---==---(_)__  __   __   Marc Lehmann  +--
  --==---/ / _ \/ // /\ \/ /   [EMAIL PROTECTED] |e|
  -=/_/_//_/\_,_/ /_/\_\   XX11-RIPE --+
The choice of a GNU generation   |
 |



Re: Perl-Fu plug-ins in 1.1.21

2000-05-05 Thread Sven Neumann

Hi,

Raphael wrote:

> But I also noticed that something else has changed in the Perl-Fu
> scripts: in the previous versions that I tried (under Solaris), these
> scripts were always registered at the bottom of the menus, instead of
> being mixed with the C plug-ins.  Now it seems to be the contrary: the
> Perl-Fu scripts are listed first in each menu, followed by the usual C
> plug-ins.  This is very distracting.
> 
> Would it be possible to avoid this?  I would prefer to have the
> Perl-Fu scripts separated from the C plug-ins.  Either by adding a
> separator in the menus, by adding a little mark next to their names,
> or by creating a separate Perl-Fu menu similar to the Script-Fu menu.

I'm not sure that seperating the Perl scripts from the C plug-ins makes
sense, but the menu order is definitely distracting. I have just done  
a complete new installation and did note the following: 

- perl scripts are always at top and appear in random order (well, most 
  probably it's not random, but I can not figure out if there is some 
  sort of order, it's definitely not alphabetic).

- C plug-ins are sorted more or less alphabetic. This is however not 
  because we sort them that way, but only because for most plug-ins the 
  menu entries match the binary names quite good. This leads to some 
  strange effects however. In Filters->Distorts for example "Video" 
  appears before "Value Propagate" only because "video" is before 
  "vpropagate" on disk. I guess that with another filesystem we might 
  get totally different results.

A possible solution would be to sort the plugin menus alphabetically. 
I'm not really looking forward to touch menus.c again, but there is 
already some code in there that reorders menu entries (moving submenus 
to the top for example), so it should be possible to hook that in there 
somewhere.
 
So far, so good. But what do we want to do about translated menu 
entries? Sort them according to their original name (easy) or according 
to the translated one? I fear that the latter will be difficult and it 
would lead to different menu orders depending on what language you 
started gimp with. 

I'm undecided. What do you think ?


Salut, Sven












Re: Perl-Fu plug-ins in 1.1.21

2000-05-03 Thread Raphael Quinet

On Wed, 3 May 2000, Marc Lehmann <[EMAIL PROTECTED]> wrote:
> On Tue, May 02, 2000 at 08:15:44PM +0200, Raphael Quinet <[EMAIL PROTECTED]> wrote:
> > I tried to use the Perl-Fu scripts in 1.1.21 and I saw that all of
> > them abort with the following error displayed on the console:
> > 
> >   ** ERROR (recursed) **: could not find handler for message: 65536
> >   aborting...
> 
> This happens to any plug-in that doesn't get recompiled when a protocol
> bump occurs. Recompiling the perl plug-in would fix that.

Well, for some reason it didn't, that's why I reported the bug.

I extracted gimp-1.1.21.tar.gz in a new directory and built everything
from there.  Then I removed everything from the previous installation
of the Gimp in ${prefix}/lib/gimp and ${prefix}/share/gimp and I did a
"make install".

That's why I am surprised to get this problem: I double-checked that I
had no old files in the plug-ins directory before reporting this
strange bug.  The only files that are in the plug-in-path came from a
fresh install of 1.1.21.  I also re-did a "make" and "make install" in
the source tree to be sure that I was not dreaming.  :-)

> > Marc, I suppose that you are aware of this and that you can fix it?
> 
> If you give me a log-in on your machine I could fix it ;)

I could give you a username and password, but that would not help you
because the firewall blocks everything.  :-)  Even I cannot log in from
home.  But if you want to come and say hello, I can give you my work
address and a roadmap of the area.  ;-)

Err...  Seriously, do you or anybody on this list have any idea of
what could be causing this strange problem?  Can anyone report a
successful or unsuccessful installation of 1.1.21 with Perl enabled?

My setup is:
  Solaris 2.6
  perl5.005_03
  PDL-2.003
  Parse-RecDescent-1.70
  Gtk-Perl-0.6123
  glib-1.2.7
  gtk+-1.2.7
  gimp-1.1.21

> > being mixed with the C plug-ins.  Now it seems to be the contrary: the
> > Perl-Fu scripts are listed first in each menu, followed by the usual C
> > plug-ins.  This is very distracting.
> 
> Hmm... I wonder how the order in the menus is being worked out by the
> Gimp? Registration order? Alphabetical? Being able to control the sort
> order in some sensible way is highly desirable indeed, but will definitely
> not happen in 1.2 (IMHO it's very difficult).
> 
> What happened in your case might have been that all the C-plug-ins
> (that were reinstalled) registered below the existing plug-ins and the
> perl-plug-ins (which you haven't reinstalled) moved to the top.

Unfortunately, this is not what happened.  As I said, all the plug-ins
and scripts came from the new 1.1.21 package.  I just checked a second
time by deleting my ~/.gimp-1.1/pluginrc and the Perl-Fu scripts
register again before the C plug-ins.  This appears to be new,
although I do not know when this behavior was introduced because the
previous version (1.1.20) had another problem with the Perl-Fu scripts
and they crashed before registering.

> > a menu is mapped to a C or Perl plug-in.  They behave slightly
> > differently (e.g. undo is not always supported, there is a delay of a
> > couple of seconds before the plug-in starts)
> 
> This describe the behaviour of a subclass of all perl scripts. _Some_ C
> plug-ins behave the same, btw, as well.
> 
> If you look at earlier discussions of this and related points you'll see that
> a seperate menu hierarchy hardly makes sense.

The same arguments apply to Script-Fu as well, however there is still
a separate menu hierarchy for these scripts.  But maybe a separate
menu hierarchy is not the best solution...

> OTOH, I'd be all for some visible indication in the menus itself (although
> I am not 100% of wether that makes sense ;) It does not have any
> drawbacks, however).

I don't know if it makes sense, but I would like to have some kind of
indication before 1.2 is released.  I was hoping that some people on
this list could reply with good suggestions...

> > for a vote or anything like that, but I would like to hear some
> > opinions... (no flames please)
> 
> This has been discussed many times on this list already...

I know, but the final release of 1.2 is just around the corner now and
several things have changed since the last time these things were
discussed.

Also, I have the feeling that many people (not you, of course) do not
care too much about the Perl-Fu scripts and do not even test them.  I
am sure that I am not the only one who is worried about the overall
consistency of the user interface, but I am surprised by the lack of
comments about Perl-Fu...  Where are the "many eyeballs" that ensure
that "all bugs are shallow"?

-Raphael




Re: Perl-Fu plug-ins in 1.1.21

2000-05-02 Thread Marc Lehmann

On Tue, May 02, 2000 at 08:15:44PM +0200, Raphael Quinet <[EMAIL PROTECTED]> wrote:
> I tried to use the Perl-Fu scripts in 1.1.21 and I saw that all of
> them abort with the following error displayed on the console:
> 
>   ** ERROR (recursed) **: could not find handler for message: 65536
>   aborting...

This happens to any plug-in that doesn't get recompiled when a protocol
bump occurs. Recompiling the perl plug-in would fix that.

> Marc, I suppose that you are aware of this and that you can fix it?

If you give me a log-in on your machine I could fix it ;)

> being mixed with the C plug-ins.  Now it seems to be the contrary: the
> Perl-Fu scripts are listed first in each menu, followed by the usual C
> plug-ins.  This is very distracting.

Hmm... I wonder how the order in the menus is being worked out by the
Gimp? Registration order? Alphabetical? Being able to control the sort
order in some sensible way is highly desirable indeed, but will definitely
not happen in 1.2 (IMHO it's very difficult).

What happened in your case might have been that all the C-plug-ins
(that were reinstalled) registered below the existing plug-ins and the
perl-plug-ins (which you haven't reinstalled) moved to the top.

> a menu is mapped to a C or Perl plug-in.  They behave slightly
> differently (e.g. undo is not always supported, there is a delay of a
> couple of seconds before the plug-in starts)

This describe the behaviour of a subclass of all perl scripts. _Some_ C
plug-ins behave the same, btw, as well.

If you look at earlier discussions of this and related points you'll see that
a seperate menu hierarchy hardly makes sense.

OTOH, I'd be all for some visible indication in the menus itself (although
I am not 100% of wether that makes sense ;) It does not have any
drawbacks, however).

> for a vote or anything like that, but I would like to hear some
> opinions... (no flames please)

This has been discussed many times on this list already...

-- 
  -==- |
  ==-- _   |
  ---==---(_)__  __   __   Marc Lehmann  +--
  --==---/ / _ \/ // /\ \/ /   [EMAIL PROTECTED] |e|
  -=/_/_//_/\_,_/ /_/\_\   XX11-RIPE --+
The choice of a GNU generation   |
 |



Re: Perl-Fu plug-ins in 1.1.21

2000-05-02 Thread Mattias EngdegÄrd

>While we are on it, could someone please check that all Perl scripts
>register menu names with trailing dots if, and only if, they open a
>dialog.

Not a Perl script, but the About... menu entry shouldn't have the ellipsis,
according to most GUI standards, since in this case opening a dialog is an
end itself, not an intermediate step before the operation is performed.




Re: Perl-Fu plug-ins in 1.1.21

2000-05-02 Thread Sven Neumann

Hi,

> But I also noticed that something else has changed in the Perl-Fu
> scripts: in the previous versions that I tried (under Solaris), these
> scripts were always registered at the bottom of the menus, instead of
> being mixed with the C plug-ins.  Now it seems to be the contrary: the
> Perl-Fu scripts are listed first in each menu, followed by the usual C
> plug-ins.  This is very distracting.
> 
> Would it be possible to avoid this?  I would prefer to have the
> Perl-Fu scripts separated from the C plug-ins.  Either by adding a
> separator in the menus, by adding a little mark next to their names,
> or by creating a separate Perl-Fu menu similar to the Script-Fu menu.

While we are on it, could someone please check that all Perl scripts
register menu names with trailing dots if, and only if, they open a
dialog.


Salut, Sven





Perl-Fu plug-ins in 1.1.21

2000-05-02 Thread Raphael Quinet

I tried to use the Perl-Fu scripts in 1.1.21 and I saw that all of
them abort with the following error displayed on the console:

  ** ERROR (recursed) **: could not find handler for message: 65536
  aborting...

And this message is displayed in a pop-up box:

  [/path/to/script]: the gimp is using a newer version of the plug-in
  protocol than this plug-in.

Marc, I suppose that you are aware of this and that you can fix it?
I suppose that this was a consequence of the recent changes in the
wire protocol.  Hi Mitch!  ;-)

But I also noticed that something else has changed in the Perl-Fu
scripts: in the previous versions that I tried (under Solaris), these
scripts were always registered at the bottom of the menus, instead of
being mixed with the C plug-ins.  Now it seems to be the contrary: the
Perl-Fu scripts are listed first in each menu, followed by the usual C
plug-ins.  This is very distracting.

Would it be possible to avoid this?  I would prefer to have the
Perl-Fu scripts separated from the C plug-ins.  Either by adding a
separator in the menus, by adding a little mark next to their names,
or by creating a separate Perl-Fu menu similar to the Script-Fu menu.

I am asking for this on the list because I expect that many developers
have different opinions about the placement of Perl-Fu scripts (or
Python-Fu).  I think that the Perl-Fu scripts "feel" different from
the C plug-ins and it would be nice to know beforehand if an entry in
a menu is mapped to a C or Perl plug-in.  They behave slightly
differently (e.g. undo is not always supported, there is a delay of a
couple of seconds before the plug-in starts) and their parameters
dialog have a different layout compared to most C plug-ins.  I suppose
that some of these differences (e.g. the Gimp-Perl logo in the
dialogs) were introduced on purpose to make these scripts stand out
from the others, but then why should they be mixed?  I'm not asking
for a vote or anything like that, but I would like to hear some
opinions... (no flames please)

-Raphael