Advanced topics
Prev |  | Next

## Advanced topics

### Files and Environment Variables

Terminal uses the Basedir Specification as defined on Freedesktop.org to locate its data and configuration files. This means that file locations will be specified as a path relative to the directories described in the specification.

`${XDG_CONFIG_HOME}`

  The first base directory to look for configuration files. By default this is set to `~/.config/`.

`${XDG_CONFIG_DIRS}`

  A colon separated list of base directories that contain configuration data. By default the application will look in `${sysconfdir}/xdg/`. The value of `${sysconfdir}` depends on how the program was build and will often be `/etc/` for binary packages.

`${XDG_DATA_HOME}`

  The root for all user-specific data files. By default this is set to `~/.local/share/`.

`${XDG_DATA_DIRS}`

  A set of preference ordered base directories relative to which data files should be searched in addition to the `${XDG_DATA_HOME}` base directory. The directories should be separated with a colon.

`${XDG_CONFIG_DIRS}/Terminal/terminalrc`

  This is the location of the configuration file that includes the preferences which control the look and feel of Terminal.

`${XDG_DATA_DIRS}/Terminal/Terminal-toolbars.ui`

  This file includes the user interface definition for the toolbars. If you customize the toolbars using the graphical toolbars editor, Terminal will store the new toolbars layout in the file `${XDG_DATA_HOME}/Terminal/Terminal-toolbars.ui`.

### Hidden options

Terminal offers a few hidden options to allow powerusers to control various advanced settings and to reduce the number of options in the user interface. To set any of these options, you will have to open the file `${XDG_CONFIG_HOME}/Terminal/terminalrc` in your favorite text editor and edit the section `[Configuration]`; simply create the file if it does not already exist. For example, your `terminalrc` could look like

    [Configuration]
    MiscAlwaysShowTabs=TRUE
    MiscBell=TRUE
    MiscConfirmClose=FALSE
    MiscCursorBlinks=TRUE
    MiscCursorShape=TERMINAL_CURSOR_SHAPE_BLOCK
    MiscCycleTabs=FALSE
    MiscInheritGeometry=TRUE
    MiscMouseAutohide=FALSE
    MiscTabCloseButtons=TRUE
    MiscTabCloseMiddleClick=TRUE
    MiscTabPosition=GTK_POS_TOP
    MiscHighlightUrls=TRUE

plus all the options that are controlled through the preferences dialog.

`MiscAlwaysShowTabs`

  If `TRUE` the tab headers will always be displayed even if only a single terminal tab is open. This option is useful if you do not want the terminal window to resize when you open a second tab. It is disabled by default.

`MiscBell`

  Enables (`MiscBell=TRUE`) or disables (`MiscBell=FALSE`) the audible terminal bell. It is disabled by default.

`MiscConfirmClose`

  Controls whether Terminal popups a confirmation dialog when the user tries to close a terminal window with multiple tabs in it. Can be either `TRUE` (the default) or `FALSE`.

`MiscCursorBlinks`

  Enable this option to display a cursor that blinks. Can be either `TRUE` or `FALSE` (the default).

`MiscCursorShape`

  Specifies the shape of the cursor in the terminal. This can be either `TERMINAL_CURSOR_SHAPE_BLOCK` (the default), `TERMINAL_CURSOR_SHAPE_IBEAM` or `TERMINAL_CURSOR_SHAPE_UNDERLINE`. This option is only available when you compile against VTE 0.19.1 or newer.

`MiscCycleTabs`

  This option controls whether you can circulate through terminal tabs. That is, whether you are able to go from the last tab to the first tab using the Next Tab button from the Go menu (or the associated keyboard shortcut), and from the first tab to the last tab using the Previous Tab button from the Go menu. The option can be either `TRUE` (the default) or `FALSE`.

`MiscDefaultGeometry`

  The default geometry for new Terminal windows if no `--geometry=`geometry`` option is specified on the command line (defaults to `80x24`).

`MiscInheritGeometry`

  This setting controls whether new windows will inherit the geometry (width and height of the active tab) from its parent window (the window from which the new window was opened). Can be either `TRUE` or `FALSE` (the default).

`MiscMouseAutohide`

  This setting controls whether Terminal will hide the mouse cursor while you are typing in a terminal window. Can be either `TRUE` or `FALSE` (the default).

`MiscTabCloseButtons`

  This setting controls whether Terminal provides a close button with the terminal tab title. Can be either `TRUE` (the default) or `FALSE`.

`MiscTabCloseMiddleClick`

  This setting controls whether Terminal will close a terminal tab when the user middle-clicks the tab title. Can be either `TRUE` (the default) or `FALSE`.

`MiscTabPosition`

  Specifies the position where the tab headers should be displayed. This can be either `GTK_POS_TOP` (the default), `GTK_POS_LEFT`, `GTK_POS_BOTTOM` or `GTK_POS_RIGHT`. If you specify `GTK_POS_LEFT` or `GTK_POS_RIGHT` here, the tab header texts will be displayed vertically instead of horizontally. It is highly recommended to disable `MiscTabCloseButtons` for `GTK_POS_LEFT` and `GTK_POS_RIGHT`.

`MiscHighlightUrls`

  This setting controls whether URLs - both hyperlinks and email addresses - will be highlighted in the text displayed in a terminal window. If you change this option to `FALSE`, URLs won't be highlighted anymore and you will no longer be able to middle-click the URL to open it in the preferred application.

Prev |  | Next
Command line options | Home | Frequently asked questions