:experimental:

[[main-top-menu]]
== Main top menu

[[file-menu]]
=== File menu

image::images/en/menu_file.png[alt="File menu",scaledwidth="35%"]

[width="100%",cols="31%,69%",]
|=======================================================================
|New |Close current schematic and start a new one (only in standalone mode).

|Open |Load a schematic project (only in standalone mode).

|Open Recent |Open a schematic project from the list of recently opened files (only in standalone mode).

|Save |Save current sheet and all its subsheets.

|Save As... |Save the current sheet under a new name (only in standalone mode).

|Save Current Sheet Copy As... |Save a copy of the current sheet under a new name (only in project mode).

|Insert Schematic Sheet Content... |Insert the contents of another schematic sheet into the current sheet (only in standalone mode).

|Import | Import a non-KiCad schematic or a footprint assignment file.

|Export |Export a netlist or a drawing of the schematic to the clipboard.

|Schematic Setup... | Set up schematic formatting, electrical rules, net classes, and text variables.

|Page Settings... |Configure page dimensions and title block.

|Print |Print schematic project (See also chapter <<plot-and-print,Plot and Print>>).

|Plot |Export to PDF, PostScript, HPGL or SVG format (See chapter <<plot-and-print,Plot and Print>>).

|Quit |Terminate the application.

|=======================================================================

[[schematic-setup]]
==== Schematic Setup
The Schematic Setup window is used to set schematic options that are specific to the currently active schematic. For example, the Schematic Setup window contains formatting options, electrical rule configuration, netclass setup, and schematic text variable setup.

[[preferences-menu]]
=== Preferences menu

image::images/en/menu_preferences.png[alt="Preferences menu",scaledwidth="55%"]

[width="90%",cols="30%,70%",]
|================================================
|Configure Paths... |Set the default search paths.
|Manage Symbol Library Tables... |Add/remove symbol libraries.
|Preferences... | Preferences (units, grid size, field names, etc.).
|Set Language | Select interface language.
|================================================

[[manage-sym-lib-table]]
==== Manage Symbol Library Tables

image::images/en/options_symbol_lib.png[alt="Symbol Library Tables",scaledwidth="50%"]

KiCad uses two library tables to store the list of available symbol libraries,
which differ by the scope:

[[global-libraries]]
===== Global Libraries

Libraries listed in the Global Library table are available to every project.
They are saved in the `sym-lib-table` in the KiCad configuration directory, which is
system-dependent:

* Windows: `%APPDATA%\kicad\6.0\sym-lib-table`
* Linux: `~/.config/kicad/6.0/sym-lib-table`
* macOS: `~/Library/Preferences/kicad/6.0/sym-lib-table`

===== Project Specific Libraries

Libraries listed in Project Specific Libraries table are available to the
currently opened project. They are saved in a `sym-lib-table` file in the project
directory.

Both library tables are visible by clicking on **Global Libraries** or **Project
Specific Libraries** tab in the Manage Library Tables window.

===== Add a new library

Add a library either by clicking the
image:images/icons/small_folder_16.png[Folder icon] button and selecting a file
or clicking the image:images/icons/small_plus_16.png[Plus icon] button and
typing a path to a library file. The selected library will be added to the
currently opened library table (Global/Project Specific).

===== Remove a library

Remove a library by selecting one or more libraries and clicking the
image:images/icons/small_trash_16.png[Trash icon] button.

===== Library properties

Each row in the table stores several fields describing a library:

[cols="30%,70%",]
|======================
| Active| Enables/disables the library. It is useful to temporarily reduce the loaded library set.
| Nickname| Nickname is a short, unique identifier used for assigning symbols to components. Symbols
are represented by '<Library Nickname>:<Symbol Name>' strings.
| Library Path| Path points to the library location.
| Plugin Type| Determines the library file format. KiCad 6.0 libraries use the "KiCad" format, while KiCad 5.x libraries use the "Legacy" format. Legacy libraries are read-only.
| Options| Stores library specific options, if used by plugin.
| Description| Briefly characterizes the library contents.
|======================


[[preferences-general-options]]
// TODO: significantly out of date.
// move to a "configuration and customization" section. Structure like pcbnew doc.
==== Preferences

[[preferences-common]]
===== Common Preferences
NOTE: TODO: write this section

image::images/en/options_common.png[alt="Common settings",scaledwidth="70%"]

