[xmonad] CycleWS: shiftTo Next EmptyWS >> andThenSomehowFollow

Marshall Lochbaum mwlochbaum at gmail.com
Thu Aug 8 18:03:29 CEST 2013


Maybe this will work:

  followTo :: Direction1D -> WSType -> X ()
  followTo dir t = doTo dir t getSortByIndex (\w -> (windows (shift w)) >> (windows (greedyView w)))

It parallels the code for shiftTo and moveTo in Actions/CycleWS.hs.

Marshall

On Thu, Aug 08, 2013 at 11:54:28AM -0400, Marshall Lochbaum wrote:
> 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