This section describes how to set up Lepton tools with the
lepton-cli config
command.
lepton-cli config
is a basic utility for inspecting and
modifying Lepton EDA configuration stores.
The usage of the command:
lepton-cli config [OPTION] [GROUP KEY [VALUE]]
If a GROUP and KEY are specified, it retrieves the value of that configuration parameter. If a VALUE is specified as well, it sets the value of that parameter.
The options -p, -u, and -s, listed below, can be used to select what configuration store should be affected (by default, the project configuration store for the current working directory). If no GROUP and KEY are provided, the command outputs the filename of the selected configuration store.
Select the project configuration store of the project located in PATH. If no PATH is provided, selects the project in the current working directory.
Note: Unlike --project, for which an optional argument must be specified using ‘=’, any argument after -p is considered to be a path, not a configuration group. It may be specified as ‘-pPATH’ or ‘-p PATH’. Please see examples below.
Select the user configuration store.
Select the system configuration store. Depending on user permissions, the system configuration store may be read-only.
Select the program-specific configuration store (CACHE configuration context).
Configuration settings used to configure these programs are written to Lepton config files. Naming and location of those files, file format, as well as configuration settings available, are described in the chapter Configuration system.
You can easily find out the location of the configuration files in your system. For example, if you want to know where your user configuration is stored, just type:
lepton-cli config -u -| /home/user/.config/lepton-eda/lepton-user.conf
Supposed you’re a system administrator and want to look where Lepton’s default system settings are stored, do:
lepton-cli config -s -| /usr/local/share/lepton-eda/lepton-system.conf
Editing the system configuration file will probably require superuser permissions. If you want to look up and edit just one of the settings, you could do, for instance:
lepton-cli config -s export font -| Sans sudo lepton-cli config -s export font Arial
The first of the above commands simply reads the file, so it doesn’t require additional permissions.
Note: Apart from using
lepton-cli
for modifying the files, you can just edit them manually in your favorite text editor.
All the config files consist of sections, called groups, containing key-value pairs.
Values of some keys in the Lepton config files are lists. Note that unlike the lepton-cli export command, where several list separators can be used, the only separator between list values in the config files is semicolon ‘;’.
Note: Always properly escape semicolons in key values. Use double quotes or backslash for that. Otherwise your shell may interpret your command wrong.
Another difference between export
and config
commands is
that when using the latter, you always have to specify all parameters
of the used list. Thus, for example, this command is wrong:
lepton-cli config --project export size 1000
The right command will look like this:
lepton-cli config --project export size "1000;1000"
Note: All sizes in the configuration files, and therefore in the
lepton-cli config
command line, must be given in Adobe points (72 points = 1 inch). Suffixes such as ‘pt’, ‘mm’, and others, which can be used with the lepton-cli export command, are not yet supported in the config files. Fixes are welcome.
In some cases, your configuration may work wrongly if ever.
While lepton-cli
supports locales for the export
command, it is not
so for config
.
Note: It is recommended to always use dot (‘.’) as decimal point separator with
lepton-cli
.
Suppose, for example, that comma is used in your locale as decimal point separator. Despite it, the following command results with wrong values in your project’s configuration file, and the config just won’t work properly:
lepton-cli config --project export align "1,0;0,0"
Unlike it, the following exporting command will work OK under such conditions:
lepton-cli export -a 0,0:1.0 -o file.pdf file.sch
Please note the difference between specifying the options -p and --project. Supposed that your lepton.conf in the current working directory has the contents as follows:
[export] dpi=144
the following commands work as expected:
lepton-cli config --project=. export dpi -| 144 lepton-cli config --project export dpi -| 144 lepton-cli config -p . export dpi -| 144 lepton-cli config -p. export dpi -| 144
while the following ones are wrong and output errors:
lepton-cli config -p export dpi -| ERROR: Directory "export" does not exist. lepton-cli config -p=export dpi -| ERROR: Directory "=export" does not exist.
This is because any argument after -p, be it specified with space or without it between the option and the argument, is considered to be a path, not a configuration group, and the equal sign cannot be used as a separator like for --project. Conversely, the following command:
lepton-cli config --project . export dpi
will silently exit and result in the following content in ./lepton.conf:
[.] export=dpi
which is not you would expect here, right? This is because an optional argument for the option --project must be used with ‘=’ as separator, not space. Therefore in the above command, ‘.’ was interpreted as a configuration group, and ‘export’ and ‘dpi’ as a key and its value within it.
Use the “landscape” layout by default for a local project:
lepton-cli config --project export layout landscape
Use the “letter” paper size by default for all your printouts:
lepton-cli config --user export paper na_letter
Set paper size to the definite value of 1x2 inch for a local project:
lepton-cli config --project export size "72;144"
Set margins as a half of inch for left and right sides and as a quarter of inch for top and bottom for a local project:
lepton-cli config --project export margins "18;36;18;36"
This command will align your project’s schematics to the right.
lepton-cli config --project export align "1.0;0.5"
Export schematics in a project in color (note: ‘False’ or ‘FALSE’ will not work):
lepton-cli config --project export monochrome false
Set up a custom user font:
lepton-cli config --user export font "OpenGost Type B TT Italic"
Choose another font for a local project:
lepton-cli config --project export font "Arial Bold"
Use shorter net names for unnamed nets in all netlists:
lepton-cli config --user netlist default-net-name net
Ensure that a local project will use hierarchical net names despite of settings in lepton-user.conf:
lepton-cli config --project netlist.hierarchy traverse-hierarchy true
Promote ‘net’ attribute over ‘netname’:
lepton-cli config --project netlist net-naming-priority net-attribute
Use shorter names for new pages:
lepton-cli config --user schematic default-filename empty
Set up select component widget to always show all attributes:
lepton-cli config --project schematic.library component-attributes "*"
Please be careful when using this command in the command line. If you forget the quotes, your shell will substitute the first file name in the working directory file list for the attribute name. This is most likely not what you want.
Display only attributes that are in the filter list:
lepton-cli config --project lepton-schematic.library \ component-attributes "refdes;device;description"
Please note that if you replace semicolons with commas, lepton-schematic
will consider the string in quotes just one attribute name, which is
obviously wrong, and you will see no attribute at all.
Sort component library in lepton-schematic
alphabetically:
lepton-cli config --user schematic.library sort true