[[preferences-mouse]]
===== Mouse and Touchpad
[width="100%",cols="40%,60%",]
|============
|Center and warp cursor on zoom | If checked, the pointed location is warped
to the screen center when zooming in/out.

|Use touchpad to pan |When enabled, view is panned using scroll wheels (or
touchpad gestures) and to zoom one needs to hold kbd:[Ctrl]. Otherwise scroll
wheels zoom in/out and kbd:[Ctrl]/kbd:[Shift] are the panning modifiers.

|Pan while moving object |If checked, automatically pans the window
if the cursor leaves the window during drawing or moving.
|============

[[preferences-controls]]
===== Hotkeys

Redefine hotkeys.

image::images/en/options_hotkeys.png[alt="Hotkeys settings",scaledwidth="70%"]

Select a new hotkey by double clicking an
action or right click on an action to show a popup menu:

[width="100%",cols="40%,60%",]
|============
|Edit | Define a new hotkey for the action (same as double click).
|Undo Changes | Reverts the recent hotkey changes for the action.
|Clear Assigned Hotkey |
|Restore Default | Sets the action hotkey to its default value.
|============

[[preferences-display]]
===== Display Options

image::images/en/options_display.png[alt="Display options",scaledwidth="70%"]

[width="100%",cols="40%,60%",]
|=======================================================================
|Grid Size| Grid size selection.

It is *recommended* to work with normal grid (0.050 inches or 1,27 mm). Smaller
grids are used for component building.

|Bus thickness |Pen size used to draw buses.

|Line thickness |Pen size used to draw objects that do not have a
specified pen size.

|Part ID notation |Style of suffix that is used to denote symbol units (U1A,
U1.A, U1-1, etc.)

|Icon scale| Adjust toolbar icons size.

|Show Grid | Grid visibility setting.

|Restrict buses and wires to H and V orientation| If checked, buses and
wires are drawn only with vertical or horizontal lines.
Otherwise buses and wires can be placed at any orientation.

|Show hidden pins: |Display invisible (or __hidden__) pins, typically
power pins.

|Show page limits |If checked, shows the page boundaries on screen.

|Footprint previews in symbol chooser| Displays a footprint preview frame and
footprint selector when placing a new symbol.

*Note:* it may cause problems or delays, use at your own risk.
|=======================================================================

[[preferences-editing]]
===== Editing Options

image::images/en/options_editing.png[alt="Editing settings",scaledwidth="70%"]

[width="100%",cols="40%,60%",]
|=======================================================================
|Measurement units |Select the display and the cursor coordinate units
(inches or millimeters).

|Horizontal pitch of repeated items |
Increment on X axis during element duplication (default: 0)
(after placing an item like a symbol, label or wire,
a duplication is made by the kbd:[Insert] key)

|Vertical pitch of repeated items| Increment on Y axis during
element duplication (default: 0.100 inches or 2,54 mm).

|Increment of repeated labels |Increment of label value during duplication of texts ending
in a number, such as bus members (usual value 1 or -1).

|Default text size |Text size used when creating new text items or labels.

|Auto-save time interval |Time in minutes between saving backups.

|Automatically place symbol fields | If checked, symbol fields (e.g. value and
reference) in newly placed symbols might be moved to avoid collisions with
other items.

|Allow field autoplace to change justification | Extension of 'Automatically
place symbol fields' option. Enable text justification adjustment for symbol fields when placing
a new part.

|Always align autoplaced fields to the 50 mil grid |Extension of 'Automatically
place symbol fields' option. If checked, fields are autoplaced using 50 mils
grid, otherwise they are placed freely.
|=======================================================================

[[preferences-colors]]
===== Colors

Color scheme for various graphic elements. Click on any of the color swatches to
select a new color for a particular element.

image::images/en/options_color.png[alt="Color settings",scaledwidth="95%"]

[[preferences-default-fields]]
===== Default Fields

Define additional custom fields and corresponding values that will appear in
newly placed symbols.

image::images/en/options_default_fields.png[alt="Default Fields settings",scaledwidth="70%"]

[[help-menu]]
=== Help menu

Access to on-line help (this document) for an extensive tutorial about KiCad.

Use the **Report a Bug** item to report a bug online. Full KiCad version and user system information is available via the **Copy Version Info** button in the **About KiCad** window.
