Bluetile is a tiling window manager for Linux, designed to integrate with the GNOME desktop environment. It provides both a traditional, stacking layout mode as well as tiling layouts where windows are arranged to use the entire screen without overlapping. Bluetile tries to make the tiling paradigm easily accessible to users coming from traditional window managers by drawing on known conventions and providing both mouse and keyboard access for all features.



Bluetile started as a university project and topic of my thesis (you can find slides of my talks and the thesis online, but only in German). It now continues as an open source project. See the wiki for more background on the motivation behind Bluetile and its relationship to xmonad.

Designed to integrate with the GNOME desktop environment

Hybrid approach: Stacking window layout & tiling layouts available

All features accessible from mouse, as well as keyboard

Maximizing & minimizing windows in all layouts

Good multihead support

Proper handling of fullscreen applications

Bluetile 0.6 (on 2011/11/26): Now that XMonad 0.10 is out, it was possible to clean up Bluetile's code base and reference modules from xmonad-contrib 0.10 instead.



Furthermore, the modules XMonad.Hooks.ICCCMFocus (workaround for some problems with Java-based applications) and XMonad.Actions.PhysicalScreens (enumerating multiple monitors in a sensible manner) have been incorporated into the standard configuration.

Bluetile 0.5.3 (on 2010/08/10): Bluetile's theme is now configurable, including the font that is used. I also switched back to the old, grey-ish theme. For reference, below is the blue-ish theme, which was used for a few releases in an attempt to make the focused window stand out more. However, it was not very well received, apparently. Everyone is welcome to choose their own color combinations now. :-)



decoration_focused_color = #7ca3d3 decoration_focused_text_color = white decoration_focused_border_color = white decoration_normal_color = #e3e2e1 decoration_normal_text_color = black decoration_normal_border_color = black decoration_font = xft: Sans Bold:size=9 window_border_focused_color = black window_border_normal_color = gray

Bluetile should also now build on Ubuntu Maverick Meerkat thanks to a patch by Iain Lane.

Bluetile is available in a number of Linux distributions. Check your package manager!

Bluetile is also available through the HackageDB. The current version is 0.6. You will need a Haskell compiler as well as 'cabal-install' to install Haskell packages form HackageDB. I recommend to get the Haskell Platform which contains all necessary software and is probably available through your distribution. Once you have the Haskell Platform, the following commands will install Bluetile from Hackage: $ cabal update $ cabal install bluetile If you get a message about unsatisfied dependencies "gtk" and "glade", you will need to install Gtk2Hs. Your distribution might include packages for it, otherwise you can get it from http://www.haskell.org/gtk2hs/.



If you install as a normal user, Cabal will put the binaries into the directory ~/.cabal/bin by default. Add this directory to your PATH or run the command as given below.



$ ~/.cabal/bin/bluetile If you encounter problems during installation, have a look at the wiki for some more details.

Preferably you should start Bluetile from a terminal under GNOME + Metacity. Bluetile will replace the currently running window manager (if the window manager supports this) and start up.



This is a list of most keyboard shortcuts for Bluetile:

Win+Return Launch terminal Win+p Launch GNOME "Run application" dialog Win+a Switch to stacking window layout Win+s Switch to tiled horizontal layout Win+d Switch to tiled vertical layout Win+f Switch to fullscreen layout Win+j Move focus to the next window Win+k Move focus to the previous window Win+Space Move focus to the master window Win+Shift+j Swap the focused window with the next window Win+Shift+k Swap the focused window with the previous window Win+Shift+Space Swap the focused window with the master window Win+h Shrink the master area Win+l Expand the master area Win+u Shrink a slave area Win+i Expand a slave area Win+, Increment the number of windows in the master area Win+. Decrement the number of windows in the master area Win+Shift+c Close the focused window Win+z Maximize/zoom focused window Win+m Minimize focused window Win+Shift+m Restore next minimized window Win+o Show window menu for focused window Win+t Push dialog window back into tiling Win+b Toggle to previously displayed workspace Win+1 .. Win+9, Win+0 Switch to workspace N Win+Shift+1 .. Win+Shift+9, Win+Shift+0 Move client to workspace N Win+w, Win+e, Win+r Switch to physical/Xinerama screens 1, 2 or 3 Win+Shift+w, Win+Shift+e, Win+Shift+r Move client to physical/Xinerama screen 1, 2 or 3 Win+F5 Refresh layout Win+Shift+q Quit Bluetile

Bluetile can be configured by editing the file ~/.bluetilerc .



One way to set up Bluetile as your default window manager under GNOME is to make sure that the environment variable WINDOW_MANAGER contains the path to the Bluetile binary before GNOME starts. This can be achieved by putting something like the following line into ~/.gnomerc:



export WINDOW_MANAGER=/home/user/.cabal/bin/bluetile