[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: gEDA-user: install fails--RH7.1 on AMD i686



	Could you please e-mail this file via private e-mail, so I can see
> what is inside?  Also, please send me /opt/geda/share/gEDA/system-commonrc.
> Thanks.
>
> 								-Ales

I did not want to go through the compile process again, so I tried a couple 
things and they worked to get gschem going.  (I'll try again after a logoff 
and see)

I changed a line in system-gschemrc
; Contains all paths needed for all programs
(define gedarcdir "/opt/geda/share/gEDA")
(load (string-append gedarcdir "/system-commonrc"))

downloaded only from 20010722   version files

when i start gschem:
Read system-gschemrc file [/opt/geda/share/gEDA/system-gschemrc]
Read ~/.gEDA/gschemrc file [/home/john/.gEDA/gschemrc]
Did not find local gschemrc file [./gschemrc]
Read init scm file [/opt/geda/share/gEDA/scheme/gschem.scm]

[john@carbide .gEDA]$ libgeda-config --version
20010722
[john@carbide .gEDA]$ gesym-config --version
20010722
[john@carbide .gEDA]$ which gschem
/opt/geda/bin/gschem
[john@carbide .gEDA]$ ldd `which gschem`
        libgeda.so.14 => /opt/geda/lib/libgeda.so.14 (0x40024000)
        libpng.so.2 => /usr/lib/libpng.so.2 (0x4005e000)
        libz.so.1 => /usr/lib/libz.so.1 (0x4007f000)
        libm.so.6 => /lib/libm.so.6 (0x4008d000)
        libgtk-1.2.so.0 => /usr/lib/libgtk-1.2.so.0 (0x400af000)
        libgdk-1.2.so.0 => /usr/lib/libgdk-1.2.so.0 (0x401e4000)
        libgmodule-1.2.so.0 => /usr/lib/libgmodule-1.2.so.0 (0x4021a000)
        libglib-1.2.so.0 => /usr/lib/libglib-1.2.so.0 (0x4021d000)
        libdl.so.2 => /lib/libdl.so.2 (0x40243000)
        libXi.so.6 => /usr/X11R6/lib/libXi.so.6 (0x40247000)
        libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x4024f000)
        libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x4025d000)
        libguile.so.9 => /usr/lib/libguile.so.9 (0x4033d000)
        libc.so.6 => /lib/libc.so.6 (0x403b8000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
[john@carbide .gEDA]$

I had part of gschem installed in /usr/local and part in /opt/geda

Now have:
[john@carbide gEDA]$ ls
gschem-gtkrc  sym              system-gnetlistrc  system-gschemrc.one
scheme        system-commonrc  system-gschemrc    system-gsymcheckrc
[john@carbide gEDA]$ pwd
/opt/geda/share/gEDA
[john@carbide gEDA]$


; 
; Common init file for gEDA
;

;
; Start of path related keywords
;

; component-library string
; Specify where components exist.
; The string after this keyword should be a valid directory name.
; You should have read access to this directory and all the files inside
; the directory.
; The order of the component-library keywords determines the order they
; are displayed, but they are searched *backwards*, ie last one in this list
; is searched *first*.
; All environment variables *MUST* be in the form ${variable_name}
;
(component-library "${GEDADATA}/sym/local")
(component-library "${GEDADATA}/sym/74")
(component-library "${GEDADATA}/sym/4000")
(component-library "${GEDADATA}/sym/IEC417")
(component-library "${GEDADATA}/sym/analog")
(component-library "${GEDADATA}/sym/linear")
(component-library "${GEDADATA}/sym/altera")
(component-library "${GEDADATA}/sym/lattice")
(component-library "${GEDADATA}/sym/xilinx")
(component-library "${GEDADATA}/sym/idt")
(component-library "${GEDADATA}/sym/misc")
(component-library "${GEDADATA}/sym/power")
(component-library "${GEDADATA}/sym/transistor")
(component-library "${GEDADATA}/sym/io")
(component-library "${GEDADATA}/sym/titleblock")
(component-library "${GEDADATA}/sym/memory")
(component-library "${GEDADATA}/sym/micro")
(component-library "${GEDADATA}/sym/maxim")
(component-library "${GEDADATA}/sym/national")
(component-library "${GEDADATA}/sym/radio")
(component-library "${GEDADATA}/sym/tube")
(component-library "${GEDADATA}/sym/connector")
(component-library "${GEDADATA}/sym/switch")
(component-library "${GEDADATA}/sym/verilog")
(component-library "${GEDADATA}/sym/vhdl")
(component-library "${GEDADATA}/sym/spice")
(component-library "${GEDADATA}/sym/rf")
(component-library "${GEDADATA}/sym/bus")
(component-library "${GEDADATA}/sym/pla")
(component-library "${GEDADATA}/sym/ecl")
(component-library "${GEDADATA}/sym/dec")
(component-library "${GEDADATA}/sym/supervisor")
(component-library "${GEDADATA}/sym/opto")
(component-library "${GEDADATA}/sym/diode")
(component-library "${GEDADATA}/sym/relay")

; component-library-search atring
;
; Specifies the directory where other component libraries can be found
; The string after this keyword should be a valid directory name.
; You should have read access to this directory and all the files inside
; the directory.
; The order of the component libraries found within the specified directory
; is in inode order.  The libraries found using this keyword will be searched
; *before* the component libraries specified above.
; All environment variables *MUST* be in the form ${variable_name}
;
(component-library-search "${GEDADATA}/sym")

; source-library string
; Specify where source entities exist.
; The string after this keyword should be a valid directory name.
; You should have read access to this directory and all the files inside
; the directory.
; The order of the source-library keywords determines the order they
; are displayed, but they are searched *backwards*, ie last one in this list
; is searched *first*.
; All environment variables *MUST* be in the form ${variable_name}
;
(source-library "${GEDADATA}/sym/74")
(source-library "${GEDADATA}/sym/4000")
(source-library "${GEDADATA}/sym/analog")
(source-library "${GEDADATA}/sym/altera")
(source-library "${GEDADATA}/sym/lattice")
(source-library "${GEDADATA}/sym/xilinx")
(source-library "${GEDADATA}/sym/idt")
(source-library "${GEDADATA}/sym/local")
(source-library "${GEDADATA}/sym/memory")
(source-library "${GEDADATA}/sym/micro")
(source-library "${GEDADATA}/sym/linear")
(source-library "${GEDADATA}/sym/maxim")
(source-library "${GEDADATA}/sym/national")
(source-library "${GEDADATA}/sym/misc")
(source-library "${GEDADATA}/sym/power")
(source-library "${GEDADATA}/sym/transistor")
(source-library "${GEDADATA}/sym/radio")
(source-library "${GEDADATA}/sym/tube")
(source-library "${GEDADATA}/sym/connector")
(source-library "${GEDADATA}/sym/switch")
(source-library "${GEDADATA}/sym/verilog")
(source-library "${GEDADATA}/sym/vhdl")
(source-library "${GEDADATA}/sym/rf")
(source-library "${GEDADATA}/sym/pla")
(source-library "${GEDADATA}/sym/ecl")
(source-library "${GEDADATA}/sym/dec")
(source-library "${GEDADATA}/sym/supervisor")
(source-library "${GEDADATA}/sym/bus")
(source-library "${GEDADATA}/sym/opto")
(source-library "${GEDADATA}/sym/diode")
(source-library "${GEDADATA}/sym/relay")

; source-library-search atring
;
; Specifies the directory where other source libraries can be found
; The string after this keyword should be a valid directory name.
; You should have read access to this directory and all the files inside
; the directory.
; The order of the source libraries found within the specified directory
; is in inode order.  The libraries found using this keyword will be searched
; *before* the source libraries specified above.
; All environment variables *MUST* be in the form ${variable_name}
;
(source-library-search "${GEDADATA}/sym")

; font-directory string
; Specifies where the vector font definitions are stored.
; You should have read access to this directory and all the files inside
; the directory.
; All environment variables *MUST* be in the form ${variable_name}
;
(font-directory "${GEDADATA}/sym/font")


; scheme-directory string
; Specifies where the supporting scheme lives
; You should have read access to this directory and all the files inside
; the directory.
; All environment variables *MUST* be in the form ${variable_name}
;
(scheme-directory "${GEDADATA}/scheme")

;
; End of path related keywords
;


; 
; Init file for gschem
;

;  ;'s are comments
;  keywords are case sensitive (guile feature)
;  mode strings are case sensitive
;  colors are not case sensitive 
;  


; gschem-version string
;
; Specifies the version of this file.  This number is used to make sure 
; that the rc file is compatible with the version of gschem that is 
; being run. The end user should *not* change this value.
;
(gschem-version "20010722")

; Load up commonrc
;
; Contains all paths needed for all programs
(define gedarcdir "/opt/geda/share/gEDA")
(load (string-append gedarcdir "/system-commonrc"))

;
; Start of color related keywords
;

;
; Color index reference
;
; All valid X color names are valid (assuming you can allocate the colors)
; DO NOT change the index value of these colors, unless you understand what
; you are changing.

; BACKGROUND_COLOR                0
; PIN_COLOR                       1
; NET_ENDPOINT_COLOR              2
; GRAPHIC_COLOR                   3
; NET_COLOR                       4
; ATTRIBUTE_COLOR                 5
; LOGIC_BUBBLE_COLOR              6
; GRID_COLOR                      7
; DETACHED_ATTRIBUTE_COLOR        8
; TEXT_COLOR                      9
; BUS_COLOR                       10
; SELECT_COLOR                    11
; BOUNDINGBOX_COLOR               12
; ZOOM_BOX_COLOR                  13
; STROKE_COLOR                    14
; LOCK_COLOR    	          15
; OUTPUT_BACKGROUND_COLOR         16
; Freestyle colors		  17-20
;
; OVERRIDE_NET_COLOR              4
; OVERRIDE_PIN_COLOR              1
; OVERRIDE_BUS_COLOR              10

;
; In all of the color modes: 
; 	the first string is the actual color name
;	the second string is the outline color name 
; 	the third string is the postscript color name
; 	and the final 3 integers are the RGB values for PNG image files
;

; background-color index color_name outline_color ps_color_string 
;                  int_red int_green int_blue 
; Set the default background color.  
; DO NOT change the value of the index (first number)
;
(background-color 0 "black" "null" "null" -1 -1 -1)

; pin-color index color_name outline_color ps_color_string 
;           int_red int_green int_blue 
; Set the color of any new pins (does not effect existing pins).
; To change existing pins use the override-pin-color
; DO NOT change the value of the index (first number)
;
(pin-color 1 "white" "grey" "1 1 1" 255 255 255)

; net-endpoint-color index color_name outline_color ps_color_string 
;                    int_red int_green int_blue 
; Set the default net endpoint color.  
; DO NOT change the value of the index (first number)
;
(net-endpoint-color 2 "red" "red3" "1 0 0" 255 0 0)

; graphic-color index color_name outline_color ps_color_string 
;               int_red int_green int_blue 
; Set the default graphics color.  All new Lines, Boxes, Circles, and Arcs 
; are effected by this keyword.  Existing graphic objects are not effected 
; by this keyword.  
; DO NOT change the value of the index (first number)
; 
(graphic-color 3 "green" "green3" "0 1 0" 0 255 0)

; net-color index color_name outline_color ps_color_string 
;           int_red int_green int_blue 
; Set the color of any new nets (does not effect existing nets).
; To change existing nets use the override-net-color 
; DO NOT change the value of the index (first number)
;
(net-color 4 "blue" "blue3" "0 0 1" 0 0 255)

; attribute-color index color_name outline_color ps_color_string 
;                 int_red int_green int_blue 
; Set the color of attributes.  Attributes are any object associated with 
; another with the 'Attach Attribute' command.  
; DO NOT change the value of the index (first number)
;
(attribute-color 5 "yellow" "yellow3" "1 1 0" 255 255 0)

; logic-bubble-color index color_name outline_color ps_color_string 
;                    int_red int_green int_blue 
; Set the color of logic bubbles / circles.  
; DO NOT change the value of the index (first number)
;
(logic-bubble-color 6 "cyan" "cyan3" "0 1 1" 0 255 255)

; grid-color index color_name outline_color ps_color_string 
;            int_red int_green int_blue 
; Set the default grid color.  
; DO NOT change the value of the index (first number)
;
(grid-color 7 "grey" "null" "null" -1 -1 -1)

; detached-attribute-color index color_name outline_color ps_color_string 
;                          int_red int_green int_blue 
; Set the color of detached attributes.  Detached attributes are just 
; text items which were attributes at one time.  Detached attributes 
; are created in conjunction with the 'Detach Attribute' command.  
; DO NOT change the value of the index (first number)
;
(detached-attribute-color 8 "red" "red3" "1 0 0" 255 0 0)

; text-color index color_name outline_color ps_color_string 
;            int_red int_green int_blue 
; Set the color of any new text (does not effect attributes, see below).
; Existing graphic objects are not effected by this keyword.  
; DO NOT change the value of the index (first number)
;
(text-color 9 "green" "green3" "0 1 0" 0 255 0)

; bus-color index color_name outline_color ps_color_string 
;           int_red int_green int_blue 
; Set the color of any new buses (does not effect existing buses).
; To change existing buses use the override-bus-color 
; DO NOT change the value of the index (first number)
;
(bus-color 10 "green" "green3" "0 1 0" 0 255 0)

; select-color index color_name outline_color ps_color_string 
;              int_red int_green int_blue 
; Set the default selection color.  This include the bounding box in window
; selects and when objects are selected.  
; DO NOT change the value of the index (first number)
;
(select-color 11 "orange" "null" "null" -1 -1 -1)

; boundingbox-color index color_name outline_color ps_color_string 
;                   int_red int_green int_blue 
; Set the default bounding box color.  The bounding box color is displayed 
; whenever you request that actions (move/copy/place) use a bounding box 
; instead of the default outline.  
; DO NOT change the value of the index (first number)
; 
(boundingbox-color 12 "orange" "null" "null" -1 -1 -1)

; zoom-box-color index color_name outline_color ps_color_string 
;                int_red int_green int_blue 
; Set the default zoom box color.  The zoom box color is displayed 
; whenever you use the zoom window / box option. 
; DO NOT change the value of the index (first number)
; 
(zoom-box-color 13 "cyan" "null" "null" -1 -1 -1)

; stroke-color index color_name outline_color ps_color_string 
;              int_red int_green int_blue 
; Set the default stroke color which is displayed when you draw a stroke.
; Basically this color specifies what the mouse droppings color
; DO NOT change the value of the index (first number)
;
(stroke-color 14 "grey90" "null" "null" -1 -1 -1)

; lock-color index color_name outline_color ps_color_string 
;            int_red int_green int_blue 
; Set the default lock color which is used when you lock an object down
; DO NOT change the value of the index (first number)
;
(lock-color 15 "grey" "darkgrey" ".75 .75 .75" 190 190 190)

; output-color-background index color_name outline_color ps_color_string 
;                         int_red int_green int_blue 
; Specifies the color of the background of the output (color postscript file)
; 	- string is one of the valid colors
; 	- Only used if ouput-color is "enabled" (see above)
; DO NOT change the value of the index (first number)
;
(output-color-background 16 "black" "null" "0 0 0" 0 0 0)
;(output-color-background 16 "white" "null" "1 1 1" 255 255 255)

; override-net-color index color_name outline_color ps_color_string 
;                    int_red int_green int_blue 
; Override the color of ALL nets
; New net color will be applied to all nets in any file which is opened and
; then saved. Comment out if you don't want to override the net color.
; DO NOT change the value of the index (first number)
; 
;(override-net-color 4 "blue" "blue3" "0 0 1" 0 0 255)

; override-pin-color index color_name outline_color ps_color_string 
;                    int_red int_green int_blue 
; Override the color of ALL pins
; New pin color will be applied to all pin in any file which is opened and
; then saved.  Comment out if you don't want to override the pin color.
; DO NOT change the value of the index (first number)
;
;(override-pin-color 1 "white" "grey" "1 1 1" 255 255 255)

; override-bus-color index color_name outline_color ps_color_string 
;                    int_red int_green int_blue 
; Override the color of ALL buses
; New net color will be applied to all buses in any file which is opened and
; then saved. Comment out if you don't want to override the bus color.
; DO NOT change the value of the index (first number)
; 
;(override-bus-color 10 "green" "green3" "0 1 0" 0 255 0)

; freestyle-color index color_name outline_color ps_color_string 
;            int_red int_green int_blue 
; Set a freestyle color which can be used in whatever context you want.
; However, care should be taken with this facility since users might 
; change this colors at will.
;
;(freestyle-color 17 "color_name" "dark_color_name" "0.0 0.0 0.0" 0 0 0)
;(freestyle-color 18 "color_name" "dark_color_name" "0.0 0.0 0.0" 0 0 0)
;(freestyle-color 19 "color_name" "dark_color_name" "0.0 0.0 0.0" 0 0 0)
;(freestyle-color 20 "color_name" "dark_color_name" "0.0 0.0 0.0" 0 0 0)

;
; End of color related keywords
;

;
; Start of mode related keywords
;

; undo-control string
;
; Controls if the undo is enabled or not
;
(undo-control "enabled")
;(undo-control "disabled")

; undo-levels number
;
; Determines the number of levels of undo.  Basically this number decides 
; how many backup schematics are saved on disk.
;
(undo-levels 10)

; undo-type string
;
; Controls which kind of undo is used.  The default is to use the disk as 
; the storing medium (ie after every action the undo information is stored
; to disk).  The other mechanism uses only memory.  The disk mechanism is
; nice because you get undo-level number of backups of the schematic written
; to disk as backups so you should never lose a schematic due to a crash.
;
(undo-type "disk")
;(undo-type "memory")

; draw-grips string
;
; Controls if the editing grips are drawn when selecting objects
;
(draw-grips "enabled")
;(draw-grips "disabled")

; net-endpoint-mode string
;
; Not user changable.
(net-endpoint-mode "filledbox")

;  net-midpoint-mode string
;
; Not user changable.
(net-midpoint-mode "filled")

;  net-consolidate string
;
;  Controls if the net consolidation code is used when schematics are read
;  in, written to disk, and when nets are being drawn (does not consolidate
;  when things are being copied or moved yet).  Net consolidation is the 
;  connection of nets which can be combined into one.
;  Comment out if you want the default mode 
;
(net-consolidate "enabled")
;(net-consolidate "disabled")

;  net-style string
;
;  Set to thin if you want thin nets.
;  Set to thick if you want thick nets.
;  This mode also determines what net style gets printed
;
;(net-style "thin")
(net-style "thick")

; netconn-rubberband string
;
; Controls if net connections are maintained when you move a connecting 
; component or net.   
;
(netconn-rubberband "enabled")
;(netconn-rubberband "disabled")

;  bus-style string
;
;  Set to thin if you want thin buses.
;  Set to thick if you want thick buses.
;  This mode also determines what bus style gets printed
;
;(bus-style "thin")
(bus-style "thick")

; pin-style string
;
; Set to thin if you want thin pins
; Set to thick if you want thick pins.
; This mode also determines what pin style gets printed
;
;(pin-style "thin")
(pin-style "thick")

; zoom-with-pan string
;
; Sets the zoom in and zoom out functions to pan the display and then zoom.
; Basically zoom in / out where the mouse pointer sits on the display.
; Comment out if you want the default mode.
;
(zoom-with-pan "enabled")
;(zoom-with-pan "disabled")

; fast-mousepan string
;
; Controls if text is drawn properly or if a simplified version (a line which
; represents the text string) is drawn during mouse pan.  Drawing a simple
; line speeds up mousepan a lot for big schematics
(fast-mousepan "enabled")
;(fast-mousepan "disabled")

; action-feedback-mode string
;
; Set the default action feedback mode (for copy/move/component place).
; Set to outline to get an outline of the selection. 
; Set to boundingbox to get a bounding box of the selection. 
; For a fast machines with fast video use outline (it looks good).
; For a slow machine use boundingbox; it is much faster.
; Comment out if you want the default mode.
;
(action-feedback-mode "outline")
;(action-feedback-mode "boundingbox")

; continue-component-place string
;
; If this enabled then multiple instances of the same component can be placed
; immediately without having to click on the name or Apply in the Component
; Place... dialog box.  If this is disabled then only one component can be
; placed (the user must then press Apply in the dialog box to place multiple
; instances of the same component)
;
(continue-component-place "enabled")
;(continue-component-place "disabled")

; sort-components-library string
;
; If this is enabled, then the component library will be sorted in alpha
; order.  Enabling this will hide the search order for components, keep
; that in mind.
;
(sort-component-library "disabled")
;(sort-component-library "enabled")

; text-feedback string
;
; Controls if text is drawn when doing an xor action (like copy/move)
; Comment out if you want the default mode.
; Not in production yet.
;
(text-feedback "only-when-readable")
;(text-feedback "always")

; text-display-zoomfactor number
;
; Sets the zoomfactor number (~150 being the most zoomed out factor) 
; (zoom factors get smaller as you zoom in) at which text is displayed
; completely (not a line).  This is only valid if above is set to
; "only-when-readable" 
;
(text-display-zoomfactor 30)

; text-origin-marker string
;
; Controls if the text origin markers are displayed (or not)
;
(text-origin-marker "enabled")
;(text-origin-marker "disabled")

; scrollbars string
;
; Controls if the scrollbars are displayed (enabled) or not (disabled)
;
(scrollbars "enabled")
;(scrollbars "disabled")

; scrollbar-update string
;
; Specifies the behavior of the scrollbars in the main window.
;    continuous - display is redrawn as you move the scrollbar
;    delayed - display is redrawn once you stop moving the scrollbar
; Default is continuous
;
(scrollbar-update "continuous")
;(scrollbar-update "delayed")

; raise-dialog-boxes-on-expose string
;
; Controls if dialog boxes are raised whenever an expose event happens
; Default is enabled
;
(raise-dialog-boxes-on-expose "enabled")
;(raise-dialog-boxes-on-expose "disabled")

; object-clipping string
;
; Determines if the object clipping code is executed or not
; This code does speed up redraws a bit.
;   Possible options: enabled or disabled
; Default is enabled, I do not recommend turning this off, since some X
; servers don't handle clipping correctly.
;
(object-clipping "enabled")
;(object-clipping "disabled")

; embed-components string
;
; Determines if the newly placed components are embedded in the schematic 
; or if only the filename is specified and the component is searched for 
; instead.  If it is enabled, then all new components will be embedded 
; othewise they are not embedded.  This can be controlled on the fly during
; runtime with the "Embed Component" checkbox on the select component dialog
; box
;
;(embed-components "enabled")
(embed-components "disabled")

; attribute-promotion string
;
; This keyword controls if attribute promotion occurs when you instanciate a
; component.  Attribute promotion basically means that any floating attribute
; (unattached) which is inside a symbol gets "promoted" or attached to the 
; newly inserted component.  This only occurs when the component is 
; instanciated.
;
(attribute-promotion "enabled")
;(attribute-promotion "disabled")

; promote-invisible string
;
; If attribute-promotion is enabled, then this controls if invisible floating
; attributes are promoted (attached to the outside of the attribute) if the 
; text string is invisible.  There are cases where it is undesirable, so the 
; default is disabled.
;
;(promote-invisible "enabled")
(promote-invisible "disabled")

; keep-invisible string
;
; If both attribute-promotion and promote-invisible are enabled, then this 
; controls if invisible floating attributes are kept around in memory and
; NOT deleted.  Having this enabled will keeps component slotting working.
; If attribute-promotion and promote-invisible are enabled and this
; keyword is disabled, then component slotting will NOT work (and maybe 
; other functions which depend on hidden attributes, since those attributes
; are deleted from memory).
;
;(keep-invisible "disabled")
(keep-invisible "enabled")

; logging string
;
; Determines if the logging mechanism is enabled or disabled
;   Possible options: enabled or disabled
; Default is enabled.
; See below for the logging-destination keyword for control over
; where the messages go.
;
(logging "enabled")
;(logging "disabled")


; log-window string
;
; Controls if the log message window is mapped when gschem is started up
; Possible options:
;       startup - opened up when gschem starts
;       later   - NOT opened up when gschem starts
;                 (can be opened by Options/Show Log Window)
;
(log-window "startup")
;(log-window "later")


; log-window-type string
;
; Controls if the log message window is a transient or if it is decorated 
; as a normal window (this is dependant on the window manager doing decoration
; right)
;
; Possible options:
;       decorated       - log window is a normal decorated window
;       transient       - log window is a transient dialog box, typically
;                         not decorated by the window manager
;
(log-window-type "decorated")
;(log-window-type "transient")


; logging-destination string
;
; Specifies where log message go during run time.
; Possible options are:
;      log_window      The log window (if it's visible)
;      tty             The stdout of the terminal where gschem was run from
;      both            Both of the above locations
; Message are always written to the log file (unless logging is disabled)
; by the above keyword
;
; Default is log_window
;
(logging-destination "log_window")
;(logging-destination "tty")
;(logging-destination "both")

; text-size number
;
; Sets the default text size.
;
(text-size 10)

; snap-size number
;
; Sets the default spacing which objects snap to.  This is not the grid 
; spacing (that's independent of this variable)
; 
(snap-size 100)

; text-caps-style string
;
; Sets the default caps style used for the input of text
; lower specifies that all inputed text is in lowercase
; upper specifies that all inputed text is in uppercase
; both specifies that all inputed text is used as is (no case conversion)
;
(text-caps-style "both")
;(text-caps-style "lower")
;(text-caps-style "upper")

;  file-preview string
;
;  Controls if the preview area in the File Open/Save As and Component 
;  dialog boxes is enabled by default or not
;
(file-preview "disabled")
;(file-preview "enabled")

;  enforce-hierarchy string
;
;  Controls if the movement between hierarchy levels (of the same underlying
;  schematics) is allowed or not.
;  If this is enabled, then the user cannot (without using the page manager)
;  move between hierarchy levels otherwise, if enabled, the user sees all
;  the hierarchy levels as being flat.
;
(enforce-hierarchy "enabled")
;(enforce-hierarchy "disabled")

;  default-series-name string
;
;  Specify the default series name (of new schematics)
;  Will probably be changed a runtime
;
(default-series-name "untitled")

; untitled-name string
;
; Specify the default untitled basename (usually only used a startup time)
; And typically not changed at runtime
;
(untitled-name "untitled")

; world-size width height border
;
; Specifies the size of the world and a border 
; Be sure all inputs are reals (floats/doubles) and don't try to reverse
; the values: to get a portrait mode.  Code to support that needs to be added
; The code that implements this automatically transforms the dimensions into
; the proper aspect ratio.  All units are in inches.
; This is not the paper size.  That is specified elsewhere.  End users should
; not change this at all
;
(world-size 120.0 90.0 1.0)
;(world-size 60.0 45.0 1.0)

; page-size width height 
;
; Specifies the size of the default paper size
; Be sure all inputs are reals (floats/doubles) and don't try to reverse
; the values: to get a portrait mode.  Code to support that needs to be added
; The code that implements this automatically transforms the dimensions into
; the proper aspect ratio.  All units are in inches. (use output-orientation
; to get portrait mode)
;
(paper-size 11.0 8.5) ; letter
;(paper-size 14.0 8.5) ; legal 
;(paper-size 8.5 5.5) ; statement
;(paper-size 17.0 11.0) ; tabloid
;(paper-size 11.0 17.0) ; ledger
;(paper-size 13.0 8.5) ; folio
;(paper-size 10.833 8.472) ; quarto 
;(paper-size 14 10) ; 10x14
;(paper-size 10.0 7.5) ; executive
;(paper-size 11.0 8.5) ; A
;(paper-size 17.0 11.0) ; B 
;(paper-size 22.0 17.0) ; C 
;(paper-size 34.0 22.0) ; D 
;(paper-size 44.0 34.0) ; E 
;(paper-size 46.81 33.11) ; A0 
;(paper-size 33.11 23.39) ; A1
;(paper-size 23.39 16.54) ; A2
;(paper-size 16.54 11.69) ; A3
;(paper-size 11.69 8.27) ; A4
;(paper-size 8.27 5.83) ; A5
;(paper-size 5.83 4.13) ; A6
;(paper-size 4.13 2.91) ; A7 
;(paper-size 2.91 2.05) ; A8
;(paper-size 2.05 1.46) ; A9 
;(paper-size 1.46 1.02) ; A10
;(paper-size 1.02 0.71) ; A11
;(paper-size 0.71 0.51) ; A12

; paper-sizes string width height
;
; Specifies which paper sizes are available for printing.
; The width and height parameters are in the order for landscape printing,
; so reversing them for portrait won't work just yet. (and that will be 
; implemented differently. 
; The default paper size is set above.  All units are in inches (forgiveness
; please).
;
; You MUST change this list in this file (gschem-systemrc) if you want
; any reordering changes to take effect.
;
(paper-sizes "Letter : 8.5 in x 11 in" 11.0 8.5)
(paper-sizes "Legal : 8.5 in x 14 in" 14.0 8.5)
(paper-sizes "Statement : 5.5 in x 8.5 in" 8.5 5.5)
(paper-sizes "Tabloid : 11 in x 17 in" 17.0 11.0) 
(paper-sizes "Ledger : 17 in x 11 in" 11.0 17.0) 
(paper-sizes "Folio : 8.5 in x 13 in" 13.0 8.5) 
(paper-sizes "Quarto : 8.472 in x 10.833 in" 10.833 8.472) 
(paper-sizes "10x14 : 10 in x 14 in " 14.0 10.0) 
(paper-sizes "Executive : 7.5 x 10" 10.0 7.5) 
(paper-sizes "A : 8.5 in x 11 in" 11.0 8.5)
(paper-sizes "B : 11 in x 17 in" 17.0 11.0)
(paper-sizes "C : 17 in x 22 in" 22.0 17.0)
(paper-sizes "D : 22 in x 34 in" 34.0 22.0)
(paper-sizes "E : 34 in x 44 in" 44.0 34.0)
(paper-sizes "A0  84.10 cm x 118.90 cm" 46.81 33.11)
(paper-sizes "A1  59.40 cm x 84.10 cm" 33.11 23.39)
(paper-sizes "A2  42.00 cm x 59.40 cm" 23.39 16.54)
(paper-sizes "A3  29.70 cm x 42.00 cm" 16.54 11.69)
(paper-sizes "A4  21.00 cm x 29.70 cm" 11.69 8.27)
(paper-sizes "A5  14.80 cm x 21.00 cm" 8.27 5.83)
(paper-sizes "A6  10.50 cm x 14.80 cm" 5.83 4.13)
(paper-sizes "A7  7.40 cm x 10.50 cm" 4.13 2.91)
(paper-sizes "A8  5.20 cm x 7.40 cm" 2.91 2.05)
(paper-sizes "A9  3.70 cm x 5.20 cm" 2.05 1.46)
(paper-sizes "A10 2.60 cm x 3.70 cm" 1.46 1.02)
(paper-sizes "A11 1.80 cm x 2.60 cm" 1.02 0.71)
(paper-sizes "A12 1.30 cm x 1.80 cm" 0.71 0.51)

; output-text string
;
; Controls how text is rendered to postscript
; 	vector - the displayed vector font is rendered to the postscript file
; 	ps     - an equivalent postscript font is rendered to the ps file
; vector rendering is *exactly* as the display is shown 
; ps is close, but not perfect (yet) (ps rendering does NOT render 180 degree
; rotated text correctly yet)
; Also vector rendered text files are much much larger then ps files.
; 
;(output-text "vector")
(output-text "ps")

; output-type string
;
; Controls what is actually printed
;	string is either "current window" or "limits"
;
(output-type "limits")
;(output-type "current window")

; output-orientation string
;
; Controls which way the output page is layed out (landscape or portrait)
;
;(output-orientation "portrait")
(output-orientation "landscape")

; output-color string
;
; Controls if output (postscript) is color (enabled) or black/white (disabled)
;
(output-color "disabled")
;(output-color "enabled")


; output-capstyle string
;
; Controls the capstyle at the end of lines in the postscript output
;
(output-capstyle "square")
;(output-capstyle "round")
;(output-capstyle "butt")

; image-color string
;
; Controls if image (gif) is color (enabled) or black/white (disabled)
;
(image-color "enabled")
;(image-color "disabled")

; middle-button string
;
; Controls if the middle mouse button draws strokes, repeats the last 
; command, or does an action (move and copy (holding down the ALT key) 
; are supported) on a single objects.
;
(middle-button "action")
;(middle-button "stroke")
;(middle-button "repeat")

; third-button string
;
; Controls if the third mouse button performs the popup ("popup") or 
; if it does the mouse panning ("mousepan")
;
(third-button "popup")
;(third-button "mousepan")

;
; End of mode related keywords
;


;
; Start of hooks
;

;
; Comment in this scheme code if you want automatic numbering when
; placing new component and copying components
;
;(load (string-append geda-data "/scheme/auto-uref.scm"))
;(add-hook! add-component-hook auto-uref)
;(add-hook! copy-component-hook auto-uref)

;
; End of hooks
;

;
; Start of path related keywords
;

; attribute-name string
;
; Specifies the default attributes which are presented to the user in the
; "Add Attribute" dialog box.
; The main purpose of this keyword is to allow the user to add any attributes
; which should be in this dialog box.
; Some of these names are specific for symbols while others are for general
; components or nets.  The attribute names are case sensitive. (change this?)
;
; The order of the attribute-name keywords determines the order they
; are displayed.
;
(attribute-name "label")
(attribute-name "uref")
(attribute-name "slot")
(attribute-name "value")
(attribute-name "net")
(attribute-name "device")
(attribute-name "pin#")
(attribute-name "pintype")
(attribute-name "source")
(attribute-name "numslots")
(attribute-name "slot#")
(attribute-name "graphical")
(attribute-name "footprint")
(attribute-name "name")

;
; End of path related keywords
;

;
; Start of stroke related keywords
;

;
; This section defines associations between a stroke sequence and a 
; guile function which is executed when the stroke is drawn in the
; gschem window
;
; Strokes are defined as follows: 
;
; 1  2  3
;
; 4  5  6
;
; 7  8  9
;
; The sequence of number such as "852" specify how the stroke is drawn.
; Sequence "852" happens to be a vertical line drawn from the bottom going 
; up.
;
; Please see the libstroke documentation for further information on the 
; stroke description.  
;
; For the most part I went a little overboard on the stroke defs, you 
; probably can get away with many less stroke defs, but I'm a very 
; sloppy stroke drawing person. :-)  Guess my teachers were always 
; right-- my handwritting was/is awful.
;
; Be careful here, strokes is a rather large list, and make sure you maintain
; proper ( and )'s.
; 

(define strokes
; Letter L for line
  '(("14789" . add-line)

; Letter Z for zoom window
("125789" . view-zoom-box)
("1254789" . view-zoom-box)
("1235789" . view-zoom-box)
("2354789" .view-zoom-box)
("2324789" . view-zoom-box)
("12354789" . view-zoom-box)
("12324789" . view-zoom-box)
("12365789" . view-zoom-box)
("1232789" . view-zoom-box)

; line up for zoom out
("852" . view-zoom-out)
; line down for zoom in
("258" . view-zoom-in)

; Letter C for copy
("3214789" . edit-copy)
("214789" . edit-copy)
("21489" . edit-copy)
("32478" . edit-copy)

; Letter E for edit
("563214789" . edit-edit)
("53214789" . edit-edit)
("5321478" . edit-edit)
("5214789" . edit-edit)
("521478" . edit-edit)
("453214789" . edit-edit)
("45321478" . edit-edit)
("456321478" . edit-edit)
("456214789" . edit-edit)
("45621478" . edit-edit)

; Letter N for net
("415963" . add-net)
("7414863" . add-net)
("74148963" . add-net)
("74158963" . add-net)
("7415963" .  add-net)


; Letter M for move
("741236963" . edit-move)
("7412572369" . edit-move)
("7412575369" . edit-move)
("741258369" . edit-move)
("74125852369" . edit-move)
("7412585369" . edit-move)
("74125863" . edit-move)
("74126963" . edit-move)
("741475369" . edit-move)
("7414785369" . edit-move)
("74148369" . edit-move)
("7414852369" . edit-move)
("741485369" . edit-move)
("74148669" . edit-move)
("741552369" . edit-move)
("741575369" . edit-move)
("7415852369" . edit-move)
("741585369" . edit-move)
("74185369" . edit-move)
("74255369" . edit-move)
("7425852369" . edit-move)
("742585369" . edit-move)
("7426963" . edit-move)
("74585369" . edit-move)

; Letter D for delete
("14786321" . edit-delete)
("14789621" . edit-delete)
("147896321" . edit-delete)
("15896321" . edit-delete)
("257896321" . edit-delete)
("25896321" . edit-delete)
("4789621" . edit-delete)

; Letter S for select
("2145987" . edit-select )
("215987" . edit-select )
("2156987" . edit-select )
("21256987" . edit-select )
("3215987" . edit-select )
("32156987" . edit-select )
("32148987" . edit-select )
("32145987" . edit-select )))

;
; End of stroke related keywords
;

;
; Start of keymapping related keywords
;

; Keymapping rules:
;
;	- Everything is case sensitive
; 	- For a         --  "a"
; 	- For Shift-A   --  "Shift A"
; 	- For Control-a --  "Control a"
; 	- For Alt-a     --  "Alt a"
; 	- At this point in time you can only have one modifier 
;	  (shift, control, alt) at a time.
; 	- Keys must be unique in each keymap, especially the global one
;	- Strings (without any modifers) are the same strings specified
; 	  for the keys in the file /usr/lib/X11/XKeysymDB (at least on 
; 	  a linux box)
;

; All keys in this keymap *must* be unique
(define file-keymap
  '(("w" . file-new-window)
    ("n" . file-new)
    ("o" . file-open)
    ("s" . file-save)
    ("e" . page-close)   ; yes this is okay; reusing page-close 
    ("a" . file-save-as)
    ("l" . file-save-all)
    ("p" . file-print)
    ("r" . page-revert)  ; yes this is okay; resuing page-revert
    ("i" . file-image)
    ("t" . file-script)
    ("c" . file-close-window)
    ("q" . file-quit)))

