HaskellWiki

Haskell | Wiki community | Recent changes
Random page | Special pages

 

Not logged in
Log in | Help

Xmonad/Using xmonad on Apple OSX

< Xmonad

Categories: XMonad

xmonad runs well on Apple OSX machines, and needs little work to be useful. This page collects advice and information on using xmonad successfully with OSX.

If you're using xmonad on a mac, add details about your configuration here!

Contents

1 Installing XMonad

I installed into my home directory by adding "--user --prefix=$HOME/usr" to the configure steps. The default is /usr/local.

2 Configuring Your .xinitrc to Run XMonad

  1. Build and install XMonad like you would any other Haskell library.
  2. do the following on the Terminal:
         $ cp /private/etc/X11/xinit/xinitrc ~/.xinitrc
         $ chmod +w ~/.xinitrc
         $ vim ~/.xinitrc 
         #comment out the line 'exec quartz-wm' and add PATH-TO-XMONAD/xmonad after it.
    
  3. You may want to add quartz-wm --only-proxy & to your xinitrc, which synchronizes X11/OSX clipboards.
  4. Open X11. XMonad should be running now.

3 Configuring Xmonad for OS X

4 Full screen mode

I highly recommend running X11 in full-screen mode. To enable this, open the Preferences dialog for the X11 app, check the checkbox, and restart X11. This way, you don't have to worry about stupid things like the dock / menubar / OS X apps getting in your way.

Leopard users: X11 full-screen mode (along with many other things) is broken on Leopard. You can follow these instructions to install Tiger's X11 on Leopard, however. (Both versions can coexist.)

5 Does Not Replace Quartz, Silly

You won't be able to use xmonad to manage normal OS X apps. X11 will just be another OS X sitting in your dock that you can switch to. However, it is pretty easy to install a decent set of X11 apps. If you have MacPorts installed you can install the packages firefox-x11, rxvt-unicode, unclutter, and 'vim +gtk2' (the +gtk2 variant for PRIMARY/CLIPBOARD support) to get started.

6 Fitting Other Bits For Use With xmonad on OS X

6.1 dmenu

dmenu can be built on OS X without problems but it is invisible unless you run X11 in full-screen. Unlike xmonad it does not detect the OS X top menu bar and is completely hidden by it. You can also make it display at the bottom (behind the dock :).

Since I do not know how to detect the top menubar either I just patched dmenu to add support for gaps. Unfortunately the dmenu authors do not seem very responsive so I attach the patch here.

Media:Dmenu-gap.patch

You can then run dmenu -g 22 to work around the OS X top menu.

7 Potential Configuration Problems

You may have problems with configuring XMonad under OSX - if you see the "error detected while loading xmonad configuration" error message but with no error output, it could be because the PATH inherited by XMonad doesn't include ghc (eg by default it won't include /usr/local/bin).

Possible solutions:

  1. http://forums.macosxhints.com/showthread.php?s=&threadid=12382
  2. http://forums.macosxhints.com/showthread.php?t=14279
  3. Or just hardwire the path into xmonad itself - change "ghc" -> "/usr/local/bin/ghc" (or whatever) in Core.hs before building XMonad.

Retrieved from "http://haskell.org/haskellwiki/Xmonad/Using_xmonad_on_Apple_OSX"

This page has been accessed 1,881 times. This page was last modified 17:27, 3 July 2008. Recent content is available under a simple permissive license.