FunOS uses JWM (Joe’s Window Manager) as its default window manager. JWM is lightweight, fast, and highly configurable, making it ideal for users who want a simple yet powerful desktop experience. This article provides a detailed overview of the JWM configuration files used in FunOS, helping you understand how the system is structured and how to customize it to your needs.
JWM Configuration Directory Structure in FunOS
In FunOS, JWM is configured using a combination of files located in two main locations:
~/.jwmrc
– the main configuration loader.~/.config/jwm/
– the directory that contains modular configuration files.
This modular setup makes it easier to organize, maintain, and update different aspects of the JWM desktop.
How to Access JWM Configuration Files in FunOS
You can easily view or edit JWM configuration files using either the File Manager or the Terminal:
Via File Manager
- Click Menu > File Manager
- To show hidden files and folders, click View > Show Hidden, or press
Ctrl + H
This will display hidden files and folders, including:
~/.jwmrc
~/.jwmrc-mjwm
- The
~/.config/
folder containing JWM configuration files


Via Terminal
Open a Terminal and use commands like the following to navigate or open files:
cd ~/.config/jwm
mousepad tray # or use your preferred text editor
File Descriptions and Their Functions
Below is a breakdown of each key file and what it does:
1. ~/.jwmrc

This is the main JWM configuration file that serves as an entry point. It typically contains <Include>
statements that load the actual configuration files from ~/.config/jwm/
, such as menu
, keys
, tray
, theme
, preferences
, and start
.
Function: Acts as the master loader for modular JWM configs.
2. ~/.jwmrc-mjwm

This file is generated by the mjwm
tool, which dynamically creates a Freedesktop-compliant menu from installed .desktop
files. It is updated each time the user clicks “Reload menu” or runs:
mjwm --no-backup && jwm -reload
3. ~/.config/jwm/icons

This file defines the icon search paths used by JWM.
Function: Lists directories (e.g., Papirus icon folders) where JWM will look for icons used in the menu, tray, and other UI elements.
4. ~/.config/jwm/keys

Defines keyboard shortcuts (key bindings) for launching apps, window management, switching desktops, etc.
Function: Maps key combinations to specific actions.
Example:
<Key mask="CA" key="t">exec:lxterminal</Key> <!-- Ctrl+Alt+T opens Terminal -->
5. ~/.config/jwm/menu

Defines the root (right-click or tray button) application menu. This file includes apps, separators, links to external files, and other menus.
Function: Main menu structure shown when accessing the desktop menu.
Features:
- Direct launchers for apps like LXTerminal, PCManFM, Firefox.
- Links to online documentation.
- Dynamically includes
~/.jwmrc-mjwm
andthemes-list
.
6. ~/.config/jwm/preferences

Contains system behavior preferences such as:
- Number of virtual desktops
- Focus model (click or sloppy)
- Window movement/resizing style
- Snap behavior for aligning windows
Function: Defines how the user interacts with windows and desktops.
7. ~/.config/jwm/start

Specifies startup applications that should be run when JWM starts.
Function: Autostarts system tray apps and background services.
Example:
<StartupCommand>nitrogen --restore</StartupCommand>
<StartupCommand>nm-tray</StartupCommand>
<StartupCommand>xscreensaver --no-splash</StartupCommand>
8. ~/.config/jwm/theme

Contains the active visual theme for JWM, including:
- Window appearance (title bars, fonts, borders)
- Menu colors
- Tray styling
- Clock and popup styles
Function: Controls the look and feel of the JWM desktop.
9. ~/.config/jwm/themes-list

Defines a sub-menu labeled “Themes” inside the JWM menu. Each entry in this list applies a theme from the themes/
directory by copying it over the current theme
file and restarting JWM.
Function: Lets users quickly switch JWM themes from the menu.
Example entry:
<Program label="Adwaita Dark" confirm="false">
cp -a .config/jwm/themes/Adwaita-Dark .config/jwm/theme && jwm -restart
</Program>
10. ~/.config/jwm/tray

Defines the panel (tray) usually located at the bottom of the screen. It includes:
- Menu button
- App shortcuts
- Task list (open windows)
- Virtual desktop pager
- Clock
- System tray dock area
Function: Configures layout and behavior of the JWM panel.
Example:
<TrayButton popup="Terminal" icon="lxterminal">exec:lxterminal</TrayButton>
<Clock format="%H:%M">showdesktop</Clock>
11. ~/.config/jwm/themes/*
(Theme Directories)

Each theme is stored as an individual XML file directly inside the ~/.config/jwm/themes/
directory. These files contain complete <JWM>
theme blocks that define the appearance of JWM and can be copied to the active ~/.config/jwm/theme
file and then applied.
Available themes in FunOS:
- Adwaita-Dark
- Black
- Blue-Day
- Brown
- Cappuccino
- Clearlooks
- Coffee-Cream
- Coper
- Default
- Gold
- Green
- Ice
- Military
- Pastel
- Pretty-Pink
- Red
- Shades-of-Grey
- Sunny-Day
- White
Each theme controls the color scheme, fonts, and visual elements of windows, menus, and the tray.
Notes
1. Do Not Edit ~/.jwmrc-mjwm
Manually
This file is auto-generated by mjwm
based on installed applications. Any changes will be overwritten when you run mjwm --no-backup && jwm -reload
or click Menu > Reload menu.
2. Back Up Before Editing
Always make a backup of any JWM configuration file before modifying it. For example:
cp ~/.config/jwm/tray ~/.config/jwm/tray.bak
3. Apply Changes with jwm -restart
After editing a config file, apply the changes by restarting JWM:
jwm -restart
Summary
FunOS uses a modular and well-organized JWM configuration system that separates different aspects of the desktop environment into individual files:
~/.jwmrc
– main loader~/.config/jwm/
– structured directory for menu, keys, tray, themes, preferences, and startup
This modular approach makes it easy to customize, maintain, and understand. Whether you’re a power user or a beginner, knowing these files gives you full control over the FunOS desktop experience.
Leave a Reply