Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 145 lines (96 sloc) 7.525 kB
62627b3 @gfxmonk added tests & fixed bugs in tile list refactor
authored
1 # shellshape
5d6c759 @gfxmonk cleanup
authored
2 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.
c5156e1 @gfxmonk a little bit more readme
authored
3
509e223 @gfxmonk 0.4
authored
4 This software is in-development. I use it daily, but it might break stuff. Use at your own risk. Multiple monitor support is not really present, and doing fancy things like "always on top" windows may or may not break it.
62627b3 @gfxmonk added tests & fixed bugs in tile list refactor
authored
5
5d6c759 @gfxmonk cleanup
authored
6 I must thank [bluetile][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).
c5156e1 @gfxmonk a little bit more readme
authored
7
0719957 @gfxmonk update build scripts & manual install instructions
authored
8 ## Running it
509e223 @gfxmonk 0.4
authored
9
0719957 @gfxmonk update build scripts & manual install instructions
authored
10 Briefly, `0install run http://gfxmonk.net/dist/0install/shellshape.xml`. If you don't have `0install`, you should install the `zeroinstall-injector` package first.
509e223 @gfxmonk 0.4
authored
11 For more details, please see instructions on <http://gfxmonk.net/shellshape/>
12
0719957 @gfxmonk update build scripts & manual install instructions
authored
13 You can also install it from [the official gnome shell extensions site](https://extensions.gnome.org/extension/294/shellshape/).
14 This may lag (sometimes months) behind the development release, as they perform manual approval of all updates.
15
16 ### Running a local version
17
21b4caa @gfxmonk update README with new build steps
authored
18 To build the latest version, you'll need to install `npm` (the node.js package manager). You'll also need python. Then:
0719957 @gfxmonk update build scripts & manual install instructions
authored
19
21b4caa @gfxmonk update README with new build steps
authored
20 1. clone this repo
21 2. run `tools/gup compile`
22 3. If you have 0install, you can then just run:
0719957 @gfxmonk update build scripts & manual install instructions
authored
23
30e89bf @gfxmonk minor fix to readme
authored
24 0install run shellshape-local.xml
0719957 @gfxmonk update build scripts & manual install instructions
authored
25
21b4caa @gfxmonk update README with new build steps
authored
26 Otherwise, you can install the extension to a symlink in ~/.local/share/gnome-shell/extensions using:
27
30e89bf @gfxmonk minor fix to readme
authored
28 tools/gup dev-install
21b4caa @gfxmonk update README with new build steps
authored
29
30e89bf @gfxmonk minor fix to readme
authored
30 To compile stuff (after changing some source code), run `tools/gup compile`. You can add e.g `-j3` to compile stuff in parallel.
0719957 @gfxmonk update build scripts & manual install instructions
authored
31
53a4aa0 @gfxmonk added some notes on debugging errors and running under arch
authored
32 ## running on arch linux
33
34 You may want to try [this user-maintained package](https://aur.archlinux.org/packages.php?ID=50257) if the normal method doesn't work for you, but I have no idea what it will do to your system.
35
a0cea40 @gfxmonk update README's hacking info
authored
36 ## Hacking
37
38 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.
39
40 - `interactive/`: run the core tiling code in the browser (_without_ killing gnome shell when you break something ;))
41 - `src/tiling.ts`: core tiling & layout stuff
42 - `src/gjs`: gnome-shell specific stuff (mutter integration, extension system, indicator, etc)
43 - `src/node`: nodejs shim, used for running tests
44 - `src/xbrowser`: browser shim, used for `interactive/index.html`
45 - `src/stub`: nodejs shim, used for running tests
46 - `shellshape/`: third party libs, metadata.json, translations, gschemas, etc
47
48 Build targets with `tools/gup`. Targets exist wherever there is a corresponding `*.gup` file. You can find those with:
49
50 $ git ls-files | fgrep '.gup' | sed -e 's!/gup/!/!;s!\.gup$!!'
51
52 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.
53
54 ## Debugging
55
56 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`.
57
53a4aa0 @gfxmonk added some notes on debugging errors and running under arch
authored
58 ## "It doesn't work"
59
60 If you don't know why, here's some things to check:
61
0719957 @gfxmonk update build scripts & manual install instructions
authored
62 - Check the extension is enabled (you can see this in the "Shell Extensions" section of `gnome-tweak-tool`)
63 - See if there are any errors in looking glass that mention shellshape (press alt-F2, type "`lg`" and then click the "Errors" tab)
64 - Check the console output (if running in a console) for any messages that mention shellshape
65 - Check /tmp/shellshape.log after launching with $SHELLSHAPE_DEBUG=all
53a4aa0 @gfxmonk added some notes on debugging errors and running under arch
authored
66
67 To report a bug or crash, please see the [github issues page](https://github.com/gfxmonk/shellshape/issues).
68
cae6646 @gfxmonk added instructions for running on every login
authored
69 ## Replace gnome-shell
70
71 If you symlink the provided `gnome-shell.desktop` file to `~/.local/share/applications/`, gnome-session will use that to launch gnome-shell instead of the system's gnome-shell. Uninstalling is as simple as removing that file.
72
22b7f5f @gfxmonk readme changes (mostly links to keyboard shortcut graphics)
authored
73 ## Keyboard shortcuts
74
d55e335 @MeisterP Fix link in README
MeisterP authored
75 Are listed at [http://gfxmonk.net/shellshape/](http://gfxmonk.net/shellshape/)
22b7f5f @gfxmonk readme changes (mostly links to keyboard shortcut graphics)
authored
76 Some helpful folk have created graphical (SVG) versions of the keyboard shortcuts, to serve as a handy reference:
77
5e86908 @gfxmonk 0.12.0
authored
78 **Note:** These are for versions prior to 0.12. Anyone want to update them?
79
22b7f5f @gfxmonk readme changes (mostly links to keyboard shortcut graphics)
authored
80 - [Keyboard overlay image](https://github.com/downloads/gfxmonk/shellshape/keyboardshortcuts.svg) - Jordan Klassen
81 - [Desktop wallpaper](http://dl.dropbox.com/u/1879450/shellshape.svg) - Andreas Wallberg ([source](https://github.com/gfxmonk/shellshape/issues/95))
82
fee7b6e @gfxmonk gpl3 licence
authored
83 ## Licence
84 GPLv3
85
d776e79 @gfxmonk added changelog
authored
86 ## Changelog
87
5e86908 @gfxmonk 0.12.0
authored
88 ### version 0.12
89 - gnome-shell 3.16 compatibility
90 - Changes to keyboard shortcuts
91 - Next/Previous layout shortcuts (not bound by default)
92
37a20bc @gfxmonk version 0.10.0
authored
93 ### version 0.10
0a7f842 @gfxmonk refactor prefs
authored
94 - Fairly large overhaul to codebase:
95 - Removed coffeescript, now using typescript instead. This is a JavaScript superset (so for the most part it's _just JavaScript_), but with optional static typing.
96 This has improved the quality of the code in a number of places (it uncovered a number of dumb type-related bugs), and removes the need for contributors to know CoffeeScript.
97 - Lots of cleanup of state management. This improves a number of circumstances where shellshape and gnome-shell disagree about the state of windows / workspaces, etc.
98 - Made "default layout" setting apply instantly, rather then require a restart.
99 - Additional misc bugs fixed while going through the codebase.
100
37a20bc @gfxmonk version 0.10.0
authored
101 ### version 0.9
102 - Support for gnome-shell 3.12
103
0d60518 @gfxmonk update README
authored
104 ### version 0.8
105 - Preliminary support for multiple monitors
106 - Update screen bounds every time we do a layout
107
f09cfe0 @gfxmonk 0.7.0
authored
108 ### version 0.7
109 - API changes for gnome-shell 3.10.
110 This makes 0.7 incompatible with anything before 3.10.
111
0ae0cd1 @gfxmonk update release scripts to publish via 0repo
authored
112 ### version 0.6.1
113 - Fixed "Shellshape settings" indicator menu in gnome-shell 3.8
114
5c8fa45 @gfxmonk update changelog
authored
115 ### version 0.6
116 - Support for gnome-shell 3.8
117 - Support for localisation (plus german translation) thanks to @jonnius
118
fe66e8b @gfxmonk 0.5.4
authored
119 ### version 0.5.4
120 - Support for gnome-shell 3.6
121
868d3b0 @gfxmonk 0.5.3
authored
122 ### version 0.5.3
123 - Fix error launching dconf-editor from the preferences panel
124
8664ad9 @gfxmonk minor packaging changes for issue #56
authored
125 ### version 0.5.2
126 - Updated manifest.json to declare compatibility with gnome-shell 3.4.2
127 - Include LICENCE and README.md files in tarball
128
ba7f27a @gfxmonk 0.5.1
authored
129 ### version 0.5.1
130 - Added blacklist to prevent "Conky" windows from being tiled.
131 - Fixed a number of bugs to do with tracking window movement and sizes.
132 - Switched the "Horizontal" and "Vertical" layouts. You may need to adjust your keyboard shortcuts if you've set them to anything non-default, as the gsettings keys have swapped as well (if you haven't customised shortcuts, the defaults will still do the right thing)..
133
d776e79 @gfxmonk added changelog
authored
134 ### version 0.5:
135 - Removed label from indicator icon.
136 - Rework icons to be simpler and look/act like other symbolic icons in the panel.
137 - Added a preferences panel (accessible from the gse website, or `gnome-shell-extension-prefs`).
138 - Added a "max autotile windows" option.
139 - Added the ability to customise keyboard shortcuts from the preferences panel.
140
141 ### version 0.4:
142 - First release on extensions.gnome.org
143
5d6c759 @gfxmonk cleanup
authored
144 [bluetile]: http://bluetile.org/
Something went wrong with that request. Please try again.