[xmonad] CycleWS: shiftTo Next EmptyWS >> andThenSomehowFollow

Marshall Lochbaum mwlochbaum at gmail.com
Thu Aug 8 17:54:28 CEST 2013


None of the following code is tested.

shiftTo and moveTo both take two arguments--a direction (like Next) and
a condition (like EmptyWS). So you actually want
  followTo d t = (shiftTo d t) >> (moveTo d t)
. However, this will shift to the next empty workspace, then move you to
the next empty workspace, which is not the workspace you just shifted to
since that one is full.

It looks like you want to use findWorkspace, followed by both
(windows . shift) and (windows . greedyView). I'll figure out the right
implementation (or at least a plausible one) and send it in a second.

Marshall

On Thu, Aug 08, 2013 at 10:28:50AM -0500, Rhys Ulerich wrote:
> Hi all,
> 
> CycleWS's documentation suggests
> 
> > If you want to follow the moved window, you can use both actions:
> >
> >    , ((modm .|. shiftMask, xK_Down), shiftToNext >> nextWS)
> >    , ((modm .|. shiftMask, xK_Up),   shiftToPrev >> prevWS)
> 
> I'd like to achieve an action like 'shiftTo Next EmptyWS >>
> andThenSomehowFollow'.  The goal is to move the window to the next
> empty workspace and then to follow it there.
> 
> My silly attempts with
>     , ((modm .|. shiftMask, xK_Down), followTo Next EmptyWS)
> using
>   followTo d = shiftTo d >> moveTo d
> don't work.  I suspect this is because I'm not properly saving the
> Next EmptyWS result prior to mutating the state.
> 
> I'm a Haskell noob.  Would some kind soul please show me the four
> lines I need to implement followTo?
> 
> Thank you,
> Rhys
> 
> _______________________________________________
> xmonad mailing list
> xmonad at haskell.org
> http://www.haskell.org/mailman/listinfo/xmonad




More information about the xmonad mailing list