Fully agree with both Pierre and Tomas re. regedit, .reg files and their much nicer alternative, the ini file. However so far as I know this is currently the only way to do it. As to the colours, unfortunately it's a single key consisting of approaching 400 hex pairs. A sepearate key for each named syntax/gui item, each being three hex pairs for RGB would e nice.
The registry is arguably one of microsoft's biggest ever mistakes. But we have to work with what we have. There used to be a way to specify all these things with an ini file. Perhaps there still is but I guess they'd still have to come from somewhere in the first place.
How to keep the configuration
Re: How to keep the configuration
Looks like that starting with version 14.1 there is a new tool for transferring the configuration from a previous version (thanks Dyalog):
Code: Select all
]???copyreg ⍝ for defaults and examples for each switch
Command "tools.copyreg". Syntax: 1 argument (last arguments merged).
Accepts switches -exclude= -include= -to=
Copy registry entries to file and optionally between versions
Argument and -to= switch are one of the installed APL versions
Currently installed versions are:
Dyalog APL/W 14.0 Unicode
Dyalog APL/W 14.1 Unicode
N.B. A version must be run once before using ]copyreg.
If -to= switch is omitted, entries will only be copied to a file.
Version may be specified with a shorthand consisting of any combination of:
## or ### or ##.# Version number, e.g. 14 or 141 or 14.1
C or U Classic/Unicode edition of current or specified version
32 or 64 32/64 bit version of current or specified version
Examples:
13 Dyalog APL/W 13.0
32 140 Dyalog APL/W 14.0
14.1U64 Dyalog APL/W-64 14.1 Unicode
-include= takes ;-delimited list of keys and values to include
Valid items are:
'' Copy all values in the source root, e.g. HKEY_CURRENT_USER\Software\Dyalog\Dyalog APL/W 14.0
Name Copy the value Name
Path\ Copy all keys, sub-keys, and values in and below Path
Path\Name Copy just the specific value Name in the key Path
If -include= switch is omitted, the default is:
''
AutoComplete\
Colours\
Editor\
Explorer\
files\file_stack_size
KeyboardShortcuts\
Printing\
SALT\
Threads\
Search\
Captions\
WindowRects\
The default list may be included by adding plus (+) at the beginning, i.e. -include=+Path\Name; etc.
-exclude= takes ;-delimited list of values to exclude
Valid items are:
Name When copying a whole tree (with -include=Path\), skip any values named Name
If -exclude= switch is omitted, the default is:
DyalogEmailAddress
DyalogWebSite
CommandFolder
The default list may be included by adding plus (+) at the beginning, i.e. -exclude=+Path\Name; etc.
N.B.: When copying a whole tree (with -include=Path\), any value whose data begins with '//' or contains the string ':\'
or ':/' will be skipped. This restriction can be circumvented by explicitly including value names with -include=.
Warning: Modifying registry entries should be undertaken with caution; generating inappropriate registry entries may lead
to unexpected and ill-defined behaviour of Dyalog APL. This utililty always copies registry entries to a time-stamped
.reg file in the root folder. Double-click the file to revert any changes made after the indicated time.
Script location: C:\Program Files (x86)\Dyalog\Dyalog APL 14.1 Unicode\SALT\Spice\cpreg