For some people, using GNOME Shell as a traditional desktop manager may be frustrating since it often requires more action of the mouse. In fact, GNOME Shell is also a desktop manager designed for and meant to be driven by the keyboard. Learn how to be more efficient with GNOME Shell with these 5 ways to use the keyboard instead of the mouse.
GNOME activities overview
The activities overview can be easily opened using the Super key from the keyboard. (The Super key usually has a logo on it.) This is really useful when it comes to start an application. For example, it’s easy to start the Firefox web browser with the following key sequence Super + fir + Enter.
In GNOME, notifications are available in the message tray. This is also the place where the calendar and world clocks are available. To open the message tray using the keyboard use the Super+m shortcut. To close the message tray simply use the same shortcut again.
Managing workspaces in GNOME
Gnome Shell uses dynamic workspaces, meaning it creates additional workspaces as they are needed. A great way to be more productive using Gnome is to use one workspace per application or per dedicated activity, and then use the keyboard to navigate between these workspaces.
Let’s look at a practical example. To open a Terminal in the current workspace press the following keys: Super + ter + Enter. Then, to open a new workspace press Super + PgDn. Open Firefox (Super + fir + Enter). To come back to the terminal, use Super + PgUp.
Managing an application window
Using the keyboard it is also easy to manage the size of an application window. Minimizing, maximizing and moving the application to the left or the right of the screen can be done with only a few key strokes. Use Super+up to maximize, Super+down to minimize, Super+left and Super+right to move the window left and right.
Multiple windows from the same application
Using the activities overview to start an application is very efficient. But trying to open a new window from an application already running only results in focusing on the open window. To create a new window, instead of simply hitting Enter to start the application, use Ctrl+Enter.
So for example, to start a second instance of the terminal using the application overview, Super + ter + (Ctrl+Enter).
Then you can use Super+` to switch between windows of the same application.
As shown, GNOME Shell is a really powerful desktop environment when controlled from the keyboard. Learning to use these shortcuts and train your muscle memory to not use the mouse will give you a better user experience, and make you more productive when using GNOME. For other useful shortcuts, check out this page on the GNOME wiki.
Thank you! I was struggling figuring out the shortcut key combo to switch between different windows for the same application, which in my Italian Keyboard is Super+| (the same as Super+accent)
You could also:
Hold Alt and press Tab to select the desired application and while keeping Alt held down, press the Down key and then use Left and Right keys to select the window.
Or, you can change the default behaviour of Alt+Tab to switch windows instead of applications.
Settings > Devices > Keyboard
And in the Navigation section (or use the magnifying glass button and search for “switch windows”), click on “Switch windows” and input Alt+Tab. Then click on the “Replace” button.
Great post to explain the basics. One change I add to the keybindings for GNOME is setting switch to workspace 1-4 to alt+1-4. That is workspace one is alt+1, workspace two is alt+2, etc. These and other keybindings can be set or changed under Devices > Keyboard in GNOME Settings.
This provides two benefits. First, you can specify exactly which workspace you want to switch to. Secondly, you can switch workspaces with one hand which I find more ergonomic than using PgUp and PgDn, especially if using graphical applications with a mouse.
NOTE: This setup will conflict with the default tab switching key bindings in the Terminal. Desktop keybindings will take precedence over the application bindings. Either change the bindings in GNOME Terminal or use something like screen or tmux.
You forgot to mention that you can launch your favorite applications (the ones locked on the dock/taskbar) using Super+. The apps are numerated from top to bottom.
For example on a fresh Fedora install, Super+1 will launch Firefox.
that comment saved my day, thank you!
Bem explicado com bons exemplos e ótimas ilustrações. Muito obrigado! 🙂
The use of the addition ‘+’ symbol is a bit confusing, because it’s difficult to differentiate a sequence (key one then key two) with a combination (key one and two simultaneously). The use of commas or semicolons might make it more clear (just a tip for future articles).
Unfortunately open new window via Ctrl+Enter is not always working. For example LibreOffice Writer is not supporting it (at least not in Fedora 29).
Win -> “wri” -> Ctrl+Enter will always switch to already opened Writer…
So the real universal solution is this:
Win -> “wri” -> Menu key -> choose with arrows option “New document”
But it is a lot less practical:(
This is interesting. The ctrl+enter shortcut seems to work with gedit and other GNOME applications, but not libreoffice.
If you prefer the launcher to always open a new window, you can install the GNOME shell extension ‘launch new instance’. It’s not a perfect solution, but this allows the launcher to always create new windows, even in libreoffice.
Managing an application window section does not display the options properly (macosx firefox developer edition)
… Use Super+???? to maximize, Super+???? to minimize, Super+???? and Super+???? to move the window left and right.
You shoulld rewrite some of these hacks to use the greatest keyboard shortcut of them all : ctrl-alt-t to open a terminal.
Gnome shell is a great and powerful desktop environment. Sadly it is crippled by the fact that the default settings do their best to hide all the powerful things and a lot of the shortcuts are disabled by default. Also the tendency to hide and limit what can be changed in the preferences of the applications is really limiting . I understand the need for a simple and straightforward desktop environment, and hiding some of the complexity is part of that,. But there is a difference between the hiding of that complexity and taking a way the options. The last one is limiting the usability of the environment.