; All keys in this keymap *must* be unique
(define edit-keymap
  '(("Shift U" . edit-undo)
    ("Shift R" . edit-redo)
    ("s" . edit-select)
    ("c" . edit-copy-hotkey)    ; This can also just be edit-copy and then
    ("e" . edit-edit)           ; you must pick the anchor point
    ("x" . edit-text)           
    ("m" . edit-move-hotkey)    ; This can also just be edit-move 
    ("d" . edit-delete)
    ("r" . edit-rotate-90-hotkey)
    ("i" . edit-mirror-hotkey)
    ("Shift S" . edit-slot)
    ("o" . edit-color)
    ("l" . edit-lock)
    ("Shift L" . edit-unlock)
    ("w" . edit-linetype)
    ("f" . edit-filltype)
    ("t" . edit-translate)
    ("b" . edit-embed)
    ("u" . edit-unembed)
    ("n" . edit-show-hidden)))


;;;    ("h" . edit-stretch-hotkey)  Obsolete

; All keys in this keymap *must* be unique
(define view-keymap
  '(("r" . view-redraw)
    ("b" . view-zoom-box-hotkey)
    ("f" . view-zoom-full)
    ("l" . view-zoom-extents)
    ("e" . view-zoom-extents)
    ("p" . view-pan-hotkey)
    ("u" . view-update-cues)
    ("o" . view-zoom-out-hotkey)
    ("i" . view-zoom-in-hotkey)))

