Shatter Shell is a keyboard-driven layer for GNOME Shell which allows for quick and sensible navigation and management of windows. The core feature of Shatter Shell is the addition of advanced tiling window management — a feature that has been highly sought within our community. For many — ourselves included — i3wm has become the leading competitor to the GNOME desktop.
Tiling window management in GNOME is virtually nonexistent, which makes the desktop awkward to interact with when your needs exceed that of two windows at a given time. Luckily, GNOME Shell is an extensible desktop with the foundations that make it possible to implement a tiling window manager on top of the desktop.
Therefore, we see an opportunity here to advance the usability of the GNOME desktop to better accommodate the needs of our community with Shatter Shell. Advanced tiling window management is a must for the desktop, so we've merged i3-like tiling window management with the GNOME desktop for the best of both worlds.
This is a fork of the original pop-os/shell repo, which is no longer being developedsource.
Find a summary of this fork's main improvements in the 2.0.0 release and incremental improvements in the other releases.
Shatter Shell is included in the Terra community repo. Run the following to install:
# Add the Terra repo if you haven't already
sudo dnf install --nogpgcheck --repofrompath 'terra,https://repos.fyralabs.com/terra$releasever' terra-release
# Uninstall Pop Shell if you have it
sudo dnf remove gnome-shell-extension-pop-shell
# Install Shatter Shell
sudo dnf install gnome-shell-extension-shatter-shellAfter logging out and back in,
enable the extension in Extension Manager.
Alternatively, run gnome-extensions enable [email protected] in a terminal.
Run the following to build Shatter Shell from source:
# Install the dependencies, e.g. for Fedora:
sudo dnf install make npm
# Clone the source code
git clone https://github.com/adil192/shatter-shell.git
cd shatter-shell
# Build and install
make local-installAfter logging out and back in,
enable the extension in Extension Manager.
Alternatively, run gnome-extensions enable [email protected] in a terminal.
Feel free to delete the source code after installing.
Additional notes:
- If you are planning on developing Shatter Shell, see Developing below.
- If you want to uninstall the extension, run
make uninstall. Then open the "Keyboard Shortcuts" page in GNOME Settings and click the "Reset All..." button. - If you are packaging for your Linux distribution, many features in Shatter Shell will not work out of the box because they require changes to GNOME's default keyboard shortcuts. You may wish to package some gschema overrides to work around this.
Please install the following as dependencies when developing:
To test your changes while working on the shell, run make debug to start a nested GNOME session. See the documentation at https://gjs.guide/extensions/development/debugging.html.
Licensed under the GNU General Public License, Version 3.0, (LICENSE or https://www.gnu.org/licenses/gpl-3.0.en.html)
Any contribution intentionally submitted for inclusion in the work by you shall be licensed under the GNU GPLv3.
