LDCad maintains a number of configuration files. All are plain text 'ini' like files you can (also) manually edit (while the program is closed) if needed.
main.cfg is located in the central (per user) config folder and is used to store all settings changeable through e.g. the prefs menu. It also keeps track of the general program state (window sizes, locations etc.) and it houses some (low level / expert) options you can not change from within the gui.
I don't think it's needed to go trough all the options maintained in this file at this point. But if you need any info on it feel free to contact me.
The seeds.cfg is located in the central (per user) config folder. It is used to keep track of the synchronization between seed files and their target location (e.g. the partBin folder resulting from the seeds/partBin.sf file.
Currently it is best to leave this file alone as it might break LDCad's upgrade process if used wrong.
LDCad.cfg is an optional file which will be read only if it's present in the same location as the LDCad executable. It is used to setup LDCad's internal environment in means of where to store data files and which defaults to use for certain core features.
The default contents (used when no file is available) is (Version >=1.5 Alpha 3):
The paths section is used to let LDCad know where to look for system files. All can use special variables (surrounded by < and >) to make them e.g. depended on the current user etc. Variables you can use are:
appDir: abs path of the executable it self (without the last separation character).
appSubDir: parent folder of the executable it self.
userAppDataDir: The abs application data folder of the current user (appdata environment variable in windows, HOME environment variable in Linux).
userDocDir: The abs document folder of the current user (users 'my documents' location in windows, HOME environment variable in Linux).
The options section is used to enable/disable core features which can not be set through main.cfg because the related features need to be initialized before main.cfg is read. The options and their meaning are:
readonly; If set to true LDCad will never write to disk (for use on e.g. a CDROM) THIS IS NOT YET FULLY IMPLEMENTED
useSeeds; Controls if the seed files are used/synced/deployed or not./p>
useSingleInstance; Controls if the single instance protection is used or not.
The defaults section is used to (guess what) set application defaults. Possible items and their meaning are:
ipcIDStr; Inter process communication (sub) socket name. Set this to something else to allow multiple LDCad versions to have separate single instance protection.
defLibCSL; This is the name of the shadow file (relative to the central shadow folder) to be used as a default when the official library is first located / given by the user.
defConfigLDR; The name of the LDraw color definition file to be used when LDCad is first started and the official library info is initialized.