X Tile systematically arranges windows on the desktop

Nagy-Bagoly Arpad, 123RF

Nagy-Bagoly Arpad, 123RF

Laying Tiles

Although sometimes awkward to use, tiling window managers are effective. X Tile can be used to expand a standard window manager with tiling functions, combining the best of both worlds.

Window managers are responsible for doing just what their name suggests: They administer windows on a desktop. Among many other tasks, this involves positioning windows on a virtual desktop

Window managers come mainly in two varieties. The majority only permit arbitrary positioning, or moving, of windows, which can easily lead to overlapping windows.

A tiling window manager works differently. It arranges windows so that, if possible, they do not sit on top of one another. The tiling manager does this by automatically adapting the size and the positioning, which results in better use of the desktop.

Typically, special window managers such as Blue Tile [1], Xmonad, and i3 [2] are used for this task. There are, however, other candidates such as X Tile, which expands the functionality of major window managers by adding the most important features of a tiling window manager.

The easiest approach is to combine X Tile with Xfce and Gnome. It cooperates with KDE, LXDE, and other desktops. The software works at the request of the user to rearrange the windows the user has selected. This involves use of standard, predefined layouts or new, custom layouts.

Installation

X Tile is a Python program. Normally, there are relatively few problems with this type of program, except perhaps for errors because of missing Python modules. However, although on Ubuntu, X Tile seemed to install correctly with

sudo apt-get install x-tile

we discovered that it failed to run because it required another Python package. Installing it with

sudo apt-get install python-appindicator

sorted everything out.

If you want to install from source, you can find the files for X Tile is in a Git repository. An updated version is available for download at any time. To get started, you should first clone the repository (Listing 1, line 1). Then, switch into the newly formed directory git_x-tile and execute the ./x-tile command.

Listing 1

Install from the Git Repo

01 git clone https://github.com/giuspen/x-tile.git git_x-tile
02 ln -s /usr/share/applications/x-tile.desktop ~/.config/autostart/x-tile.desktop

If you have activated the minimal start in the System Tray option under the settings, then the software will automatically mount on the Xfce 4.12 desktop environment as an application. It will start together with the desktop.

If the application does not automatically start on other, different environments, then you can easily do a manual start.

To carry out a manual start, you will need to have a ~/.config/autostart/ directory. If necessary, you can create one yourself. Then, all you need to do is add a link to the directory so that X Tile starts automatically (Listing 1, line 2).

Tiling in Practice

When it starts, X Tile puts an icon in the status bar (at the top of the screen in Unity) and opens the main program window (Figure 1).

Figure 1: Controlling X Tile is done with a small a small window that appears when needed. The icon is in the top right of the image, embedded in the Unity status bar.

This window is used for controlling the software. The relevant functions are found in the menu and the tool list. The program also provides an overview of all of the currently open programs on the desktop, taking into account the settings that have been selected.

You will also see a line at the lower edge next to the menu, tool list, and window list. This is where you should specify two basic characteristics of the application. The close after tiling option serves to automatically close the main window of X Tile after an action.

The set destination user interface option makes it possible for the software to work on virtual interfaces other than the one currently displayed. This option is intended for experienced users who are already very familiar with the concept.

You should deactivate this option for the first tests. By default, the actions will use the actual desktop. You can select the appropriate file for an action from the list by using the associated checkbox. If you are using more than one monitor, you will see more than one checkbox for use. Setting a check specifies the screens in which the windows appear.

Via the tiling area monitor … overwrite area displayed on the right side, you should specify how the desktop areas should look with the windows. By default, X Tile uses the entire desktop. However, this does not necessarily make sense if you want to continue to see special messages in the root window or find particular places in special windows, such as additional panels.

Buttons for the most important functions and actions can be found in the tool list (Figure 1). The very first button selects all of the windows in the list, which can save time and effort.

When two monitors are involved, then a click on the left checkmark is for the first monitor, and the checkmark to the right is for the second monitor.

The second button prompts the software to re-analyze the current situation and display the corresponding list of windows. This button is typically not needed, but situations do come up in which it can be helpful. The program saves the most recent modification made to the X Tile layout. The third button lets you restore the previous layout. However, undo only includes one step.

