[xmonad] darcs patch: XMonad.Core: new layoutMirrored flag

Joachim Breitner mail at joachim-breitner.de
Fri May 9 17:43:25 EDT 2008


Am Freitag, den 09.05.2008, 23:06 +0200 schrieb Lukas Mai:
> Fri May  9 22:57:43 CEST 2008  Lukas Mai <l.mai at web.de>
>   * XMonad.Core: new layoutMirrored flag
>   This patch adds a new flag to 'XConf': 'layoutMirrored'. It indicates whether
>   we're inside a layout that swaps the X and Y axes. It defaults to 'False', and
>   'Mirror' toggles it. 'XMonad.Operations.mkAdjust' reads it in order to apply
>   size hints correctly. This change should make the Tall/Wide distinction in
>   HintedTile redundant, because Mirror (HintedTile ...) works now, using
>   mirrored size hints where appropriate.

Maybe I’m not fully aware of how layouts work, but to me it seems that
XConf is the wrong place to add this: Aren’t there layouts that combine
other layouts? So what if I combine Mirror Tall and Tall on one screen,
what should layoutMirrored say? Also, is it xinerama safe?

A cleaner way would probably be a new method for the LayoutClass class
that allows this query to run, and be modified by mirroring layout
transformers. Seems at least more functional to me than some global
flag... If you give a default implementation of the method, you would
not even have to change the instances. Maybe something a long the lines
> coordinateMirrored :: Window -> Bool

But then, I might just not have enough clue about all this and
everything is fine already :-)


Joachim "nomeata" Breitner
  mail: mail at joachim-breitner.de | ICQ# 74513189 | GPG-Key: 4743206C
  JID: nomeata at joachim-breitner.de | http://www.joachim-breitner.de/
  Debian Developer: nomeata at debian.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Dies ist ein digital signierter Nachrichtenteil
Url : http://www.haskell.org/pipermail/xmonad/attachments/20080509/abb61217/attachment-0001.bin

More information about the xmonad mailing list