You are not logged in.

#76 2008-01-19 21:20:52

ido
Member
Registered: 2007-09-15
Posts: 28

Re: xmonad Hacking Thread

No. You need to downgrade ghc. See my thread: http://bbs.archlinux.org/viewtopic.php?id=42539

Ido.

Offline

#77 2008-01-19 22:02:42

thayer
Fellow
From: Vancouver, BC
Registered: 2007-05-20
Posts: 1,560
Website

Re: xmonad Hacking Thread

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

#78 2008-01-19 22:28:25

meqif
Member
From: Portugal
Registered: 2006-12-16
Posts: 60
Website

Re: xmonad Hacking Thread

hamlet wrote:

Do i have to wait for a new version of xmonad ?

No, just recompile those packages and you're good to go. smile


Ricardo Martins ><>< ricardomartins.cc ><>< GPG key: 0x1308F1B4

Offline

#79 2008-01-20 06:21:22

hk2717
Member
From: China
Registered: 2007-09-13
Posts: 217

Re: xmonad Hacking Thread

meqif wrote:
hamlet wrote:

Do i have to wait for a new version of xmonad ?

No, just recompile those packages and you're good to go. smile

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

#80 2008-01-20 09:23:00

meqif
Member
From: Portugal
Registered: 2006-12-16
Posts: 60
Website

Re: xmonad Hacking Thread

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/

Ricardo Martins ><>< ricardomartins.cc ><>< GPG key: 0x1308F1B4

Offline

#81 2008-01-20 10:00:09

hk2717
Member
From: China
Registered: 2007-09-13
Posts: 217

Re: xmonad Hacking Thread

meqif wrote:
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

#82 2008-01-20 17:57:58

redbeard0531
Member
Registered: 2007-12-28
Posts: 12

Re: xmonad Hacking Thread

If you use yaourt (if not, you should) this command will fix your xmonad

yaourt -Sb haskell-x11 xmonad xmonad-contrib

Offline

#83 2008-04-08 11:54:58

floyd
Member
Registered: 2007-11-21
Posts: 4

Re: xmonad Hacking Thread

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

#84 2008-04-08 14:29:29

bender02
Member
From: Germany
Registered: 2007-02-04
Posts: 1,328

Re: xmonad Hacking Thread

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

#85 2008-04-08 15:12:29

choener
Member
Registered: 2008-01-10
Posts: 22

Re: xmonad Hacking Thread

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

#86 2008-04-08 15:19:15

floyd
Member
Registered: 2007-11-21
Posts: 4

Re: xmonad Hacking Thread

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

#87 2008-04-08 15:26:49

bender02
Member
From: Germany
Registered: 2007-02-04
Posts: 1,328

Re: xmonad Hacking Thread

From the documentation

Each ManageHook has the form:
    property =? match --> action

Where 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

#88 2008-04-08 16:44:55

floyd
Member
Registered: 2007-11-21
Posts: 4

Re: xmonad Hacking Thread

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... wink

Last edited by floyd (2008-04-08 16:46:08)

Offline

#89 2008-04-08 17:05:06

choener
Member
Registered: 2008-01-10
Posts: 22

Re: xmonad Hacking Thread

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

#90 2008-04-08 17:38:14

floyd
Member
Registered: 2007-11-21
Posts: 4

Re: xmonad Hacking Thread

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

#91 2008-04-08 18:26:47

bender02
Member
From: Germany
Registered: 2007-02-04
Posts: 1,328

Re: xmonad Hacking Thread

floyd wrote:

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

#92 2008-04-17 07:09:38

Corsair
Member
Registered: 2007-01-28
Posts: 50
Website

Re: xmonad Hacking Thread

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

#93 2008-07-18 19:28:33

heleos
Member
From: Maine, USA
Registered: 2007-04-24
Posts: 678

Re: xmonad Hacking Thread

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

#94 2008-07-18 19:38:04

thayer
Fellow
From: Vancouver, BC
Registered: 2007-05-20
Posts: 1,560
Website

Re: xmonad Hacking Thread

heleos wrote:

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

#95 2008-07-18 19:38:34

peets
Member
From: Montreal
Registered: 2007-01-11
Posts: 936
Website

Re: xmonad Hacking Thread

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

#96 2008-07-29 09:36:24

far0k
Member
Registered: 2008-07-28
Posts: 5

Re: xmonad Hacking Thread

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

#97 2008-07-29 22:04:54

Vintendo
Member
From: Netherlands
Registered: 2008-04-21
Posts: 375
Website

Re: xmonad Hacking Thread

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

#98 2008-07-30 04:13:06

thayer
Fellow
From: Vancouver, BC
Registered: 2007-05-20
Posts: 1,560
Website

Re: xmonad Hacking Thread

far0k wrote:

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

#99 2008-07-30 08:49:27

ukognos
Member
Registered: 2008-07-18
Posts: 41

Re: xmonad Hacking Thread

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

#100 2008-07-30 08:52:17

Vintendo
Member
From: Netherlands
Registered: 2008-04-21
Posts: 375
Website

Re: xmonad Hacking Thread

This worked for my mouse cursor. And what do yo mean by icon path? Maybe This helps

Offline

Board footer

Powered by FluxBB