The following two buttons change the order of windows displayed with Tiling. Once the windows assume a new position in the window list, their place on the desktop is affected accordingly. This function works without the need for explicitly selecting the window. The first time through, however, the process can seem a bit confusing.

Next come three buttons with special, default layouts. These buttons let you arrange the windows in either a horizontal or a vertical layout. The windows can also be arranged in the shape of a grid.

The next two buttons provide quick access to customized layouts. These layouts would need to first be defined of course. This is done using the set custom (…) pattern function from the Tile menu (Figure 2). The last three buttons are reserved for frequently used actions. These can be used for maximizing, minimizing, and closing previously selected windows.

Figure 2: Tile your windows then, pick a Custom Tile Set…

To set a custom layout, X Tile will first save the position of the previously selected window and display this symbolically. This happens as soon as a user presses the Update button. Via OK , the layout is then accepted and saved.

Figure 3: … hit the Update button, and save it for later use.

Configuration

The configuration for X Tile is simple, but it does include some very important settings. As shown in Figure 4, most settings are relatively obvious. The current work space only option is particularly important for preserving the overview on multiple virtual desktops.

Figure 4: The configuration is straightforward but does include important options.

The dock in system tray option lodges the main window in a panel, which is typical and practical. As an alternative, you can control X Tile via options when calling the program from the command line. Table 1 summarizes these options. Most of these are used without a leading minus character. The exception to this rule of thumb is -h .

Table 1

Command-Line Parameters

Command Description
x-tile -h Display help
x-tile w Display main window
x-tile z Undo
x-tile i Invert Tiling sequence
x-tile y Rotate Tiling sequence
x-tile v Tile all open windows vertically
x-tile h Tile all open windows horizontally
x-tile g Z S Tile all open windows in a grid with Z lines and S columns
x-tile 1 Custom tile <1> all open windows
x-tile 2 Custom tile <2> all open windows
x-tile u Tile all open windows using Layout u
x-tile d Tile all open windows using Layout d
x-tile l Tile all open windows using Layout l
x-tile r Tile all open windows using Layout r
x-tile q Quad tile all open windows
x-tile m Maximize all open windows
x-tile M Minimize all open windows
x-tile c Close all open windows

The l , r , u , and d layout options are used to arrange the windows into a triangle, where each edge is assigned a larger window.

In addition to mouse functions, X Tile also supports a series of keyboard shortcuts. Table 2 summarizes the most important functions. Once learned, these shortcuts can speed up work significantly.

Table 2

Keyboard Shortcuts

Shortcut Description
Ctrl+Q Close program
Alt+Ctrl+P Configure program
Ctrl+F Call configuration filter
F5 Reload window list
Ctrl+D Always select window
Shift+Ctrl+Q Leave program
Ctrl+A Select all windows
Shift+Ctrl+A Select none of the windows
Ctrl+Up arrow Move window up in the list
Ctrl+Down arrow Move window down in the list
Ctrl+Z Undo Tiling (Undo)
Ctrl+I Invert Tiling
Ctrl+Y Cycle Tiling order
Ctrl+V Tile vertically
Ctrl+H Tile horizontally
Ctrl+G Grid Tiling (Grid)
Alt+ 1 Define pattern 1
Ctrl+ 1 Call pattern 1
Alt+ 2 Define pattern 2
Ctrl+ 2 Call pattern 2
Ctrl+M Maximize checked window
Ctrl+U Minimize checked window
Ctrl+Y Close checked window

Still more possibilities exist for influencing the behavior of the software. For example, in the File menu, you can use Filter together with the title of a window to exclude a particular window. The View option lets you change the display for the tool list. If necessary, you can change the sequence in the window list with the mouse via drag and drop. This can be important when you want to be effective in using the triangle layout and the tile cycle function.

Conclusion

X Tile enriches the modern desktop. Even users who are not big fans of tiling will quickly understand that it has many advantages – especially the customized layout feature.

This program also has a lot of applications, because it can be used both interactively and via the command line. X Tile is not in itself a window manager, but instead expands what is available by adding functionality. As a result, it has a very smooth learning curve.