(define buffer-keymap
  '(("c" . buffer-copy1)
    ("u" . buffer-cut1)
    ("p" . buffer-paste1-hotkey)))

; All keys in this keymap *must* be unique
(define page-keymap
  '(("m" . page-manager)
    ("n" . page-next)
    ("p" . page-prev)
    ("e" . page-new)
    ("r" . page-revert)
    ("c" . page-close)
    ("d" . page-discard)
    ("Shift P" . page-print)))

; All keys in this keymap *must* be unique
(define add-keymap
  '(("c" . add-component)
    ("a" . add-attribute-hotkey)
    ("n" . add-net-hotkey)
    ("u" . add-bus-hotkey)
    ("t" . add-text)
    ("l" . add-line-hotkey)
    ("b" . add-box-hotkey)
    ("i" . add-circle-hotkey)
    ("r" . add-arc-hotkey)
    ("p" . add-pin-hotkey)))

; All keys in this keymap *must* be unique
(define hierarchy-keymap
  '(("d" . hierarchy-down-schematic)
    ("s" . hierarchy-down-symbol)
    ("u" . hierarchy-up)))

; All keys in this keymap *must* be unique
(define attributes-keymap
  '(("a" . attributes-attach)
    ("d" . attributes-detach)
    ("n" . attributes-show-name)
    ("v" . attributes-show-value)
    ("b" . attributes-show-both)
    ("t" . attributes-visibility-toggle)))

