To maintain separate SWL profiles, create a new working directory, create an empty .swlprefs file in that directory, and start SWL from that directory. Since SWL finds a .swlprefs file in the current directory, it will not examine your global .swlprefs file, e.g., in your home directory, and changes to preferences will be saved in the local .swlprefs file.
The .swlprefs file is formatted as a Scheme association list, that is, a list of pairs where the car of each pair is a key that be used to retrieve the associated value, which stored in the cdr of that pair. The repl saves its preferences under the key repl, the editor under editor, and the interaction window under interaction-window. In each case, the value is an association. Since these applications can be configured using a Preferences menu, it is better not to edit the .swlprefs file by hand.
A string containing a command line to be used to open a given URL. When the user attempts to open a web page from within SWL, a system command line is built by supplying this string and the URL string as argument to format. For example, to open the URL in the text-mode lynx browser under Unix, include the following in the external-applications association list:
(open-url-command "xterm -e lynx ~a")
A symbol or string naming a command to use to open a given URL. When the user attempts to open a web page from within SWL, a system command line is built by placing the URL after the web-browser command. For example, to open URLs using the Konqueror web browser under KDE, include the following in the external-applications association list:
(web-browser "kfmclient openURL")If both web-browser and open-url-command are specified, the open-url-command takes precedence.
An association list containing one or more of the following keys:
A boolean indicating whether or not to display the SWL splash screen on startup. To disable the splash screen, include the following in the swl-global association list:
(splash-screen . #f)
An expression to run at startup. The expression is evaluated in an environment that binds args to a list of the command-line arguments supplied when SWL was invoked. For readability, this key-value pair is a two-element list rather than a single pair. The default setting is equivalent to the following:
(on-startup (if (and (not (null? args)) (string=? (car args) "--edit")) (if (null? (cdr args)) (new-edit) (for-each new-edit (cdr args))) (begin (for-each load args) (new-repl 'default))))