The Arch Diaries: (3) A JWM Desktop Environment

In part 1 and 2 I showed how I installed Arch and configured my hardware, and X.

Of course you could just type pacman -S xfce and be done with it, but honestly, if you were looking for an easy solution you’d be using something like Mint or Bodhi in the first place. So here’s what I did to create a kind of desktop environment based on JWM. JWM  is a lightweight window manager used in distributions like Puppy or Damn Small Linux. Even without customizing, JWM creates a simple, fully functional XP- like desktop. JWM is very configurable, and all options can be set in one single XML file (~/.jwmrc, as always the Arch Wiki has more details).

  1. Install jwm (pacman -S jwm) and add the following line to ~/.xinitrc to start JWM when you run startx: exec ck-launch-session dbus-launch jwm.
    Instead of using a logon manager like slim you can configure X to start automatically after logon as described in the wiki.
  2. By default, JWM is ugly as sin. To improve the looks, I copied the Antix JWM theme and replaced cyan with Arch blue (#1793D0 according to the Arch forums)
  3. GTK theme, icons and fonts can be modified using lxappearance. I chose elementary-gtk-theme and faenza-icon-theme from the AUR and installed ttf-droid and ttf-liberation fonts.
  4. JWM doesn’t have a run dialog or task manager, so I linked gmrun to Alt+F2 and xfce4-taskmanager to Ctrl+Alt+Del. The Exit menu entry will just bring you back to the terminal, so I added oblogout as shutdown / logout dialog
  5. Screensaver / lock is provided by xautolock and xlockmore - running xautolock -time 7 -corners 0-00 as <StartupCommand> will lock the screen after 7 minutes, unless the mouse cursor sits in the upper right corner (great way to disable screen locking while watching movies)
  6. Now you can install the usual tools and applications, like e.g. pcmanfm file manager, google-chrome browser, gpicview image viewer, lxterminal, xfce4-screenshotter, gksu, conky, scite text editor, xcalc, volumeicon, batti to show battery status, gpicview image viewer, gimp image editor, transmission Bittorrent client or the VLC mediaplayer … if you are looking for something special, is always a good place to start
  7. For libreoffice, when installing with pacman -S libreoffice make sure to deselect libreoffice-kde to save diskspace for a whole lot of KDE dependencies. To address the issue of missing window decorations in JWM, you have to force the UI to generic mode (e.g. SAL_USE_VCLPLUGIN=gen lowriter).
That’s all it takes to create your own desktop environment based on JWM. Of course this is just an example, the variety of available tools and themes is endless, and as always in the Arch world, the journey is the reward.

One Comment

  1. toams says:

    Arch now is officially using systemd. So I would consider getting rid of consolekit(ck-launch-session) and booting with systemd to use logind.