; All keys in this keymap *must* be unique
(define options-keymap
  '(("t" . options-text-size)
    ("a" . options-action-feedback)
    ("g" . options-grid)
    ("s" . options-snap)
    ("r" . options-rubberband)
    ("Shift S" . options-snap-size)
    ("l" . options-show-log-window)
    ("c" . options-show-coord-window)))

; All keys in this keymap *must* be unique
(define help-keymap
  '(("a" . help-about)
    ("h" . help-hotkeys)))

; All keys in the global-keymap *must* be unique
(define global-keymap
  '(("Escape" . cancel)
    ("a" . add-keymap)
    ("b" . add-box-hotkey)
    ("c" . edit-copy-hotkey)
    ("d" . edit-delete)
    ("e" . edit-keymap)
    ("f" . file-keymap)
    ("g" . no-action)
    ("h" . help-keymap)
    ("i" . add-component)
    ("j" . no-action)
    ("k" . no-action)
    ("l" . add-line-hotkey) 
    ("m" . edit-move-hotkey)
    ("n" . add-net-hotkey)
    ("o" . options-keymap)
    ("p" . page-keymap)
    ("q" . no-action)
    ("r" . view-redraw)
    ("s" . edit-select)
    ("t" . attributes-keymap)
    ("u" . add-bus-hotkey)
    ("v" . view-keymap)
    ("w" . view-zoom-box-hotkey)
    ("x" . view-pan-hotkey)
    ("y" . buffer-keymap)
    ("z" . view-zoom-in-hotkey)
    ("period" . repeat-last-command)
    ("comma" . misc-misc)
    ("equal" . misc-misc2)
    ("Shift plus" . misc-misc3)
    ("Delete" . edit-delete)
    ("Shift greater" . page-next)
    ("Shift less" . page-prev)
    ("Alt q" . file-quit)
    ("Shift H" . hierarchy-keymap)
    ("Shift U" . edit-undo)
    ("Shift R" . edit-redo)
    ("Shift Z" . view-zoom-out-hotkey)))

