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. :-)
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
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:
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.
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+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|
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:
Bluetile's repository is located at
also has a page discussing the development of Bluetile.
If you enjoy using Bluetile and have a few bitcoins to spare, your donation to the address 12y11u5DBXpQ8XM3g6o6Wc155S16maTWL6 is much appreciated.