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 c28a6515db update builds 2 months ago
Arch_Builds update builds 2 months ago
DEB_Builds update builds 2 months ago
icons more icons 2 months ago
preview_images renamed files 4 months ago
.gitignore Initial Commit 4 months ago
COPYING Initial Commit 4 months ago
LICENSE video_wrap, menu, tray: add sys.argv, volume: wrong syntax help, all: email address 4 months ago
README updated setting syntax 3 months ago
README.md fixed syntax table 3 months ago
jwmkit_about.py left corner icons 3 months ago
jwmkit_calendar added codeburg info to files 3 months ago
jwmkit_config Bugfix: config editor creates settings file if needed 3 months ago
jwmkit_groups updated range for x/y position values 3 months ago
jwmkit_icons left corner icons 3 months ago
jwmkit_keys resize for low res 3 months ago
jwmkit_logout tweak/add icons 3 months ago
jwmkit_menus Bugfix icon combo 3 months ago
jwmkit_popmixer added codeburg info to files 3 months ago
jwmkit_popmuter added codeburg info to files 3 months ago
jwmkit_popvolume added codeburg info to files 3 months ago
jwmkit_startups left corner icons 3 months ago
jwmkit_trays clean up 3 months ago
jwmkit_video_wrap left corner icons 3 months ago
jwmkit_wallpaper left corner icons 3 months 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 .

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.

**GTK3 Documentation recommends python3-gi-cairo, but none of JWM Kit’s code references it directly. Everything seems to work fine without it, The requires disk space of the package is only 482 kb . So it wouldn’t hurt much to include it.

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