[prev in list] [next in list] [prev in thread] [next in thread] 

List:       xmonad
Subject:    Re: [xmonad] Can I switch layouts based on number of windows in a workspace?
From:       Jeffrey David Johnson <jefdaj () gmail ! com>
Date:       2012-08-28 5:46:54
Message-ID: 503C5B4E.20804 () gmail ! com
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


OK that makes sense I think. I ran into another problem though when 
trying to integrate it into my xmonad.hs. I used:

myLayoutHook = onlyFor Multiple (spacing 2) $ Tall 1 (3/100) (1/2)

and got this big long error. Something about Read instances, but all the 
data declarations in OnlyFor.hs have

deriving (Read, Show)

on them so I'm not sure what's up with that.
Jeff

jefdaj@acro:~/.xmonad$ ghc --make OnlyFor.hs xmonad.hs -o 
xmonad-x86_64-linux
[2 of 2] Compiling Main             ( xmonad.hs, xmonad.o )

xmonad.hs:199:5:
     No instances for (Read
                         (l0 a0
                          -> XMonad.Layout.LayoutModifier.ModifiedLayout 
Spacing l0 a0),
                       XMonad.Layout.LayoutModifier.LayoutModifier
                         (OnlyFor
                            (l0 a0
                             -> 
XMonad.Layout.LayoutModifier.ModifiedLayout Spacing l0 a0))
                         GHC.Word.Word64)
       arising from a use of `xmonad'
     Possible fix:
       add instance declarations for
       (Read
          (l0 a0
           -> XMonad.Layout.LayoutModifier.ModifiedLayout Spacing l0 a0),
        XMonad.Layout.LayoutModifier.LayoutModifier
          (OnlyFor
             (l0 a0
              -> XMonad.Layout.LayoutModifier.ModifiedLayout Spacing l0 a0))
          GHC.Word.Word64)
     In the expression: xmonad
     In a stmt of a 'do' block:
       xmonad
       $ defaultConfig
           {terminal = "lxterminal", borderWidth = 2, modMask = mod4Mask,
            keys = myKeys, workspaces = myWorkspaces,
            handleEventHook = myHandleEventHook, layoutHook = myLayoutHook,
            manageHook = myManageHook, logHook = myLogHook toolbarPipe,
            normalBorderColor = myNormalBorderColor,
            focusedBorderColor = myFocusedBorderColor}
     In the expression:
       do { spawn myBackgroundApps;
            toolbarPipe <- spawnPipe myToolbar;
            xmonad
            $ defaultConfig
                {terminal = "lxterminal", borderWidth = 2, modMask = 
mod4Mask,
                 keys = myKeys, workspaces = myWorkspaces,
                 handleEventHook = myHandleEventHook, layoutHook = 
myLayoutHook,
                 manageHook = myManageHook, logHook = myLogHook toolbarPipe,
                 normalBorderColor = myNormalBorderColor,
                 focusedBorderColor = myFocusedBorderColor} }



On 08/27/2012 11:01 AM, Brandon Allbery wrote:
> On Mon, Aug 27, 2012 at 1:36 PM, Jeffrey David Johnson 
> <jefdaj@gmail.com <mailto:jefdaj@gmail.com>> wrote:
>
>     Thanks, I'll read through this and try to figure it out when I get
>     a chance (maybe later today). In the meantime I get a compile error:
>
>     jefdaj@acro:~/.xmonad$ <mailto:jefdaj@acro:%7E/.xmonad$> ghc
>     --make OnlyFor.hs
>     [1 of 1] Compiling XMonad.Layout.OnlyFor ( OnlyFor.hs, OnlyFor.o )
>     OnlyFor.hs:60:64:
>         `m' is applied to too many type arguments
>
>
> *sigh* sorry, thought that was already fixed in that copy of the 
> source.  (this is why I retracted original patches and am not 
> releasing until I can get my working environment back going....)  ghci 
> should be correct.
>
>     onlyFor
>       :: HowMany
>          -> m
>          -> l a
>          -> XMonad.Layout.LayoutModifier.ModifiedLayout (OnlyFor m) l a
>
>     Does that look reasonable? m is One | Multiple, l is the
>     LayoutModifier and a is the Layout right?
>
>
> "m" is the layout modifier to be applied, "l a" is the layout modifier 
> to apply it to, "a" is instantiated to Window in xmonad and to a dummy 
> when running pure tests.
>
> -- 
> brandon s allbery allbery.b@gmail.com <mailto:allbery.b@gmail.com>
> wandering unix systems administrator (available)     (412) 475-9364 vm/sms
>


