[xmonad] Small announce about the completion of the bluetile merge

Jan Vornberger Jan.Vornberger at Informatik.Uni-Oldenburg.DE
Mon Dec 7 11:43:29 EST 2009


On Sun, Dec 06, 2009 at 12:59:53PM -0800, Don Stewart wrote:
> http://xmonad.wordpress.com/2009/12/06/bluetile-branch-merged-into-xmonad/
> Again, wonderful work Jan. And looking forward to XMonad.Config.Bluetile
> :)

Thx for writing up that announcement and thank you and everybody else
for the congratulations! :-)

Joachim has already touched on the question of releasing a new version
of xmonad and xmonad-contrib, so that Bluetile can depend on them. That
would be my next question as well, as that would allow me to get rid of
the bluetilebranch-stuff on hackage.

But before that, it might be good to get a shared understanding of
how Bluetile's future should look like.

I think some people feel that Bluetile should just be completely merged
into xmonad-contrib and cease to exist as a separate project. I can
understand why they would like to 'tidy' things up, but I have to say
that I think that this approach is completely incompatible with
Bluetile's goals.

Burying Bluetile somewhere in xmonad-contrib isn't my idea of a 'gentle
learning curve'. Even if it becomes as easy as writing

  main = xmonad $ bluetileConfig

in your configuration, it still is too difficult for the target audience
I have in mind. I think of Bluetile as an interactive tiling window
manager demo. I want people to be able to just say to a friend: "hey, if
you want to get a feeling for twms, check out Bluetile." They 'apt-get' it
(hopefully, in the future :-) ) and can play around with it - no
documentation needed. If they get hooked, they can later move on from
toy-Bluetile to full-blown-xmonad-proper.
But that won't work if you have to say: "Hey, if you want to get a
feeling for twms, check out xmonad and make sure you have a haskell
compiler installed and put this line in your xmonad.hs before you
And I think proof of this is the fact, that many people don't know that
xmonad can easily integrate with GNOME just by putting 'main = xmonad $
gnomeConfig' in your configuration. I sometimes get e-mails from people
telling me that they love the fact that Bluetile integrates with GNOME,
which always prevented them from using xmonad. Well, xmonad can do it too
of course, but because it positions itself as a minimal window manager,
people aren't aware of it.

So I think it's better to have two different 'brands', so to speak:

  Bluetile = interactive tiling window manager demo for someone who wants
  to play around with a TWM but has little time or incentive to do much
  configuration or read documentation. It makes the necessary trade-offs
  to lower the entry barrier as much as possible.

  xmonad = powerful tiling window manager framework which can do
  everything Bluetile can do and more, for those who are willing to put in
  some configuration effort.

Those are the reasons why I feel Bluetile should continue to exist as a
separate project. How do others on the list feel about this?

If it indeed stays as a separate project, the only question is how much
code remains only in Bluetile's repository. For now I have moved pretty
much everything over to xmonad-contrib, except for a few things:

  The Bluetile dock application - this is very specific to Bluetile's
  config, so not really very flexible. It also requires gtk2hs. So I'm
  not sure it makes sense to put this in xmonad-contrib. It would add
  gtk2hs as a requirement to xmonad-contrib.

  The module BluetileCommands. This is pretty much just a list of
  hard-coded commands that are passed to ServerMode to give the dock
  a way to control Bluetile.

  The module BluetileDock. This writes status information to a pipe so
  that the Bluetile dock can receive it and display things like the
  current layout etc.

  Bluetile's actual config, making use of these three things and
  Bluetile-related stuff from xmonad-contrib.

It seems like a good division to me, because all the very
Bluetile-specific stuff is in the Bluetile repository and the
more-or-less reusable modules have been moved over to xmonad-contrib.

But maybe it would be a good idea to provide XMonad.Config.Bluetile in
xmonad-contrib for someone who wants to move from Bluetile to xmonad
proper and start out with the same configuration - albeit without
Bluetile's dock.

Opinions? :-)



More information about the xmonad mailing list