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 51baa80423 Formating 2 weeks ago
Arch_Builds bugfix and additions 1 month ago
DEB_Builds bugfix and additions 1 month ago
Puppy unify config for both FOSS and Slacko 4 weeks ago
freedesktop Clean up freedesktops 2 weeks ago
icons icon/desktops tweaks 1 month ago
preview_images renamed files 9 months ago
.gitignore jwmkit_keys does not support keycodes 1 month ago
COPYING Initial Commit 9 months ago
LICENSE video_wrap, menu, tray: add sys.argv, volume: wrong syntax help, all: email address 9 months ago
README bugfix, and addition 1 month ago
README.md Formating 2 weeks ago
file_locations.txt bugfix and additions 1 month ago
jwmkit_about.py lots of changes 1 month ago
jwmkit_calendar added codeburg info to files 9 months ago
jwmkit_config lots of changes 1 month ago
jwmkit_easymenu bugfix for items in multiple categories 2 weeks ago
jwmkit_groups Fix bug in Save function 4 weeks ago
jwmkit_icons lots of changes 1 month ago
jwmkit_keys Remove print command for testing 4 weeks ago
jwmkit_logout lots of changes 1 month ago
jwmkit_logout_tray lots of changes 1 month ago
jwmkit_menu_tweak place apps with unknown category in Others 2 weeks ago
jwmkit_menus lots of changes 1 month ago
jwmkit_panels added options on tray removal, bugfix new row was not created if last image failed to load. 2 weeks ago
jwmkit_popmixer added codeburg info to files 9 months ago
jwmkit_popmuter added codeburg info to files 9 months ago
jwmkit_popvolume added codeburg info to files 9 months ago
jwmkit_preference_panel clean up, and puppy specific tweaks 2 weeks ago
jwmkit_startups bugfix, and addition 1 month ago
jwmkit_trays bugfix, and addition 1 month ago
jwmkit_video_wrap left corner icons 9 months ago
jwmkit_wallpaper lots of changes 1 month ago

README.md

JWM Kit


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

JWM Kit is Free Open Source Software. See License .

**Development updates: **
Notes: This is a very incomplete log only touching on specific highlights.

January 28, 2021: Development of JWM Kit is progressing well. This readme file does not relex recent changes, but will be updated in due time. Lots of improvements planned
January 23, 2021: Added JWM Kit Preference Panel. A single window for Settings apps. Can be used to replace the "Settings" catergory in menus. Similar to XFCE Settings.
January 12, 2021: Added JWM Kit Menu Tweak a Freedesktop (.desktop) Editor. Simular to Menulibre, and NOT a JWM menus editor. Compliments Easy Menu.
January 12, 2021: Add JWM Kit Easy Menu. A script to auto-generate menus using feedsktop files. Many commandline arguments. Just add the script as an include in a menu.
January 12, 2021: Menu Editor added option to add a JWM Kit Easy menu
January 12, 2021: Added Puppy folder with notes on using/installing JWM Kit in Puppy Linux. Also includes a default JWM config specific to Puppy Linux
January 12, 2021: Add JWM Kit Panels. Experimental. Will eventually replace the current Tray Editor.
January 10, 2021: It seems people have an intrest in using JWM Kit with Puppy Linux. Begin researching Puppy, and adding puppy fixes & features.
June 03, 2020: New addition to the kit: JWM Kit Groups Editor

DOWNLOADS:
DEB Builds
Arch Builds

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.
  • Set the desktop background as an image, solid color or gradient.
  • Configure the appearance and behavior of JWM trays, and menus.
  • Add & Remove items JWM 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
  • add volume notification and control to an tray icon or keyboard shortcuts

As they say a picture is worth a thousand words. Here are some pictures with the details highlighted.
note: small changes have been made to the appearance since theses screenshots were made

Editing the top tray and office menu with JWMKit's Tray and Menu Editor: JWM Kit Tray and Menu Editor

Using JWM Kit Wallpaper to choosing an image for the Desktop Wallpaper JWM Kit Wallpaper

