-
Notifications
You must be signed in to change notification settings - Fork 0
Settings
Starting from 0.1.8, Thymus employs the second version of its configuration file. Thus, there is a special setting called "config_version". Thymus checks its presence now and converts the config file to a new scheme if a version of the file is not "2".
All platform settings are stored in separate files now for convenience (in the same folder as the global configuration).
Logging settings moved from a dedicated file into the global config.
The global set
command is obsolete and is not supported anymore.
Thymus supports several ways of configuring: configuration files, GUI, and the command line. We recommend using the GUI option for general settings and CLI for fine-tuning a working context.
Global and logging settings are stored inside the "thymus.json" file.
Most changes made in the file apply only to the next opened context! You can tune some platform settings via the CLI command
set
.
-
system_encoding
is a string-based value that sets an encoding of the system config and log files (it does not apply to network config files). -
last_opened_platform
is an unsigned integer value, an index of the last opened platform. This value is used by the Open Dialog, and we do not recommend altering it. -
default_folder
is a string-based value of a path to be opened by the Open Dialog each time after Thymus started. -
saves_folder
is a string-based value of a path to save files by the sub-commandsave
. Do not get confused with thesave
command. -
screens_folder
is a string-based value of a path to save screenshots (the feature is not available in 0.1.8). -
theme
is a string-based value that sets a highlighting theme for theview
mode. -
night_mode
is a bool value that sets the night mode on or off. -
filename_max_length
is not used anymore, it is being deleted in the next release. -
sidebar_max_length
is an unsigned integer value that sets the maximum length of the left sidebar of a working screen. Too many elements may impact your experience, slowing the application. -
network_connection_timeout
is an unsigned integer value of time in seconds the Netloader module awaits an answer from a remote machine. -
editor_frequency_factor
is an unsigned integer value that governs the time the editor sleeps between two consequent chunks of lines. The default is 4 which is 0.4 seconds. The fastest mode is 0.2 seconds now. -
editor_scale_factor
is an unsigned integer value multiplied by the current application height (a vertical window size) gives a count of lines per every displayed chunk. Combined with the frequency factor can improve the loading of the content after theedit
command, but it can hang the application down. -
save_on_commit
is a bool value, if it is set, automatically runs thesave
command after every successfulcommit
command. It does not apply to therollback
command
These are well-known settings. You can find the extensive description in the Python documentation. By default, the log system uses a file-rotating mechanism that creates no more than 5 log files each of which is not bigger than 5 megabytes. The logs can be found in the "log/thymus.log" file.
All platforms share the same settings (keys, not values) from the Common and Aliases sections below.
-
spaces
is an unsigned integer value that sets the number of spaces for a text indentation. -
up_limit
is an unsigned integer value that sets the maximum depth for theup
command (i.e., a value forx
wherex
isup x
).
Every command and sub-command has its unique name specific to a platform. For instance, for JunOS there is the up
command, while for IOS it is the exit
command. They do the same things, but users from the JunOS world got used to using their keywords just as IOS users and anybody else. But if you want to overwrite any command to your favorite it is possible on per platform basis. You can also align all platforms to the same scheme.
All alias keys start with alias_
.
JunOS supports only spaces
and up_limit
settings.
IOS supports spaces
and up_limit
too, besides it has several additional settings.
-
heuristics
is a bool value. This option toggles the heuristics mechanism for a platform's parser (refer to the documentation of a selected platform). By default, it is false. -
base_heuristics
is a bool value. This option toggles the base heuristics mechanism for a platform's parser (refer to the documentation of a selected platform). By default, it is true. -
crop
is a bool value. This option allows a parser to crop lines from the beginning (refer to the documentation of a selected platform). It requires the heuristics mode to be enabled first! By default, it is false. -
promisc
is a bool value. This option checks the config to have the "end" keyword at the bottom. By default, it is false. -
find_head
is a bool value. Refer to the documentation of a selected platform.
The same as IOS except these platforms do not have the promisc
setting (to be specific, this setting is always true).
Every working context has an input field. This field is capable not only of working with a network configuration file. With the command set
it is possible to change any settings of the current platform in the runtime.