JWM

JWM (Joe's Window Manager) is a lightweight window manager for Xorg written in C. It is under active development and maintained by Joe Wingbermuehle.

Installation

Install the jwm package.

Starting

You can start a JWM session with a display manager. Alternatively, you can run jwm with xinit.

Configuration

Configuration is done via a single XML file. There is native support for customizable panels and buttons, and a system tray dock. A sample configuration file is located at /etc/system.jwmrc which can be copied to the user configuration ~/.jwmrc:

$ cp -i /etc/system.jwmrc ~/.jwmrc

Edit this file to establish the environment. See JWM Configuration for a complete list of available tags, attributes and values.

Tips and tricks

Improve <Tasklist> contrast

Change the default <Tasklist> settings to match the improved contrast style of the default <MenuStyle> and active <WindowStyle>:

<TaskListStyle>
    <strike><ActiveForeground>black</ActiveForeground></strike>
    <strike><ActiveBackground>gray90:gray70</ActiveBackground></strike>
</TaskListStyle>

<TaskListStyle>
    <ActiveForeground>white</ActiveForeground>
    <ActiveBackground>#70849d:#2e3a67</ActiveBackground>
</TaskListStyle>

Logout and refresh

(Logout) is the menu command to cleanly log out of the current X server.
(Refresh) is the menu command tag which reinitializes the configuration file and updates menus and keybindings accordingly.
and  can be bound to the  modified keys following the example syntax below: 
<Key mask="CA" key="r">exec:jwm -restart</Key>
<Key mask="CA" key="e">exec:jwm -exit</Key>

Reboot and shutdown

A system with systemd can be rebooted with the and Poweroff menu options.

<Program label="Restart">systemctl reboot</Program>
<Program label="Poweroff">systemctl poweroff</Program>

Alternatively, use <Key> to bind the commands to a chosen key.

See Allow users to shutdown for additional information.

Conky

Conky can be run within the to provide the display of various data streams (e.g. battery life and AC adapter status for notebooks). may conflict with Conky; workarounds include:

  1. Review the Conky FAQ for workarounds in
  2. Conky and specify the following tags in ~/.jwmrc:

Minimal font suggestions

Manual tiling support

Tiling support can be added to JWM with the Poor Man's Tiling Window Manager. Assuming is part of the local PATH, various tiling actions can be assigned to keys, for example:

<Key mask="H" key="Up">exec:manage.py swap</Key>
<Key mask="H" key="Down">exec:manage.py cycle</Key>
<Key mask="H" key="Left">exec:manage.py left</Key>
<Key mask="H" key="Right">exec:manage.py right</Key>

Troubleshooting

Additional troubleshooting

If X is not already running on tty1, will allow you to review standard output errors and messages. See command for details on how to create a typescript of what is printed to the terminal.

All windows are transparent using picom

Adjust the window transparency in ~/.jwmrc:

<WindowStyle>
  <Opacity>1.0</Opacity>
</WindowStyle>

Terminal windows do not fully maximize

Add a group with the option to ~/.jwmrc, for example:

<Group>
 <Class>URxvt</Class>
 <Option>iignore</Option>
</Group>

Verify configuration changes

To check the JWM configuration and return syntax errors (including associated line numbers), if any, run:

$ jwm -p
gollark: This Grandma™ does not need to "know CLI".
gollark: And is likely to suffer security issues less as most random files Grandma™ downloads from the Interweb™ won't run.
gollark: It probably works less horribly unreliably than Windows does.
gollark: Sure it is!
gollark: I mean, the whole idea of the registry was just derived from potatOS, Microsoft stole the code.

See also

This article is issued from Archlinux. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.