..is a gnome-shell extension that adds smart and user-friendly tiling window features to your gnome desktop, inspired by bluetile. It's still young, but here's what it can do for you:

shellshape demo

Follow shellshape on google+ to find out about new features & releases.

Try it Out

You can add this to your shell from the extensions.gnome.org page.

Note: you will need at least gnome-shell 3.4 to run versions 0.4+ of shellshape. Previous versions are no longer supported, as they required running an error-prone fork of the mutter window manager (which is thankfully no longer necessary).

For more flexibility, or to run the latest and greatest version, you will need to install zero install, with sudo yum install zeroinstall-injector (debian users: sudo apt-get install zeroinstall-injector).

Once you've got zero install, you should be able to run shellshape itself using 0install from the terminal. I advise running this from a virtual console, or from a terminal multiplexer like GNU screen or tmux so you can see what went wrong if it doesn't work:

DISPLAY=:0 0install run -c http://gfxmonk.net/dist/0install/shellshape.xml --replace

Once that's running, you'll still need to enable the plugin via gnome-tweak-tool or the local plugins page on extensions.gnome.org

Keyboard Shortcuts

Most shortcuts are the same as bluetile, except where functionality differs. Here's the full list:

Selecting layouts:
win+d switch workspace to vertical tiled mode
win+f switch workspace to floating mode
win+g switch workspace to horizontal tiled mode

Window navigation:
win+j, win-tab select next window
win+k, win-shift-tab select prev window
win+space select main window

Window manipulation:
win+shift+j swap with next window
win+shift+k swap with prev window
win+shift+space swap with main window
win+x minimize window
win+shift+x un-minimize last window

Tile management:
win+t tile the current window
win+y untile (yank) the current window
win+shift+p adjust tile boundaries to fit window
win+, more windows in the master area
win+. less windows in the master area

Resizing tiles:
win+h shrink master area
win+l grow master area
win+u shrink a slave area
win+i grow a slave area

Resizing windows:
win+shift+h decrease window's width
win+shift+l increase window's width
win+shift+u decrease window's height
win+shift+i increase window's height
win+equal increase window's size
win+minus decrease window's size
win+z toggle window maximized state

Workspace actions:
win+alt+j go to workspace below
win+alt+k go to workspace above
win+alt+shift+j move window to workspace below
win+alt+shift+k move window to workspace above

Of course, you can still use your mouse to move / resize windows as you normally would in gnome. If you move a tiled window over another tile, their positions will swap.

I also change the following shortcuts (in my keyboard shortcut preferences), as I find they fit shellshape's theme well:

win+shift+c close window
win+a bring window to front / send to back

Shortcut conflicts:

While all of these keyboard shortcuts were free at the time of Shellshape's creation, other software has since some of them for their own use. In some cases I've changed Shellshape's defaults to avoid clashes, but some shortcuts are too important to be pushed aside by rarely-used gnome functionality.

I suggest disabling or changing the following system shortcuts in gnome's keyboard settings:

win+space switch input source (if you do use multiple input sources, you may want to change shellshape's shortcut instead)
win+shift+space switch input source backwards (see above)
win+h minimize (shellshape duplicates this as win+x anyway)
win+l lock screen (an important member of `hjkl` - rebind this to something else if you use it)
win+tab switch applications (this is also bound to alt+tab, and rarely needed with shellshape)
win+shift+tab switch applications backwards (as above)

Default shortcuts in older versions:

The following keyboard shortcuts have been changed to avoid clashes with shortcuts introduced in system software (sometimes agressively).

Changed in version 0.12 (June 2015):

win+p - place window (now win+t). Conflicted with gnome-settings-daemon's display switching.
win+d - vertical layout (now win+v). Conflicted with ubuntu's "show desktop" shortcut.
win+m - minimize (now win+x). Conflicted with gnome-shell's "message tray" shortcut.
win+shift+m - unminimize (now win+shift+x to match the minimize shortcut).

Getting Back to Your Normal Shell

If anything went wrong (or when you just want your normal shell back), you can do so by running:

DISPLAY=:0 gnome-shell --replace

You can also just log out and back in, which will use your system's regular gnome-shell.

Using it Every Time You Log In

At the moment you'll need to clone the git repository yourself, there are instructions in the README

Cleaning Up

The beauty of zero install is that it doesn't touch your system's global state or packages, so there's nothing you need to uninstall. But if you're concerned about the disk space, you can use 0store manage (or just remove everything under ~/.cache/0install.net/implementations/).

Get Involved

To get more information, help out or report a bug, please visit the github repository.

Brought to you by gfxmonk. If you like my stuff, feel free to flattr me.