Doing something to the Gnome desktop environment that makes managing and navigating between windows simpler and faster.
Issues with my neck prevent me from using a multi-monitor setup. Keeping my head turned sideways as I work is very uncomfortable.
If you use multiple monitors modify this setup to your liking.
Improvise. Adapt. Overcome.
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
You don’t want to be rescuing a broken system just because you ran an update at lunch when you have to deliver a feature by 5 PM.
Packages just work
Sometimes you just need to install some software for work and it’s convenient to be able to install snap packages without any problems.
I get paid to deliver software not to maintain a fancy workstation.
Boring is good.
I shouldn’t have to install a whole bunch of external packages to get this working. Hyper-customization is not the goal.
What doesn’t work#
- Using the
Superkey to show all windows and then finding the one you want to work with when you have 8 of them open is sub-optimal.
Alt+Tabis also sub-optimal because the windows change positions in the queue.
- Hitting a corner with your 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.
Use vertical workspaces#
- You should always know where a window is and what’s the fastest way to get to it.
- Workspaces are the single most under-utilized feature of any desktop environment. They should probably be taught about in school. You’re missing out big time if you’re not using workspaces on Gnome.
- Windows should have a designated workspace. Whenever opened, they should be moved to their designated 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
Tile your windows#
- Floating windows are an absolute waste of resources.
- The only useful states for a window are tiled, maximized, and full-screened.
- Gnome supports a very simple two-column tile layout out of the box that’s enough for 90% of people.
- I use the split-screen feature inside my text editors extensively. Therefore it makes sense to give the whole (or half) of the screen to the app and use split layouts inside the app itself.
No more than two windows per workspace#
- One window per workspace is very good. Two is the absolute limit.
- Two windows on a workspace can be put side by side.
- Two windows on a workspace can also be maximized or full-screened. A shortcut like
Alt + Tabcan be used for switching between them.
- If you have more than two windows on a workspace, you can never be sure which window a shortcut like
Alt + Tabwill bring forward unless you maintain a variable that holds that state in your head.
|Move to workspace above||Super + Page Up||Fn + ↑ = Page Up|
|Move to workspace below||Super + Page Down||Fn + ↓ = Page Down|
|Move window one workspace down||Shift + Super + Page Down||Without Shift = move workspace|
|Move window one workspace up||Shift + Super + Page Up||With Shift = move window|
|Switch windows directly||Alt + Tab||See below|
|Lock screen||Super + L|
|Close window||Alt + F4|
|Maximize Window||Super + ↑|
|Toggle fullscreen mode||Menu||See below|
|View split on left||Super + ←|
|View split on right||Super + →|
Set your keybindings by going to
Settings > Keyboard Shortcuts.
All other shortcuts are disabled except for the screenshots section which is left to defaults.
Movement of windows and workspaces is done by a combination of
Super and arrow keys.
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.
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 anything.
I have rewired the
Caps Lock as a
Menu key which is used for toggling fullscreen mode.
# Install $ sudo apt install gnome-tweaks # Then Tweaks > Keyboard & Mouse > Additional Layout Options > Caps Lock behavior > Make Caps Lock an additional Menu key
More random 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 when I’m relaxing, but while I’m working they just get in the way and slow me down.
On sticking with this setup#
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.
Try this setup if you happen to have a machine with Gnome running. Or, use these ideas to customize your own desktop env. experience.