Introduction
Material Shell is a GNOME Shell extension that replaces the default desktop workflow with a tiling interface inspired by Material Design principles. It organizes windows into persistent, spatially predictable workspaces so users spend less time arranging windows and more time working.
What Material Shell Does
- Provides a tiling layout engine that automatically arranges windows without manual resizing
- Creates a persistent workspace system where each workspace remembers its layout and applications
- Replaces the GNOME overview with a spatial model that maps workspaces to a grid
- Offers a hot-corner panel for quick app launching and workspace switching
- Integrates with the GNOME ecosystem using GJS and the Mutter window manager API
Architecture Overview
Material Shell is built as a GNOME Shell extension written in GJS (GNOME JavaScript). It hooks into Mutter's window management layer to intercept placement events and enforce its tiling algorithms. The extension manages a workspace grid data structure that tracks window-to-workspace assignments persistently across sessions, and renders a custom panel and overview UI using Clutter actors within the GNOME compositor pipeline.
Self-Hosting & Configuration
- Requires GNOME Shell 40+ on a Wayland or X11 session
- Install via the GNOME Extensions website or manually from the GitHub repository
- Configuration is done through GNOME Settings or the dconf editor under the material-shell schema
- Supports multiple monitor setups with per-monitor workspace grids
- Keyboard shortcuts can be remapped through GNOME Settings or the extension preferences
Key Features
- Spatial workspace model that makes window locations predictable and memorable
- Automatic tiling with support for half, third, and grid splits
- Persistent workspace state across reboots so your layout survives restarts
- Material Design-inspired UI with smooth animations and a clean panel
- Hotkey-driven workflow for navigating workspaces and moving windows without a mouse
Comparison with Similar Tools
- Pop Shell — COSMIC/Pop!_OS tiling; Material Shell offers a full desktop paradigm shift, not just tiling
- i3/Sway — Standalone tiling WMs; Material Shell layers on top of GNOME, keeping its app ecosystem
- Forge — GNOME tiling extension; Material Shell adds spatial workspaces and a redesigned overview
- Bismuth — KDE tiling script; Material Shell targets GNOME and provides deeper integration
FAQ
Q: Does Material Shell work on X11? A: Yes, it supports both Wayland and X11 sessions under GNOME Shell.
Q: Can I use it alongside other GNOME extensions? A: Most extensions work, but other tiling or workspace extensions may conflict. Disable them first.
Q: Does it support multi-monitor setups? A: Yes, each monitor gets its own independent workspace grid.
Q: How do I uninstall it? A: Disable or remove it from GNOME Extensions, then log out and back in.