Skip to content

Instantly share code, notes, and snippets.

@airways
Created March 10, 2011 16:25
Show Gist options
  • Save airways/864398 to your computer and use it in GitHub Desktop.
Save airways/864398 to your computer and use it in GitHub Desktop.

Installing and configuring dwm on OS X

  1. Install X11.app (it's on the OS X install disk or something.)

  2. Install dwm. You have to customize config.h a bit:

    1. Replace { MODKEY|ShiftMask, XK_q, quit, {0} }, with { MODKEY|ControlMask, XK_q, quit, {0} }, to avoid colliding with the Log Out shortcut in the Apple menu.

    If you install dwm from Homebrew, brew install dwm, this is done automatically.

  3. Add the following script to $PATH, name it dwm-launch and chmod 755:

    cd ~
    while true
    do
      xsetroot -name "`date +"%Y-%m-%d %H:%M"`"
      sleep 5
    done &
    quartz-wm --only-proxy &
    exec /usr/local/bin/dwm
    
  4. Add the following to ~/.xinitrc:

    $PATH=$PATH:/usr/local/bin
    xsetroot -solid '#4a525a'
    xmodmap -e 'remove Mod2 = Meta_L' -e 'add Mod1 = Meta_L'
    exec >>~/.xsession-errors 2>&1
    ~/bin/dwm-launch
    
  5. Start X11.app. dwm should start. You need to change a few settings to make copy/paste between X11 and Aqua work. Go to X11 -> Preferences... and enable Emulate three button mouse under Input. Next, enable everything under Pasteboard.

    In X11 you copy text by selecting it with the mouse, and you paste by pressing Alt and clicking the mouse.

  6. If you want to be able to add the tags 3 or 4 to a window, you must disable or remap the Cmd-Shift-3|4 shortcuts for utilising the screenshot features of OS X. You can do this under System Preferences -> Keyboard -> Keyboard Shortcuts -> Screen Shots.

Issues

  • After some time you might not be able to open new terminals. This has something to do with permissions, and can be fixed with xhost +. Do you know a permanent solution? (Possibly fixed with one of the settings under X11 -> Preferences… -> Security)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment