[xmonad] Fwd: How to use onScreen function on startup?
Felix Blanke
felixblanke at gmail.com
Sun Dec 12 11:12:46 CET 2010
Hi,
I'm not that familiar with haskell or xmonad, but I can tell you how I do that :)
-- Hooks --
manageHook' :: ManageHook
manageHook' = composeAll .concat $
[ --app placement
[ className =? c --> doF (W.shift "2-web") | c <- webApps ]
, [ className =? c --> doF (W.shift "3-mail") | c <- mailApps ]
, [ resource =? c --> doF (W.shift "4-multimedia") | c <- multimediaApps ]
, [ className =? c --> doF (W.shift "5-IM") | c <- imApps ]
, [ className =? c --> doF (W.shift "6-windows") | c <- windowsApps ]
]
webApps = ["Opera"]
mailApps = ["Claws-mail", "mutt"]
multimediaApps = ["mocp"]
windowsApps = ["VirtualBox"]
imApps = ["Skype"]
I think that isn't that hard to understand :)
"W" comes from "import qualified XMonad.StackSet as W"
Then just load that ManageHook in your main.
If you have any further question feel free to ask.
Felix
On 12. December 2010 - 09:34, kevind256 wrote:
> Date: Sun, 12 Dec 2010 09:34:46 +0300
> From: kevind256 <kevind256 at gmail.com>
> To: xmonad at haskell.org
> Subject: [xmonad] Fwd: How to use onScreen function on startup?
>
> ---------- Forwarded message ----------
> From: kevind256 <kevind256 at gmail.com>
> Date: Sat, 11 Dec 2010 13:37:55 +0300
> Subject: How to use onScreen function on startup?
> To: xmonad at haskell.org
>
> Hi,
>
> Sorry to ask question out of total lack of knowledge of Haskell, but
> how do I use a function (in this case onScreen from
> XMonad.Actions.OnScreen) at xmonad startup? I's like to assign the
> last workspace to second screen by default, since it's really
> secondary in my setup (music player is there usually).
>
> I tried putting this in main = do { ... } section:
> onScreen 1 "9";
>
> but got this long error message (till end of this post):
> Error detected while loading xmonad configuration file:
> /home/kevin/.xmonad/xmonad.hs
>
> xmonad.hs:30:1:
> Couldn't match expected type `IO a'
> against inferred type `i
> -> XMonad.StackSet.StackSet i l a1 [Char] sd
> -> XMonad.StackSet.StackSet i l a1 [Char] sd'
> In a stmt of a 'do' expression: onScreen 1 "9"
> In the expression:
> do { xmproc <- spawnPipe "xmobar";
> onScreen 1 "9";
> xmonad
> $ defaultConfig
> {normalBorderColor = "black", focusedBorderColor = "red2",
> borderWidth = 2, modMask = modm, focusFollowsMouse = False,
> manageHook = manageDocks <+> manageHook defaultConfig,
> layoutHook = avoidStruts $ simpleTabbed ||| Tall 1
> 5.0e-2 0.5,
> logHook = dynamicLogWithPP
> $ xmobarPP
> {ppOutput = hPutStrLn xmproc,
> ppTitle = xmobarColor "white" "" .
> shorten 100}}
> `additionalKeys`
> [((modm, xK_a), spawn "aumix -v-2"),
> ((modm, xK_f), spawn "aumix -v+2"), ....] }
> In the definition of `main':
> main = do { xmproc <- spawnPipe "xmobar";
> onScreen 1 "9";
> xmonad
> $ defaultConfig
> {normalBorderColor = "black",
> focusedBorderColor = "red2",
> borderWidth = 2, modMask = modm,
> focusFollowsMouse = False,
> manageHook = manageDocks <+> manageHook
> defaultConfig,
> layoutHook = avoidStruts $ simpleTabbed |||
> Tall 1 5.0e-2 0.5,
> logHook = dynamicLogWithPP
> $ xmobarPP
> {ppOutput = hPutStrLn xmproc,
> ppTitle = xmobarColor "white"
> "" . shorten 100}}
> `additionalKeys`
> [((modm, xK_a), spawn "aumix -v-2"), ....] }
>
> Please check the file for errors.
>
> _______________________________________________
> xmonad mailing list
> xmonad at haskell.org
> http://www.haskell.org/mailman/listinfo/xmonad
---end quoted text---
More information about the xmonad
mailing list