[Lazarus] Building help files: the nitty-gritty

Mark Morgan Lloyd markMLl.lazarus at telemetry.co.uk
Tue Jul 17 10:55:33 CEST 2012

Reinier Olislagers wrote:

>> The current situation- and this is with Lazarus trunk, not stable-
>> appears to be that HTML keyword-based application help works well
>> provided <snip why HTML help might not be such a good idea>
>> I very much look forward to the CHM reader being made available for apps
>> rather than just for the IDE, I'm starting to code what could be my
>> magnum opus and I'd like the opportunity to exercise it.
>From another outsider's view, wouldn't this be a solution:
> 1. document the IPC mechanism used for communication between IDE and
> lhelp so application developers can use it
> 2. compile and distribute lhelp with your application... should be
> possible already, shouldn't it?
> 3. in application: start lhelp and pass messages using 1.

Agreed, or tentatively "componentize" the relevant classes 
(TLclChmHelpDatabase and TChmHelpViewer?).

>> As a general point, current desktops (including KDE and Gnome) have a
>> standardised set of programs for opening files by extension (xdg-open
>> etc.), and to be quite honest I think it's not to the credit of anybody
>> who tries to open a browser or viewer without reference to these.
> In general, agreed, but:
> If that standard allows keyword lookup etc.. I'm all for it. Also, the
> number of standards must be manageable ;)

No, the tools are strictly for handling file and mime types:

xdg-desktop-icon (1) - command line tool for (un)installing icons to the 
xdg-desktop-menu (1) - command line tool for (un)installing desktop menu 
xdg-email (1)        - command line tool for sending mail using the 
users preferred e-mail composer
xdg-icon-resource (1) - command line tool for (un)installing icon resources
xdg-mime (1)         - command line tool for querying information about 
file type handling and adding descriptions for new file types
xdg-open (1)         - opens a file or URL in the users preferred 
xdg-screensaver (1)  - command line tool for controlling the screensaver
xdg-settings (1)     - get various settings from the desktop environment

> Finally, quite probably not *all* desktops support this (saw your
> "current" up there)... so a fallback mechanism would be needed if others
> are supported, too.

I agree about the fallback, but the xdg stuff has been in most if not 
all Linux distreaux for around five years (doesn't appear to be in 
Solaris 10 which is 5+ years old now, don't have a newer version to 
check). The important point is that the xdg command lines are 
standardised, the implementations are platform-specific.

Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]

More information about the Lazarus mailing list