Since the gschem configuration files are Scheme scripts, they provide a way to load additional capabilities into gschem by defining new functions that manipulate objects and pages.
gschem (and other gEDA/gaf tools such as gnetlist) use Guile Scheme to provide Scheme scripting capabilities, and all of the features of Guile are available to use. The Guile Reference Manual is available as an Info manual (
info guile on most systems), or on the Guile website.
A collection of modules is provided for accessing and modifying gEDA objects and pages, called the gEDA Scheme API. The gEDA Scheme Reference Manual is also available as an Info manual (
Actions are thunks, i.e. Scheme procedures that take no arguments. For gschem to be able to find them, they must be defined in the top-level module, so you must do one of the following:
load) from one of your configuration files;
use-modules) from your configuration files.
You can then bind the procedure to a keystroke as normal with
gschem allows you to register functions, called hooks, to be executed when a user executes a built-in function. These are provided by the
(gschem hook) Guile module. For more information, see the Hooks page in the gEDA Scheme Reference Manual.
In addition to the gEDA Scheme API functions, gschem provides some utility procedures for extension writers.
| || Export PostScript (see Printing) to the output filename specified with the
| || Export PostScript to
| || Export an image (see Exporting images) to the output filename specified with the
| ||Exit gschem immediately. Warning: if the user has unsaved changes, he will not be given the opportunity to save them.|
| || Write
| || Display a message dialog to the user with the text
| || Display a confirmation dialog to the user, with “Yes” and “No” buttons and the text
| || Display a file selector dialog, with