; finally set the keymap point to the newly created datastructure 
(define current-keymap global-keymap)

;
; Here are the definitions for the top pull down menu bar
;
; The "menu item name" is the name of the item as it will appear in the menu
; The "menu action" is the scheme function which is executed when the item
; is selected off of the menu.  And "menu hotkey function" is the scheme
; function which is executed when the hotkey is pressed.  
; "menu hotkey function" has no real functionality in the menuing scheme other
; than providing the information as to what hotkey to display in the menu.
; "menu hotkey function" is not executed when you select an item off of the
; list.  The hotkeys which are displayed are defined by the global-keymap.
; Actions can have several hotkeys, but the displayed keys are the last
; ones found.
;
; The SEPARATOR keyword is case sensitive and puts a seperator into the menu.
;

(define file-menu-items 
;;
;;          menu item name      menu action     	menu hotkey function
;;
	'( ("New Window"  	file-new-window 	file-new-window) 
	   ("New Page"		file-new 		file-new)
	   ("Open Page..." 	file-open 		file-open)
	   ("Close Page" 	page-close 		page-close)
	   ("Revert Page" 	page-revert 		page-revert)
	   ("Save Page" 	file-save 		file-save)
	   ("Save Page As..." 	file-save-as 		file-save-as)
	   ("Save All" 		file-save-all 		file-save-all)
	   ("Print..." 		file-print 		file-print)
	   ("Write PNG..." 	file-image 		file-image)
	   ("SEPARATOR"         no-action 		no-action)
	   ("Execute Script..." file-script 		file-script)
	   ("SEPARATOR"         no-action 		no-action)
	   ("Close Window"   	file-close-window 	file-close-window)
	   ("Quit" 		file-quit 		file-quit)))

