My favorites | Sign in
Project Home Issues
New issue   Search
  Advanced search   Search tips   Subscriptions
Issue 191: Mirror makes hint-respecting layouts misbehave
3 people starred this issue and may be notified of changes. Back to list
Status:  WontFix
Owner:  ----
Closed:  Dec 2012

Sign in to add a comment
Reported by, May 25, 2008
What steps will reproduce the problem?
1. set your layoutHook to something like Mirror (HintedTile ...)
2. open mplayer and tile it

What is the expected output? What do you see instead?
I expect mplayer to get a window that respects its size hints. Instead,
it appears weirdly distorted because Mirror swaps x and y coordinates
before calling HintedTile and "unswaps" them again in the coordinates
returned from HintedTile. This works for "normal" layouts, but HintedTile
calls mkAdjust to apply size hints to its windows. The result is that
windows get their preferred height as width and vice versa.
This happens for any hint-respecting layout under Mirror.

What version of the product are you using? On what operating system?
xmonad-darcs, xmonad-contrib-darcs, gentoo linux.

Please provide any additional information below.
To fix this issue, mkAdjust would need to magically know whether it was
called from a context in which the coordinate system was transformed 
Dec 31, 2012
Project Member #2
A current workaround is to use XMonad.Layout.LayoutHints.

While there might be some cases where:

 layoutHints (Tall ...)

arranges windows with more (or badly placed) gaps than:

 HintedTile ...

those issues should be fixed by making layoutHints smarter (which would be a separate feature request). The former allows "doing the right thing" with Mirror, provided you use this order:

 layoutHints (Mirror (Tall ...))

Doing the right thing in this case could be expressed with [1], but that's not really worth it (and that code doesn't work with ghc >= 7.2).


Status: WontFix
Sign in to add a comment

Powered by Google Project Hosting