Configuration

Configuration of terminalpp is done via a JSON file in its configuration directory. Depending on the platform, this is located in:

Keyboard shortcut A-F10 opens the configuration file on local editor associated with JSON files.

The settings file is a JSON-style file enhanced with JavaScript-like comments for better readability.

Initial Settings

When terminalpp starts and the settings file is not found, or its version is not same as the application’s version, the settings file (if any) is analyzed and default values are provided:

Note that on Windows, if WSL is detected, terminalpp may attempt to install the tpp-bypass in it automatically.

Example Settings File

The following is an example of a settings file with all possible settings, their short documentation and their values.

{
    /* Version of tpp the settings are intended for, to make sure the settings are useful
       and to detect version changes
     */
    "version" : "0.5.3",
    /* Release channel to be checked for new version upon start. Leave empty (default) if the check should not be performed.
     */
    "versionCheckChannel" : "",
    "session" : {
        /* Determines whether local, or bypass PTY should be used. Useful only for 
           Windows, ignored on other systems.
         */
        "pty" : "bypass",
        /* Number of rows the non-maximized window whould have.
         */
        "rows" : 25,
        /* Determines whether the window should start fullscreen or not.
         */
        "fullscreen" : false,
        /* Determines the behavior of the session when the attached command terminates.
         */
        "waitAfterPtyTerminated" : false,
        "palette" : {
            /* Overrides the predefined palette. Up to 256 colors can be specified in HTML
               format. These colors will override the default xterm palette used.
             */
            "colors" : [
            ],
            /* Specifies the index of the default foreground color in the palette.
             */
            "defaultForeground" : 15,
            /* Specifies the index of the default background color in the palette.
             */
            "defaultBackground" : 0
        },
        /* The command to execute in the session.
         */
        "command" : [
            "wsl.exe",
            "--",
            "~/.local/bin/tpp-bypass"
        ],
        /* Determines the maximum number of lines the terminal will remember in the
           history of the buffer. If set to 0, terminal history is disabled.
         */
        "historyLimit" : 10000,
        /* Number of columns the non-maximized window should have.
         */
        "cols" : 80,
        /* Determines whether pasting into terminal should be explicitly confirmed. Allowed
           values are 'never', 'always', 'multiline'.
         */
        "confirmPaste" : "multiline",
        /* Cursor properties. 
         */
        "cursor" : {
            "active" : {
                "codepoint" : 9601,
                "color" : "#ffffff",
                "blink" : true
            },
            "inactive" : {
                "codepoint" : 9601,
                "color" : "#808080",
                "blink" : false
            }
        },
        "remoteFiles" : {
            /* Directory to which the remote files should be downloaded. If empty,
               temporary directory will be used.
             */
            "dir" : "C:\\Users\\peta\\AppData\\Local\\Temp\\terminalpp\\remoteFiles"
        },
        "sequences" : {
            /* If true, bold text is rendered in bright colors.
             */
            "boldIsBright" : true
        },
        /* File to which all terminal input should be logged.
         */
        "log" : ""
    },
    "log" : {
        /* Directory where to keep the log files.
         */
        "dir" : "C:\\Users\\peta\\AppData\\Local\\Temp\\terminalpp",
        /* Maximum number of log files that are to be kept.
         */
        "maxFiles" : 100
    },
    "renderer" : {
        /* Maximum FPS.
         */
        "fps" : 60
    },
    "font" : {
        "family" : "Iosevka Term",
        "doubleWidthFamily" : "SpaceMono NF",
        "size" : 18
    }
}

Command-line arguments

The following command-line arguments can be used to override the global configuration settings for the particular execution:

The arguments can be specified either using the --arg=value, or --arg value notation, i.e:

terminalpp --cols=80 --rows=25 

or:

terminalpp --cols 80 --rows 25