Since the config files are text files, most parts of them should be
obvious. String values are always enclosed in `"', and
non-printable characters as well as `=' and `"' are
encoded quoted-printable. Boolean values are stored as `Y' or
`N', enumerated values are stored verbatim, except values of
user-defined enumeration variables (see section Defining Variables),
which are stored as ordinal values, starting from 0.

Because the config files are text files, you can edit them with any
text editor (including PENG itself, of course), e.g., to copy some
tools you have created or merge someone else's tools.

If `Options/Editor2/Use lock files'
(see section The Menu Entry `Options/Editor2/Use lock files') is turned on, PENG will
also create a lock file for the active config file to prevent
problems when editing those as text files with PENG or vim.

However, PENG will not complain if it can't create the lock file for
the default global or local config file because of lack of write
permissions -- the directory of the global default config file is
usually not writable by a normal user, and some people like to have
their home directory not writable to prevent "dot file
pollution"...

If your home directory is writable, you will be warned if you start
two PENG sessions using your local config file: the first one will
create a lock file for it and the second one will notice the
existing lock file and report it to you. This is intentional because
the two instances of PENG might overwrite each other's settings.

So, in this case, you're better off using separate config files for
the different PENG instances. You can keep common settings in your
default config file (and change them by invoking PENG without
arguments), and the different settings of the different instances
(e.g., information about opened windows, project specific tools or
other settings) in the separate config files.