Install JWM on FreeBSD

🕐 3 minutes

📅 2022-01-27

JWM (joe’s window manager) is a lightweight window manager for the x window system, which was written in c by joe wingbermuehle.


JWM is distributed as source code and only requires the xlib library to be available. At first glance, JWM looks like a Windows desktop. JWM is configured with an XML file. But it also uses information that is intended for GNOME, motif window manager and wm.

JWM is the standard window manager of damn small linux, tiny core linux, puppy linux, simplix, slitaz (<2.0) and system rescue cd (<1.1.7).

JWM is still being supported and further developed. The homepage can be reached at jwm homepage.


We can install JWM with the following command:

$: doas pkg install jwm


Original dokumentation: jwm doku

The global XML configuration file system.jwmrc is located in the folder /usr/local/etc/system.jwmrc we copy the system.jwmrc into our home directory and rename it to .jwmrc.

Now we can edit the .jwmrc with an editor of our choice and adapt it to our needs.

$: cp /usr/local/etc/system.jwmrc /home/<our user>/.jwmrc

$: nano .jwmrc

Adjust the font size of the screen resolution

In these areas, we find the configuration of the fonts.

<!-- Visual Styles -->

<WindowStyle> </WindowStyle>

This entry is responsible for the font size and height of the title bar:


Further font adjustments can be made in these areas:

<TrayStyle> </TrayStyle>

<TaskListStyle> </TaskListStyle>

<PagerStyle> </PagerStyle>

<MenuStyle> </MenuStyle>

<PopupStyle> </PopupStyle>

In each area there is, among other things, an entry for the font size:

<Font>Sans-12:bold</Font> oder normal <Font>Sans-12</Font>

Set up a wallpaper

<Background type="image">path to image/wallpaper.jpg</Background>


background color:

<Background type="solid">SteelBlue</Background>

Determine focus

<!-- The focus model (sloppy or click) -->



We require a volume control in the panel. volumeicon is suitable for this.

$: doas pkg install volumeicon

and add the following line to the end of the configuration file:


With a right click on the volume control, we can configure it.


If we work without a login manager and start x with startx from the console, we have to create a .xinitrc in the home directory and enter the following there:

$: nano .xinitrc =>

exec jwm


The JWM is very resource-saving, quickly adapted and configured. He already brings a panel and doesn’t need an extra tool to display wallpapers. It is very flexible, several panels can also be used. Only the most important options discussed here. Read the original documentation for further documentation.

JWM screenshot