Exploring the i3 tiling window manager with Regolith Linux

Exploring

Regolith and tiling window managers were created for people who would rather stay on the keyboard and not go searching for a mouse. The key to working efficiently in Regolith is to memorize the keyboard shortcuts that let you open and close applications, move between windows, and resize windows for an efficient workspace. See Table 1 for a list of common shortcuts. Note that all the key combinations begin with the Super key. On most computer keyboards, the Super key is the key with the Windows logo. (This key is sometimes called the "Windows key," but as you can imagine, that name is not popular with Linux users.) On Apple keyboards, the Super key is the command key. The Super key gets its name from the X11 nomenclature, where this key sets the shift bit designated as Super.

Table 1

Regolith Keyboard Shortcuts

Sequence

Function

Applications and Commands

Super+Enter

Launch terminal

Super+Shift+Enter

Launch Browser

Super+Space

Application launcher

Super+Shift+Space

Command launcher

Super+c

Open settings

Super+n

Open network configuration

Super+w

Open WiFi settings

Manipulating Windows

Super+Ctrl+Space

Window selector

Super+Arrow keys

Navigate between windows

Super+Shift+Arrow keys

Reorganize windows

Super+Backspace

Toggle between vertical and horizontal mode

Super+f

(De)activate full-screen mode for windows

Super+Shift+f

Activate floating mode for current application

Super++, Super+-

Increasing or decreasing size of webs between segments

Super+Shift+?

Shows help for important keyboard shortcuts

Virtual Desktops

Super+1 to 0

Changes to desktops 1 to 10

Super+Ctrl+1 to 9

Changes to desktops 11 to 19

Super+Alt+1 to 0

Moves current application to desktops 1 to 10

Super+Ctrl+Alt+1 to 9

Moves current application to desktops 11 to 19

Super+Tabulator

Changes to the next desktop

Super+Shift+Tab

Changes to the previous desktop

Super+t

Toggles between horizontal and vertical tiling and tab view

Super+r

Activates Resize mode (exit with Esc or Enter)

Manage Session

Super+Shift+e

Ends session and logs out user

Super+Shift+s

Puts computer on standby

Super+Shift+b

Restarts computer

Super+Shift+p

Shuts down computer

You can call up the list of common keyboard shortcuts anytime by entering the key combination Super+Shift+?. Until you have memorized all the shortcuts, the shortcut list is a fast and easy reference. Find your shortcut in the list and then enter Super+Shift+? to toggle the list back off again.

Users who don't like the mouse are often the same users who would rather work at the command line and avoid GUIs altogether. Regolith is well suited to the command-line user, but it is also fully capable of operating graphical applications within the structure of a tiling interface. In fact, one of the reasons Regolith exists is to support the full range of Ubuntu/Gnome applications within the i3 tiled window context. Keep in mind, however, that if you open a window with an application that requires a mouse, you'll still need to use the mouse and pointer within that window, unless you happen to know the keyboard shortcuts for the application. This context switching between a command-line and mouse environment might sound confusing, but once you get use to it, it is no different from switching between desktop apps and command-line tools in a conventional GUI environment. In fact, Regolith apps are mostly the same applications you would be using in everyday Ubuntu/Gnome – the only difference is the window navigation.

When you first launch Regolith, you'll get your first glimpse of the Regolith desktop (Figure 1). As you can see in the figure, the Regolith desktop looks quite a lot like other desktops – the most interesting feature might be the absence of a start menu, tool tray, or any other icon that would be a target for the user to point and click.

Figure 1: First view of Regolith – wallpaper plus a handy list of common shortcuts.

As you can see in Table 1, the web browser and terminal window applications are popular enough to get their own shortcuts. To launch a terminal window, press the Super+Enter key combination. The first application you launch fills the whole desktop (Figure 2). Interact with the terminal as you would on any other Linux system – you won't really notice anything different when you're working with a single application.

Figure 2: The first application fills the whole desktop and looks very much like any other Linux GUI.

Suppose you want to search the web for more information on a command you plan to enter in the terminal. Press the Super+Shift+Enter combination to launch a browser window. The terminal moves over to the left automatically, and the browser launches on the right (Figure 3). In a single step, you have launched a second application and positioned both windows for full visibility. (In a typical WIMP-style system, the second application would launch on top of the first one, and you would then have to expend several steps moving windows around to achieve the perfect alignment shown in Figure 3.)

Figure 3: The second application starts – the first one scoots over automatically, and the two windows share the space.

Suddenly you realize you'd better document what you're doing. Time to launch LibreOffice. By default, Regolith will continue to split the screen from left to right, adding new applications on the right side and sliding everything over. If you continue to add more applications, the windows will eventually get too narrow. Press the Super+Backspace key combination to toggle the Layout mode, which defines whether to add new windows vertically or horizontally.