Finding the perfect icon and adding it's path to JWM's Icon XML file. JWM Kit Icon Paths
you can find more preview images in the preview_images directory

This README

This README file is not an instruction manual, or FAQ. It's purpose is to disclose technical information about JWM Kit. Including but not limited to:

  • List of files (Icons/documentation/license/settings/and the actual programs)
  • Recommended install paths
  • Dependencies required by the kit
  • Know bugs and possible workarounds
  • Behavior that may or may not be obvious to the user.
  • Description, usage, and purpose of individual parts of the kit
  • Syntax for settings file

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. The equivalent package may have a different name on non-Debian based distributions.

Complete List of Files

These items and the dependencies should be all you need to implement JWM Kit. Recommended or required install path is listed as well.

  • Icons ----------path: /usr/share/pixmaps/jwmkit -- Path is required for proper appearance
  • Config Files -path: ~/.config/jwmkit/ ---Path required for proper function. Will be created if not present.
  • Document ----path: /usr/share/doc/jwmkit -- Path is Recommended.
  • The Apps -----path: /usr/bin --Path is Recommended. Any path should work as long a the files have proper permissions.

App files list: jwmkit_calendar, jwmkit_config, jwmkit_icons, jwmkit_keys, jwmkit_logout, jwmkit_menus, jwmkit_startups,
jwmkit_trays, jwmkit_wallpaper, jwmkit_popmixer, jwmkit_popmuter, jwmkit_popvolume, jwmkit_about.py , jwmkit_video_wrap

JWM Kit Apps

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.

Name: JWM Kit Config Editor
Filename: jwmkit_config
Usage: configure the paths to the JWM XML files you wish to include in the .jwmrc file and the JWM Kit Settings file. For example: trays, menus, startups, etc. If necessary you can also create an empty valid JWM XML file for entries
Note: improper configurations with this tool could require you to repair your system from the commandline without a graphical interface. As a precaution all populated entries are locked by default. To edit an entry you must unlock it with the adjacent check button.

Name: JWM Kit Groups Editor
Filename: jwmkit_groups
Usage: Create and edit groups to specify options which apply to a group of programs by their name and/or class

Name: JWM Kit Icon Paths
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 the directories of the search results with the view button before adding them to the list.

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.

Name: JWM Kit Menu Editor
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. To be clear it does not run in the background. Mouse movement or key presses triggers it to run and it 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. The popmixer, and popmuter should not be called directly. They are used by JWM Kit Popvolume

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

Name: JWM Kit Tray Editor
Filename: jwmkit_trays
Usage: Configure the appearance and behavior of JWM trays as well as the items contained in the tray. Add, remove, & edit all possible items types, icons, etc and configure their behavior.

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

Name: JWM Kit Video Wrapper
Filename: jwmkit_video-wrap
Usage: JWM Kit Video Wrapper will start the tool of your choice for configuring your screen settings / layout. Once complete JWM Kit Video Wrapper will ask you if you would like to save your new Screen settings as a JWM StartupCommand. This prevents you from having to set your screen every time you login.

Name: JWM Kit About
Filename: jwmkit_about.py
Purpose: Simple About Dialog window with license info
Note: This file is a dependency for the other files in this kit.

Option Flags:
JWM Kit Tray and Menu Editors uses "xterm" as the default terminal for terminal apps. You can specify the terminal when starting the app. For example to use xfce4-terminal start the tray and menu editor with these commands:
jwmkit_trays xfce4-terminal
jwmkit_menus xfce4-terminal

You can specify how JWM Kit Logout peforms reboot and shutdown. Default is dbus and ConsoleKit. JWM Kit Logout flag options:
No flag ----------------used dbus with ConsoleKit (default)
sudo -------------------use reboot and poweroff with sudo
gksu -------------------use reboot and poweroff with gksu
gksudo ----------------use reboot and poweroff with gksudo
su-to-root -X -c ------use reboot and poweroff with su-to-root -X -c
x ------------------------use reboot and poweroff with su-to-root -X -c
su-to-root -c ----------use reboot and poweroff with su-to-root -c
nox ---------------------use reboot and poweroff with su-to-root -c
any other flag --------use reboot and poweroff without sudo

