[xmonad] Fwd: How to use onScreen function on startup?

Felix Blanke felixblanke at gmail.com
Sun Dec 12 14:40:28 CET 2010


Sorry, I missread your e-mail :/

Felix

On 12. December 2010 - 16:19, kevind256 wrote:
> Date: Sun, 12 Dec 2010 16:19:12 +0300
> From: kevind256 <kevind256 at gmail.com>
> To: Felix Blanke <felixblanke at gmail.com>
> Cc: xmonad at haskell.org
> Subject: Re: [xmonad] Fwd: How to use onScreen function on startup?
> 
> As far as I understand it, you're shifting windows to different
> workspaces upon these applications' startup. What I wanted is to
> assign a workspace to a screen at xmonad's startup. So I do not see
> connection between this and your example. ManageHook (apparently)
> isn't used at xmonad startup, instead just 'main' is called, but
> something's wrong with my understanding of this all. Thank you for
> responce anyway.
> 
> On 12/12/10, Felix Blanke <felixblanke at gmail.com> wrote:
> > 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---
> >
---end quoted text---



More information about the xmonad mailing list