https://wiki.haskell.org/index.php?title=Xmonad/Config_archive/sereven%27s_xmonad.hs&feed=atom&action=history
Xmonad/Config archive/sereven's xmonad.hs - Revision history
2024-03-29T09:42:04Z
Revision history for this page on the wiki
MediaWiki 1.35.5
https://wiki.haskell.org/index.php?title=Xmonad/Config_archive/sereven%27s_xmonad.hs&diff=30539&oldid=prev
Sereven: paint over some rusty bits even though the foundation's cracked and the roof blew off this config
2009-10-03T16:51:23Z
<p>paint over some rusty bits even though the foundation's cracked and the roof blew off this config</p>
<table class="diff diff-contentalign-left diff-editfont-monospace" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 16:51, 3 October 2009</td>
</tr><tr>
<td colspan="2" class="diff-lineno">Line 1:</td>
<td colspan="2" class="diff-lineno">Line 1:</td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Apparently this is too long to copy paste in one go without dropping bits. Split into two copy pastes, see comment: -- SPLIT HERE -- after manageHook.</div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Apparently this is too long to copy paste in one go without dropping bits. Split into two copy pastes, see comment: -- SPLIT HERE -- after manageHook.</div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div><haskell></div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div><haskell></div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty"> </td>
<td class="diff-marker">+</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>-- cross-host xmonad-0.8 xmonad.hs</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty"> </td>
<td class="diff-marker">+</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>--</div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>-- Disclaimer: this is hs equivalent of BASIC goto spaghetti, hopefully by 0.9 I'll</div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>-- Disclaimer: this is hs equivalent of BASIC goto spaghetti, hopefully by 0.9 I'll</div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>-- post a better example, but at the time posted people were asking for dispatch</div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>-- post a better example, but at the time posted people were asking for dispatch</div></td>
</tr>
<tr>
<td colspan="2" class="diff-lineno">Line 50:</td>
<td colspan="2" class="diff-lineno">Line 52:</td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>main = do</div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>main = do</div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> host <- fmap nodeName getSystemID</div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> host <- fmap nodeName getSystemID</div></td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> home <- fmap (fromMaybe "/home/<del class="diffchange diffchange-inline">gvg</del>" . lookup "HOME") getEnvironment</div></td>
<td class="diff-marker">+</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> home <- fmap (fromMaybe "/home/<ins class="diffchange diffchange-inline">me</ins>" . lookup "HOME") getEnvironment</div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> scrxpw <- getXPositionAndWidthOfScreen 0 -- dzen screen number</div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> scrxpw <- getXPositionAndWidthOfScreen 0 -- dzen screen number</div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> let dzencmd = uncurry dzenWithParamsFrom (fromMaybe (0, 1024) scrxpw) $ xpcByHost host</div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> let dzencmd = uncurry dzenWithParamsFrom (fromMaybe (0, 1024) scrxpw) $ xpcByHost host</div></td>
</tr>
<tr>
<td colspan="2" class="diff-lineno">Line 175:</td>
<td colspan="2" class="diff-lineno">Line 177:</td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>layoutByHost h =</div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>layoutByHost h =</div></td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> avoidStruts $ configurableNavigation <del class="diffchange diffchange-inline">(</del>noNavigateBorders<del class="diffchange diffchange-inline">)</del> $ </div></td>
<td class="diff-marker">+</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> avoidStruts $ configurableNavigation noNavigateBorders $ </div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> TL.toggleLayouts (noBorders Full) $ </div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> TL.toggleLayouts (noBorders Full) $ </div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> modWorkspace "*" reflectHoriz $ withIM (11%64) (Role "gimp-toolbox") $ -- see [gimp]</div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> modWorkspace "*" reflectHoriz $ withIM (11%64) (Role "gimp-toolbox") $ -- see [gimp]</div></td>
</tr>
<tr>
<td colspan="2" class="diff-lineno">Line 260:</td>
<td colspan="2" class="diff-lineno">Line 262:</td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> d <- openDisplay ""</div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> d <- openDisplay ""</div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> screens <- getScreenInfo d</div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> screens <- getScreenInfo d</div></td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> let rn = screens!!<del class="diffchange diffchange-inline">(</del>min (abs n) (length screens - 1<del class="diffchange diffchange-inline">)</del>)</div></td>
<td class="diff-marker">+</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> let rn = screens!!<ins class="diffchange diffchange-inline"> </ins>min (abs n) (length screens - 1)</div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> case screens of</div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> case screens of</div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> [] -> return Nothing</div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> [] -> return Nothing</div></td>
</tr>
<tr>
<td colspan="2" class="diff-lineno">Line 273:</td>
<td colspan="2" class="diff-lineno">Line 275:</td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> "dzen2 -x " ++ show xpos</div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> "dzen2 -x " ++ show xpos</div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> ++ " -w " ++ show width</div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> ++ " -w " ++ show width</div></td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> ++ " -h " ++ <del class="diffchange diffchange-inline">(</del>show <del class="diffchange diffchange-inline">$ </del>height xpc)</div></td>
<td class="diff-marker">+</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> ++ " -h " ++ show <ins class="diffchange diffchange-inline">(</ins>height xpc)</div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> ++ " -fn " ++ "'" ++ font xpc ++ "'"</div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> ++ " -fn " ++ "'" ++ font xpc ++ "'"</div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> ++ " -bg " ++ "'" ++ bgColor xpc ++ "'"</div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> ++ " -bg " ++ "'" ++ bgColor xpc ++ "'"</div></td>
</tr>
</table>
Sereven
https://wiki.haskell.org/index.php?title=Xmonad/Config_archive/sereven%27s_xmonad.hs&diff=26187&oldid=prev
Sereven: correct stripDzen parser
2009-01-30T20:39:20Z
<p>correct stripDzen parser</p>
<table class="diff diff-contentalign-left diff-editfont-monospace" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 20:39, 30 January 2009</td>
</tr><tr>
<td colspan="2" class="diff-lineno">Line 299:</td>
<td colspan="2" class="diff-lineno">Line 299:</td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> -- hPutStrLn dz::System.IO.Handle dzSlaveLines::String -}</div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> -- hPutStrLn dz::System.IO.Handle dzSlaveLines::String -}</div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>stripDzen :: String -> String -- strip dzen formatting to undo ppHidden</div></td>
<td class="diff-marker">+</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>stripDzen :: String -> String -- strip dzen formatting to undo ppHidden<ins class="diffchange diffchange-inline">, corrected parse</ins></div></td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>stripDzen<del class="diffchange diffchange-inline"> s</del> = strip<del class="diffchange diffchange-inline"> s</del> []</div></td>
<td class="diff-marker">+</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>stripDzen = strip []<ins class="diffchange diffchange-inline"> where</ins></div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty"> </td>
<td class="diff-marker">+</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> strip keep [] = keep</div></td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> -- does not properly handle '^^' or non-dzen ')' in input text</div></td>
<td colspan="2" class="diff-empty"> </td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> <del class="diffchange diffchange-inline">where</del> strip <del class="diffchange diffchange-inline">[]</del> <del class="diffchange diffchange-inline">acc</del> = <del class="diffchange diffchange-inline">acc</del></div></td>
<td class="diff-marker">+</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> <ins class="diffchange diffchange-inline"> </ins> strip <ins class="diffchange diffchange-inline">keep</ins> <ins class="diffchange diffchange-inline">('^':'^':x)</ins> = <ins class="diffchange diffchange-inline">strip (keep ++ "^") x</ins></div></td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> strip <del class="diffchange diffchange-inline">x</del> <del class="diffchange diffchange-inline">acc</del> <del class="diffchange diffchange-inline">=</del> <del class="diffchange diffchange-inline">let good = fst (span</del> ('<del class="diffchange diffchange-inline">^</del>' /=) x)</div></td>
<td class="diff-marker">+</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> <ins class="diffchange diffchange-inline">strip</ins> <ins class="diffchange diffchange-inline">keep</ins> <ins class="diffchange diffchange-inline">('^':x)</ins> <ins class="diffchange diffchange-inline">=</ins> strip <ins class="diffchange diffchange-inline">keep</ins> <ins class="diffchange diffchange-inline">(drop</ins> <ins class="diffchange diffchange-inline">1</ins> <ins class="diffchange diffchange-inline">.</ins> <ins class="diffchange diffchange-inline">dropWhile</ins> ('<ins class="diffchange diffchange-inline">)</ins>' /=)<ins class="diffchange diffchange-inline"> $</ins> x)</div></td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> <del class="diffchange diffchange-inline"> bad </del> = <del class="diffchange diffchange-inline">snd (</del>span ('^' /=) x<del class="diffchange diffchange-inline">)</del></div></td>
<td class="diff-marker">+</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> <ins class="diffchange diffchange-inline">strip</ins> <ins class="diffchange diffchange-inline">keep</ins> <ins class="diffchange diffchange-inline">x</ins> <ins class="diffchange diffchange-inline">=</ins> <ins class="diffchange diffchange-inline">let</ins> <ins class="diffchange diffchange-inline">(good,x')</ins> = span ('^' /=) x</div></td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline"> </del> in<del class="diffchange diffchange-inline"> </del> strip (<del class="diffchange diffchange-inline">drop 1 . dropWhile (')' /=) $ bad) (acc</del> ++ good)</div></td>
<td class="diff-marker">+</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> in strip (<ins class="diffchange diffchange-inline">keep</ins> ++ good)<ins class="diffchange diffchange-inline"> x'</ins></div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>xpm :: String -> String -> String</div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>xpm :: String -> String -> String</div></td>
</tr>
</table>
Sereven
https://wiki.haskell.org/index.php?title=Xmonad/Config_archive/sereven%27s_xmonad.hs&diff=26154&oldid=prev
Sereven: put clearer stripDzen fn and replace silly (\x -> f x) with f
2009-01-29T09:50:59Z
<p>put clearer stripDzen fn and replace silly (\x -> f x) with f</p>
<table class="diff diff-contentalign-left diff-editfont-monospace" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 09:50, 29 January 2009</td>
</tr><tr>
<td colspan="2" class="diff-lineno">Line 300:</td>
<td colspan="2" class="diff-lineno">Line 300:</td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>stripDzen :: String -> String -- strip dzen formatting to undo ppHidden</div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>stripDzen :: String -> String -- strip dzen formatting to undo ppHidden</div></td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>stripDzen s = <del class="diffchange diffchange-inline">aux</del> s []<del class="diffchange diffchange-inline"> </del></div></td>
<td class="diff-marker">+</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>stripDzen s = <ins class="diffchange diffchange-inline">strip</ins> s []</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty"> </td>
<td class="diff-marker">+</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> -- does not properly handle '^^' or non-dzen ')' in input text</div></td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> where <del class="diffchange diffchange-inline">aux</del> [] acc = acc</div></td>
<td class="diff-marker">+</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> where <ins class="diffchange diffchange-inline">strip</ins> [] acc = acc</div></td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> aux x acc = (\(good,bad) -> aux (dropDzen bad) (acc++good)) $ span (/= '^') x</div></td>
<td colspan="2" class="diff-empty"> </td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> <del class="diffchange diffchange-inline">where</del> <del class="diffchange diffchange-inline">dropDzen</del> <del class="diffchange diffchange-inline">b</del> = <del class="diffchange diffchange-inline">drop</del> <del class="diffchange diffchange-inline">1 $ dropWhile</del> (/=<del class="diffchange diffchange-inline"> ')'</del>) <del class="diffchange diffchange-inline">b</del></div></td>
<td class="diff-marker">+</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> <ins class="diffchange diffchange-inline">strip</ins> <ins class="diffchange diffchange-inline">x</ins> <ins class="diffchange diffchange-inline">acc</ins> <ins class="diffchange diffchange-inline">=</ins> <ins class="diffchange diffchange-inline">let</ins> <ins class="diffchange diffchange-inline">good</ins> = <ins class="diffchange diffchange-inline">fst</ins> <ins class="diffchange diffchange-inline">(span</ins> (<ins class="diffchange diffchange-inline">'^' </ins>/=) <ins class="diffchange diffchange-inline">x)</ins></div></td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> <del class="diffchange diffchange-inline">--</del> <del class="diffchange diffchange-inline">dropDzen</del> <del class="diffchange diffchange-inline">doesn't</del> <del class="diffchange diffchange-inline">properly</del> <del class="diffchange diffchange-inline">handle</del> <del class="diffchange diffchange-inline">^^</del> <del class="diffchange diffchange-inline">or</del> <del class="diffchange diffchange-inline">non-dzen</del> '<del class="diffchange diffchange-inline">)</del>' <del class="diffchange diffchange-inline">in</del> <del class="diffchange diffchange-inline">text</del></div></td>
<td class="diff-marker">+</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> <ins class="diffchange diffchange-inline"> bad = snd (span (</ins>'<ins class="diffchange diffchange-inline">^</ins>' <ins class="diffchange diffchange-inline">/=)</ins> <ins class="diffchange diffchange-inline">x)</ins></div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty"> </td>
<td class="diff-marker">+</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> in strip (drop 1 . dropWhile (')' /=) $ bad) (acc ++ good)</div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>xpm :: String -> String -> String</div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>xpm :: String -> String -> String</div></td>
</tr>
<tr>
<td colspan="2" class="diff-lineno">Line 315:</td>
<td colspan="2" class="diff-lineno">Line 316:</td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> , ppHidden = dzfg hiddenCol</div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> , ppHidden = dzfg hiddenCol</div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> , ppHiddenNoWindows = dzfg fadedCol</div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> , ppHiddenNoWindows = dzfg fadedCol</div></td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> , ppUrgent = dzfg urgentCol .<del class="diffchange diffchange-inline"> (\s -></del> stripDzen<del class="diffchange diffchange-inline"> s)</del></div></td>
<td class="diff-marker">+</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> , ppUrgent = dzfg urgentCol . stripDzen</div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> , ppWsSep = kernedsp</div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> , ppWsSep = kernedsp</div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> , ppSep = ""</div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> , ppSep = ""</div></td>
</tr>
<tr>
<td colspan="2" class="diff-lineno">Line 333:</td>
<td colspan="2" class="diff-lineno">Line 334:</td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> , ppHidden = dzfg hiddenCol</div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> , ppHidden = dzfg hiddenCol</div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> , ppHiddenNoWindows = dzfg fadedCol</div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> , ppHiddenNoWindows = dzfg fadedCol</div></td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> , ppUrgent = dzfg urgentCol .<del class="diffchange diffchange-inline"> (\s -></del> stripDzen<del class="diffchange diffchange-inline"> s)</del></div></td>
<td class="diff-marker">+</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> , ppUrgent = dzfg urgentCol . stripDzen</div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> , ppWsSep = kernedsp</div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> , ppWsSep = kernedsp</div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> , ppSep = ""</div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> , ppSep = ""</div></td>
</tr>
</table>
Sereven
https://wiki.haskell.org/index.php?title=Xmonad/Config_archive/sereven%27s_xmonad.hs&diff=26094&oldid=prev
Sereven: add Disclaimer
2009-01-25T03:02:31Z
<p>add Disclaimer</p>
<table class="diff diff-contentalign-left diff-editfont-monospace" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 03:02, 25 January 2009</td>
</tr><tr>
<td colspan="2" class="diff-lineno">Line 1:</td>
<td colspan="2" class="diff-lineno">Line 1:</td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Apparently this is too long to copy paste in one go without dropping bits. Split into two copy pastes, see comment: -- SPLIT HERE -- after manageHook.</div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Apparently this is too long to copy paste in one go without dropping bits. Split into two copy pastes, see comment: -- SPLIT HERE -- after manageHook.</div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div><haskell></div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div><haskell></div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty"> </td>
<td class="diff-marker">+</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>-- Disclaimer: this is hs equivalent of BASIC goto spaghetti, hopefully by 0.9 I'll</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty"> </td>
<td class="diff-marker">+</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>-- post a better example, but at the time posted people were asking for dispatch</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty"> </td>
<td class="diff-marker">+</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>-- on host example, and no one else posted anything, so shamelessly shared.</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty"> </td>
<td class="diff-marker">+</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>--</div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>------ extra cross host stuff most won't need --</div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>------ extra cross host stuff most won't need --</div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>import System.Posix.Unistd (getSystemID, nodeName)</div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>import System.Posix.Unistd (getSystemID, nodeName)</div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>import System.Environment (getEnvironment)</div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>import System.Environment (getEnvironment)</div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>------ also may not want scaling dzen bar --------</div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>------ also may not want scaling dzen bar --------</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty"> </td>
<td class="diff-marker">+</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>-- TODO: just use XMonad fns, use Rectangles</div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>import Graphics.X11.Xlib</div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>import Graphics.X11.Xlib</div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>import Graphics.X11.Xinerama</div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>import Graphics.X11.Xinerama</div></td>
</tr>
</table>
Sereven
https://wiki.haskell.org/index.php?title=Xmonad/Config_archive/sereven%27s_xmonad.hs&diff=23853&oldid=prev
Sereven: banish mouse binding changed to avoid 'focus master' default
2008-11-04T17:07:05Z
<p>banish mouse binding changed to avoid 'focus master' default</p>
<table class="diff diff-contentalign-left diff-editfont-monospace" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 17:07, 4 November 2008</td>
</tr><tr>
<td colspan="2" class="diff-lineno">Line 141:</td>
<td colspan="2" class="diff-lineno">Line 141:</td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> , ("M-C-b", warpToScreen 0 (1/2) 0) -- open XM dzen slave; exit mouse manually to collapse :(</div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> , ("M-C-b", warpToScreen 0 (1/2) 0) -- open XM dzen slave; exit mouse manually to collapse :(</div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> , ("M-S-b", warpToScreen 0 0 0) -- open sys dzen slave; exit mouse manually to collapse :(</div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> , ("M-S-b", warpToScreen 0 0 0) -- open sys dzen slave; exit mouse manually to collapse :(</div></td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> , ("M-m", warpToWindow 1 1) -- banish mouse to lower right of focused window</div></td>
<td class="diff-marker">+</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> , ("M<ins class="diffchange diffchange-inline">-S</ins>-m", warpToWindow 1 1) -- banish mouse to lower right of focused window</div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> ]</div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> ]</div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td>
</tr>
</table>
Sereven
https://wiki.haskell.org/index.php?title=Xmonad/Config_archive/sereven%27s_xmonad.hs&diff=23847&oldid=prev
Sereven: Remove obsolete Data.Map import
2008-11-04T02:45:49Z
<p>Remove obsolete Data.Map import</p>
<table class="diff diff-contentalign-left diff-editfont-monospace" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 02:45, 4 November 2008</td>
</tr><tr>
<td colspan="2" class="diff-lineno">Line 11:</td>
<td colspan="2" class="diff-lineno">Line 11:</td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>import qualified XMonad.StackSet as W</div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>import qualified XMonad.StackSet as W</div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>------ --</div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>------ --</div></td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>import qualified Data.Map as M</div></td>
<td colspan="2" class="diff-empty"> </td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>import Data.List (elem)</div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>import Data.List (elem)</div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>import Data.Maybe (fromMaybe)</div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>import Data.Maybe (fromMaybe)</div></td>
</tr>
</table>
Sereven
https://wiki.haskell.org/index.php?title=Xmonad/Config_archive/sereven%27s_xmonad.hs&diff=23829&oldid=prev
Sereven: fix screwed up bits so compiles, add request to copy/paste in two chunks
2008-11-02T07:39:01Z
<p>fix screwed up bits so compiles, add request to copy/paste in two chunks</p>
<a href="https://wiki.haskell.org/index.php?title=Xmonad/Config_archive/sereven%27s_xmonad.hs&diff=23829&oldid=23826">Show changes</a>
Sereven
https://wiki.haskell.org/index.php?title=Xmonad/Config_archive/sereven%27s_xmonad.hs&diff=23826&oldid=prev
Sereven at 05:37, 2 November 2008
2008-11-02T05:37:35Z
<p></p>
<table class="diff diff-contentalign-left diff-editfont-monospace" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 05:37, 2 November 2008</td>
</tr><tr>
<td colspan="2" class="diff-lineno">Line 190:</td>
<td colspan="2" class="diff-lineno">Line 190:</td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> , hiddenCol :: String , fadedCol :: String</div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> , hiddenCol :: String , fadedCol :: String</div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> , urgentCol :: String , urgentCol' :: String --rotate 4π/3 urgentCol</div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> , urgentCol :: String , urgentCol' :: String --rotate 4π/3 urgentCol</div></td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> }<del class="diffchange diffchange-inline"> deriving (Show)</del></div></td>
<td class="diff-marker">+</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> }</div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>dkCols = Colorset </div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>dkCols = Colorset </div></td>
</tr>
</table>
Sereven
https://wiki.haskell.org/index.php?title=Xmonad/Config_archive/sereven%27s_xmonad.hs&diff=23792&oldid=prev
Sereven at 23:12, 31 October 2008
2008-10-31T23:12:17Z
<p></p>
<table class="diff diff-contentalign-left diff-editfont-monospace" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 23:12, 31 October 2008</td>
</tr><tr>
<td colspan="2" class="diff-lineno">Line 49:</td>
<td colspan="2" class="diff-lineno">Line 49:</td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> home <- fmap (fromMaybe "/home/gvg" . lookup "HOME") getEnvironment</div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> home <- fmap (fromMaybe "/home/gvg" . lookup "HOME") getEnvironment</div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> scrxpw <- getXPositionAndWidthOfScreen 0 -- dzen screen number</div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> scrxpw <- getXPositionAndWidthOfScreen 0 -- dzen screen number</div></td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> <del class="diffchange diffchange-inline">dz</del> <del class="diffchange diffchange-inline"><-</del> <del class="diffchange diffchange-inline">spawnPipe $</del> uncurry dzenWithParamsFrom (fromMaybe (0, 1024) scrxpw) <del class="diffchange diffchange-inline">$ xpcByHost host</del></div></td>
<td class="diff-marker">+</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> <ins class="diffchange diffchange-inline">let</ins> <ins class="diffchange diffchange-inline">dzencmd</ins> <ins class="diffchange diffchange-inline">=</ins> uncurry dzenWithParamsFrom (fromMaybe (0, 1024) scrxpw) <ins class="diffchange diffchange-inline">darkXPC</ins></div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty"> </td>
<td class="diff-marker">+</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> dz <- spawnPipe dzencmd</div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> -- uncomment to show dzen params while setting up other bars in .xinitrc</div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> -- uncomment to show dzen params while setting up other bars in .xinitrc</div></td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> -- spawn $ "xmessage " ++ "'" ++ <del class="diffchange diffchange-inline">(dzenWithParamsFrom sx sw (xpcByHost host))</del> ++ "'"</div></td>
<td class="diff-marker">+</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> -- spawn $ "xmessage " ++ "'" ++ <ins class="diffchange diffchange-inline">dzencmd</ins> ++ "'"</div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> let conf = confByHost host home dz</div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> let conf = confByHost host home dz</div></td>
</tr>
</table>
Sereven
https://wiki.haskell.org/index.php?title=Xmonad/Config_archive/sereven%27s_xmonad.hs&diff=23777&oldid=prev
Sereven: add xmonad config file to newly created page
2008-10-31T22:05:26Z
<p>add xmonad config file to newly created page</p>
<p><b>New page</b></p><div><haskell><br />
------ sereven.0.8.4.xmonad.hs -------------------<br />
<br />
------ extra cross host stuff most won't need --<br />
import System.Posix.Unistd (getSystemID, nodeName)<br />
import System.Environment (getEnvironment)<br />
------ also may not want scaling dzen bar --------<br />
import Graphics.X11.Xlib<br />
import Graphics.X11.Xinerama<br />
------ normal imports --<br />
import XMonad<br />
import qualified XMonad.StackSet as W<br />
------ --<br />
import qualified Data.Map as M<br />
import Data.List (elem)<br />
import Data.Maybe (fromMaybe)<br />
import Data.Ratio ((%)) -- for Layout.IM<br />
------ --<br />
import XMonad.Hooks.ManageDocks<br />
import XMonad.Hooks.ManageHelpers(doCenterFloat)<br />
import XMonad.Hooks.UrgencyHook<br />
import XMonad.Hooks.DynamicLog<br />
------ --<br />
import XMonad.Actions.CycleWS<br />
import XMonad.Actions.WindowGo<br />
import XMonad.Actions.Warp<br />
------ --<br />
import XMonad.Layout.IM<br />
import XMonad.Layout.Reflect<br />
import XMonad.Layout.PerWorkspace<br />
import XMonad.Layout.ResizableTile<br />
import XMonad.Layout.WindowNavigation<br />
import XMonad.Layout.NoBorders<br />
import qualified XMonad.Layout.ToggleLayouts as TL<br />
------ --<br />
import XMonad.Prompt<br />
import XMonad.Prompt.Shell<br />
import XMonad.Prompt.RunOrRaise<br />
------ --<br />
import XMonad.Util.Run<br />
import XMonad.Util.Scratchpad<br />
import XMonad.Util.EZConfig<br />
<br />
<br />
-- "Make it so, Mr. X!" --------------------<br />
<br />
main = do<br />
host <- fmap nodeName getSystemID<br />
home <- fmap (fromMaybe "/home/gvg" . lookup "HOME") getEnvironment<br />
scrxpw <- getXPositionAndWidthOfScreen 0 -- dzen screen number<br />
dz <- spawnPipe $ uncurry dzenWithParamsFrom (fromMaybe (0, 1024) scrxpw) $ xpcByHost host<br />
<br />
-- uncomment to show dzen params while setting up other bars in .xinitrc<br />
-- spawn $ "xmessage " ++ "'" ++ (dzenWithParamsFrom sx sw (xpcByHost host)) ++ "'"<br />
<br />
let conf = confByHost host home dz<br />
let sKeys = keysByHost host home conf<br />
<br />
xmonad $ withUrgencyHook NoUrgencyHook $<br />
conf {startupHook = return () >> checkKeymap conf sKeys}<br />
`additionalKeysP` sKeys<br />
<br />
-- using this XConfig<br />
<br />
baseConf = defaultConfig<br />
{ borderWidth = 1<br />
, workspaces = sWorkspaces<br />
, manageHook = sManageHook<br />
, focusFollowsMouse = True<br />
, terminal = "urxvtc"<br />
}<br />
<br />
confByHost h hm dzh <br />
| isLightHost h = baseConf<br />
{ layoutHook = layoutByHost h<br />
, logHook = dynamicLogWithPP $ dzlightPP hm dzh<br />
, focusedBorderColor = dkCol ltCols<br />
, normalBorderColor = ltCol ltCols<br />
, modMask = mod3Mask<br />
}<br />
<br />
<br />
-- (frequently edited bits nearer the top) -------<br />
<br />
isLightHost :: String -> Bool<br />
isLightHost hostname = -- hosts with light bg, small screen, no winkey configs<br />
hostname `elem` ["azim", "maraire", "NS41266"]<br />
<br />
keysByHost :: String -> String -> XConfig l -> [(String, X())]<br />
keysByHost hst hm cfg =<br />
<br />
[ ("M-<F1>", shellPrompt $ xpcByHost hst)<br />
, ("M-<F2>", runOrRaisePrompt $ xpcByHost hst)<br />
, ("M-<F3>", scratchpadSpawnAction cfg)<br />
, ("M-<F12>", spawn "xscreensaver-command -lock")<br />
<br />
, ("M-x f", runOrRaise "firefox" (className =? "Firefox"))<br />
, ("M-x o", runOrRaise "opera" (className =? "Opera"))<br />
, ("M-x r", runOrRaise (hm ++ "/bin/shfmRun") (title =? "shellfm"))<br />
, ("M-x h", runOrRaise "hback" (className =? "Hback"))<br />
, ("M-x g", spawn "gimp")<br />
] <br />
++ -- vi directional window navigation similar to XMonad defaults<br />
[ ("M-k", sendMessage $ Go U)<br />
, ("M-j", sendMessage $ Go D)<br />
, ("M-h", sendMessage $ Go L)<br />
, ("M-l", sendMessage $ Go R)<br />
, ("M-S-k", sendMessage $ Swap U) -- shift shifts windows<br />
, ("M-S-j", sendMessage $ Swap D)<br />
, ("M-S-h", sendMessage $ Swap L)<br />
, ("M-S-l", sendMessage $ Swap R)<br />
, ("M-C-k", sendMessage MirrorExpand) -- ctrl controls size<br />
, ("M-C-j", sendMessage MirrorShrink)<br />
, ("M-C-h", sendMessage Shrink)<br />
, ("M-C-l", sendMessage Expand)<br />
] <br />
++ -- mod-<key> and mod-shift-<key> are as default (plus 0 and = too)<br />
-- mod-ctrl-<key> shifts focused window *and* view to <key>'s ws<br />
[ (addtlmods ++ "M-" ++ [key], action tag)<br />
| (tag, key) <- zip sWorkspaces "1234567890="<br />
, (addtlmods, action) <- [ ("", windows . W.greedyView)<br />
, ("S-", windows . W.shift)<br />
, ("C-", \x -> (windows . W.shift) x >> (windows . W.view) x)]<br />
] <br />
++ -- mod + m + {left arrow or 'a' key} does action with ws to "left"<br />
[ (m ++ "M-" ++ key, action) | key <- ["<L>","a"]<br />
, (m, action) <- [ ("", prevWS), ("S-", shiftToPrev), ("C-", shiftToPrev >> prevWS)]<br />
]<br />
++ -- mod + m + {right arrow or 'd' key} does action with ws to "right"<br />
[ (m ++ "M-" ++ key, action) | key <- ["<R>","d"]<br />
, (m, action) <- [ ("", nextWS), ("S-", shiftToNext), ("C-", shiftToNext >> nextWS)]<br />
] <br />
++ <br />
[ ("M-<Space>", sendMessage TL.ToggleLayout ) -- noBorders Full<br />
, ("M-b", sendMessage ToggleStruts)<br />
, ("M-C-b", warpToScreen 0 (1/2) 0) -- open XM dzen slave; exit mouse manually to collapse :(<br />
, ("M-S-b", warpToScreen 0 0 0) -- open sys dzen slave; exit mouse manually to collapse :(<br />
, ("M-m", warpToWindow 1 1) -- banish mouse to lower right of focused window<br />
]<br />
<br />
sWorkspaces = ["'%", "%", "%'"] ++ ["'*", "*", "*'"] ++ ["c", "m", "#"] ++ ["@", "SP"] <br />
<br />
sManageHook = composeAll<br />
[ doF avoidMaster<br />
, scratchpadManageHookDefault<br />
<br />
, title =? "shellfm" --> doShift "'*"<br />
, className =? "Gimp" --> doShift "*" -- don't float, IM layout<br />
, className =? "MPlayer" --> doShift "*'"<br />
<br />
, title =? "" --> doFloat -- SOE graphics<br />
, title =? "shellfm" --> doFloat<br />
, className =? "Hback" --> doCenterFloat<br />
, className =? "MPlayer" --> doFloat<br />
, className =? "XFontSel" --> doCenterFloat<br />
, className =? "Xmessage" --> doCenterFloat<br />
] <br />
where avoidMaster :: W.StackSet i l a s sd -> W.StackSet i l a s sd<br />
avoidMaster = W.modify' $ \c -> case c of<br />
W.Stack t [] (r:rs) -> W.Stack t [r] rs<br />
otherwise -> c<br />
<br />
layoutByHost h = <br />
avoidStruts $ configurableNavigation (noNavigateBorders) $ <br />
TL.toggleLayouts (noBorders Full) $ <br />
modWorkspace "*" reflectHoriz $ withIM (11%64) (Role "gimp-toolbox") $ -- see [gimp]<br />
tileByHost h <br />
where tileByHost n<br />
| n == "azim" = ResizableTall 2 (1/118) (11/15) [9/16,9/16,9/16]<br />
| otherwise = ResizableTall 2 -- default number of masters<br />
(1/118) -- resize increment<br />
(11/20) -- horizontal ratio: mstr/(mstr+slv)?<br />
[5/4 -- master column ~ top/bottom?<br />
,5/4 -- no effect w/ 2 masters<br />
,5/4 -- slave column ~ top/bottom<br />
] -- then defaults to (repeat 1)<br />
<br />
-- [gimp] -- Combining gimp-toolbox and gimp-dock into one works<br />
-- well in IM layout roster column. Drag panes from gimp-dock or<br />
-- toolbox to top separator or bar of toolbox to add and re-arrange.<br />
<br />
<br />
-- (theming, font, colors) ------------------<br />
<br />
data Colorset = Colorset<br />
{ ltCol :: String , dkCol :: String<br />
, currentCol :: String , hlightCol :: String --rotate 2π/3 urgentCol<br />
, visibleCol :: String <br />
, hiddenCol :: String , fadedCol :: String<br />
, urgentCol :: String , urgentCol' :: String --rotate 4π/3 urgentCol<br />
} deriving (Show)<br />
<br />
dkCols = Colorset <br />
{ ltCol = "cornsilk3" <br />
, dkCol = "black" <br />
, currentCol = "#bca"<br />
, hlightCol = "#4d5"<br />
, visibleCol = "#ab9"<br />
, hiddenCol = "#786"<br />
, fadedCol = "#554"<br />
, urgentCol = "#d54"<br />
, urgentCol' = "#54d"<br />
}<br />
<br />
ltCols = dkCols <br />
{ ltCol = "#d7e19f"<br />
, dkCol = "#230"<br />
, currentCol = "black"<br />
, hlightCol = "#0e3"<br />
, visibleCol = "#443"<br />
, hiddenCol = "#564"<br />
, fadedCol = "#ab9"<br />
, urgentCol = "#e30"<br />
, urgentCol' = "#30e"<br />
} <br />
<br />
xpcByHost :: String -> XPConfig<br />
xpcByHost h <br />
| isLightHost h = defaultXPConfig<br />
{ font = "-*-dina-bold-r-*-*-*-*-*-*-*-*-*-*"<br />
, height = 18<br />
, bgColor = ltCol ltCols<br />
, fgColor = dkCol ltCols<br />
, bgHLight = dkCol ltCols<br />
, fgHLight = ltCol ltCols<br />
, promptBorderWidth = 0<br />
} <br />
| otherwise = defaultXPConfig<br />
{ font = "-*-dejavu sans mono-medium-r-*-*-17-*-*-*-*-*-*-*"<br />
, height = 22<br />
, bgColor = dkCol dkCols<br />
, fgColor = ltCol dkCols<br />
, bgHLight = ltCol dkCols<br />
, fgHLight = dkCol dkCols<br />
, promptBorderWidth = 0<br />
} <br />
<br />
<br />
-- (dzen) ----------------------------------<br />
<br />
getXPositionAndWidthOfScreen :: Int -> IO (Maybe (Int, Int))<br />
getXPositionAndWidthOfScreen n = do<br />
d <- openDisplay ""<br />
screens <- getScreenInfo d<br />
let rn = screens!!(min (abs n) (length screens - 1))<br />
case screens of<br />
[] -> return Nothing <br />
[r] -> return $ Just (fromIntegral $ rect_x r , fromIntegral $ rect_width r)<br />
otherwise -> return $ Just (fromIntegral $ rect_x rn, fromIntegral $ rect_width rn)<br />
-- using rect_y or rect_height isn't needed on any XM hosts here, sorry<br />
<br />
<br />
-- adjust dzen position & width to screen; use XPConfig theming<br />
dzenWithParamsFrom :: Int -> Int -> XPConfig -> String<br />
dzenWithParamsFrom sx sw xpc =<br />
"dzen2 -x " ++ show xpos<br />
++ " -w " ++ show width<br />
++ " -h " ++ (show $ height xpc)<br />
++ " -fn " ++ "'" ++ font xpc ++ "'"<br />
++ " -bg " ++ "'" ++ bgColor xpc ++ "'"<br />
++ " -fg " ++ "'" ++ fgColor xpc ++ "'"<br />
++ " -ta l" <br />
-- normal dzen config --<br />
++ " -e 'onstart=lower'"<br />
<br />
where xpos = sx + sw * 11 `div` 32 -- a`div`b screenwidth empty to left<br />
width = sx + sw - sw * 7 `div` 64 - xpos -- and c`div`d to right<br />
-- (space for .xinіtrc bar and tray)<br />
<br />
{- -- experimental slave lines config --<br />
-- (scrolling sometimes fails with dzen stuck uncollapsed)<br />
-- <br />
-- instead of the above, use something like <br />
-- <br />
++ " -l 5 -e 'entertitle=uncollapse,grabkeys;\<br />
\ enterslave=grabkeys;leaveslave=collapse,ungrabkeys;\<br />
\ button1=menuexec;button2=togglestick;button3=exit:13;\<br />
\ button4=scrollup;button5=scrolldown;\<br />
\ key_Escape=ungrabkeys,exit;onstart=lower'"<br />
-- <br />
-- and write to it with something like<br />
-- hPutStrLn dz::System.IO.Handle dzSlaveLines::String -}<br />
<br />
stripDzen :: String -> String -- strip dzen formatting to undo ppHidden<br />
stripDzen s = aux s [] <br />
where aux [] acc = acc<br />
aux x acc = (\(good,bad) -> aux (dropDzen bad) (acc++good)) $ span (/= '^') x<br />
where dropDzen b = drop 1 $ dropWhile (/= ')') b<br />
-- dropDzen doesn't properly handle ^^ or non-dzen ')' in text<br />
<br />
xpm :: String -> String -> String <br />
xpm path = wrap ("^i(" ++ path ++ "/.dzen/icons/") ".xpm)"<br />
<br />
<br />
dzdarkPP hm dzIn = defaultPP<br />
{ ppCurrent = wrap (dzfg hlightCol "^p(;+7)^r(5x5)^p(+2;-7)") "" . dzfg currentCol<br />
, ppVisible = dzfg visibleCol . ("^p(;+7)^ro(5x5)^p(+2;-7)" ++)<br />
, ppHidden = dzfg hiddenCol<br />
, ppHiddenNoWindows = dzfg fadedCol<br />
, ppUrgent = dzfg urgentCol . (\s -> stripDzen s)<br />
, ppWsSep = kernedsp<br />
, ppSep = ""<br />
, ppExtras = [xmonicon]<br />
, ppOrder = \(ws:_:_:xs) -> ["^tw() "] ++ [ws] ++ xs -- see [ppOrder]<br />
, ppOutput = hPutStrLn dzIn<br />
} <br />
where kernedsp = "^p(+12)"<br />
dzfg c = dzenColor (c dkCols) "" -- (Colorset -> String) -> String -> String<br />
xmonicon = io $ return . Just $<br />
kernedsp ++ "^p(;4)" ++ xpm hm "xmonad16" ++ "^p(;-4)" ++ kernedsp<br />
<br />
<br />
dzlightPP hm dzIn = defaultPP<br />
{ ppCurrent = wrap (dzfg hlightCol "^p(;+2)^r(3x3)^p(+2;-2)") "" . dzfg currentCol<br />
, ppVisible = dzfg visibleCol . ("^p(;+2)^ro(3x3)^p(+2;-2)" ++)<br />
, ppHidden = dzfg hiddenCol<br />
, ppHiddenNoWindows = dzfg fadedCol<br />
, ppUrgent = dzfg urgentCol . (\s -> stripDzen s)<br />
, ppWsSep = kernedsp<br />
, ppSep = ""<br />
, ppExtras = [xmonicon]<br />
, ppOrder = \(ws:_:_:xs) -> ["^tw() "] ++ [ws] ++ xs -- see [ppOrder]<br />
, ppOutput = hPutStrLn dzIn<br />
} <br />
where kernedsp = "^p(+7)"<br />
dzfg c = dzenColor (c ltCols) ""<br />
xmonicon = io $ return . Just $<br />
kernedsp ++ "^p(;-1)" ++ xpm hm "xmonad16" ++ "^p(;+1)" ++ kernedsp<br />
<br />
-- [ppOrder] -- using ^tw() plus " -l 7 -e '...uncollapse...˙"<br />
-- in dzen params allows use of e.g. `hPutStrLn dzHandle dzSlaveLines' to<br />
-- write to slave window, but on some setups mouse scrolling messes up.<br />
-- I find titles and layouts jumping around in the status bar distracting,<br />
-- but if you want them use something like <br />
-- ppOrder = \(ws:l:t:xs) -> [l,ws,t] ++ xs</haskell></div>
Sereven