help not working

Geert Janssens janssens-geert at telenet.be
Tue Sep 25 08:50:41 EDT 2012


On 25-09-12 13:37, Frank H. Ellenberger wrote:
> Hi Geert,
>
> Am 25.09.2012 10:45, schrieb Geert Janssens:
>> yelp ghelp:gnucash-help
> yelp ghelp:gnucash-help
> Die Adresse »ghelp:gnucash-help« verweist nicht auf eine gültige Seite.
>
> LANG=C yelp ghelp:gnucash-help
> The URI ‘ghelp:gnucash-help’ does not point to a valid page.
>
> OTOH
> yelp
> ghelp:///usr/share/gnucash/gnome/help/gnucash/de_DE/gnucash-help.xml and
> yelp ghelp:///usr/share/gnucash/gnome/help/gnucash/C/gnucash-help.xml
> are working - just wondering for 3 '/'.
>
It seems to me that openSuse installs the help files in a different 
location than Fedora does. A default install on Fedora would install 
gnucash-help in
/usr/share/gnome/help/gnucash/C/gnucash-help.xml
while from your message it seems openSuse uses
/usr/share/gnucash/gnome/help/gnucash/C/gnucash-help.xml or is that a 
custom install location for a local build ? The bug you refer to seems 
to use the same paths as Fedora though.

In any case, the Fedora path no longer works with the ghelp syntax. 
Instead it now has to be
/usr/share/gnome/help/gnucash-help/C/gnucash-help.xml

Same goes for the gnucash-guide, which used to be installed in
/usr/share/gnome/help/gnucash/C/gnucash-guide.xml
and is now expected in
/usr/share/gnome/help/gnucash-guide/C/gnucash-guide.xml

So the main subdirectory under help should be named after the main xml 
document.

Presuming the paths you use are the default installation location on 
suse, you could try to temporarily create two symlinks to test this:
/usr/share/gnucash/gnome/help/gnucash-help -> 
/usr/share/gnucash/gnome/help/gnucash
/usr/share/gnucash/gnome/help/gnucash-guide -> 
/usr/share/gnucash/gnome/help/gnucash

And then see if "yelp ghelp:gnucash-help" does work.

This is the core of the documentation bug (611705) I am trying to fix 
with a new gnucash-doc release.
> Hm, according https://bugzilla.novell.com/show_bug.cgi?id=771530 , which
> has a few interesting pointers like comment 4:
>
>> gnucash interlinks with libgnome/gnome-vfs to read from gconf which help
>> application to be used. This is set to be gnome-help on a default install.
>> gnome-help OTOH is a symlink to susehelp.
>>
>> The command executed is:
>> gnome-help ghelp:///usr/share/gnucash/gnome/help/gnucash/de_DE/gnucash-help.xml
>> (note: ghelp:// NO help://)
>>
>> passing this URI down to yelp would work and start up the proper help.
>> BUT: susehelp mangles the URI, replacing ghelp:// with help://, thus resulting
>> in an invalid URI for yelp.
>>
>> Doing the mangling while running yelp is not good...
> But because it was there since suse 10.x I had my own way
>   LANG=C yelp /usr/local/share/gnome/help/gnucash-help/C/gnucash-help.xml
> to test the result of my work.
I have read the bug and the solution that was chosen [1] (patching 
suse-help to not change ghelp into help when running gnome).

This patch will probably fix the problem for the old style of help 
invocation (which remains in place for the 2.4 series). Though I just 
discovered that the old libgnome way of finding help files doesn't seem 
to work with the new pathnames that I intend to use with the next 
documentation release. I'll have to go to the drawing board with that part.

Whether it will still work with the new style of help invocation 
(gtk_show_uri ("ghelp:gnucash-help")) will have to be tested. It depends 
on which tool is configured to handle x-scheme-handler/ghelp. On my 
system, that is yelp, regardless of the desktop environment. If it is 
susehelp on opensuse, it will replace ghelp: with help: again for kde 
users. I have no idea if that would work.

As a similar test, you could try to open the help for planner (another 
gtk based application using the exact same code to load the help file). 
What does that do on openSuse with kde ?

Geert

[1] https://build.opensuse.org/request/show/129546



More information about the gnucash-devel mailing list