A modern desktop interface for Linux extending GNOME Shell.
Providing a unique, simple, productivity-oriented, innovative and automated mouse and keyboard workflow which aims to be faster and easier to use and creates a great user experience.
Powered by its unique spatial model, its modern material design interface, its tiling engine and its persistability.
Workflow • Hotkeys • Installation • Uninstallation • History • Support
Created to simplify navigation and reduce the need to manipulate windows in order to improve productivity. It's meant to be 100% predictable and bring the benefits of tools coveted by professionals to everyone.
This is the core of the workflow and what everything is built around and in our case it's one of the simplest: a Grid
A Workspace is an applications container that can be visualized as a row and applications as cells.
Every new application is automatically positioned inside this grid at the end of its workspace row and every new workspaces are appended at the bottom which is very predictable and always sorted automatically.
This allows us to provide intuitive navigation by moving the screen around a larger context. Navigating up and down will change the current workspace and navigating left and right changes the current window(s) on screen.
You can organize your applications by use cases as activities or by applications type as categories.
Designed to represent the state of the workflow and provide navigation capabilities for both a mouse and a touchscreen.
The interface is divided in two parts:
In the left panel everything pertains to the system: workspaces state, current system status, notifications, etc.
On the right of the left panel everything pertains to the active workspace: the windows on the workspace's row, the layout switcher, and the windows themselves.
The two most important components are the system panel (on the left) and the workspace panel (on the top).
The system panel is the main component of the left side of the interface. It consists of:
- Workspace list and switcher: This component lists all the workspaces available and the currently selected one. It allows us to navigate to a specific workspace by clicking on its icon.
- System tray: This component lists all the information about the system, e.g. network status, bluetooth connectivity, volume, battery, and notification icons.
The workspace panel is the main component of the right side of the interface. It consists of:
- App switcher: This component lists all the application windows opened in the current workspace's row and the currently focused one. It allows us to navigate to a specific window within the row by selecting its item.
- Layout switcher: This component displays the current layout of the workspace and can be clicked to switch to the next available layout.
Made by following the Material Design guidelines - a solid baseline that allows us to provide an aesthetically pleasing and highly accessible interface.
You can choose between 3 different themes:
- Dark
- Light
- Primary (Colorful one)
And there is also a blurry version available for the more fancy ones !
It's the tool that automatically organize the application's window for you in a predictable and mutually non-overlapping disposition.
Choose at any time which tiling layout suit the most for your need:
- Maximize: Single window at a time
- Split: 2 windows side by side
- Simple: All windows evenly split and stacked along horizontal or vertical axis (useful for ultra wide monitor)
- Half: One master window on the left then others windows stacked to the right
- Grid: All windows displayed as a grid
The best way to configure the desktop layout is to not have to do it.
Material Shell keeps track of every decision relative to the desktop layout: where are windows, in which workspaces, and in which order.
This allows configuration of the layouts on the go while using it.
When opening a new session Material Shell will restore every window previously present with a "window placeholder which allows you to reopen any of the previous windows easily at the same spot you like to have them.
Some hotkeys might already be used by GNOME Shell - please check your keybindings first.
Super+W
Navigate to the upper workspace/category.Super+S
Navigate to the lower workspace/category.Super+A
Focus the window at the left of the current window.Super+D
Focus the window at the right of the current window.Super+1
,Super+2
...Super+0
Navigate to specific workspace
Super+Q
Kill the current window focused.Super+[MouseDrag]
Move window around.Super+Shift+A
Move the current window to the left.Super+Shift+D
Move the current window to the right.Super+Shift+W
Move the current window to the upper workspace.Super+Shift+S
Move the current window to the lower workspace.
Super+Space
Cycle the tiling layout of the current workspace.Super+Escape
Toggle the UI of Material-shell, like a Zen mode.
- Navigate to extensions.gnome.org
- Switch the toggle ON
-
Check your GNOME Shell version as we only support gnome-shell >= 40.0
-
Download the extension. Depending on your distribution, there are several ways to acquire it:
Install via | Command |
---|---|
extensions.gnome.org | Navigate to extensions.gnome.org && switch the toggle ON |
source | git clone https://github.com/material-shell/material-shell.git && cd material-shell && make install |
(We appreciate package maintainers! If you would like to make a package available for your distro please submit a PR so it can be added here!)
- Reload GNOME Shell:
- On X.org: Hit
Alt+F2
and type the commandr
- On Wayland: Log out and back in
- Open
gnome-tweaks
and activate theMaterial Shell
extension OR enable it using
gnome-extensions enable material-shell@papyelgringo
- GTK and GNOME Shell theme: Plata Theme
- Icon theme: Tela Icon Theme
If you have some weird behavior or a degradation over time, it can be a good idea to try to reset the Material Shell state.
- Open Looking Glass tool by pressing
Alt + F2
and typelg
- Copy and paste the command
global.set_persistent_state('material-shell-state',new GLib.Variant('s', '{}'));
- Reload the shell
If you want to discard all the changes of Material Shell settings and reset to default (Including keybindings)
- Open a terminal and copy/paste
dconf reset -f /org/gnome/shell/extensions/materialshell/
We're sad to see you go. Before you uninstall, leave us some feedback by opening an issue - it will be very helpful in improving Material Shell.
- Open
gnome-tweaks
and disable theMaterial Shell
extension OR disable it using
gnome-extensions disable material-shell@papyelgringo
- Delete the extension directory.
rm -rf ~/.local/share/gnome-shell/extensions/material-shell@papyelgringo
if you miss the minimize and maximize button on windows titlebar you can restore them with
/usr/bin/gsettings set org.gnome.desktop.wm.preferences button-layout :minimize,maximize,close
The project is based on my earlier work on Material Awesome.
If you interested in funding the project throught crypto feel free to use:
Bitcoin 395nVybx6h6CC4sWgGGcvCDxwLvGMFhfiA
Ethereum 0x14aaf57e59cbbc9fb6c5f09fb9cc0a10bdf366bb
Monero 82YGUymQLZ3cWPw2kEfjTphjUJLCN3M2eX3dPxRhrBeKSoUUoj4TEHAGToPoZA8AfhSGEKa9FdZjmGKAMSBxcrgHQMRZu3v