Then enter Super+Space to launch an application menu based on the Rofi application launcher [9] (Figure 4). If LibreOffice Writer doesn't appear on the list, type it in the search field. The new application launches below the previously active window. If you think LibreOffice needs a little more screen real estate, and you can get by with less for the terminal, press Super+r to enter Resize Window mode, which will let you slide the borders between the windows using the arrow keys to achieve an optimum position (Figure 5). You'll need to press the Esc key to exit Resize Window mode before entering any additional commands.

Figure 4: Press Super+Space to access the application menu.
Figure 5: Toggle the Layout mode to launch a third application below. Resize Window mode lets you shift the window borders to give more space to applications that need it.

Change the active window (called the window focus) to the window on the left side, and then launch another application for a four-window configuration (Figure 6). Remember you can toggle to Resize Window mode to adjust the borders. To make a window active, click on it with the mouse, or move between the windows by pressing Super plus one of the arrow keys.

Figure 6: Four applications fit comfortably on most monitors, and many can manage more. If you need more space, enter Super+f to toggle the active window to full-screen mode.

If you are mainly working in a single window and don't want the clutter of the whole tiled desktop, press Super+f to toggle the currently active window to full screen mode (which looks similar to Figure 2). To close the active window, press Super+Shift+q. Other key combinations change the workspace, lock the screen, or initiate the logout process.

Find Your Groove

The ideal screen configuration depends on the nature of your work and the applications you are using. A four-window desktop is fairly comfortable for most monitors. Command-line users often operate many more terminal windows at once – especially if all they need to see is the command line and a couple lines of output. Even in GUI scenarios, a user who is skilled with the key combinations can easily move among small windows and toggle them to full screen mode to work in one at a time.

If sliding around the window borders does not provide enough control of the layout, press Super+Shift+f to toggle to Floating Window mode, which lets you place the windows wherever you want them. Then press Super+Shift plus an arrow key to move the active window (or drag the window with the mouse).

If Regolith is installed on your computer (not operating as a live system), you can save the desktop configuration so it will be waiting for you the next time you log on. Arrange your desktop for efficient access to the four or five applications you use the most, and you'll gradually become accustomed to moving between the windows using the keyboard commands. (See the "Hacking" box.)

Hacking

The configuration implemented by Regolith is just one example of how to design an i3 desktop. Users have countless other possibilities for adapting the system. If you need further inspiration, search the web for "Ricing i3" or take a look at Reddit Unixporn [10] – don't worry about the name, everything is legit on the site.

For example, Regolith does without a notification area, where active applications (like the network manager applet or a messenger like Skype) can log messages in the background. To enable a notification area, first create a copy of the configuration file responsible for i3 in the home directory and open the file in an editor (Listing 2).

Then change the tray_output none line to tray_output primary in the section following # Configure the bar. Optionally add a mode hide line below bar { – then the desktop bar at the bottom of the screen only appears when you press Super (Figure 7). In order to enable the new configuration file, you need to log off and back on again by pressing Super+Shift+E. For further changes, it is sufficient to instruct i3 to reread its configuration with Super+Shift+R.

Figure 7: The i3 desktop is configured in a single file. The mode hide option causes the footer to appear only after pressing Super. The tray_output primary line enables a notification field in the bar for applications like the network manager applet or Skype.

Listing 2

Editing the i3 Configuration

 

Regolith also makes it easy to create different workspaces for different scenarios. For instance, workspace 1 could be the desktop you like to use at work, and workspace 2 could the configuration you like at home. You can tab between the workspaces by pressing Super+Tab or just press the Super key and type the number of the workspace you wish to reach.

Conclusions

It takes a while to become accustomed to a workflow designed for keyboard shortcuts, but once you get used to it, it is often easier to work with a tiling window manager than with a classic desktop environment. The benefits are particularly noticeable when you have to work with a small screen at low resolution, such as on a 13-inch business laptop. Since the Regolith desktop does without space-consuming panels or window ribbons, you have more room for content.

Regolith is a good candidate for introducing you to the world of tiling window managers. Even if you are used to relying on the mouse, you can master the basics of Regolith in just a few minutes. The project website provides a Getting Started guide [11] and other useful documents for new users. See the detailed HowTo list in the Regolith Wiki [12] for additional tips on customizing your system.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

SINGLE ISSUES
 
SUBSCRIPTIONS
 
TABLET & SMARTPHONE APPS
Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Tiling Desktops

    Tiling desktops have been experiencing a resurgence in popularity. Here are a few options that can help keep your desktop better organized.

  • Material Shell

    The Gnome extension Material Shell organizes the windows on your desktop, giving you many options for smoothly switching between different applications and views.

  • A taste of tiling with X-Tile
  • Pop!_OS

    Pop!_OS, known for its innovation, customization, and user-friendliness, features one of the easiest tiling desktop options available.

  • XMonad Tiling Window Manager

    Many users never look back once they get started with a tiling window manager. A close look at XMonad shows why.

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More

News