<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:DengXian;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"\@DengXian";
        panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:"Courier New";}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style></head><body lang=EN-US link=blue vlink="#954F72"><div class=WordSection1><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Hi all,<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I’ve been trying to get XMonad set up for dual monitor, but have been struggling with finding a way to cycle focus through every window (not workspace) visible on either screen. The behavior would be similar to XMonad.Actions.WindowNavigation (the experimental module), but the cycling wouldn’t be bound to any direction, just cycle through all visible windows in the normal Alt-Tab sequence (left to right, top to bottom).<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I’ve found some code in a previous thread that supposedly manipulates the StackSet, but it didn’t work for me:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><pre><span style='color:black'>><i> -- top of config<o:p></o:p></i></span></pre><pre><span style='color:black'>> <i>import qualified XMonad.StackSet as W</i><o:p></o:p></span></pre><pre><span style='color:black'><o:p> </o:p></span></pre><pre><span style='color:black'>><i> -- somewhere at top level<o:p></o:p></i></span></pre><pre><span style='color:black'>><i> onAllWS f = windows $ \<a href="mailto:ws@W.StackSet"><span style='font-style:normal'>ws@W.StackSet</span></a>{ W.current = c, W.visible = vs } -><o:p></o:p></i></span></pre><pre><span style='color:black'>><i>    let screenNext x = W.current . f $ ws { W.current = x }<o:p></o:p></i></span></pre><pre><span style='color:black'>><i>        c':vs' = map screenNext (c:vs)<o:p></o:p></i></span></pre><pre><span style='color:black'>><i>    in ws{ W.current = c', W.visible = vs' }<o:p></o:p></i></span></pre><pre><span style='color:black'><o:p> </o:p></span></pre><pre><span style='color:black'>...<o:p></o:p></span></pre><pre><span style='color:black'><o:p> </o:p></span></pre><pre><span style='color:black'>><i>  -- in keybindings: there are much more W.swap* W.focus* and W.shift* functions to use.<o:p></o:p></i></span></pre><pre><span style='color:black'>><i>  ,((modm, xK_f), onAllWS W.focusDown)<o:p></o:p></i></span></pre><pre><span style='color:black'>><i>  ,((modm, xK_d), onAllWS W.focusUp)<o:p></o:p></i></span></pre><pre><span style='color:black'>><i>  ,((modm, xK_g), onAllWS W.swapMaster)<o:p></o:p></i></span></pre><pre><span style='color:black'><o:p> </o:p></span></pre><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Unfortunately, I’m still too terrible at Haskell to fix whatever is wrong with the above code, and haven’t found any other modules that have the functionality I want. Any help would be appreciated!<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Thanks!<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Alex<o:p></o:p></p></div></body></html>