You are not logged in.
No. You need to downgrade ghc. See my thread: http://bbs.archlinux.org/viewtopic.php?id=42539
Ido.
Offline
Another alternative is to install the darcs version from AUR--it does not appear to suffer from this versioning mismatch.
thayer williams ~ cinderwick.ca
Offline
Do i have to wait for a new version of xmonad ?
No, just recompile those packages and you're good to go.
Ricardo Martins ><>< ricardomartins.cc ><>< GPG key: 0x1308F1B4
Offline
hamlet wrote:Do i have to wait for a new version of xmonad ?
No, just recompile those packages and you're good to go.
error occurs while compiling xmonad:
==> Making package: xmonad 0.5-6 (Sun Jan 20 14:16:07 CST 2008)
==> Checking Runtime Dependencies...
==> Checking Buildtime Dependencies...
==> Retrieving Sources...
-> Downloading xmonad-0.5.tar.gz...
--14:16:07-- http://hackage.haskell.org/packages/archive/xmonad/0.5/xmonad-0.5.tar.gz
=> `xmonad-0.5.tar.gz'
Resolving hackage.haskell.org... 69.30.123.197
Connecting to hackage.haskell.org|69.30.123.197|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 48,853 (48K) [application/x-tar]
100%[====================================>] 48,853 4.64K/s ETA 00:00
14:16:39 (1.91 KB/s) - `xmonad-0.5.tar.gz' saved [48853/48853]
==> Validating source files with md5sums...
xmonad-0.5.tar.gz ... Passed
==> Extracting Sources...
-> bsdtar -x -f xmonad-0.5.tar.gz
==> Entering fakeroot environment...
==> Starting build()...
Configuring xmonad-0.5...
Preprocessing library xmonad-0.5...
Preprocessing executables for xmonad-0.5...
Building xmonad-0.5...
[1 of 8] Compiling XMonad.StackSet ( XMonad/StackSet.hs, dist/build/XMonad/StackSet.o )
[2 of 8] Compiling XMonad.Core ( XMonad/Core.hs, dist/build/XMonad/Core.o )
[3 of 8] Compiling XMonad.Layout ( XMonad/Layout.hs, dist/build/XMonad/Layout.o )
[4 of 8] Compiling XMonad.Operations ( XMonad/Operations.hs, dist/build/XMonad/Operations.o )
[5 of 8] Compiling XMonad.ManageHook ( XMonad/ManageHook.hs, dist/build/XMonad/ManageHook.o )
[6 of 8] Compiling XMonad.Config ( XMonad/Config.hs, dist/build/XMonad/Config.o )
[7 of 8] Compiling XMonad.Main ( XMonad/Main.hs, dist/build/XMonad/Main.o )
[8 of 8] Compiling XMonad ( XMonad.hs, dist/build/XMonad.o )
/usr/bin/ar: creating dist/build/libHSxmonad-0.5.a
[1 of 8] Compiling XMonad.StackSet ( XMonad/StackSet.hs, dist/build/xmonad/xmonad-tmp/XMonad/StackSet.o )
[2 of 8] Compiling XMonad.Core ( XMonad/Core.hs, dist/build/xmonad/xmonad-tmp/XMonad/Core.o )
[3 of 8] Compiling XMonad.Layout ( XMonad/Layout.hs, dist/build/xmonad/xmonad-tmp/XMonad/Layout.o )
[4 of 8] Compiling XMonad.Operations ( XMonad/Operations.hs, dist/build/xmonad/xmonad-tmp/XMonad/Operations.o )
[5 of 8] Compiling XMonad.ManageHook ( XMonad/ManageHook.hs, dist/build/xmonad/xmonad-tmp/XMonad/ManageHook.o )
[6 of 8] Compiling XMonad.Config ( XMonad/Config.hs, dist/build/xmonad/xmonad-tmp/XMonad/Config.o )
[7 of 8] Compiling XMonad.Main ( XMonad/Main.hs, dist/build/xmonad/xmonad-tmp/XMonad/Main.o )
[8 of 8] Compiling Main ( ./Main.hs, dist/build/xmonad/xmonad-tmp/Main.o )
Linking dist/build/xmonad/xmonad ...
Writing registration script: register.sh for xmonad-0.5...
Unregistering xmonad-0.5...
Installing: /home/hk2717/abs/xmonad/pkg/usr/lib/ghc-6.8.2/site-local/xmonad-0.5
Installing: /home/hk2717/abs/xmonad/pkg/usr/bin
install: cannot stat `/home/hk2717/abs/xmonad/examples/README': No such file or directory
install: cannot stat `/home/hk2717/abs/xmonad/examples/*.hs': No such file or directory
==> ERROR: Build Failed.
Aborting...
How should I solve this problem please?
Offline
How should I solve this problem please?
Hmm, that didn't happen with me. You could try commenting the last two 'install' lines since you already have a working xmonad config, I suppose.
install -m644 $startdir/examples/README $startdir/pkg/usr/share/xmonad/
install -m644 $startdir/examples/*.hs $startdir/pkg/usr/share/xmonad/
Ricardo Martins ><>< ricardomartins.cc ><>< GPG key: 0x1308F1B4
Offline
hk2717 wrote:How should I solve this problem please?
Hmm, that didn't happen with me. You could try commenting the last two 'install' lines since you already have a working xmonad config, I suppose.
install -m644 $startdir/examples/README $startdir/pkg/usr/share/xmonad/ install -m644 $startdir/examples/*.hs $startdir/pkg/usr/share/xmonad/
Yes, problem solved. Thank you.
Offline
If you use yaourt (if not, you should) this command will fix your xmonad
yaourt -Sb haskell-x11 xmonad xmonad-contrib
Offline
Hello, first of all. Since I used this thread to configure xmonad in the first place, i'll post my issue here.
I updated to 0.7 a few days ago. Since some things changed(e.g. tabbed layout), I made some modifications to my xmonad.hs. But somehow dynamicPP doesn't report the tabbed layout anymore. When i switch to tabbed on a WS then dzen doesnt show any info about it(other layouts work, and tabbed worked in 0.6). Further, any WS in tabbed layout isn't highlighted as CurrentWS, it just stays the way it was when i left the WS.
A second thing, unrelated to above, is, that my Mathematica won't shift to "math"-WS when started. Strangely, sometimes it does. All the other apps shift like they are used to. But, dont bother about this if it sound strange to you.
Here is my xmonad.hs:
import XMonad
import System.Exit
import XMonad.ManageHook
import XMonad.Operations
import XMonad.Layout
import XMonad.Layout.Tabbed
import XMonad.Layout.PerWorkspace
import XMonad.Hooks.DynamicLog
import XMonad.Actions.CycleWS
import XMonad.Actions.Warp
import XMonad.Actions.Submap
import qualified XMonad.StackSet as W
import qualified Data.Map as M
main = xmonad defaults
defaults = defaultConfig {
terminal = "urxvt +sb -bg grey4 -fg antiquewhite -fn -dec-terminal-medium-r-normal--14-140-75-75-c-80-iso8859-1",
focusFollowsMouse = myFocusFollowsMouse,
borderWidth = 1,
modMask = mod1Mask,
numlockMask = mod2Mask,
workspaces = ["main", "web", "read", "ding", "math", "6", "7", "ctrl", "dei"],
normalBorderColor = "#1e364f",
focusedBorderColor = "#8e2800",
defaultGaps = [(16,0,0,0)],
keys = myKeys,
mouseBindings = myMouseBindings,
layoutHook = myLayout,
manageHook = myManageHook,
logHook = dynamicLogWithPP myPP >>pointerFollowsFocus 1 1
}
myKeys conf@(XConfig {XMonad.modMask = modMask}) = M.fromList $
[ ((modMask , xK_F1 ), spawn "firefox")
, ((modMask , xK_F2 ), spawn "thunderbird")
, ((modMask , xK_F3 ), spawn "thunar /home/floyd/uni")
, ((modMask , xK_F4 ), spawn "ding -R -x")
, ((modMask , xK_F9 ), spawn "qmpdclient")
, ((modMask , 0x5e ), toggleWS)
-- , ((modMask, xK_a), submap . M.fromList $
-- [ ((0, xK_p), spawn "/usr/bin/mpc pause")
-- ])
-- launch a terminal
, ((modMask .|. shiftMask, xK_Return), spawn $ XMonad.terminal conf)
-- launch dmenu
, ((modMask, xK_p ), spawn "exe=`dmenu_path | dmenu -nb grey4 -nf antiquewhite -sb '#8e2800' -sf white -p 'launch:' -fn '-dec-terminal-medium-r-normal--14-140-75-75-c-80-iso8859-1'` && eval \"exec $exe\"")
-- launch gmrun
, ((modMask .|. shiftMask, xK_p ), spawn "gmrun")
-- close focused window
, ((modMask .|. shiftMask, xK_c ), kill)
-- Rotate through the available layout algorithms
, ((modMask, xK_space ), sendMessage NextLayout)
-- Reset the layouts on the current workspace to default
, ((modMask .|. shiftMask, xK_space ), setLayout $ XMonad.layoutHook conf)
-- Resize viewed windows to the correct size
, ((modMask, xK_n ), refresh)
-- Move focus to the next window
, ((modMask, xK_Tab ), windows W.focusDown)
-- Move focus to the next window
, ((modMask, xK_j ), windows W.focusDown)
-- Move focus to the previous window
, ((modMask, xK_k ), windows W.focusUp )
-- Move focus to the master window
, ((modMask, xK_m ), windows W.focusMaster )
-- Swap the focused window and the master window
, ((modMask, xK_Return), windows W.swapMaster)
-- Swap the focused window with the next window
, ((modMask .|. shiftMask, xK_j ), windows W.swapDown )
-- Swap the focused window with the previous window
, ((modMask .|. shiftMask, xK_k ), windows W.swapUp )
-- Shrink the master area
, ((modMask, xK_h ), sendMessage Shrink)
-- Expand the master area
, ((modMask, xK_l ), sendMessage Expand)
-- Push window back into tiling
, ((modMask, xK_t ), withFocused $ windows . W.sink)
-- Increment the number of windows in the master area
, ((modMask , xK_comma ), sendMessage (IncMasterN 1))
-- Deincrement the number of windows in the master area
, ((modMask , xK_period), sendMessage (IncMasterN (-1)))
-- toggle the status bar gap
, ((modMask , xK_b ),
modifyGap (\i n -> let x = (XMonad.defaultGaps conf ++ repeat (0,0,0,0)) !! i
in if n == x then (0,0,0,0) else x))
-- Quit xmonad
, ((modMask .|. shiftMask, xK_q ), io (exitWith ExitSuccess))
-- Restart xmonad
, ((modMask , xK_q ),
broadcastMessage ReleaseResources >> restart "xmonad" True)
]
++
--
-- mod-[1..9], Switch to workspace N
-- mod-shift-[1..9], Move client to workspace N
--
[((m .|. modMask, k), windows $ f i)
| (i, k) <- zip (XMonad.workspaces conf) [xK_1 .. xK_9]
, (f, m) <- [(W.greedyView, 0), (W.shift, shiftMask)]]
myMouseBindings (XConfig {XMonad.modMask = modMask}) = M.fromList $
-- mod-button1, Set the window to floating mode and move by dragging
[ ((modMask, button1), (\w -> focus w >> mouseMoveWindow w))
-- mod-button2, Raise the window to the top of the stack
, ((modMask, button2), (\w -> focus w >> windows W.swapMaster))
-- mod-button3, Set the window to floating mode and resize by dragging
, ((modMask, button3), (\w -> focus w >> mouseResizeWindow w))
-- you may also bind events to the mouse scroll wheel (button4 and button5)
]
--myLayout = tiled ||| tabbed shrinkText myTabConfig ||| Mirror tiled ||| Full
myLayout = onWorkspace "web" (tab ||| tiled ||| Mirror tiled) $
onWorkspace "read" (tab ||| Full) $
(tiled ||| tab ||| Mirror tiled ||| Full)
where
-- default tiling algorithm partitions the screen into two panes
tiled = Tall nmaster delta ratio
-- The default number of windows in the master pane
nmaster = 1
-- Default proportion of screen occupied by master pane
ratio = 6/10
-- Percent of screen to increment by when resizing panes
delta = 3/100
-- Tabbed layout
tab = tabbed shrinkText myTabConfig
myTabConfig = defaultTheme { activeColor = "#1e364f"
, inactiveColor = "#132333"
, activeBorderColor = "#8e2800"
, inactiveBorderColor = "#101010"
, activeTextColor = "#e6e6e6"
, inactiveTextColor = "#e6e6e6"
, fontName = "-dec-terminal-medium-r-normal--12-140-75-75-c-80-iso8859-1"
}
myManageHook = composeAll
[ className =? "MPlayer" --> doFloat
, className =? "Gimp" --> doFloat
, resource =? "desktop_window" --> doIgnore
, resource =? "kdesktop" --> doIgnore
, resource =? "gecko" --> doF (W.shift "web")
, resource =? "base" --> doF (W.shift "math")
, resource =? "XMathematica" --> doF (W.shift "math")
, resource =? "ding" --> doF (W.shift "ding")
, resource =? "JabRef" --> doF (W.shift "ding")
, resource =? "qmpdclient" --> doF (W.shift "dei")
, resource =? "kpdf" --> doF (W.shift "read") ]
myFocusFollowsMouse :: Bool
myFocusFollowsMouse = True
myPP = defaultPP
{ ppCurrent = wrap "^fg(#e6e6e6)^bg(#8e2800)^p(2)^i(/home/floyd/.xmonad/icons/has_win.xbm)" "^p(2)^fg()^bg()" . \wsId -> if (':' `elem` wsId) then drop 2 wsId else wsId -- Trim the '[Int]:' from workspace tags
-- , ppVisible = wrap "^bg(grey30)^fg(grey75)^p(2)" "^p(2)^fg()^bg()"
, ppHidden = wrap "^fg(#8e2800)^bg()^p(2)^i(/home/floyd/.xmonad/icons/has_win_nv.xbm)" "^p(2)^fg()^bg()" . \wsId -> if (':' `elem` wsId) then drop 2 wsId else wsId
, ppHiddenNoWindows = wrap "^fg(#404040)^bg()^p(2)" "^p(2)^fg()^bg()" . id . \wsId -> if (':' `elem` wsId) then drop 2 wsId else wsId
, ppSep = " ^fg(#8e2800)|||^fg() "
, ppWsSep = "^fg(#1e364f):"
, ppLayout = dzenColor "#d0a825" "" .
(\x -> case x of
"Tall" -> "tall ^i(/home/floyd/.xmonad/icons/tall.xbm)"
"Mirror Tall" -> "mirror ^i(/home/floyd/.xmonad/icons/mtall.xbm)"
"Full" -> "full ^i(/home/floyd/.xmonad/icons/full.xbm)"
"Tabbed" -> "tabbed ^i(/home/floyd/.xmonad/icons/tab.xbm)"
)
}
pointerFollowsFocus :: Rational -> Rational -> X ()
pointerFollowsFocus h v = do
dpy <- asks display
root <- asks theRoot
withFocused $ \w -> do
wa <- io $ getWindowAttributes dpy w
(sameRoot,_,w',_,_,_,_,_) <- io $ queryPointer dpy root
if (sameRoot && w == w') then
return ()
else
io $ warpPointer dpy none w 0 0 0 0
(fraction h (wa_width wa)) (fraction v (wa_height wa))
where fraction x y = floor (x * fromIntegral y)
Thanks, floyd
Offline
The first issue is because the usual tabbed changed its "name" from "Tabbed" to "Tabbed Simplest", so you need to change that in myPP.
I don't know about the second issue - maybe mathematica doesn't always set its resource name to "XMathematica"? Try xprop on it when it doesn't shift to determine if it's a problem with xmonad or with mathematica.
Offline
Btw. the case statement should have something of the form:
_ -> x
to catch everything; otherwise the pattern is non-exaustive.
Incidentally, this will also print the name of the Layout (without an icon) for your viewing pleasure.
Offline
Great, thanks!
About the Mathematica Problem:
No, xprop gives :
WM_CLASS(STRING) = "XMathematica"
Mathematica starts a session in the current WS, but when I open a new notebook it shifts to "math". Sometimes, I wasn't able to reproduce, it shifts the first session to where it belongs. Well it's the only app showing that behaviour, and the only commercial program is use.
floyd
Offline
From the documentation
Each ManageHook has the form:
property =? match --> actionWhere property can be:
title: the window's title
resource: the resource name
className: the resource class name.
stringProperty somestring: the contents of the property somestring.
So you can try to play around and try matching some other property than 'resource'.
Offline
Sorry, i read this part of the documentation before. But I did not know what to choose as "stringProperty somestring", className doesn't work.
xprop gives on mathematica-window:
floyd ~ $ xprop
WM_COMMAND(STRING) = { "/usr/local/Wolfram/Mathematica/6.0/SystemFiles/FrontEnd/Binaries/Linux/Mathematica -topDirectory /usr/local/Wolfram/Mathematica/6.0" }
_XFE_INPUT_WINDOW(WINDOW): window id # 0x16008e2
WM_STATE(WM_STATE):
window state: Normal
icon window: 0x0
_NET_WM_USER_TIME(CARDINAL) = 24766953
_NET_WM_ICON(CARDINAL) = 32, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1317801229, 1424766503, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-------------------------------
----BUNCH OF NUMBERS---
-------------------------------
XdndAware(ATOM) = BITMAP
_MOTIF_DRAG_RECEIVER_INFO(_MOTIF_DRAG_RECEIVER_INFO) = 0x6c, 0x0, 0x5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xbf, 0x10, 0x0, 0x0, 0x0
_NET_WM_NAME(UTF8_STRING) = 0x2f, 0x68, 0x6f, 0x6d, 0x65, 0x2f, 0x66, 0x6c, 0x6f, 0x79, 0x64, 0x2f, 0x75, 0x6e, 0x69, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x2f, 0x66, 0x72, 0x65, 0x79, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x65, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x61, 0x2f, 0x65, 0x6c, 0x6c, 0x69, 0x70, 0x73, 0x65, 0x2e, 0x6e, 0x62
WM_CLIENT_LEADER(WINDOW): window id # 0x1600007
WM_WINDOW_ROLE(STRING) =
_NET_WM_PID(CARDINAL) = 6202
_NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_NORMAL
_MOTIF_WM_HINTS(_MOTIF_WM_HINTS) = 0x2, 0x1, 0x7e, 0x0, 0x0
WM_PROTOCOLS(ATOM): protocols WM_DELETE_WINDOW, WM_TAKE_FOCUS, _NET_WM_PING
WM_NAME(STRING) = "/home/floyd/uni/proj/frey/mathematica/ellipse.nb"
WM_LOCALE_NAME(STRING) = "de_DE.utf8"
WM_CLASS(STRING) = "XMathematica"
WM_HINTS(WM_HINTS):
Client accepts input or input focus: True
Initial state is Normal State.
bitmap id # to use for icon: 0x16008d1
bitmap id # of mask for icon: 0x16008d1
window id # of group leader: 0x1600007
WM_NORMAL_HINTS(WM_SIZE_HINTS):
user specified location: 700, 16
program specified location: 700, 16
user specified size: 698 by 1032
program specified size: 698 by 1032
program specified minimum size: 76 by 155
window gravity: NorthWest
WM_CLIENT_MACHINE(STRING) = "deepthought"
Btw, is there any short text about Haskell-Syntax&Symbols for xmonad users. I really don't have the time to learn haskell from scratch but would like to configure my xmonad without copy/paste&manipulate.
For example: It's clear to me that the case statement is "incomplete", since it says nothing about the other cases.
But when I paste
_ -> x
, I get
xmonad.hs:211:59: parse error on input `->'
form the compiler.
A quick tutorial would be very usefull. Xmonad is excellent, but the configuration...
Last edited by floyd (2008-04-08 16:46:08)
Offline
Please note that Haskell uses layout instead of brackets to determine which lines of text belong to each other.
(\x -> case x of
"Tall" -> "tall ^i(/home/floyd/.xmonad/icons/tall.xbm)"
"Mirror Tall" -> "mirror ^i(/home/floyd/.xmonad/icons/mtall.xbm)"
"Full" -> "full ^i(/home/floyd/.xmonad/icons/full.xbm)"
"Tabbed" -> "tabbed ^i(/home/floyd/.xmonad/icons/tab.xbm)"
_ -> x
)
where "_ -> x" may be replaced by
otherwise -> x
should work.
I used _exactly_ 2 space character in front of each line.
Last edited by choener (2008-04-08 17:06:04)
Offline
Ah, ok. It works that way, thanks!
Layout means the space between stuff and not "visual" layout on the screen, right? What about tabulator?
Offline
Layout means the space between stuff and not "visual" layout on the screen, right? What about tabulator?
Tab = 8 spaces for haskell. It's better not to use any tabs, or then stick to *only* tabs.
Offline
Hi, all. I just start learning Haskell. How to make such a workspace that every window moved into this workspace becomes floating?
BTW: Why doesn't my GHCI (v6.8.2) have String type in prelude environment?
> :t "abc"
"abc" :: [Char]
Fear is the path to the darkside.
{My Config}
Offline
Time to revive an old thread!
Decided to try out Xmonad. I've been using awesome-git, but getting tired of changing my config daily to keep up with the daily syntax changes.
I've managed to get a few of the things working that I needed. Urgency hints, keybindings, etc (downloaded a nice haskell ebook from wikibooks), but There are some things that I'm not quite sure about.
I'm currently using xmobar, and I have it set up very nicely, but I have a couple questions about it:
1) Is it possible to add mouse functionality for clicking on tabs to go to workspaces? (If not I've been looking into dzen2), or is dzen2 just a better option all around?
2) Is there a way to show all windows on the taskbar?
And a question about Xmonad itself:
3) In awesome, I was able to launch new clients but keep the master window the same (i.e. my workspace for internet, when I open a console i'd like it launch in the bottom 1/2 of the screen, and not replace opera.) I looked into Xmonad.Application.DwmPromote, but I don't think that's what I want.
Offline
1) Is it possible to add mouse functionality for clicking on tabs to go to workspaces? (If not I've been looking into dzen2), or is dzen2 just a better option all around?
It's been a while since I last ran Xmonad, so please don't take this as the final answer, but at the time there was no mouse-to-desktop interaction with dzen either. This may not be true any longer...
thayer williams ~ cinderwick.ca
Offline
heleos, for question 3, this is what I've figured out: if the focus is on the master area, the newly launched client will be placed in the master area, and the "oldest" client in the master area is demoted. If the focus is on the stacking area, the new client is created in the same area no matter what. If there are fewer clients than the maximum allowed in the master area, then there is no "slave stack" and all clients are in the master area.
Here's my question: does anyone know how to write a layout?
Offline
Hi All
thayer I am using your (latest?) xmonad.hs from your /files on your website and Im loving it. I do have one issue though. When I full screen using "Mod4 x" or when I have one one window open I can not get windows to be FULL screen as in overlay the dzen2 bars. In the default config this can be done with "Mod* b" but this does not seem to work in your config. How did you full screen things when using xmonad?
Offline
I took the plunge and installed xmonad but i have a couple of questions i am hoping you can solve.
How do i make a keybinding to change scren focus with control+right/left? And change with alt+ctrl+shift+right/left?
Is there a way to get the spiral/dwindle layout from awesome, i tried the xmonad.layout.spiral but that is different. I want it to keep dividing the left space in two.
I want an xmobar on both of my monitors, how do i make that happen. And is there a way to show on wich tag i am on/in xmobar?
Last edited by Vintendo (2008-07-29 22:44:39)
Offline
thayer I am using your (latest?) xmonad.hs from your /files on your website and Im loving it. I do have one issue though. When I full screen using "Mod4 x" or when I have one one window open I can not get windows to be FULL screen as in overlay the dzen2 bars. In the default config this can be done with "Mod* b" but this does not seem to work in your config. How did you full screen things when using xmonad?
Sorry far0k, but I haven't used Xmonad in months and I can't recall the specifics. I'm sure someone else here can offer some advice though.
thayer williams ~ cinderwick.ca
Offline
Hello,
how can i let the mouse look normal ( not like an X ) when i use gtk applications ( or other )
and how can i set the icon path for gtk applications?
Offline
Offline