making metacity a little more like sawfish — but in a good way!

Sawfish is dead. I know, I love the million keybinding options, and the cool regexp-based window matching, but as the xorg server moves forward, sawfish stays maddeningly still. So here are some things I’ve figured out to make metacity a little more like home for us sawfish people.

There are a ton of options for metacity that can only be found in gconf-editor. Fire it up and navigate to apps/metacity. You’ll find a whole lot of things you can change that aren’t apparant from the bare-bones preferences pane. You’ll find a lot of keybindings and some advanced behavior.

If you love matched windows, get Devilspie. It’s not quite as insanely featureful as Matched Windows, and you can’t configure it with a user interface, but it gets the job done. With the sample configuration and a bit of experimenting, you can figure out how to duplicate most of the effects you’re used to.

If you wish metacity had edge resistance or magnetism when moving windows, there’s a bug in bugzilla that has a patch to add these features to metacity. If you’re trying to compile metacity from CVS, I made my own version of the patch that applies correctly. If you’re not comfortable applying patches, then you’re going to have to learn. Get the source from cvs, and build it once normally*. Then go to the metacity/ directory, and type

cat [location of patch] | patch -p 1

You should be able to build it just fine.

The last thing I really missed from metacity was the “maximize to fill” keybindings that sawfish has. I filed my own bug and even made my own patch against CVS which adds the keybindings to the list. You can apply it after my resistance patch above. It’ll talk about “hunk offsets” but that’s normal.

I’m a gnome hacker now!

*The resistance patch affects a file that doesn’t seem to exist until the program is built once.