Linux tile windows manager

Get a Preconfigured Tiling Window Manager on Ubuntu With Regolith

Last updated September 2, 2019 By Abhishek Prakash 19 Comments

Brief: Using tiling window manager in Linux can be tricky with all those configuration. Regolith gives you an out of box i3wm experience within Ubuntu.

Perhaps you have come across desktop screenshot like the one below in some forums. If you haven’t, try checking this subreddit. You might have wondered how could people make their Linux desktop look so beautiful.

Of course, you can make your own desktop look good by changing the icon, theme and wallpaper but you might still not achieve the same result.

In majority of cases, a tiling window manager is used instead of the regular floating window manager. Ahmm! what’s a tiling window manager? Let me quickly explain it to you.

Tiling window manager

The concept of tiling window manager is simple. Instead of stacking new program window over the other programs, it tiles the programs side by side. So the first program takes up the entire screen. The next one is tiled to its side either horizontally or vertically and so on.

Sounds good but what happens when you have tens of programs open? It will be unusable won’t it? This is where the workspaces save your day. You can switch to new workspace and open new programs here. Switching between workspaces is just one or two keystroke away.

Tiling window manager can be overwhelming for you if you have never used it. It requires you to remember keyboard shortcuts to use it efficiently. But that’s not the end of trouble. Even if you install a tiling window manager like i3wm or awesome, you won’t get a beautiful desktop out of the box. In fact, it could even look uglier than before.

You see, all those mesmerizing desktops are result of personal customization. The tiling window managers are highly configurable but you need to learn to customize them. That’s not very comforting specially for someone who has never used a tiling window manager.

If you are one of those people who wanted to have a good looking desktop with tiling window manager but could never configured them properly, the Linux ricing gods have heard your prayers.

Regolith is dream come true for tiling window noobs

Regolith is a Linux distribution that brings Ubuntu’s simplicity, GNOME’s configuration and i3wm’s tiling interface together.

Wait! Don’t we already have enough of Ubuntu-based distributions that change nothing more than the theme and wallpaper? Regolith doesn’t want to be that kind of distribution. In fact, Regolith doesn’t pretend to be a standalone distribution.

Its developer experimented with i3wm, tweaked it to his liking but soon realized that he had to do it all over again on all the systems he used. That’s when he decided to package it so that he could use it easily on new system. And hence Regolith Linux was born as a customized version of Ubuntu.

The developer totally understands that not everyone would be willing to replace their existing Ubuntu system just to get a tiling window manager and this is why he has made it available as a desktop as well. This means if you are already running Ubuntu, you can install Regolith desktop and use it beside your regular desktop environment.

Читайте также:  Ruby gem install linux

Install Regolith desktop on Ubuntu

Regolith desktop is available through PPA in Ubuntu 18.04 and higher versions. You can install it using the following commands:

Once you have installed it, reboot your system. At the user login screen, click the username and you should see a gear symbol, Click on it and it would give you the option to change the desktop environment.

Using tiling window manager with Regolith

When you log in to the Regolith desktop, you’ll see a plain simple screen with some keyboard shortcuts displayed on the right side, a thin bottom panel with only a few system information. You can find the keyboard shortcut information on this page as well.

The keyboard shortcut will help you get started. You can search for an application or settings by pressing Super (Windows) and space key.

By default, the new program windows are tiled vertically. You can toggle that with Super+Backspace key. Do note that the tiling and toggling is related to the program window in focus. If you have three program windows and you are using the first program window, the next program will be tiled (vertically or horizontally) after it, not after the third program window. It takes some time in getting used to this concept.

If you don’t like the layout of the windows, you can move them around using the Super+Shift+Arrow keys. You can move between the application windows using Super and Arrow keys.

If your screen is filled with applications and you want to breath fresh, press Super key and 2 (or 3 or 4, depending upon number of workspaces in use) and start afresh with a new workspace. The new workspace has the keyboard shortcut on the display. You can toggle it with Super+Shift+? key combination.

Regolith uses GNOME underneath so you can still use GNOME tools to change the system settings.

Regolith comes with four different color themes with solarized dark being the default. It uses Arc icon themes. Changing the icon theme is same as Ubuntu but if you want to change the color, you need to do some minor tweaking in the configuration file. You can find the configuration information on this page.

You can log out of Regolith using the Super+Shift+E key combination. The keyboard shortcuts displayed on the desktop is not correct for logging out.

