Skip to content

Theme

Personalize the terminal interface to your desired appearance.

The entire structure and appearance of the terminal is defined in the CSS file (xterminal.css) included during installation.

To customize anything, ensure that the new styles are include after the default styles.

html
<link rel="stylesheet" href="path/to/xterminal.css"/>

<link rel="stylesheet" href="custom-styles.css"/>
<!-- OR -->
<style>
    /* custom styles */
</style>

Width & Height

By default, the terminal occupies the full width and height of the parent element #app.

html
<div id="app"></div>

To adjust the dimensions, use one of the following:

  • Parent Element
css
#app {
    width: 400px;
    height: 400px;
}
  • Terminal CSS classname: xt
css
.xt {
    width: 400px;
    height: 400px;
}

Background

The default background depends on the value of the css variable: --xt-bg

Example:

css
:root {
    --xt-bg: black;
}

Text Color

To change the color of text, change --xt-fg css variable to the desired color

Example:

css
:root {
    --xt-fg: lime;
}

Font Size

Adjust the font size using --xt-font-size

Example:

css
:root {
    --xt-font-size: 1.5rem;
}

Font Family

Set your favourite font style using --xt-font-family

Example:

css
:root {
    --xt-font-family: 'Lucida Console', monospace;
}

Using Font URLS

css
@import url('https://fonts.googleapis.com/css2?family=Fira+Code&display=swap');

:root {
    --xt-font-family: 'Fira Code', monospace;
}

Padding

Adjust the padding of the terminal container using --xt-padding css variable

Example:

css
:root {
    --xt-padding: 10px;
}

Line Height

The default line height depends on the current font size. Adjust the line height using the css classname: xt-stdout for the output component

Example

css
.xt-stdout {
    line-height: 1.25;
}

Blinking Cursor

To add the blinking effect to the cursor, apply the animation using the class name: xt-cursor

Example:

css
@keyframes blink {
    0% { opacity: 0; }
    50% { opacity: 1; }
    100% { opacity: 0; }
}

.xt-cursor {
    animation: blink 1s linear infinite;
}