Mosaic brings i3-style automatic tiling to GNOME Shell without asking you to choose it permanently. Turn it on when you want windows to arrange themselves, turn it off when you want floating windows back.

The extension works with GNOME 45 and up, adding a toggle to Quick Settings to enable the auto-tiling mode. When off, you’re in floating mode (which still has tiling features). Expand the toggle to access more options or get at Mosaic’s settings.

It’s the on-demand nature that makes Mosaic more interesting as a tool.

Mosaic in action (image: the project Github)

When the auto-tiling mode is active (the toggle is turned on) all your windows tile for you the moment you open them, using a tree-based i3-style approach, per the Mosaic GitHub.

Naturally, there are plenty of keyboard shortcuts to manipulate and manage windows on your workspace.

Press super + return to enter window management mode then:

ShortcutAction
oAdjust orientation of focused window
super + arrow keys/vimMove focus between windows
shift + arrow keys/vimResize focused window
ctrl + arrow keys/vim (then enter)Swap focused with with another
super + alt + arrow keysResize window in that direction (bigger)
super + alt + shift + arrow keysResize window in that direction (smaller)

Outside of window management mode, press super + g to toggle a window between floating and tiled state, and press super + r to enable the resize mode. You can use your mouse to drag between gaps (gap size configurable in settings) to resize too.

Window management mode works when auto-tiling is off, albeit a little different – useful if you want to create a more exotic arrangement of apps using your keyboard.

I did, however, notice less fluidity when moving floating windows when this extension was installed and enabled, but auto-tiling was off. Your mileage may vary.

If all of this reminds you of System76’s Pop Shell, there is a good reason: Mosaic began as a fork of it. Pop!_OS has since moved from GNOME Shell to the COSMIC desktop, where similar functionality comes built into the desktop.

Install Mosaic on Ubuntu

Mosaic’s developer says the extension aims for “simple and intuitive window management as well as minimal configuration and sane defaults”.

It’s inspired by the Rethinking Window Management blog post from GNOME’s Tobias Bernard, but doesn’t make that a wholesale reality – it’s a starting point1.

It answers a different use case to Tiling Shell, an adaptive window tiling extension for GNOME Shell I’ve written about before. That offers custom layouts, various interaction modes plus a wider range of configuration options.

Mosaic is simple by design – simplicity can be a feature – and involves less complexity than other window tiling extensions for GNOME Shell. Whether it’s the “best” one for you is, obviously, for you to decide.

Mosaic is available on GNOME 45 and later from the GNOME Extensions website (I recommend using the Extensions Manager app, available the Ubuntu repos, to install it, as it’s less hassle and provides more features).

You should disable Ubuntu’s built-in tiling assistant extension when using this.

You can also install it locally by building the source code. That has some additional shortcuts but, if going that route, be sure to read the GitHub carefully as it changes some of the native shell ones – which you may or may not want.

  1. It is not the only effort looking to make that concept a reality. ↩︎