I am no longer using or actively developing shellshape. I have focused my efforts on slinger, which I created as a simpler window management utility with many of the same benefits as shellshape, but with a fraction of the code, complexity and bugs. If anyone wishes to maintain shellshape (and fix said bugs ;)), please get in touch.
A tiling window manager extension for gnome-shell. Many tiling window managers are an all-or-nothing affair, shellshape allows you to tile your windows when it makes sense, and still provides powerful direct manipulation when you need it. You don't have to give up any of the gnome features you like, so it makes for a very smooth learning curve.
I must thank bluetile, for it was the inspiration for this extension and many features are lifted directly from it (although not code, JS and haskell are vastly different beasts).
You can install it from the official gnome shell extensions site. This may lag (sometimes months) behind the development release, as they perform manual approval of all updates.
To build the latest version, you'll need to install npm
(the node.js package manager). You'll also need python. Then:
tools/gup compile
you can install the extension to a symlink in ~/.local/share/gnome-shell/extensions using:
tools/gup dev-install
To compile stuff (after changing some source code), run tools/gup compile
. You can add e.g -j3
to compile stuff in parallel.
gnome-shell-extension-shellshape-git
from AURI love shellshape, and I love using it. But to be honest, I hate working in gnome-shell these days. It's poorly documented, breaks occasionally, and generally a pain in the ass to hack on (which I do in my spare time). So my main aim in ongoing development is to make sure shellshape keeps working for new gnome releases, and to fix bugs. I may not run the latest gnome version for a while after it's released, because I'm lazy, and being on the cutting edge is not as exciting as it used to be.
I will probably not implement your feature suggestion unless it's brilliant or simple (or both!). It's nothing personal. That's not to say that shellshape will see no new features - if you want to add a new feature, I'll do what I can to get it merged. Please file an issue with your idea first though, so I can let you know how likely it is to (a) be possible, and (b) get merged.
To reflect this, most issues will be tagged with wishlist
- I am not planning to implement them, but I have no issue with others doing so. I'll try to fix non-wishlist issues myself (eventually), especially those tagged "bug". But please feel free to help fix those too, if you can!
The source code is all TypeScript. This is mostly like JavaScript, but it has optional type annotations, a module system, and (sometimes) it yells at you when you do something that makes no sense. Which is a nicer experience than gnome-shell yelling at you, crashing, and disabling all of your extensions.
interactive/
: run the core tiling code in the browser (without killing gnome shell when you break something ;))src/tiling.ts
: core tiling & layout stuffsrc/gjs
: gnome-shell specific stuff (mutter integration, extension system, indicator, etc)src/node
: nodejs shim, used for running testssrc/xbrowser
: browser shim, used for interactive/index.html
src/stub
: nodejs shim, used for running testsshellshape/
: third party libs, metadata.json, translations, gschemas, etcBuild targets with tools/gup
. Targets exist wherever there is a corresponding *.gup
file. You can find those with:
$ git ls-files | fgrep '.gup' | sed -e 's!/gup/!/!;s!\.gup$!!'
Not all of them will work, as some might depend on tools only I happen to have installed. Patches welcome if you find + fix that sort of thing.
If you export SHELLSHAPE_DEBUG=all
, you will get a debug log written to /tmp/shellshape.log
. You can set values other than all
if you want to debug on specific topics (available topics include extension
, indicator
, tiling
, workspace
and window
) - they should be set as a comma-delimited string, e.g SHELLSHAPE_DEBUG=workspace,tiling
.
If you don't know why, here's some things to check:
gnome-tweak-tool
)lg
" and then click the "Errors" tab)To report a bug or crash, please see the github issues page.
Are listed at http://gfxmonk.net/shellshape/
To modify the defaults point dconf-editor at org.gnome.shell.extensions.net.gfxmonk.shellshape.keybindings
Some helpful folk have created graphical (SVG) versions of the keyboard shortcuts, to serve as a handy reference:
Note: These are for versions prior to 0.12. Anyone want to update them?
GPLv3
gnome-shell-extension-prefs
).