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 (info geda-scheme
).
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 global-set-key
.
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.
Function | Description |
---|---|
gschem-print | Export PostScript (see Printing) to the output filename specified with the -o command-line option, or the default PostScript filename if no option was given. |
gschem-postscript FILENAME | Export PostScript to FILENAME . |
gschem-image FILENAME | Export an image (see Exporting images) to the output filename specified with the -o command-line option, or to FILENAME if no option was given. |
gschem-exit | Exit gschem immediately. Warning: if the user has unsaved changes, he will not be given the opportunity to save them. |
gschem-log MSG | Write MSG to the gschem log. |
gschem-msg MSG | Display a message dialog to the user with the text MSG . |
gschem-confirm MSG | Display a confirmation dialog to the user, with “Yes” and “No” buttons and the text MSG . Return #t if the user selects “Yes”, and #f otherwise. |
gschem-filesel MSG TEMPL FLAGS | Display a file selector dialog, with MSG in the title and the default filename TEMPL . The FLAGS control the file selector behavior, and should be a list of strings. The following strings can be provided in the FLAGS : “may_exist” if the file selected is permitted to already exist; “must_exist” if the file selected must already exist; “must_not_exist” if the file selected must not already exist; “save” to show a “Save file…” dialog; “open” to show an “Open file…” dialog. |