Material Shell

一个现代的 Linux 桌面界面。改善你的用户体验,摆脱传统桌面工作流程的混乱状态。设计为简化导航,减少对窗口的操作,以提高工作效率。它的目的是100%可预测,并将专业人员所觊觎的工具的好处带给大家。「New shell for Gnome following the Material-design guidelines. Proposing a performant and simple opinionated mouse / keyboard workflow to increase daily productivity and comfort.」

Github星跟踪图

Material Shell



Demo GIF


Workflow

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.

Spatial Model

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 allow 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 change the current window(s) on screen.

You can organize your applications by use cases as activities or by applications type as categories.

Interface

Designed to represent the state of the workflow and provide navigation capabilities for both a mouse and a touchscreen.

Layout

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).

System panel

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.

Workspace panel

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.

Design

Made by following the Material Design guidelines - a solid baseline that allows us to provide an aesthetically pleasing and highly accessible interface.

Themes

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 !

Tiling engine

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
  • Column: All windows displayed as columns (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

Persistence

The best way to configure the desktop layout is to not have to do it.

Material Shell keep track of every decisions relative to the desktop layout: where are windows, in which workspaces in which order.

This allow to configure the layouts on the go while using it.

When opening a new session Material Shell will restore every windows previously present with a "window placeholder which allow you to reopen any of the previous window easily at the same spot you like to have them.

Hotkeys

Some hotkeys might already be used by GNOME Shell - please check your keybindings first.

Desktop navigation

  • 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

Window manipulation

  • 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.

Extra Hotkeys

  • Super+Space Cycle the tiling layout of the current workspace.
  • Super+Escape Toggle the UI of Material-shell, like a Zen mode.

Installation

Get it in two clicks

Get the most up to date version with Git

  1. Check your GNOME Shell version as we only support gnome-shell >= 3.34.0

  2. Download the extension. Depending on your distribution, there are several ways to acquire it:

Distribution Install via Command
Manjaro PACMAN pacman -S gnome-shell-extension-material-shell
Arch Linux AUR From latest master: yay -S gnome-shell-extension-material-shell-git
Arch Linux AUR From latest release: yay -S gnome-shell-extension-material-shell
Fedora DNF sudo dnf install gnome-shell-extension-material-shell
NixOS nix nix-env -i gnome-shell-extension-material-shell
Others source git clone https://github.com/material-shell/material-shell.git ~/.local/share/gnome-shell/extensions/material-shell@papyelgringo

(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!)

  1. Reload GNOME Shell:
  • On X.org: Hit Alt+F2 and type the command r
  • On Wayland: Log out and back in
  1. Open gnome-tweaks and activate the Material Shell extension OR enable it using
gnome-extensions enable material-shell@papyelgringo

Uninstallation 😢

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.

  1. Open gnome-tweaks and disable the Material Shell extension OR disable it using
gnome-extensions disable material-shell@papyelgringo
  1. Delete the extension directory.
rm -rf ~/.local/share/gnome-shell/extensions/material-shell@papyelgringo

History

The project is based on my earlier work on Material Awesome.

概览

名称与所有者material-shell/material-shell
主编程语言TypeScript
编程语言JavaScript (语言数: 5)
平台Linux
许可证GNU General Public License v3.0
发布数17
最新版本名称44 (发布于 )
第一版名称v1 (发布于 )
创建于2019-05-02 11:48:15
推送于2023-12-15 08:16:53
最后一次提交
星数7.2k
关注者数81
派生数180
提交数1k
已启用问题?
问题数656
打开的问题数267
拉请求数212
打开的拉请求数10
关闭的拉请求数74
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?
去到顶部