Tilix - A tiling terminal emulator

Tilix - A tiling terminal emulator

Even decades after introducing Graphical User Interface (GUI), it cannot beat the productivity of Command Line Interface (CLI). The same people who struggled with a lack of GUI for some tasks in Linux (or terminal preferred over GUI steps in how-to guides) will soon realize the advantage of the terminal after using it for some time. However, the terminal doesn't have to be a soulless black and white environment you stare at all day. This article introduces a tiling terminal called Tilix and shares some tricks to add fun to your CLI experience.

Tilix is a tiling terminal written in D from scratch using Gtk-3. Those who are familiar with Terminator can consider this as a modern replacement for Terminator. Out of the box, Tilix offers the following features:

  • Layout terminals in any fashion by splitting them horizontally or vertically
  • Terminals can be re-arranged using drag and drop both within and between windows
  • Terminals can be detached into a new window via drag and drop
  • Tabs or sidebar list current sessions
  • Input can be synchronized between terminals so commands typed in one terminal are replicated to the others
  • The grouping of terminals can be saved and loaded from the disk
  • Terminals support custom titles
  • Color schemes are stored in files and custom color schemes can be created by simply creating a new file
  • Transparent background
  • Background images
  • Quake mode support (i.e. drop-down terminal)
  • Custom hyperlinks
  • Automatic (triggered) profile switches based on hostname and directory
  • Supports notifications when processes are completed out of view. Requires the Fedora notification patches for VTE
  • Experimental trigger support (Requires patched VTE, see wiki)
  • Experimental badge support (Requires patched VTE, see wiki)

Install Tilix

sudo apt install tilix

sudo pacman -S tilix

sudo dnf install tilix

For other distributions, check the official website.

You may or may not need all these features but having them all improves your productivity. Let's start with the core selling point of Tilix: tiling. You can split the current terminal into two vertical terminals by pressing Ctrl + Alt + R. Similarly, Ctrl + Alt + D split the terminal into two horizontal terminals. From the menu, you can synchronize the keyboard to enter the same command on all tiles. I find this handy if I have to SSH into multiple servers at work. If the width and height of a tile are not enough for temporary readability concerns, you can maximize it using the maximize button for that tile.

In addition to tiling, Tilix also offers multiple sessions. Instead of opening multiple terminal windows, you can open several sessions and easily switch between them using either the side pane or the keyboard shortcut Ctrl + Alt + 1/2/3.

Tilix - A tiling terminal emulator

Another advantage of Tilix is its bookmark feature. There are some commands you may use from time to time but are hard to remember.  The best example from my personal experience is multiple IP addresses to SSH. Though you can use the "alias" command, mapping all those ten to twenty servers doesn't feel right. Instead, you can create a bookmark in Tilix for all those hosts to remotely access and easily log in to them by pressing Ctrl + Shift + B.

Copy-pasting commands from the web may cause severe side effects if you don't know what you are doing. Tilix warns you if you are pasting an unsafe text from the clipboard to make sure you know what you are doing. However, this feature can be disabled from the settings. Another time-consuming task is editing or cleaning commands copied from some sites. For example, you may need to change the path in a script you copied from a website. Usually, people paste the script in a text editor, edit it, and then copy-paste it into the terminal. Instead, Tilix provides the advanced paste feature with the shortcut Ctrl + V. It opens a dialog to edit your command before pasting it into the terminal.

Since this article is getting longer, I will stop with the Custom Links feature. Custom Links is an option to apply regex on terminal output. If there is a regex match, the matching text will be treated as a hyperlink means you can click on that with the Ctrl key pressed to perform some predefined actions. To test this feature, go to Preferences → Advanced → Edit.

Tilix Custom Links

Add a regex (Hello\.txt), command gedit $1, and apply the changes. After this, whenever you find Hello.txt on the terminal, it will be treated as a hyperlink. If you Ctrl and click on that link, the text editor will open the Hello.txt from the current directory. Remember this is a plain regex trick. If the file is not there, the text editor will try to create a new file.

For more features, play with the Tilix Preferences dialog. In the remaining article, I will share some customizations I do to make my terminal personalized.

Font & Terminal Size

I like JetBrains Mono better than any other font for the terminal. Install the latest JetBrains Mono font and set it as the default font.

Tilix Change Font

I also adjust the default number of columns and rows to 100 and 24. However, you may like a different ratio based on your screen resolution.


Select the Material color scheme and change the Background and Black color to the solid Black color. Adjust the transparency and dim level according to your taste.

Tilix Change Font Color

Install Bash Theme

Oh My Bash Theme

Step 1:

Install oh-my-bash using the following command.

bash -c "$(curl -fsSL"

Step 2:
Open the ~/.bashrc file and set the theme to agnoster.

Step 3:
Install the powerline fonts for this theme to render the correct symbols.


sudo apt installfonts-powerline 
sudo dnf install powerline-fonts 

For other distributions, check the installation guide.

There are hundreds of tools to improve the CLI experience but I stop here to keep the article short. I will write separate articles on each individual tool I use and recommend and provide a link to them here.


No comments

Post a Comment



© all rights reserved