Wingo Tutorial

This tutorial describes how to install and run Wingo, a window manager written in the Go programming language.

When currently installed and configured as described in this tutorial, Wingo works but many warning messages are printed. I hope this tutorial will make it easier for developers to properly fix these issues.

  1. If you haven't done so already, run through the Tutorial Prerequisites Tutorial.

  2. Install and configure go.

  3. Install the following packages from DPorts.

    • xorg
    • xdm
    • mercurial

  4. Apply the change from the previous step to the running shell. Either log out and log back in or run the following command.


  5. Install Wingo. Run the following command.

    go get

  6. Copy the default xinitrc configuration file that is run while running startx as a template for your xsession configuration file that is run when you log in from the xdm display manager. Run the following command.

    cp /usr/local/etc/X11/xinit/xinitrc $HOME/.xsession

  7. Change the permissions on your xsession configuration file so that you, the owner of the file, can edit it. Run the following command.

    chmod u+w $HOME/.xsession

  8. Set Wingo as the display manager in your xsession configuration file. Skim through $HOME/.xsession to find the following lines.

    twm &
    xclock -geometry 50x50-1+1 &
    xterm -geometry 80x50+494+51 &
    xterm -geometry 80x20+494-0 &
    xterm -geometry 80x66+0+0 -name login

    Then edit the previous lines to match the following lines and save the change to disk.

    xclock -geometry 56x56-0-0 &
    xterm -geometry 168x48+2+2 &
    xterm -geometry 112x4-65-0 -e wingo &
    exec xterm -geometry 43x4+2-0 -name "close me to log out"

  9. If you use the Dvorak keyboard layout instead of the QWERTY keyboard layout, add the following line to /usr/local/lib/X11/xdm/Xsetup_0 and save the change to disk.

    setxkbmap dvorak

  10. Enable the xdm display manager for a graphical login at startup. Skim through /etc/ttys to find the following line.

    ttyv8 "/usr/local/bin/xdm -nodaemon" xterm off secure

    Then edit the previous line to match the following line and save the change to disk.

    ttyv8 "/usr/local/bin/xdm -nodaemon" xterm on secure

  11. As of DragonFly BSD 4.0.2, the VirtualBox emulated mouse needs the moused daemon running, so add the following line to /etc/rc.conf and save the change to disk.


  12. Restart DragonFly BSD and log in.
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License