Skip to content

Extend Gnome Shell with advanced tiling window management. Supports multiple monitors, Windows 11 Snap Assistant, Fancy Zones, customised tiling layouts and more.

License

Notifications You must be signed in to change notification settings

domferr/tilingshell

Repository files navigation

ModernWindowManager

This is a Gnome Shell extension which provides a windows tiling system, supporting multiple monitors and focused on providing the best UX. It is also the first and only extension which provides Windows 11's snap assistant!

Can be installed on Gnome Shells from 40 to 44 on X11 and Wayland.

Have issues, you want to suggest a new feature or contribute? Please open a new issue!

If you're in search of a tiling manager for GNOME or if you are looking for features akin to Windows 11 Snap Assistant or Windows PowerToys FancyZones, this extension is the perfect solution for you!

Usage

Tiling System

When grabbing and moving a window, press CTRL key to show the tiling layout. When moving on a tile, it will highlight. Ungrab the window to place that window on the highlighted tile.

tiling_system.webm

Snap Assistant

When grabbing and moving a window, the snap assistant will be available on top of the screen. Move the window near it to activate the snap assistant. While still grabbing the window, move your mouse to the tile you are interested in. By stopping grabbing the window will be tiled to the selected tile!

snap_assistance.webm

Select a layout

Click on ModernWindowManager's panel indicator and the available layouts will be shown. Select the one you prefer by clicking on it. That layout will be applied to every monitor in case you have more than one.

layout_selection.webm

Select multiple tiles

The layout is not strict. You can select multiple tiles too! Just press SHIFT while using the tiling system.

multiple_selection.webm

Installation

Currently, this extension is not on extensions.gnome.org. However, if you are interested we can publish it there. Let us know by opening a new issue!

Install via Source

Clone the repo then run

npm run install:extension

You can restart your GNOME shell e.g. logout then login, or restart in place with an alt-F2 and entering r (X11 only) and enable the extension. Enjoy it! To enable via the command line you can run

/usr/bin/gnome-extensions enable modernwindowmanager@ferrarodomenico.com

Uninstall ModernWindowManager

To uninstall simply disable the extension and remove it. To disable via the command line you can run

/usr/bin/gnome-extensions disable modernwindowmanager@ferrarodomenico.com

Contributing

Feel free to submit issues and Pull Requests!