home

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

The Goal

I wanted to do make managing and navigating between windows simpler and faster in the Gnome desktop environment.

The Constraints

Monitors

Issues with my neck prevent me from using a multi-monitor setup. Turning my head sideways, even for short periods, is very uncomfortable.

If you use multiple monitors modify this setup to your liking.
Improvise. Adapt. Overcome.

Linux Distribution

Ubuntu has been one of my defaults even before I started programming. Here are the reasons why I stick with Ubu:

Updates don't break the system
I don't want to be rescuing a broken system just because I ran an update at lunch when I have to deliver a feature by 5 PM.

Packages just work
Ubu has excellent support for snap packages. Snaps are a huge help whenever I need to install some proprietary software for work.

I get paid to deliver software not to maintain a fancy workstation.
Boring is good.

Simplicity

I want to make this work with the least amount of customizations and external packages possible.

The Setup

Suboptimal defaults that waste time and brain cycles

Hack#1 Workspaces

Hack#2 Tiling

Hack#3 Two or less windows per workspace

Keybindings for #1 #2 #3

Name Key
Move to workspace on the left Shift + Super + ←
Move to workspace on the right Shift + Super + →
Move window one workspace to the left Super + Super + ← (Keypad)
Move window one workspace to the right Super + Super + → (keypad)
Switch windows directly Alt + Tab
Lock screen Super + L
Close window Alt + F4
Maximize Window Super + ↓
Toggle fullscreen mode Super + ↑
View split on left Super + ←
View split on right Super + →

Keybindings can be modified by going to Settings > Keyboard Shortcuts.
All other shortcuts are disabled except for the screenshots section which is left to defaults.
Alt + Tab is bound to "Switch windows" by default which is slower than "Switch windows directly".
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.

(Optional) Hack#4 Put the Caps Lock to use

I write upper case characters by holding down on the Shift key. The Caps Lock just freeloads on my keyboard without providing any value.
I have rewired the Caps Lock as a Menu key can be used to create more keybindings.

# Install
$ sudo apt install gnome-tweaks

# Then
Tweaks
  > Keyboard & Mouse
    > Additional Layout Options
      > Caps Lock behavior
        > Make Caps Lock an additional Menu key
# Install
$ sudo apt install gnome-tweaks

# Then
Tweaks
  > Keyboard & Mouse
    > Additional Layout Options
      > Caps Lock behavior
        > Make Caps Lock an additional Menu key

More thoughts on the matter

Removing the desktop environment

I do not let the desktop environment define my computing experience. The desktop env. provides useful widgets like WiFi and Bluetooth controls and that's usually the limit of its utility.
Launcher icons, animations, and all else may look cool for a while, but when I'm working they just get in the way and slow me down.

On sticking with this setup

The goal is to optimize navigation, not to showcase the features of a particular desktop env.

This setup is easy to learn and does not stray too far from the defaults. Not all developers are power users, some just want things to work and this is the fastest way to navigate between windows in Gnome. You can also use these ideas to customize your own desktop env.