Customizing GnuCash
Linas Vepstas
linas@linas.org
Sun, 28 Oct 2001 10:53:22 -0600
On Fri, Oct 26, 2001 at 07:24:36PM -0500, Anthony W. Juckel was heard to remark:
> From the get go, I've been told that GnuCash would be an extensible
> financial system (which is very appealing to me, and is one of the main
> reasons I prefer the Emacs editor for any serious text editing). The
> interface seems to be coming along quite nicely, and I have recently
> decided to try to port all my financial information from Quicken into
> GnuCash (with mixed results thus far), so now I would like to have more
> information about how to customize GnuCash. I think I have read that
> both Guile and Perl are supported for extensibility. Is one language
> preferable to the other (with regards to GnuCash interoperability rather
> than programmer preference)?
scheme (guile) is used internally by gnucash and is well-integrated.
The perl bindings are not integrated in this way: you can use perl to
access the 'engine' library, but you can't use it to change the
behvaiour of a running copy of gnucash.
> Is there any information about the API's
> that are supplied by the system?
The src/doc directory contains documentation. Also, in the case of
src/engine, the header files src/engine/*.h document most of the engine
API. The GUI apis are more poorly documented: some of tehse are not
meant to be 'public'.
> As a reference, two things I would
> like to do are (from simple to complex):
word of caution: one fo the big changes in gnucash-1.7 is to make the
source code more modular. This affects how scheme is used to access the
API's.
> 1) Set up some default keybindings (so the Delete key deletes a
> transaction, for instance), and
> 2) Set up a system where, if a transaction is added to a specific
> account, a percentage of that transaction is logged to a Gnumeric
> spreadsheet (yet another Gnome program that preaches extensibility, yet
> I have yet to find any documentation on it).
I am cc'ing gnucash-devel@gnucash.org Maybe you'll get a better answer
there ...
> Basically, I'm wondering if the documentation on extensibility is really
> as sparse as it seems, or is there some vast cache of info that I have
> yet to find?
>
> Anthony W. Juckel
> GnuCash 1.6.1
--linas
--
pub 1024D/01045933 2001-02-01 Linas Vepstas (Labas!) <linas@linas.org>
PGP Key fingerprint = 8305 2521 6000 0B5E 8984 3F54 64A9 9A82 0104 5933