(define edit-menu-items 
;;
;;          menu item name      menu action     	menu hotkey action
;;
	'( ("Undo"		edit-undo       	edit-undo)
           ("Redo"              edit-redo       	edit-redo)
	   ("SEPARATOR"         no-action       	no-action)
           ("Select Mode"       edit-select     	edit-select)
           ("Edit..."		edit-edit       	edit-edit)
           ("Edit Text..."	edit-text       	edit-text)
           ("Copy Mode"		edit-copy       	edit-copy-hotkey)
           ("Move Mode"		edit-move       	edit-move-hotkey)
           ("Delete"		edit-delete     	edit-delete)
           ("Rotate 90 Mode"	edit-rotate-90  	edit-rotate-90-hotkey)
           ("Mirror Mode"	edit-mirror     	edit-mirror-hotkey)
	   ("SEPARATOR"		no-action		no-action)
	   ("Slot..."           edit-slot               edit-slot)
 	   ("Color..."          edit-color              edit-color)
       	   ("Lock"              edit-lock               edit-lock)
           ("Unlock"            edit-unlock             edit-unlock)
           ("Line Width & Type..." edit-linetype        edit-linetype)
           ("Fill Type..."      edit-filltype           edit-filltype)
           ("Symbol Translate..." edit-translate        edit-translate)
           ("Embed Component"   edit-embed              edit-embed)
           ("Unembed Componnent" edit-unembed           edit-unembed)
	   ("Show Hidden Text"	edit-show-hidden 	edit-show-hidden)))

