Skip to content

Getting the most out of Gnome with tiles, windows, and shortcuts

Updated on 14/03/2025
A lot has changed since I wrote this but this still remains by far the best desktop setup I've come across.

Some years ago I was working in a "fast-paced" startup where requirements changed rapidly, timelines shrinked unexpectedly, and working on more than one thing at time was usual. On the computer it translated to multiple projects and multiple open windows all the time. It was also an environment that productivty hacks emerged from, with every click, scroll, or drag asking to be done away with.

The Problem

I wanted to do make managing and navigating between windows simpler and faster. Issues with my neck prevented me from using a multi-monitor setup. Turning my head sideways, even for short periods, was very uncomfortable. So spreading application windows across multiple screens was not an option.
I wanted to make this work with the least amount of customizations and external packages possible. At that time, my org allowed more-than-normal control over what software we put on our machines (perks of working in early-stage startups), and I was already using Gnome desktop environment on Linux, so that's what I started hacking on.

I wanted to do make managing and navigating between windows simpler and faster.

Gnome is shipped w suboptimal defaults

The default window navigation features provided by Gnome (and most other desktop environments) waste time and brain cycles.

  • Using the Super key to show all windows and then finding the one I want to work with when I have 8 of them open is sub-optimal.
  • Using Alt+Tab is also sub-optimal because the windows change positions in the queue.
  • Hitting a corner with the mouse to show all windows is also sub-optimal.
  • Anything that involves the mouse is sub-optimal. It requires more brain cycles than pulling off a shortcut.

A better system

#1 Workspaces

The idea behind using workspaces is:

  • I should always know where a window is.
  • There should be just one obvious way to get to it.

Gnome's workspaces work very well out of the box. Assign a designated workspace to every application window (in your head) and always keep application window on that workspace. For example, I always open:

  • terminals on workspace 1
  • a browser and a text editor on workspace 2
  • a graphical git client on workspace 3

Workspaces on Gnome

#2 Tiling

I find floating windows to be an absolute waste of resources compared to full-screened, maximized, if you need quick access to the toolbars, or tiled, the most co-operative state that allows other windows to fit in. Gnome supports a very simple two-column tile layout out of the box that should be enough for 90% of people.

Tiling windows on Gnome

#3 Three windows per workspace

There are few days when I'm lucky enough to just use one window per workspace. Usually, I need to look at two things at the same time. I do this by putting two windows side to side on one workspace. Use Alt + Tab to switch between windows.
Then there are other times when I just want to do more, like watching a video where I don't want to skip a frame, while writing code in a text editor, and checking StackOverflow for reference in a browser.
Tile three windows to take up half of the screen, put the one you want to be visible always on one side, and the other two on the other side. I can still use Alt + Tab to switch between windows.

#4 Keybindings

The last bit is the keybindings that make this system work. With these, I virtually never have to use the mouse for navigating between windows.

NameKey
Move to workspace on the leftCtrl + Super + ←
Move to workspace on the rightCtrl + Super + →
Move window one workspace to the leftShift + Super + ←
Move window one workspace to the rightShift + Super + →
Switch windows directlyAlt + Tab
Lock screenSuper + L
Close windowAlt + F4
Maximize WindowSuper + ↓
Toggle fullscreen modeSuper + ↑
View split on leftSuper + ←
View split on rightSuper + →

Keybindings can be modified by going to Settings > Keyboard Shortcuts.
Alt + Tab should be bound to "Switch windows directly" which is faster than "Switch windows."
For opening an application, press the Super key and type the name.

Movement of windows and workspaces is done by a combination of Super and arrow keys.

  • Super + ↑ ↓ ← → moves windows within the current workspace (aligning to left or right border).
  • Ctrl + Super + ↑ ↓ ← → move between workspaces.
  • Shift + Super + ↑ ↓ ← → moves windows to different workspaces.

More thoughts on the matter

✨There are none.✨
This is all there is to my setup, and it has served me well for many, many years now.