There is something about tiling windows that attracts many people. Perhaps it looks good or perhaps it is time-saving if you are a fan of keyboard shortcuts in Linux. Or maybe it’s the challenge of using the uncommon tiling windows.
From i3 to Sway, there are so many tiling window managers available for Linux desktop. Configuring a tiling window manager itself requires a steep learning curve.
This is why projects like Regolith desktop exist to give you preconfigured tiling desktop so that you can get started with tiling windows with less effort.
Let me introduce you to a similar project named Material Shell that makes using tiling feature even easier than Regolith.
Material Shell GNOME Extension: Convert GNOME desktop into a tiling window manager
Material Shell is a GNOME extension and that’s the best thing about it. This means that you don’t have to log out and log in to another desktop environment or window manager. You can enable or disable it from within your current session.
I’ll list the features of Material Shell but it will be easier to see it in action:
The project is called Material Shell because it follows the Material Design guideline and thus gives the applications an aesthetically pleasing interface. Here are its main features:
Material Shell adds a left panel for quick access. On this panel, you can find the system tray at the bottom and the search and workspaces on the top.
All the new apps are added to the current workspace. You can create new workspace and switch to it for organizing your running apps into categories. This is the essential concept of workspace anyway.
In Material Shell, every workspace can be visualized as a row with several apps rather than a box with several apps in it.
In a workspace, you can see all your opened applications on the top all the time. By default, the applications are opened to take the entire screen like you do in GNOME desktop. You can change the layout to split it in half or multiple columns or a grid of apps using the layout changer in the top right corner.
This video shows all the above features at a glance:
Persistent layout and workspaces
That’s not it. Material Shell also remembers the workspaces and windows you open so that you don’t have to reorganize your layout again. This is a good feature to have as it saves time if you are particular about which application goes where.
Like any tiling windows manager, you can use keyboard shortcuts to navigate between applications and workspaces.
Super+WNavigate to the upper workspace.
Super+SNavigate to the lower workspace.
Super+AFocus the window at the left of the current window.
Super+DFocus the window at the right of the current window.
Super+0Navigate to specific workspace
Super+QKill the current window focused.
Super+[MouseDrag]Move window around.
Super+Shift+AMove the current window to the left.
Super+Shift+DMove the current window to the right.
Super+Shift+WMove the current window to the upper workspace.
Super+Shift+SMove the current window to the lower workspace.
Installing Material Shell
Tiling windows could be confusing for many users. You should be familiar with GNOME Extensions to use it. Avoid trying it if you are absolutely new to Linux or if you are easily panicked if anything changes in your system.
Material Shell is a GNOME extension. So, please check your desktop environment to make sure you are running GNOME 3.34 or higher version.
I would also like to add that tiling windows could be confusing for many users.
Apart from that, I noticed that after disabling Material Shell it removes the top bar from Firefox and the Ubuntu dock. You can get the dock back by disabling/enabling Ubuntu dock extension from the Extensions app in GNOME. I haven’t tried but I guess these problems should also go away after a system reboot.
I hope you know how to use GNOME extensions. The easiest way is to just open this link in the browser, install GNOME extension plugin and then enable the Material Shell extension.
If you don’t like it, you can disable it from the same extension link you used earlier or use the GNOME Extensions app:
To tile or not?
I use multiple screens and I found that Material Shell doesn’t work well with multiple monitors. This is something the developer(s) can improve in the future.
Apart from that, it’s a really easy to get started with tiling windows with Material Shell. If you try Material Shell and like it, appreciate the project by giving it a star or sponsoring it on GitHub.
For some reasons, tiling windows are getting popular. Recently released Pop OS 20.04 also added tiling window features. There is a similar project called PaperWM which does the same.
But as I mentioned previously, tiling layouts are not for everyone and it could confuse many people.
How about you? Do you prefer tiling windows or you prefer the classic desktop layout?