[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>
->
XMonad.Layout.LayoutModifier.ModifiedLayout Spacing l0 a0),<br>
XMonad.Layout.LayoutModifier.LayoutModifier<br>
(OnlyFor<br>
(l0 a0<br>
->
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>
-> XMonad.Layout.LayoutModifier.ModifiedLayout Spacing
l0 a0),<br>
XMonad.Layout.LayoutModifier.LayoutModifier<br>
(OnlyFor<br>
(l0 a0<br>
-> 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 <- 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"><<a moz-do-not-send="true"
href="mailto:jefdaj@gmail.com" \
target="_blank">jefdaj@gmail.com</a>></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>
-> m<br>
-> l a<br>
-> 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