(define buffer-menu-items 
;;
;;          menu item name      menu action     	menu hotkey action
;;
	'( ("Copy into 1"	buffer-copy1       	buffer-copy1)
	   ("Copy into 2"	buffer-copy2       	buffer-copy2)
	   ("Copy into 3"	buffer-copy3       	buffer-copy3)
	   ("Copy into 4"	buffer-copy4       	buffer-copy4)
	   ("Copy into 5"	buffer-copy5       	buffer-copy5)
	   ("Cut into 1"	buffer-cut1       	buffer-cut1)
	   ("Cut into 2"	buffer-cut2       	buffer-cut2)
	   ("Cut into 3"	buffer-cut3       	buffer-cut3)
	   ("Cut into 4"	buffer-cut4       	buffer-cut4)
	   ("Cut into 5"	buffer-cut5       	buffer-cut5)
	   ("Paste from 1"	buffer-paste1       	buffer-paste1-hotkey)
	   ("Paste from 2"	buffer-paste2       	buffer-paste2-hotkey)
	   ("Paste from 3"	buffer-paste3       	buffer-paste3-hotkey)
	   ("Paste from 4"	buffer-paste4       	buffer-paste4-hotkey)
	   ("Paste from 5"	buffer-paste5       	buffer-paste5-hotkey)))

