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 Menu > 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.
How to Change JWM Themes
To switch themes, simply open the FunOS menu → Themes → select a theme. The system will run a command to copy the selected theme over the current one and reload JWM.
No need to manually edit files – it’s integrated and user-friendly.
Reloading JWM Configuration
After making changes to certain configuration files, such as menu
, keys
, or theme
, you may need to reload JWM:
Reload menu:
mjwm --no-backup && jwm -reload
Or from the menu: Reload menu option.
Restart JWM completely:
jwm -restart
This is required after changing themes or tray layout.
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 to admin Cancel reply