[Attachment #5 (text/html)]

<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    OK that makes sense I think. I ran into another problem though when
    trying to integrate it into my xmonad.hs. I used:<br>
    <br>
    myLayoutHook = onlyFor Multiple (spacing 2) $ Tall 1 (3/100) (1/2)<br>
    <br>
    and got this big long error. Something about Read instances, but all
    the data declarations in OnlyFor.hs have<br>
    <br>
    deriving (Read, Show)<br>
    <br>
    on them so I'm not sure what's up with that.<br>
    Jeff<br>
    <br>
    <a class="moz-txt-link-abbreviated" \
href="mailto:jefdaj@acro:~/.xmonad$">jefdaj@acro:~/.xmonad$</a> ghc --make OnlyFor.hs \
xmonad.hs -o  xmonad-x86_64-linux <br>
    [2 of 2] Compiling Main             ( xmonad.hs, xmonad.o )<br>
    <br>
    xmonad.hs:199:5:<br>
        No instances for (Read<br>
                            (l0 a0<br>
                             -&gt;
    XMonad.Layout.LayoutModifier.ModifiedLayout Spacing l0 a0),<br>
                          XMonad.Layout.LayoutModifier.LayoutModifier<br>
                            (OnlyFor<br>
                               (l0 a0<br>
                                -&gt;
    XMonad.Layout.LayoutModifier.ModifiedLayout Spacing l0 a0))<br>
                            GHC.Word.Word64)<br>
          arising from a use of `xmonad'<br>
        Possible fix:<br>
          add instance declarations for<br>
          (Read<br>
             (l0 a0<br>
              -&gt; XMonad.Layout.LayoutModifier.ModifiedLayout Spacing
    l0 a0),<br>
           XMonad.Layout.LayoutModifier.LayoutModifier<br>
             (OnlyFor<br>
                (l0 a0<br>
                 -&gt; XMonad.Layout.LayoutModifier.ModifiedLayout
    Spacing l0 a0))<br>
             GHC.Word.Word64)<br>
        In the expression: xmonad<br>
        In a stmt of a 'do' block:<br>
          xmonad<br>
          $ defaultConfig<br>
              {terminal = "lxterminal", borderWidth = 2, modMask =
    mod4Mask,<br>
               keys = myKeys, workspaces = myWorkspaces,<br>
               handleEventHook = myHandleEventHook, layoutHook =
    myLayoutHook,<br>
               manageHook = myManageHook, logHook = myLogHook
    toolbarPipe,<br>
               normalBorderColor = myNormalBorderColor,<br>
               focusedBorderColor = myFocusedBorderColor}<br>
        In the expression:<br>
          do { spawn myBackgroundApps;<br>
               toolbarPipe &lt;- spawnPipe myToolbar;<br>
               xmonad<br>
               $ defaultConfig<br>
                   {terminal = "lxterminal", borderWidth = 2, modMask =
    mod4Mask,<br>
                    keys = myKeys, workspaces = myWorkspaces,<br>
                    handleEventHook = myHandleEventHook, layoutHook =
    myLayoutHook,<br>
                    manageHook = myManageHook, logHook = myLogHook
    toolbarPipe,<br>
                    normalBorderColor = myNormalBorderColor,<br>
                    focusedBorderColor = myFocusedBorderColor} }<br>
    <br>
    <br>
    <br>
    <div class="moz-cite-prefix">On 08/27/2012 11:01 AM, Brandon Allbery
      wrote:<br>
    </div>
    <blockquote
cite="mid:CAKFCL4Vws=UONpWGX7H0Xx7KO=v82WtVc2q9dYyR-ZmwJ3LsDQ@mail.gmail.com"
      type="cite">
      <div dir="ltr">On Mon, Aug 27, 2012 at 1:36 PM, Jeffrey David
        Johnson <span dir="ltr">&lt;<a moz-do-not-send="true"
            href="mailto:jefdaj@gmail.com" \
target="_blank">jefdaj@gmail.com</a>&gt;</span>  wrote:<br>
        <div class="gmail_quote">
          <blockquote class="gmail_quote" style="margin:0 0 0
            .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div bgcolor="#FFFFFF" text="#000000"> Thanks, I'll read
              through this and try to figure it out when I get a chance
              (maybe later today). In the meantime I get a compile
              error:<br>
              <br>
              <a moz-do-not-send="true"
                href="mailto:jefdaj@acro:%7E/.xmonad$" \
target="_blank">jefdaj@acro:~/.xmonad$</a>  ghc --make OnlyFor.hs <br>
              [1 of 1] Compiling XMonad.Layout.OnlyFor ( OnlyFor.hs,
              OnlyFor.o )<br>
              OnlyFor.hs:60:64:<br>
                  `m' is applied to too many type arguments<br>
            </div>
          </blockquote>
          <div><br>
          </div>
          <div>*sigh* sorry, thought that was already fixed in that copy
            of the source.  (this is why I retracted original patches
            and am not releasing until I can get my working environment
            back going....)  ghci should be correct.</div>
          <div> </div>
          <blockquote class="gmail_quote" style="margin:0 0 0
            .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div bgcolor="#FFFFFF" text="#000000">onlyFor<br>
                :: HowMany<br>
                   -&gt; m<br>
                   -&gt; l a<br>
                   -&gt; XMonad.Layout.LayoutModifier.ModifiedLayout
              (OnlyFor m) l a<br>
              <br>
              Does that look reasonable? m is One | Multiple, l is the
              LayoutModifier and a is the Layout right?<br>
            </div>
          </blockquote>
          <div><br>
          </div>
          <div>"m" is the layout modifier to be applied, "l a" is the
            layout modifier to apply it to, "a" is instantiated to
            Window in xmonad and to a dummy when running pure tests.</div>
          <div><br>
          </div>
        </div>
        -- <br>
        brandon s allbery                                      <a
          moz-do-not-send="true" href="mailto:allbery.b@gmail.com"
          target="_blank">allbery.b@gmail.com</a><br>
        wandering unix systems administrator (available)     (412)
        475-9364 vm/sms<br>
        <br>
      </div>
    </blockquote>
    <br>
  </body>
</html>



_______________________________________________
xmonad mailing list
xmonad@haskell.org
http://www.haskell.org/mailman/listinfo/xmonad


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic