Move internationalization macros to one header
[geda-pcb/gde.git] / src / gpcb-menu.res
blob1511e09cb1027623fafb15d8186045c78295f79b
1 # -*- c -*-
2 # Note - gpcb-menu.res is used to build gpcb-menu.h
3 # Note - parameters are sensitive to extra spaces around the commas
5 Mouse =
7   Left = {
8     Mode(Notify)
9     ctrl = { Mode(Save) Mode(None) Mode(Restore) Mode(Notify) }
10     shift-ctrl = { Mode(Save) Mode(Remove) Mode(Notify) Mode(Restore) }
11     up = Mode(Release)
12   }
13   Right = {
14     Pan(1)
15     up = Pan(0)
16     shift = Popup(Popup1)
17     ctrl = Display(CycleCrosshair)
18   }
19   Middle = {
20     Mode(Stroke)
21     up = Mode(Release)
22     ctrl = { Mode(Save) Mode(Copy) Mode(Notify) }
23     up-ctrl = { Mode(Notify) Mode(Restore) }
24     shift-ctrl = { Display(ToggleRubberbandMode) Mode(Save) Mode(Move) Mode(Notify) }
25     up-shift-ctrl = { Mode(Notify) Mode(Restore) Display(ToggleRubberbandMode) }
26   }
27   Up = {
28     Zoom(0.8)
29     shift = Scroll(up)
30     ctrl = Scroll(left)
31   }
32   Down = {
33     Zoom(1.25)
34     shift = Scroll(down)
35     ctrl = Scroll(right)
36   }
37 # If you want zoom to center, do this instead.
38   #Up = { {Zoom(0.8) Center()} }
39   #Down = { {Zoom(1.25) Center()} }
42 MainMenu =
46 # File Menu
49   {File
50    {"Save layout" Save(Layout) tip="Saves current layout"}
51    {"Save layout as..." Save(LayoutAs) tip="Saves current layout into a new file"}
52    -
53    {"Revert" Load(Revert,none) tip="Revert to the layout stored on disk"}
54    -
55    {"Import Schematics" Import() }
56    {"Load layout" Load(Layout) tip="Load a layout from a file"}
57    {"Load element data to paste-buffer" PasteBuffer(Clear) Load(ElementTobuffer)}
58    {"Load layout data to paste-buffer" PasteBuffer(Clear) Load(LayoutTobuffer)}
59    {"Load netlist file" Load(Netlist)}
60    {"Load vendor resource file" LoadVendorFrom()}
61    -
62    {"Save connection data of"
63      {" a single element" GetXY(Click to set the element mark <>) Save(ElementConnections)}
64      {" all elements" Save(AllConnections)}
65      {" unused pins" Save(AllUnusedPins)}
66    }
67    -
68    {"Print layout..." Print()}
69    {"Export layout..." Export()}
70    {"Calibrate Printer..." PrintCalibrate()}
71    -
72    {"Start new layout" New()}
73    -
74    {"Preferences..." DoWindows(Preferences)}
75    -
76    {"Quit Program" Quit()  a={"Ctrl-Q" "Ctrl<Key>q"}}
77   }
80 # Edit Menu
83   {Edit 
84    {"Undo last operation" Undo() a={"U" "<Key>u"}}
85    {"Redo last undone operation" Redo() a={"Shift-R" "Shift<Key>r"}}
86    {"Clear undo-buffer" Undo(ClearList) a={"Shift-Ctrl-U" "Shift Ctrl<Key>u"}}
87    -
88    {"Cut selection to buffer" GetXY(Click to set the snap point for this buffer)
89     PasteBuffer(Clear) PasteBuffer(AddSelected) RemoveSelected() Mode(PasteBuffer)
90     a={"Ctrl-X" "Ctrl<Key>x"}}
91    {"Copy selection to buffer" GetXY(Click to set the snap point for this buffer)
92     PasteBuffer(Clear) PasteBuffer(AddSelected) Unselect(All) Mode(PasteBuffer)
93     a={"Ctrl-C" "Ctrl<Key>c"}}
94    {"Paste buffer to layout" Mode(PasteBuffer) a={"Ctrl-V" "Ctrl<Key>v"}}
95    -
96    {"Unselect all" Unselect(All) a={"Shift-Alt-A" "Shift Alt<Key>a"}}
97    {"Select all visible" Select(All) a={"Alt-A" "Alt<Key>a"}}
98    -
99    {"Edit name of"
100      {"text on layout" ChangeName(Object) a={"N" "<Key>n"}}
101      {"layout" ChangeName(Layout)}
102      {"active layer" ChangeName(Layer)}
103    }
104    {"Edit attributes of"
105     {"Layout" Attributes(Layout)}
106     {"CurrentLayer" Attributes(Layer)}
107     {"Element" Attributes(Element)}
108    }
109    -
110    {"Move to current layer" MoveToCurrentLayer(Object) a={"M" "<Key>m"}}
111    {"Move selected to current layer" MoveToCurrentLayer(Selected) a={"Shift-M" "Shift<Key>m"}}
112    {"Route Styles" @routestyles
113     -
114     {"Edit..." AdjustStyle(0)}
115    }
116   }
119 # View Menu
122   {View 
123    {"Enable visible grid" checked=drawgrid Display(Grid)}
124    {"Grid units"
125     {"mil" checked=grid_units_mm,0 SetUnits(mil)}
126     {"mm"  checked=grid_units_mm,1 SetUnits(mm)}
127    }
128    {"Grid size"
129     {"No Grid" checked=gridsize,1 SetValue(Grid,1)}
130     -
131     {  "0.1 mil" checked=gridsize,10 SetUnits(mil) SetValue(Grid,10)}
132     {  "1 mil"   checked=gridsize,100 SetUnits(mil) SetValue(Grid,100)}
133     {  "5 mil"   checked=gridsize,500 SetUnits(mil) SetValue(Grid,500)}
134     { "10 mil"   checked=gridsize,1000 SetUnits(mil) SetValue(Grid,1000)}
135     { "25 mil"   checked=gridsize,2500 SetUnits(mil) SetValue(Grid,2500)}
136     { "50 mil"   checked=gridsize,5000 SetUnits(mil) SetValue(Grid,5000)}
137     {"100 mil"   checked=gridsize,10000 SetUnits(mil) SetValue(Grid,10000)}
138     -
139     {"0.01 mm" checked=gridsize,39 SetUnits(mm) SetValue(Grid,39.37007874)}
140     {"0.05 mm" checked=gridsize,197 SetUnits(mm) SetValue(Grid,196.85039370)}
141     {"0.1 mm"  checked=gridsize,394 SetUnits(mm) SetValue(Grid,393.70078740)}
142     {"0.25 mm" checked=gridsize,984 SetUnits(mm) SetValue(Grid,984.25197)}
143     {"0.5 mm"  checked=gridsize,1969 SetUnits(mm) SetValue(Grid,1968.503937)}
144     {"1 mm"    checked=gridsize,3937 SetUnits(mm) SetValue(Grid,3937.00787400)}
145     -
146     {"Grid -5mil" SetValue(Grid,-5,mil) a={"Shift-G" "Shift<Key>g"}}
147     {"Grid +5mil" SetValue(Grid,+5,mil) a={"G" "<Key>g"}}
148     {"Grid -0.05mm" SetValue(Grid,-0.05,mm) a={"Shift-Ctrl-G" "Shift Ctrl<Key>g"}}
149     {"Grid +0.05mm" SetValue(Grid,+0.05,mm) a={"Ctrl-G" "Ctrl<Key>g"}}
150    }
151    {"Realign grid" GetXY(Click to set the grid origin) Display(ToggleGrid)}
152    -
153    {"Displayed element name"
154     {"Description" Display(Description) checked=elementname,1}
155     {"Reference Designator" Display(NameOnPCB) checked=elementname,2}
156     {"Value" Display(Value) checked=elementname,3}
157    }
158    {"Enable Pinout shows number" checked=shownumber Display(ToggleName)}
159    {"Pins/Via show Name/Number" Display(PinOrPadName) a={"D" "<Key>d"}}
160    -
161    {"Zoom In 20%" Zoom(-1.2) m=Z a={"Z" "<Key>z"}}
162    {"Zoom Out 20%" Zoom(+1.2) m=O a={"Shift-Z" "Shift<Key>z"}}
163    {"More zooms and view changes"
164     {"Zoom Max" Zoom() m=M a={"V" "<Key>v"}}
165     {"Zoom In 2X" Zoom(-2)}
166     {"Zoom Out 2X" Zoom(+2)}
167     {"Zoom to 0.1mil/px" Zoom(=10)}
168     {"Zoom to 0.01mm/px" Zoom(=39.37)}
169     {"Zoom to 1mil/px" Zoom(=100)}
170     {"Zoom to 0.05mm/px" Zoom(=196.8504)}
171     {"Zoom to 2.5mil/px" Zoom(=250)}
172     {"Zoom to 0.1mm/px" Zoom(=393.7)}
173     {"Zoom to 10mil/px" Zoom(=1000)}
174     {"Zoom In 20% and center" Zoom(-1.2) Center() m=Z }
175     {"Zoom Out 20% and center" Zoom(+1.2) Center() m=O }
176     {"Flip up/down" checked=flip_y SwapSides(V) a={"Tab" "<Key>Tab"}}
177     {"Flip left/right" checked=flip_x SwapSides(H) a={"Shift-Tab" "Shift<Key>Tab"}}
178     {"Spin 180 degrees" SwapSides(R) a={"Ctrl-Tab" "Ctrl<Key>Tab"}}
179     {"Swap Sides" SwapSides() a={"Ctrl-Shift-Tab" "Ctrl Shift<Key>Tab"}}
180     {"Center cursor" Center() a={"C" "<Key>c"}}
181    }
182    -
183    {"Shown Layers"
184     @layerview
185     -
186     {"Edit Layer Groups" EditLayerGroups()}
187    }
188    {"Current Layer"
189     @layerpick
190     -
191     {"Delete current layer" MoveLayer(c,-1)}
192     {"Add new layer" MoveLayer(-1,c)}
193     {"Move current layer up" MoveLayer(c,up)}
194     {"Move current layer down" MoveLayer(c,down)}
195    }
196   }
199 # Settings menu
200 #  
201   {Settings
202    {"'All-direction' lines" checked=alldirection Display(Toggle45Degree) a={"." "<Key>."}}
203    {"Auto swap line start angle" checked=swapstartdir Display(ToggleStartDirection)}
204    {"Orthogonal moves" checked=orthomove Display(ToggleOrthoMove)}
205    {"Crosshair snaps to pins and pads" checked=snappin Display(ToggleSnapPin)}
206    {"Crosshair shows DRC clearance" checked=showdrc Display(ToggleShowDRC)}
207    {"Auto enforce DRC clearance" checked=autodrc Display(ToggleAutoDRC)}
208    {"Lock Names" checked=locknames Display(ToggleLockNames)}
209    {"Only Names" checked=onlynames Display(ToggleOnlyNames)}
210    {"Hide Names" checked=hidenames Display(ToggleHideNames)}
211    -
212    {"Rubber band mode" checked=rubberband Display(ToggleRubberBandMode)}
213    {"Require unique element names" checked=uniquename Display(ToggleUniqueNames)}
214    {"Auto-zero delta measurements" checked=localref Display(ToggleLocalRef)}
215    {"New lines, arcs clear polygons" checked=clearnew Display(ToggleClearLine)}
216    {"New polygons are full ones" checked=newfullpoly Display(ToggleFullPoly)}
217    {"Show autorouter trials" checked=liveroute Display(ToggleLiveRoute)}
218    {"Thin draw" checked=thindraw Display(ToggleThindraw) a={"|" "<Key>|"}}
219    {"Thin draw poly" checked=thindrawpoly Display(ToggleThindrawPoly) a={"Ctrl-Shift-P" "Ctrl Shift<Key>p"}}
220    {"Check polygons" checked=checkplanes Display(ToggleCheckPlanes)}
221    -
222    {"Vendor drill mapping" ToggleVendor() checked=VendorMapOn}
223   }
224     
226 # Select menu
228   {Select 
229    {"Select all visible objects" Select(All)}
230    {"Select all connected objects" Select(Connection)}
231    -
232    {"Unselect all objects" Unselect(All)}
233    {"unselect all connected objects" Unselect(Connection)}
234    -
235    {"Select by name"
236     {"All objects" Select(ObjectByName) active=have_regex}
237     {"Elements" Select(ElementByName) active=have_regex}
238     {"Pads" Select(PadByName) active=have_regex}
239     {"Pins" Select(PinByName) active=have_regex}
240     {"Text" Select(TextByName) active=have_regex}
241     {"Vias" Select(ViaByName) active=have_regex}
242    }
243    -
244    {"Auto-place selected elements" AutoPlaceSelected() a={"Ctrl-P" "Ctrl<Key>p"}}
245    {"Disperse all elements" DisperseElements(All)}
246    {"Disperse selected elements" DisperseElements(Selected)}
247    -
248    {"Move selected elements to other side" Flip(SelectedElements) a={"Shift-B" "Shift<Key>b"}}
249    {"Remove selected objects" RemoveSelected() a={"Shift-Delete" "Shift<Key>Delete"}}
250    {"Convert selection to element" Select(Convert)}
251    -
252    {"Optimize selected rats" DeleteRats(SelectedRats) AddRats(SelectedRats)}
253    {"Auto-route selected rats" AutoRoute(SelectedRats) a={"Alt-R" "Alt<Key>r"}}
254    {"Rip-up selected auto-routed tracks" RipUp(Selected)}
255    -
256    {"Change size of selected objects"
257     {"Lines -10 mil" ChangeSize(SelectedLines,-10,mil) ChangeSize(SelectedArcs,-10,mil)}
258     {"Lines +10 mil" ChangeSize(SelectedLines,+10,mil) ChangeSize(SelectedArcs,+10,mil)}
259     {"Pads -10 mil" ChangeSize(SelectedPads,-10,mil)}
260     {"Pads +10 mil" ChangeSize(SelectedPads,+10,mil)}
261     {"Pins -10 mil" ChangeSize(SelectedPins,-10,mil)}
262     {"Pins +10 mil" ChangeSize(SelectedPins,+10,mil)}
263     {"Texts -10 mil" ChangeSize(SelectedTexts,-10,mil)}
264     {"Texts +10 mil" ChangeSize(SelectedTexts,+10,mil)}
265     {"Vias -10 mil" ChangeSize(SelectedVias,-10,mil)}
266     {"Vias +10 mil" ChangeSize(SelectedVias,+10,mil)}
267    }
268    -
269    {"Change drilling hole of selected objects"
270     {"Vias -10 mil" ChangeDrillSize(SelectedVias,-10,mil)}
271     {"Vias +10 mil" ChangeDrillSize(SelectedVias,+10,mil)}
272     {"Pins -10 mil" ChangeDrillSize(SelectedPins,-10,mil)}
273     {"Pins +10 mil" ChangeDrillSize(SelectedPins,+10,mil)}
274    }
275    -
276    {"Change square-flag of selected objects"
277     {"Elements" ChangeSquare(SelectedElements)}
278     {"Pins" ChangeSquare(SelectedPins)}
279    }
280   }
283 # Buffer menu
285   {Buffer
286    {"Cut selection to buffer" GetXY(Click to set the snap point for this buffer)
287     PasteBuffer(Clear) PasteBuffer(AddSelected) RemoveSelected() Mode(PasteBuffer)}
288    {"Paste buffer to layout" Mode(PasteBuffer)}
289    -
290    {"Rotate buffer 90 deg CCW" Mode(PasteBuffer) PasteBuffer(Rotate,1)
291     a={"Shift-F7" "Shift<Key>F7"}}
292    {"Rotate buffer 90 deg CW" Mode(PasteBuffer) PasteBuffer(Rotate,3)}
293    {"Mirror buffer (up/down)" Mode(PasteBuffer) PasteBuffer(Mirror)}
294    {"Mirror buffer (left/right)" Mode(PasteBuffer) PasteBuffer(Rotate,1)
295     PasteBuffer(Mirror) PasteBuffer(Rotate,3)}
296    -
297    {"Clear buffer" PasteBuffer(Clear)}
298    {"Convert buffer to element" PasteBuffer(Convert)}
299    {"Break buffer elements to pieces" PasteBuffer(Restore)}
300    {"Save buffer elements to file" Save(PasteBuffer)}
301    -
302    {"Select current buffer" foreground=grey50 sensitive=false}
303    {"#1" checked=buffer,1 PasteBuffer(1) a={"Shift-1" "Shift<Key>1"}}
304    {"#2" checked=buffer,2 PasteBuffer(2) a={"Shift-2" "Shift<Key>2"}}
305    {"#3" checked=buffer,3 PasteBuffer(3) a={"Shift-3" "Shift<Key>3"}}
306    {"#4" checked=buffer,4 PasteBuffer(4) a={"Shift-4" "Shift<Key>4"}}
307    {"#5" checked=buffer,5 PasteBuffer(5) a={"Shift-5" "Shift<Key>5"}}
308   }
309     
311 # Connects menu
313   {Connects 
314    {"Lookup connection to object" GetXY(Click on the object) Connection(Find) a={"Ctrl-F" "Ctrl<Key>f"}}
315    {"Reset scanned pads/pins/vias" Connection(ResetPinsViasAndPads) Display(Redraw)}
316    {"Reset scanned lines/polygons" Connection(ResetLinesAndPolygons) Display(Redraw)}
317    {"Reset all connections" Connection(Reset) Display(Redraw) a={"Shift-F" "Shift<Key>f"}}
318    -
319    {"Optimize rats nest" Atomic(Save) DeleteRats(AllRats)
320     Atomic(Restore) AddRats(AllRats) Atomic(Block) a={"O" "<Key>o"}}
321    {"Erase rats nest" DeleteRats(AllRats) a={"E" "<Key>e"}}
322    {"Erase selected rats" DeleteRats(SelectedRats) a={"Shift-E" "Shift<Key>e"}}
323    -
324    {"Auto-route selected rats" AutoRoute(Selected)}
325    {"Auto-route all rats" AutoRoute(AllRats)}
326    {"Rip up all auto-routed tracks" RipUp(All)}
327    -
328    {"Optimize routed tracks"
329     {"Auto-Optimize" djopt(auto)  a={"Shift-=" "Shift<Key>="}}
330     {"Debumpify" djopt(debumpify) }
331     {"Unjaggy" djopt(unjaggy) }
332     {"Vianudge" djopt(vianudge) }
333     {"Viatrim" djopt(viatrim) }
334     {"Ortho pull" djopt(orthopull) }
335     {"Simple optimization" djopt(simple)  a={"=" "<Key>="}}
336     {"Miter" djopt(miter) }
337     {"Puller" a={"Y" "<Key>y"} Puller() }
338     {"Global Puller"
339      {"Selected" GlobalPuller(selected) }
340      {"Found" GlobalPuller(found) }
341      {"All" GlobalPuller() }
342     }
343     -
344     {"Only autorouted nets" OptAutoOnly() checked=optautoonly}
345    }
346    -
347    {"Design Rule Checker" DRC()}
348    -
349    {"Apply vendor drill mapping" ApplyVendor()}
350   }
351     
353 # Info Menu
355   {Info
356    {"Generate object report" ReportObject() a={"Ctrl-R" "Ctrl<Key>r"}}
357    {"Generate drill summary" Report(DrillReport)}
358    {"Report found pins/pads" Report(FoundPins)}
359    {"Key Bindings"
360     {"Remove" a={"Delete" "<Key>Delete"}
361      Mode(Save)
362      Mode(Remove)
363      Mode(Notify)
364      Mode(Restore)
365     }
366     {"Remove Selected" a={"Backspace" "<Key>BackSpace"}
367      RemoveSelected()
368     }
369     {"Remove Connected" a={"Shift-Backspace" "Shift<Key>BackSpace"}
370      Atomic(Save)
371      Connection(Reset)
372      Atomic(Restore)
373      Unselect(All)
374      Atomic(Restore)
375      Connection(Find)
376      Atomic(Restore)
377      Select(Connection)
378      Atomic(Restore)
379      RemoveSelected()
380      Atomic(Restore)
381      Connection(Reset)
382      Atomic(Restore)
383      Unselect(All)
384      Atomic(Block)
385     }
386     {"Remove Connected"
387      Atomic(Save)
388      Connection(Reset)
389      Atomic(Restore)
390      Unselect(All)
391      Atomic(Restore)
392      Connection(Find)
393      Atomic(Restore)
394      Select(Connection)
395      Atomic(Restore)
396      RemoveSelected()
397      Atomic(Restore)
398      Connection(Reset)
399      Atomic(Restore)
400      Unselect(All)
401      Atomic(Block)
402     }
403     {"Set Same" a={"A" "<Key>a"} SetSame()}
404     {"Flip Object" a={"B" "<Key>b"} Flip(Object)}
405     {"Find Connections" a={"F" "<Key>f"} Connection(Reset) Connection(Find)}
406     {"ToggleHideName Object" a={"H" "<Key>h"} ToggleHideName(Object)}
407     {"ToggleHideName SelectedElement" a={"Shift-H" "Shift<Key>h"} ToggleHideName(SelectedElements)}
408     {"ChangeHole Object" a={"Ctrl-H" "Ctrl<Key>h"} ChangeHole(Object)}
409     {"ChangeJoin Object" a={"J" "<Key>j"} ChangeJoin(Object)}
410     {"ChangeJoin SelectedObject" a={"Shift-J" "Shift<Key>j"} ChangeJoin(SelectedObjects)}
411     {"Clear Object +2 mil" a={"K" "<Key>k"} ChangeClearSize(Object,+2,mil)}
412     {"Clear Object -2 mil" a={"Shift-K" "Shift<Key>k"} ChangeClearSize(Object,-2,mil)}
413     {"Clear Selected +2 mil" a={"Ctrl-K" "Ctrl<Key>k"} ChangeClearSize(SelectedObjects,+2,mil)}
414     {"Clear Selected -2 mil" a={"Shift-Ctrl-K" "Shift Ctrl<Key>k"} ChangeClearSize(SelectedObjects,-2,mil)}
415     {"Line Tool size +5 mil" a={"L" "<Key>l"} SetValue(LineSize,+5,mil)}
416     {"Line Tool size -5 mil" a={"Shift-L" "Shift<Key>l"} SetValue(LineSize,-5,mil)}
417     {"MarkCrosshair" a={"Ctrl-M" "Ctrl<Key>m"} MarkCrosshair()}
418     {"Select shortest rat" a={"Shift-N" "Shift<Key>n"} AddRats(Close)}
419     {"AddRats to selected pins" a={"Shift-O" "Shift<Key>o"}
420      Atomic(Save)
421      DeleteRats(AllRats)
422      Atomic(Restore)
423      AddRats(SelectedRats)
424      Atomic(Block) }
425     {"ChangeOctagon Object" a={"Ctrl-O" "Ctrl<Key>o"} ChangeOctagon(Object)}
426     {"Polygon PreviousPoint" a={"P" "<Key>p"} Polygon(PreviousPoint)}
427     {"Polygon Close" a={"Shift-P" "Shift<Key>p"} Polygon(Close)}
428     {"ChangeSquare Object" a={"Q" "<Key>q"} ChangeSquare(ToggleObject)}
429     {"ChangeSize +5 mil" a={"S" "<Key>s"} ChangeSize(Object,+5,mil)}
430     {"ChangeSize -5 mil" a={"Shift-S" "Shift<Key>s"} ChangeSize(Object,-5,mil)}
431     {"ChangeDrill +5 mil" a={"Alt-S" "Alt<Key>s"} ChangeDrillSize(Object,+5,mil)}
432     {"ChangeDrill -5 mil" a={"Alt-Shift-S" "Alt Shift<Key>s"} ChangeDrillSize(Object,-5,mil)}
433     {"Text Tool scale +10 mil" a={"T" "<Key>t"} SetValue(TextScale,+10,mil)}
434     {"Text Tool scale -10 mil" a={"Shift-T" "Shift<Key>t"} SetValue(TextScale,-10,mil)}
435     {"Via Tool size +5 mil" a={"Shift-V" "Shift<Key>v"} SetValue(ViaSize,+5,mil)}
436     {"Via Tool size -5 mil" a={"Shift-Ctrl-V" "Shift Ctrl<Key>v"} SetValue(ViaSize,-5,mil)}
437     {"Via Tool drill +5 mil" a={"Alt-V" "Alt<Key>v"} SetValue(ViaDrillingHole,+5,mil)}
438     {"Via Tool drill -5 mil" a={"Alt-Shift-V" "Alt Shift<Key>v"} SetValue(ViaDrillingHole,-5,mil)}
439     {"AddRats Selected" a={"Shift-W" "Shift<Key>w"} AddRats(SelectedRats)}
440     {"Add All Rats" a={"W" "<Key>w"} AddRats(AllRats)}
441     {"Cycle Clip" a={"/" "<Key>/"} Display(CycleClip)}
442     {"Arrow Mode" a={"Space" "<Key>space"} Mode(Arrow) checked=arrowmode,1}
443     {"Temp Arrow ON" a={"[" "<Key>["} Mode(Save) Mode(Arrow) Mode(Notify)}
444     {"Temp Arrow OFF" a={"]" "<Key>]"} Mode(Release) Mode(Restore)}
445     -
446     {"Step Up" a={"Up" "<Key>Up"} Cursor(Warp,0,1,grid)}
447     {"Step Down" a={"Down" "<Key>Down"} Cursor(Warp,0,-1,grid)}
448     {"Step Left" a={"Left" "<Key>Left"} Cursor(Warp,-1,0,grid)}
449     {"Step Right" a={"Right" "<Key>Right"} Cursor(Warp,1,0,grid)}
450     {"Step +Up" a={"Up" "Shift<Key>Up"} Cursor(Pan,0,50,view)}
451     {"Step +Down" a={"Down" "Shift<Key>Down"} Cursor(Pan,0,-50,view)}
452     {"Step +Left" a={"Left" "Shift<Key>Left"} Cursor(Pan,-50,0,view)}
453     {"Step +Right" a={"Right" "Shift<Key>Right"} Cursor(Pan,50,0,view)}
454     {'"Click"' a={"Enter" "<Key>Enter"} Mode(Notify) Mode(Release)}
455     -
456    }
457   }
459 # Window Menu
461   {Window
462    {"Library" DoWindows(Library) a={"i" "<Key>i"}}
463    {"Message Log" DoWindows(Log)}
464    {"DRC Check" DoWindows(DRC)}
465    {"Netlist" DoWindows(Netlist)}
466    {"Command Entry" Command() a={":" "<Key>:"}}
467    {"Pinout" Display(Pinout) a={"Shift-D" "Shift<Key>d"}}
468    -
469    {"About..." About()}
470   }
473 PopupMenus =
474   {
475     Popup1 =
476     {
477       {"Operations on selections"
478        {"Unselect all objects" Unselect(All)}
479        {"Remove selected objects" RemoveSelected()}
480        {"Copy selection to buffer" 
481         GetXY(Click to set the snap point for this buffer) 
482         PasteBuffer(Clear)
483         PasteBuffer(AddSelected)
484         Mode(PasteBuffer)
485        }
486        {"Cut selection to buffer"
487         GetXY(Click to set the snap point for this buffer) 
488         PasteBuffer(Clear)
489         PasteBuffer(AddSelected)
490         RemoveSelected()
491         Mode(PasteBuffer)
492        }
493        {"Convert selection to element" Select(Convert)}
494        {"Auto place selected elements" AutoPlaceSelected()}
495        {"Autoroute selected elements" AutoRoute(SelectedRats)}
496        {"Rip up selected auto routed tracks" RipUp(Selected)}
497       }
498       {"Operations on this location"
499        {"Generate object report" GetXY(Click on the object) Report(Object)}
500       }
501       -
502       {"Undo last operation" Undo()}
503       {"Redo last undone operation" Redo()}
504       -
505       {Tools
506        {"None" checked=nomode,1 Mode(None)}
507        {"Via" checked=viamode,1 Mode(Via) a={"F1" "<Key>F1"}}
508        {"Line" checked=linemode,1 Mode(Line) a={"F2" "<Key>F2"}}
509        {"Arc" checked=arcmode,1 Mode(Arc) a={"F3" "<Key>F3"}}
510        {"Text" checked=textmode,1 Mode(Text) a={"F4" "<Key>F4"}}
511        {"Rectangle" checked=rectanglemode,1 Mode(Rectangle) a={"F5" "<Key>F5"}}
512        {"Polygon" checked=polygonmode,1 Mode(Polygon) a={"F6" "<Key>F6"}}
513        {"Buffer" checked=pastebuffermode,1 Mode(PasteBuffer) a={"F7" "<Key>F7"}}
514        {"Remove" checked=removemode,1 Mode(Remove) a={"F8" "<Key>F8"}}
515        {"Rotate" checked=rotatemode,1 Mode(Rotate) a={"F9" "<Key>F9"}}
516        {"Thermal" checked=thermalmode,1 Mode(Thermal) a={"F10" "<Key>F10"}}
517        {"Arrow" checked=arrowmode,1 Mode(Arrow)  a={"F11" "<Key>F11"}}
518        {"Insert Point" checked=insertpointmode,1 Mode(InsertPoint) a={"Insert" "<Key>Insert"}}
519        {"Move" checked=movemode,1 Mode(Move)}
520        {"Copy" checked=copymode,1 Mode(Copy)}
521        {"Lock" checked=lockmode,1 Mode(Lock)}
522        {"Cancel" Mode(Escape) a={"Esc" "<Key>Escape"}}
523       }
524     }
525   }