Overview

Bluetile is a tiling window manager 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

Screenshots

Screenshot of stacking window layout Screenshot of tiled vertical layout

Download

Bluetile has packages for a few distributions:

Bluetile is also available through the HackageDB. The current version is 0.4.3. You need Cabal to install the package from there: 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.

Documentation

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+ReturnLaunch terminal
Win+pLaunch GNOME "Run application" dialog
  
Win+aSwitch to stacking window layout
Win+sSwitch to tiled horizontal layout
Win+dSwitch to tiled vertical layout
Win+fSwitch to fullscreen layout
  
Win+jMove focus to the next window
Win+kMove focus to the previous window
Win+SpaceMove focus to the master window
Win+Shift+jSwap the focused window with the next window
Win+Shift+kSwap the focused window with the previous window
Win+Shift+SpaceSwap the focused window with the master window
  
Win+hShrink the master area
Win+lExpand the master area
Win+uShrink a slave area
Win+iExpand 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+cClose the focused window
Win+zMaximize/zoom focused window
Win+mMinimize focused window
Win+Shift+mRestore next minimized window
Win+oShow window menu for focused window
Win+tPush dialog window back into tiling
  
Win+1 .. Win+9, Win+0Switch to workspace N
Win+Shift+1 .. Win+Shift+9, Win+Shift+0Move client to workspace N
Win+w, Win+e, Win+rSwitch to physical/Xinerama screens 1, 2 or 3
Win+Shift+w, Win+Shift+e, Win+Shift+rMove client to physical/Xinerama screen 1, 2 or 3
  
Win+F5Refresh layout
Win+Shift+qQuit Bluetile

The full list of keyboard shortcuts is currently only documented in the source code (see Config.hs of Bluetile). Also, there is currently no way to change the keyboard shortcuts expect by modifying the source code. A user-friendly configuration system that is more in line with Bluetile's goals is planned. You can also have a look at the wiki for a possible workaround.

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:

Development

Bluetile's repositories are located at http://code.haskell.org/~jav/. The wiki also has a page discussing the development of Bluetile.

Jan Vornberger