[Xmonad] darcs patch: refactor layout interface. (and 1 more)

David Roundy droundy at darcs.net
Wed Apr 18 12:05:56 EDT 2007

Hi all,

Here's another shot at an interface that will allow prettier passing of
messages to the layout, so we can send interesting types.  This patch adds
one warning in Main, since I removed the type of handle, so it could be
inferred from the type of keys.  We could hardcode it to give an
X LayoutMsg (), but that seems uglier, to me.  We could also consider
importing Main into Config (and renaming main), in which case handle (and
Main) would be functions of keys, and the name "keys" itself wouldn't be
hard-coded.  It does seem prettier to make Config import all the other
modules, rather than having Config itself imported by another module.

I'm still not sure that this is a good plan.  As long as our layout is a
pure function, we won't be able to do things that ion does, such as being
able to drag a tab from one location to another to move a window.  That's
not a big deal, but if possible it'd be nice (if it can be done cleanly) to
define an API that doesn't limit the capabilities of the window manager.


Wed Apr 18 08:02:05 PDT 2007  David Roundy <droundy at darcs.net>
  * refactor layout interface.
  This change only changes functionality in that the tileFraction is now a
  per-layout variable.  The main point is to add the flexibility to define
  layouts in the Config file.  There's a bit of cheesiness in the type of
  modifyLayout, since I could figure out a pleasant choice for passing the
  key-binding information to the Layout, so I just used a string.

Wed Apr 18 08:57:38 PDT 2007  David Roundy <droundy at darcs.net>
  * allow any type to be passed to the layout function.
  This is an attempt to allow for more general layouts, that could do things
  like interact with mouse clicks.  The trickiness is that I want to be able
  to define the type of message that is passed in Config, and as a result, I
  had to change the kind of X and XMonad.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: text/x-darcs-patch
Size: 46675 bytes
Desc: A darcs patch for your repository!
Url : http://www.haskell.org/pipermail/xmonad/attachments/20070418/fc04341a/attachment-0001.bin

More information about the Xmonad mailing list