Since I have never used i3wm or any other tiling window manager, I find it weird that there is no shutdown option here. You’ll have to use command line to shutdown Ubuntu here.

Getting rid of Regolith desktop

I can understand if you didn’t like Regolith enough to use it as your main desktop. Tiling window manager is not everyone’s cup of tea (or coffee). The good thing is that you can go back to your regular desktop environment the same way you switch to Regolith.

Log out of your account. Click on the username and you’ll see the gear icon. Click on it and select the desktop environment you want to use.

Once you are back to the other desktop environment, you may even choose to remove Regolith completely. Note that you MUST be using some other desktop environment while removing Regolith.

Open a terminal and use the following commands:

You can remove the PPA as well:

To tile, or not to tile, that is the question

Personally, I am happy to have discovered Regolith desktop. I have been fascinated by the tiling window managers but I didn’t want to spend time on figuring out the configuration. Regolith gives me the comfort of using i3wm out of the box with my main distribution, Ubuntu.

Читайте также:  Операционные карты установка windows

I like it more as a desktop than a distribution. It gives the opportunity to try out tiling window manager without a lot of hassle.

Do you like the concept of Regolith desktop? Are you willing to give it a try? How’s your experience with tiling window manager (if any)? Do share your views in the comment section.

About Abhishek Prakash

Creator of It’s FOSS. An ardent Linux user & open source promoter. Huge fan of classic detective mysteries ranging from Agatha Christie and Sherlock Holmes to Detective Columbo & Ellery Queen. Also a movie buff with a soft corner for film noir.

Comparison of tiling window managers

This article provides an unbiased comparison of the most popular tiling window managers (as opposed to floating window managers).

Contents

Comparison table

The following table lists the most popular tiling window managers alongside notable features, providing readers with a quick overview.

Window Manager Written in Configured with Management style System tray support On-the-fly reload Information bars Compositing Default layouts Pixel usage External control Library Multiple (n) monitor behavior ICCCM/EWMH compliant Maintenance
alopex C C (recompile) Hybrid None No Built-in; call script/program as first argument External max, h-stack, v-stack, h-tab Variable borders, titles in-statusbar Xlib six tags, two views available by default Abandoned
Awesome C Lua Dynamic Built-in Yes Built-in, images and text External max, nh-stack (and invert), nv-stack (and invert), free Variable borders, optional h-tab titles dbus (if enabled) XCB n-tags (workspaces). Per default 9 are enabled. Example Yes Active
bspwm C Anything Hybrid None Yes Can write internal state to a FIFO External v-split, h-split Variable borders via bspc XCB Monitors hold Desktops Yes Active
dwm C C (recompile) Dynamic Optional Patch Optional Built-in, reads from root window name External v-stack, max via dwmfifo Xlib n regions, 9 workspaces fixed to each region Active
echinus C Text Dynamic None Yes ourico AUR External v-stack, b-stack, max Variable borders, optional titles Xlib Yes Abandoned
euclid-wm C Text Hybrid None Yes External (dzen) rows, columns 1-pix borders Xlib Dormant
FrankenWM C C (recompile) Dynamic None No No, outputs information to stdout, which can easily be parsed and displayed by an external monitor or panel (dzen2, conky, etc) External v-stack (and invert), h-stack (and invert), dual-v/h-stack, grid, fibonacci (vh-stack), rows, columns, max, free Variable borders XCB Active
herbstluftwm C++ Text Manual None Yes rows, columns 1-pix borders commands via herbstclient Xlib n regions, 9 workspaces visible in any region Active
i3 C Text Dynamic i3bar Yes (Layout is preserved) text piped to i3bar ( i3status / conky and others can be used) External tree, v-split, h-split, stacked, tabbed, max, can be nested infinitely None, 1-pix or 2-pix, optional titlebars, can hide edge borders commands via ipc (or i3-msg, which uses ipc) XCB n regions Yes Active
LeftWM Rust toml (user settings) / Anything (themes) Dynamic None Yes Yes, many options through theme system External v-stack, columns, rows Variable based on theme supports _NET_ACTIVE_WINDOW and sending commands to a named pipe Xlib Workspaces and monitors are not tide. Many workspaces for monitor or many monitors for workspace Yes Active
Notion C, Lua Lua, compatible with Ion3 configs Manual trayion, stalonetray Yes configurable ? h-tab, max Configurable borders and titlebars/tabs EWMH, arbitrary Lua scripts which have access to the rich internal API Xlib n workspaces on each monitor. Supports on-the-fly changes in topology Active
qtile Python Python Dynamic Yes Yes Yes External tree, v-split, h-split, stacked, tabbed, max No borders, although customizable Hooks, Server mode XCB Active
Ratpoison C Text Manual None Yes Yes External max No Active
Snapwm C Reloadable Text Dynamic None Yes Built-in, reads from root window name External nVertical, Fullscreen, nHorizontal, Grid, Center Stacking Variable borders, no titles Xlib Number of desktops distributed evenly between monitors Active
Spectrwm C Text Dynamic None Yes Built-in, reads from user script No nv-stack, nh-stack, max 1-pix borders, no titles XCB n regions, 10 workspaces visible in any region Yes Active
Stumpwm Lisp Lisp Manual None Yes Yes No Xlib No Active
subtle C Ruby Manual Built-in Yes Built-in (Ruby), external can be used as well External Variable grid Variable borders, no titles Hooks (Ruby), subtler (CLI), subtlext (Ruby extension) Xlib One workspace (view) per monitor (screen), placement on views via tags and per runtime Yes Active
Wingo Go Text Dynamic None Yes No External floating, nv-stack, nh-stack, max title bars in floating, skinny borders in tiling via wingo-cmd or UNIX sockets in any programming language X Go Binding n regions, workspaces visible in any region Yes Dormant
WMFS C Text Dynamic Built-in Yes Built-in, set with command, color text, images External nh-stack (and invert), nv-stack (and invert), mirror-v, mirror-h, grid, free, max Variable borders, titles or no titles commands Xlib Up to 36 tags(workspaces) per screen Yes Active
xmonad Haskell Haskell Dynamic None Yes No Yes, with xmonad-contrib and an external manager nv-stack, nh-stack, max Variable borders, no titles via XMonad-Hooks-ServerMode Xlib n regions, 9 workspaces visible in any region Yes / ? Active
Window Manager Written in Configured with Management style System tray support On-the-fly reload Information bars Compositing Default layouts Pixel usage External control Library Multiple (n) monitor behavior ICCCM/EWMH compliant Maintenance
Читайте также:  Отключение приложений автозапуск windows 10

