Since metacity became the default window manager for gnome, I've always been bugged by the absence of some very useful features such as edge resistance towards other windows and vertical/horizontal maximization. The latter is actually somewhat implemented, but in a poor way, and appearently, the developers of metacity don't seem to see a desperate need for properly implementing the above features anytime soon.
Fortunately, there are alternatives to using metacity as window manager under Gnome. For a while I was using Openbox, which is great but I always had minor issues with it (e.g. the Gnome panels stayed visable when watching a video in fullscreen mode with VLC), so I kept looking and found xfwm4, which is the default window manager under XFCE. xfwm4 works absolutely fabulous for me, and it fits very nicely into Gnome since it also uses GTK. For anybody interested in trying it out, here's how to set it up under Gnome...
First, make sure the universe repository is enabled and then do
Code:
sudo apt-get install xfwm4 xfce4-mcs-manager
Next, edit /usr/bin/gnome-wm and add xfwm4 to the entry line that already contains openbox, i.e.
Code:
sudo sed -i "s/openbox)/openbox|xfwm4)/" /usr/bin/gnome-wm
Last thing to do is to set the WINDOW_MANAGER environment variable so that Gnome is aware of it. This can be accomplished by
Code:
echo export WINDOW_MANAGER=/usr/bin/xfwm4 >> ~/.gnomerc
Done. Next time you log into Gnome, xfwm4 should manage your windows.
Setting the WINDOW_MANAGER environment variable won't have any effect if you saved your Gnome session at some point in the past. In that case, /usr/bin/gnome-wm isn't even invoked anymore when you log into Gnome. The solution is to either
Code:
rm ~/.gnome2/session
and start over with the default Gnome session next time you log in, or save a new session after doing the
Code:
killall metacity && xfwm4
routine. Thanks to the posters in this thread for pointing this out.
To adjust the settings for xfwm4, execute
If you would like to do this with /usr/bin/gnome-window-properties (System -> Preferences -> Windows) you need to write a little .desktop file:
Code:
theine@cosmo:~$ cat /usr/share/gnome/wm-properties/xfwm4.desktop
[Desktop Entry]
Name=Xfwm4
Exec=xfwm4
# name we put on the WM spec check window
X-GNOME-WMName=Xfwm4
# our config tool
ConfigExec=xfce-setting-show
theine@cosmo:~$
Could be that you need to execute
Code:
sudo /etc/init.d/readahead start
before Gnome will be aware of xfwm4's configuration tool. The above .desktop file is identical to the one from the openbox package apart from the substitution openbox -> xfwm4.