User preferences for DomTerm are normally in the file
.domterm/settings.ini
in the user’s home directory.
(On WSL (Windows Subsystem for Linux) the file is
c:\Users\
.)
You can override this default with the USER
\AppData\Roaming\DomTerm\settings.ini-settings
command-line argument.
If the settings.ini
is changed it is automatically re-loaded.
The syntax of settings.ini
is a variant
of the INI file format.
A preference is written as:
keyword
=value
For example:
window.geometry=800x600
Spaces before or after =
are optional.
A keyword
should be a sequence of letters, numbers,
periods or hyphens.
The value
is almost any sequence of characters (depending of
the keyword
), up to end of the line.
Multi-line values are written as an empty line following the ‘=
’,
and then one or lines starting with a single space followed by ‘|
’.
For example:
style.user = |div.domterm { --background-color: azure } |div.domterm-spacer {background: none }
In this cases the resulting value
has two lines,
with the two-character prefixes ‘ |
’ removed.
For a boolean value
any
one of true
, yes
, or on
enable the preference;
one of false
, no
, or off
disable the preference.
Comment lines start with #
in the first column.
Comment lines and all-blank lines are ignored.
shell.default =
command
Specify a default “shell” command to execute when creating a new terminal. The command can include arguments, separated by spaces. You can uses quotes, as in a shell.
The default is the value of the SHELL
environment variable;
if that is not set the default is /bin/bash
.
frontend.default =
application-list
The browser-like program used to create new top-level windows, unless overridden by a specific window-specifier command.
The application-list
is a list of commmand front-end,
separated by newlines or semi-colons. The commands are tried
left-to-right, until one is found that exists and is executable.
The default is currently:
frontend.default = electron;qt;chrome;firefox;browser
The commmands electron
, qt
, chrome
,
firefox
, or browser
are equivalent to the
corresponding windows-specifier --electron
and so on.
Otherwise a command may be include command-line arguments
(possibly quoted), optionally including %U
,
similar to the program
in a --browser=
option.
program
command.firefox =
command
command.chrome =
command
command.electron =
command
Command to use for respectively --firefox
,
--chrome
, or --electron
.
The default for these is to search in the PATH
,
possibly with some platform-depending knowledge of default locations.
window.geometry =
geometry
Control the size of new top-level windows.
(Currently works for either Electron or qtdomterm windows,
as well as ones started with --chrome-app
.)
The geometry
has the same syntax as the --geometry
command-line opton,
,
where W
xH
and W
are the width and height of the window, in pixels.
H
The default is 800x600
.
style.user =
css-style-rules
Set the user
stylesheet to the rules in css-style-rules
.
The latter is typically a multi-line value.
See the Styling section for examples.
style.qt =
css-style-rules
qtdomterm
only: Set styling for QT user interface widgets.
For example to specify the color green
for text in QMenu
do:
style.qt = |QMenu { color: green; }
See more examples.
style.dark =
value
This option (if set) selects “reverse video”, which is a color preference for a darker background and a ligher foreground (text).
The default is off
, which selects
lighter background and a darker foreground colors.
style.caret =
value
Change the style of the caret (text input cursor).
The value
can be one of these (unquoted) words:
block
, blinking-block
,
underline
, blinking-underline
,
bar
, or blinking-bar
.
The default is blinking-block
. Note that
both blinking-block
and blinking-underline
only blink 20 times after each change or focus.
To change the number of blinks set the CSS variable --caret-blink-count
.
For example to blink indefinitely, add this to settings.ini
:
style.user= div.domterm { --caret-blink-count: infinite }
Currently, bar
and blinking-bar
are the same and use
the browser’s native text cursor, which may be blinking or not.
open.file.application =
application-list
open.link.application =
application-list
List of applications to try when clicking on a link.
If the link’s href
is a file:
URL,
then the open.file.application
list is tried first;
then the open.link.application
list is tried.
For a non-file:
URL, only the open.link.application
list is tried.
For details, see link-handlers.
keymap.line-edit =
keymap-overrides
Add or replace keybindings for input line editing. (Changing other keybindings is planned but not yet implemented.)