Management style

Dynamic management emphasizes automatic management of window layouts for speed and simplicity. Manual management emphasizes manual adjustment of layout and sizing with potentially more precise control, at the cost of more time spent moving and sizing windows.

Layouts

A number of common layout types appear in several tiling WMs, although the terminology varies somewhat.

  • max: one window shown fullscreen (with or without a status bar, title and borders). Aka: monocle (dwm, monsterwm).
  • h-stack: master area in top half, other windows stack up horizontally in the bottom half. The master area may be resizable. May be inverted top-bottom (wmfs). Aka: bottom stack (dwm), bstack(monsterwm).
  • v-stack: master area in left half, other windows stack up vertically in the right half. The master area may be resizable. May be inverted left-right (wmfs). Aka: tile (dwm, monsterwm).
  • nh-stack: h-stack allowing >=1 windows in master area. Aka: nbstack (dwm)
  • nv-stack: v-stack allowing >=1 windows in master area. Aka: ntile (dwm)
  • mirror-h: nh-stack with stacks above and below the master area
  • mirror-v: nv-stack with stacks to the left and right of the master area
  • h-tab: one window shown fullscreen with all window titles shown horizontally (like browser tabs)
  • v-tab: one window shown fullscreen with all window titles shown vertically. Aka: stack (wmii).
  • h-split: a keybinding splits the current window horizontally creating space for another
  • v-split: a keybinding splits the current window vertically creating space for another
  • columns: manual layout style which treats windows as belonging to vertical columns
  • rows: manual layout style which treats windows as belonging to horizontal rows
  • grid: window positions and sizes based on a regular NxM grid. May be automatic (like wmfs, monsterwm) or manual (like Subtle).

Key bindings

Tiling window managers are usually designed to be used entirely with the keyboard or with keyboard & mouse. This is for speed (reaching for and moving a mouse is slow) and ease of use. Sensible key bindings are crucial to making workflow fast and efficient. Some default sets are better than others, but generally the keys can be rebound as desired by the user.

Оцените статью