A set of Graphical Apps to simplify use of JWM (Joe's Window Manager)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Calvin Kent McNabb a3425fcde0 puppy package files 1 week ago
BASH clean up repository 1 week ago
BUILD puppy package files 1 week ago
PYTHON refine screen size function 2 weeks ago
doc update 3 weeks ago
freedesktop show 4 weeks ago
icons optimized 4 weeks ago
man1 clean up repository and version bump 1 week ago
.gitignore remove old entries 1 month ago
README.md SoundBraid 2 weeks ago



A set of software designed to simplify usage of JWM (Joe's Window Manager)

JWM Kit is Free Open Source Software.
See License.

Announcing SoundBraid
SoundBraid is my new project. It is a simple sound mixer featuring support for sndio.

October 05 2021

  • Expanded Pop Volume's sndio support to use aucatctl
  • Provide a enhanced mixer for sndio / aucatctl
  • sndio users can now control the level of each stream providing individual volume control for media player, web browser, etc.
  • sndio users with alsa-utils installed have the ablity to control both the alsa and sindo master.

October 2 2021

  • JWM Kit Icons now shows a preview icon when selecting a search result.

October 01 2021 - Second Entry

  • New option for JWM Kit Logout : doas with no password
  • The JWM Kit Forum is open. Join the discussion!
    Discussion in other public forums will continue, but this forum will provide more freedom for discussion of JWM Kit

October 01 2021

  • JWM Kit Pop Volume now support sndio
    • sndiod must be active sndio support
    • No configuration or parameters required to select sndio
    • Sndio is used when ALSA's amixer is not available.
  • Improvements for ALSA support
  • Dependencies
    • alsa-utils should be downgraded to an optional dependency
    • sndio should be added as an optional dependency

September 29 2021

  • JWM Kit now has a Wiki. The wiki provides basic information on JWM Kit's various tools with plenty of pictures.

September 24 2021

  • Initial Stable Release is finally stable No more changes.
  • Again moved release tag to latest commit. Sorry but it was necessary
  • Fixed Debian's changelog and packaging scripts in BUILD
  • Moved release tag to latest commit to include the above fixes in the initial stable release

September 23 2021

  • Finally!, A stable release : Initial Stable Release
  • New packages and build scripts will be avaliable on sourceforge soon.

September 8 2021

  • Add permission button to jwmkit_first_run which provides the ablity to configure how JWM Kit request permission.
  • Added the configuration file ~/.config/jwmkit/setting_su to record's the users preferences on how permission is requested.
  • Added a built in graphical password prompt to be used with sudo

September 8 2021

  • install packages for various distos moved to Sourceforge
  • A cleanup/restructuring of this Git (codeberg) is underway. Sorry if this breaks any hyperlinks, bookmarks, scripts, etc
  • Preview images moved to sourceforge and google drive to reduce the tarball size of taged releases
  • Appologies to vitforlinux as my recent changes will break the links in your article. Thanks for the review.

Development updates: One Year Milestone (actually a year and 2 months)

Important changes since the orginal Jun 29, 2020 announcment.

  • Improvements to all tools.
  • complete re-write of JWM Kit Trays, and JWM Kit Menus
  • Improved Icons
  • Simplified the names of the tools
  • Additions to JWM Kit (chart below)
New Tool Purpose
Repair & Restore Tools to repair the JWM configuration
Settings A settings manager as seen in popular desktops
Freedesktop Edit .desktop files. (Similar to Menulibe)
Easy Menu Generate an Application Menu from freedesktop files
Appearance Preview and set JWM Theme, and/or button set
First Run Assistance after the initial install of JWM Kit
Time Set the System's time, date, and time zone
Battery Menu Generate a JWM Menu that provides battery info


Some of JWM Kit's Features

  • No part of this software is designed to runs in the background. It only runs when the user starts it, and properly quits when "closed", or for notifications will close when timed out in a few seconds.
  • Features are implemented using JWM's existing abilities.
  • A settings manager as seen in popular desktops
  • Set the desktop background as an image, solid color or gradient.
  • configure icon paths
  • Preview and Switch JWM Themes
  • Preview and Switch JWM button sets (window buttons like: close, max, min, etc)
  • Create a new button set by replacing the colors on an exsiting set (SVG)
  • Configure the appearance and behavior of JWM trays, and menus.
  • Add & Remove JWM trays, and menus
  • Add & Remove items to trays, and menus
  • Configure commands (scripts, apps, etc) to run when JWM starts, restarts and/or shutdown
  • Save current Screen configuration for startup (resolution/frame rate/monitor position/etc)
  • Configure key board shortcuts for custom controls, and/or quick access
  • add a simple popup calendar to the tray to the clock (or icon/key shortcut)
  • add a battery monitor to a tray icon or keyboard shortcuts
  • add volume notification and control to an tray icon or keyboard shortcuts
  • Specify options for a group of programs by name or class
  • Create a restore point of the JWM configuration
  • Restore the JWM configuration to an earlier time/date
  • Recieve feedback useful for finding and repairing the JWM Configuration

As they say a picture is worth a thousand words. Previews are avalible at the following locations:

Dependencies *

  • alsa-utils (for pop up volume control)
  • python3
  • python3-gi
  • gir1.2-gtk-3.0

*This list of dependencies uses Debian based packages name.
Equivalent package may have a different name on non-Debian based distributions.

JWM Kit Tools

Name: JWM Kit Appearance
Filename: jwmkit_appearance
Purpose: Preview and Switch the JWM Theme, and/or button set.
NOTE1: You can provide your own previews, or JWM Kit will create a preview.
NOTE2: If JWM Kit fails to create previews for a theme, that theme has errors.

Name: JWM Kit Battery Menu
Filename: jwmkit_bat_mu
Purpose: Generate a menu with the status of the system's battery or batteries
Usage: Assign the dynamic menu to a traybutton. Clicking the button will give an updated battery status.
Example: Charging 81%

Name:JWM Kit Button Menu
Filename: jwmkit_button_mu
Purpose: Create the button config for the selected button set.
Note: JWM Kit Appearance depends on this file.

Name:JWM Kit Calendar
Filename: jwmkit_calendar
Usage: Simple pop up calendar. Bind to a mouse click on the clock for behavior similar to other desktops.
Alternative: JWM Kit YAD Pop Calendar - a traybutton wrapper for yad

Name: JWM Kit Easymenu
Filename: jwmkit_easymenu
Usage: Generate a Application Menu using freedesktop files.
Note: See README_easymenu.txt for advanced syntax options.
Feature: JWM Kit Menus provides graphical configuration of Easy Menu.

Name: JWM Kit First Run
Filename: jwmkit_first_run
Purpose: Configure how JWM Kit request permission and ensure JWM has a complient configuration by 1) Installing JWM Kit's default JWM config, 2) using a restore point, or 3) manually with the info provided.
Note: JWM Kit requires the JWM config to follow a strict structure. This tool assist the user in creating a compliant configuration.

Name: JWM Kit Freedesktop
Filename: jwmkit_freedesktops
Usage: Edit Freedesktop .desktop files.
Hint: Most autogenerated menus read these files. So altering these files will make changes to an autogenerated menu.
Note: By default this tool uses the system's default icon set. To use the icons defined in you jwm config start with the "jwm" Parameter.
Example: jwmkit_freedesktop jwm

Name: JWM Kit Groups
Filename: jwmkit_groups
Usage: Specify options for a group of programs by their name and/or class
Hint: if you need a specific instance of an app to follow a group policy, but do not want the app to always follow the policy, you can make a symlink to the binary and assign the rules to the symlink.

Name: JWM Kit Icon
Filename: jwmkit_icons
Usage: Tell JWM where to find icons. Add as many paths as needed, and arrange the order for search priority. The included search tool will help your find icons, and you can preview any directory of the search results.

Name: JWM Kit Keys
Filename: jwmkit_keys
Usage: Configure key bindings. Example: Alt F2 for the run command

Name: JWM Kit Logout
Filename: jwmkit_logout
Usage: A simple logout menu. Options are Cancel, Logout, Reboot, and Shutdown.
NOTE: Command Line Parameters

Name: JWM Kit Menus
Filename: jwmkit_menus
Usage: Configure the appearance and behavior of JWM menus. Add, remove, and edit apps, menus/sub-menus, specify icons, etc

Name: JWM Kit Pop Volume
Filenames: jwmkit_popvolume, jwmkit_popmixer, and jwmkit_popmuter
Usage: Assign volume notification to a tray icon or key shortcuts. Choice of horizontal or vertical slider or simple display percent of max volume. (Un)mute displays the appropriate icon. Does not run in the background! Triggered by Mouse movement or key presses and automatically closes in seconds.
Syntax: For info on this program’s syntax enter this command in the terminal: jwmkit_popvolume --help
Note: Total of 3 file. popmixer, and popmuter should not be called directly.

Name: JWM Kit Repair & Restore
Filename: jwmkit_repair
Purpose: Provide tools to repair the JWM configuration.

  • Report status of the current JWM config.
  • Provide a helpful feedback useful in repairing damaged config files
  • Create restore points of the JWM configuration
  • Revert to a Restore Point
  • Revert to JWM Kit's default config

Name: JWM Kit Settings
Filenames: jwmkit_settings
Usage: A simple "settings manager" similar to XFCE's Settings.
Note: This can replace the settings category in your application menu.

Name: JWM Kit Startups
Filename: jwmkit_startups
Usage: Configure commands (scripts, apps, etc) to run when JWM starts, restarts and/or shutdown. Display button simplifys adding your current display configuration to startup.

Name: JWM Kit Trays
Filename: jwmkit_trays
Usage: Add / Remove JWM Trays, Configure the appearance, & behavior of trays, and the items contained in the trays.

Name: JWM Kit Wallpaper
Filename: jwmkit_wallpaper
Usage: Browse, select, and set the wallpaper images as stretch, scale, or titled . For a more minimal appearance set the desktop as a solid color or gradient
Note: Also works with ROX, SpaceFM, PCmanFM desktops

Name: JWM Kit YAD Pop Calendar
Filename: jwmkit_yad_cal
Usage: wrapper to give traybutton *pop up behavior to YAD's Calendar.
Pop up behavior*: A second click on the traybutton will closes the app.
Alternative: JWM Kit Calendar

Terminal Apps
JWM Kit Tray & Menus intelligently chooses a terminal emulators when creating launchers for terminal based apps. If you need/want to use a different terminal, you must manually edit the command entry for the each of the terminal apps.

Specifying Root Privilege
Applications selected from the Application list are add exactly as presented in their Freedesktop file. When selecting an item that requires root access, it is up to the user to ensure that the method used to request permission is avalible on your system.
It may be neccessary to edit the command entry.

Future plans on the 2 items above
Eventialy the first_run app will allow you to speciy a prefered terminal, and prefered method of authentication.

JWM Kit's configuration files
JWM Kit creates the following files

  • JWM Kit Settings file: ~/.config/jwmkit/settings
    This file helps JWMKit find JWM Configuration file it is unable to locate. This could happen if a file contains no tag that identify it's purpose. This file also records a history of Menus & Tray config files that were removed, but not deleted so they can be restored if desired.

  • Permissions settings file: ~/.config/jwmkit/setting_su
    This file tells jwmkit how to request permission

  • Last Wallpaper Directory file: ~/.config/jwmkit/LastWallDir
    JWM Kit Wallpaper creates this file. It's Just a single line with the path to the last directory used by the JWM Kit Wallpaper

Creating or editing JWM Kit's configuration files

  • The settings file
    If you have a working JWM Configuration that is JWM Kit complient you can use JWM Kit Repair to create the setting file instead of manually creating the file. Read the firstrun.txt in the doc folder for a templete of the settings file.

  • The setting_su file
    You can use the tool jwmkit_first_run to create the setting_su file Read README_logout.txt in the doc folder for technical info.

Behavior that may or may not be obvious

  • Entries in JWM Kit Startups tool must have at least one option selected. Options are Startup, Restart, Shutdow. Items without an option selected will not be saved.
  • Reminder of the obvious: Although you may see your changes with in an Application, Changes are not written to disk until you press the save button.
  • Comments are not preserved in the XML files. While its not been well tested, JWM Kit seems to have no problem processing XML files with comments.
  • JWM Kit uses the $HOME variable to represent the users home directory. This allowing a config files to be used by another user.

JWM Kit's Validation check

JWM Kit does check the config files for proper form and syntax. Sometimes it may check a file for it's intended purpose. While these checks are helpful, they are limited. JWM Kit maybe unable to use a file If it was improperly edit either manually or by another program.