tiling window manager extension for gnome-shell
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:
you can install the extension to a symlink in ~/.local/share/gnome-shell/extensions using:
To compile stuff (after changing some source code), run
tools/gup compile. You can add e.g
-j3to compile stuff in parallel.
I 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!
interactive/: run the core tiling code in the browser (without killing gnome shell when you break something ;))
src/tiling.ts: core tiling & layout stuff
src/gjs: gnome-shell specific stuff (mutter integration, extension system, indicator, etc)
src/node: nodejs shim, used for running tests
src/xbrowser: browser shim, used for
src/stub: nodejs shim, used for running tests
shellshape/: third party libs, metadata.json, translations, gschemas, etc
Build targets with
tools/gup. Targets exist wherever there is a corresponding
*.gupfile. 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
allif you want to debug on specific topics (available topics include
window) - they should be set as a comma-delimited string, e.g
If you don't know why, here's some things to check:
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?