(define view-menu-items 
;;
;;          menu item name      menu action     	menu hotkey action
;;
	'( ("Redraw"		view-redraw       	view-redraw)
	   ("Pan"		view-pan	       	view-pan-hotkey)
	   ("Zoom Box"		view-zoom-box	       	view-zoom-box-hotkey)
	   ("Zoom Extents"	view-zoom-extents	view-zoom-extents)
	   ("Zoom In"		view-zoom-in		view-zoom-in-hotkey)
	   ("Zoom Out"		view-zoom-out		view-zoom-out-hotkey)
	   ("Zoom Full"		view-zoom-full		view-zoom-full)))

(define page-menu-items 
;;
;;          menu item name      menu action     	menu hotkey action
;;
	'( ("Manager..."	page-manager       	page-manager)
	   ("Next"		page-next       	page-next)
	   ("Previous"		page-prev       	page-prev)
	   ("New"		page-new       		page-new)
	   ("Revert"		page-revert       	page-revert)
	   ("Close"		page-close       	page-close)
	   ("SEPARATOR"		no-action		no-action)
	   ("Discard"		page-discard       	page-discard)))

(define add-menu-items 
;;
;;          menu item name      menu action     	menu hotkey action
;;
	'( ("Component..."	add-component       	add-component)
	   ("Net"		add-net	  	     	add-net-hotkey)
	   ("Bus"		add-bus	  	     	add-bus-hotkey)
	   ("Attribute..."	add-attribute  	     	add-attribute-hotkey)
	   ("Text..."		add-text  	     	add-text)
	   ("SEPARATOR"		no-action		no-action)
	   ("Line"		add-line  	     	add-line-hotkey)
	   ("Box"		add-box  	     	add-box-hotkey)
	   ("Circle"		add-circle  	     	add-circle-hotkey)
	   ("Arc"		add-arc  	     	add-arc-hotkey)
	   ("Pin"		add-pin  	     	add-pin-hotkey)))

(define hierarchy-menu-items 
;;
;;          menu item name      menu action     	menu hotkey action
;;
	'( ("Down Schematic"	hierarchy-down-schematic 
				hierarchy-down-schematic)
	   ("Down Symbol"	hierarchy-down-symbol 
				hierarchy-down-symbol)
	   ("Up"		hierarchy-up
				hierarchy-up)))

(define attributes-menu-items 
;;
;;          menu item name      menu action     	menu hotkey action
;;
	'( ("Attach"		attributes-attach       attributes-attach)
	   ("Deattach"		attributes-detach       attributes-detach)
	   ("Show Value"	attributes-show-value   attributes-show-value)
	   ("Show Name"		attributes-show-name    attributes-show-name)
	   ("Show Both"		attributes-show-both    attributes-show-both)
	   ("Toggle Visibility"	attributes-visibility-toggle    
				attributes-visibility-toggle)))

(define options-menu-items 
;;
;;          menu item name      menu action     	menu hotkey action
;;
	'( ("Text Size..."	options-text-size       options-text-size)
	   ("Toggle Grid On/Off" options-grid       	options-grid)
	   ("Toggle Snap On/Off" options-snap       	options-snap)
	   ("Snap Grid Spacing..." options-snap-size   	options-snap-size)
	   ("Toggle Outline/Box"   options-action-feedback   	
				   options-action-feedback)
	   ("Toggle Net Rubberband" options-rubberband   options-rubberband)
	   ("Show Log Window..."    options-show-log-window   
	 			    options-show-log-window)
	   ("Show Coord Window..."   options-show-coord-window   
				     options-show-coord-window)))

(define help-menu-items 
;;
;;          menu item name      menu action     	menu hotkey action
;;
	'( ("About..."		help-about      	help-about)
	   ("Hotkeys..."	help-hotkeys      	help-hotkeys)))

;
; Now actually add the menus.  The order here defines the order in which
; the menus appear in the top menu bar.
;
(add-menu "File" file-menu-items)
(add-menu "Edit" edit-menu-items)
(add-menu "Buffer" buffer-menu-items)
(add-menu "View" view-menu-items)
(add-menu "Page" page-menu-items)
(add-menu "Add" add-menu-items)
(add-menu "Hierarchy" hierarchy-menu-items)
(add-menu "Attributes" attributes-menu-items)
(add-menu "Options" options-menu-items)
(add-menu "Help" help-menu-items)   ; help is special it will be on the right

;
; End of keymapping related keywords
;