User Tools

Site Tools


Configuring gschem

gschem loads a series of configuration files at start-up, if they exist:

  1. The suite's system configuration file, called $PREFIX/share/gEDA/system-gafrc
  2. The suite's user configuration file, called $HOME/.gEDA/gafrc
  3. A gafrc in the current working directory.
  4. gschem's system configuration file, called $PREFIX/share/gEDA/system-gschemrc
  5. gschem's user configuration file, called $HOME/.gEDA/gschemrc
  6. A gschemrc in the current working directory.

$PREFIX denotes the base installation directory for gschem (/usr on most systems), and $HOME denotes your home directory.

These files are scripts written in Scheme, and they are executed using a Scheme interpreter. This means that you can use the configuration files as a way of customising and extending gschem (see also Extending gschem).

There are a very large number of options that affect the way gschem works, and only the most commonly-used are listed here. For a full list, see the system-gschemrc installed with gEDA.

Setting colors

gschem uses three different color maps. These are:

  1. Display color map — this is the normal color map used for displaying schematics in gschem.
  2. Display outline color map — this color map is used for objects that are being modified (e.g. during movement or during placement of objects pasted from the clipboard).
  3. Print color map — used during export to PostScript.

gschem is distributed with some full color maps, which are supplied as Scheme scripts. They can be loaded with load; for example, to load the default dark background color map, add the following to a configuration file:

(load (build-path geda-rc-path "gschem-colormap-darkbg"))

You can also set individual colors using the display-color-map, display-outline-color-map and print-color-map functions. For example, to set the display color for nets to a light blue, you could add the following to a configuration file:

(display-color-map '((net "#00ffff")))

Color settings should be placed in a gschem configuration file.

Key bindings

A gschem editing action can be bound to a keystroke or a sequence of keystrokes (a key sequence). The global-set-key function is used to modify keybindings.

Each keystroke is defined using a string consisting of a non-modifier key name, prefixed by zero or more modifiers surrounded by angle brackets (“<” and “>”). The supported modifiers are <Control>, <Shift>, <Alt>, <Super>, <Hyper> and <Meta> (these are not available on all keyboards).

Although key bindings will be displayed in gschem using internationalised key names, you must use the English names in the configuration files.

A key sequence is a string containing two or more keystrokes separated by spaces.

Some examples:

  • To bind the “New Window” command to a typed F followed by an N:
    (global-set-key "F N" 'file-new-window)
  • To run the “Deselect All” command when the Ctrl and Shift keys are held down and an A is typed:
    (global-set-key "<Control><Shift>A" 'edit-deselect)
  • To display the “Snap Size” dialog box when O is typed, followed by S typed with the Shift key held down:
    (global-set-key "O <Shift>S" 'options-snapsize)

Key settings should be placed in a gschem configuration file.

Symbol and source libraries

The component-library function is used to add symbol libraries to the "Select Component..." window. A symbol library is a directory that contains symbol (“.sym”) files. To add a directory as a symbol library, add the following to your configuration file:

(component-library "/path/to/mysymbols")

You can optionally set a different name for the library as an additional argument to component-library:

(component-library "/path/to/mysymbols" "My Symbols")

To add all subdirectories of a particular directory as symbol libraries, use component-library-search:

(component-library-search "/path/to/mysymbollibs/")

This will (recursively) look for directories that contain symbols below the specified path, and add them to the “Select Component…” window.

To add a directory to be searched for subcircuit schematics, use the source-library function. This is similar to the component-library function, except that it does not accept an optional name argument.

Library settings should be placed in a gEDA/gaf suite configuration file, so that the symbol libraries are available to other gEDA tools (especially gnetlist).

geda/gschem_ug/config.txt · Last modified: 2014/04/24 01:46 by vzh