TODO: Add systemd option

Examples:
jwmkit_logout -----------will use dbus with ConsoleKit
jwmkit_logout nox ------will use su-to-root -c /sbin/poweroff for shutdown
jwmkit_logout nosu ----will use /sbin/poweroff for shutdown

Specifying Root privilege
Currently the Tray and Menu editor have no option to assist in creating item with root privilege. You must manually edit the exec: command to use a root method avalible on your system. Also pay attention when selecting apps from the drop down combo that the orginal .desktop file does not use a root method not compatible with your system. For example if the app uses gksudo, but you do not have gksudo install you may wish to change the gksudo part to su-to-root

JWM Kit config files and icons

  • JWM Kit needs these file to operate correctly.
    ~/.config/jwmkit/LastWallDir --*works fine without it and will be created when needed
    ~/.config/jwmkit/settings -------*part of JWM Kit will not function correctly without it. Can be created with JWM Kit Config Editor
    /usr/share/pixmaps/jwmkit/ --*work without them but will change the appearance

  • Detail info of the 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

  • Detail info of the file: ~/.config/jwmkit/settings
    This file can be created/edited via JWM Kit Config Editor but can easily be recreated/edited manually. Just compare it with ~/.jwmrc file for basic understanding.
    This file includes all items referenced in the .jwmrc file with the <Include> tag, but uses key words to clearly define the purpose of each entry to JWMkit.

  • Syntax of the file ~/.config/jwmkit/settings:

XML Entry Type Rule Key Recommended Example
Tray must start with tray tray-description tray-top
Menu must start with menu menu-description menu-main
Startup must start with start startups startups
Icon Paths must start with icons icons icons
Preferences must be exactly preferences preferences preferences
Keys must be exactly keys keys keys
Groups must start with group groups groups
Theme must start with theme theme-description theme-default

The settings file may also includes the path to a theme directory (themes-dir). This can be ignored for now as it is for future use and is currently not implemented.


Known Bugs (and work around)

Menu Editor: When adding the first and only item to an empty menu the drop down combos are inactive.
Workaround: Simply add a 2nd item to activate the combo items.

Behavior that may or may not be obvious

  • Menu Editor: The close, move, resize, exit, etc option in the "Add" popup does not perform that action. They are to add an entry to the menu for that specific window operation.
  • To remove an entry with JWM Kit Config just leave the entry blank
  • Due to having to present an enormous amount of info in a small area, button, comboboxes, etc are rearranged as needed and function reassigned. For the most part function is obvious, just be aware of this behavior.
  • Entries in JWM Kit Startups tool must have at least one of option selected. Options are Startup, Restart, Shutdown. Items without an option selected will not be saved.
  • Both the Menu Editor and the Tray Editor have an Apply and Save button. The Apply button preserves the changes made to the current item. Changes will be lost if you select another item in the list without clicking apply. The save button actually writes the changes to disk.
  • Inconsistency: The apply button in the JWM Kit Wallpaper writes to disk, but in other apps it only preserves items for a setting, requiring the addition "save" button.
  • Inconsistency: XML Formatting is not consistent.
  • Comments are not preserved in the XML files. So don't bother adding them. It's best to avoid them. Comments should have no ill effect on JWM Kit . . . but it has not been thoroughly tested.
  • JWM Kit uses the $HOME variable to represent the users home directory. Thus allowing a config files to be used by another user.

JWM Kit Config Editor's Validation check

JWM Kit Config Editor somewhat checks that selected files are valid for the intended purpose. This is to ensure proper functionality of both JWM and JWM Kit. This check is part of the file selection dialog. You can bypass this check by manually entering the path into the form entry and not using the file selection dialog.
Warning. Bypassing the check may cause improper operation of JWM and/or JWM Kit