Warning: THE VOID WIKI IS DEPRECATED. It is no longer being maintained, contains outdated and incorrect information, and will eventually be shut down. Please refer to the Void Handbook, https://docs.voidlinux.org/, for the official documentation. If you can't find the information you're seeking, please raise an issue at https://github.com/void-linux/void-docs/issues

Jwm -

From Void Linux Wiki
Jump to navigation Jump to search

JWM (Joe's Window Manager) is a featherweight stacking window manager for X written in C that attempts to conform to the iCCCM and supports both MVM hints and Extended Window Manager Hints (EWMH)

JWM has native support for customizable panels and buttons, and offering a system tray dock.

Official Site

Github

Install

$ xbps-install jwm

Starting JWM

Run the xinit program to start the X server and the JWM client program:

$ xinit /usr/bin/jwm

Alternatively, add exec /usr/bin/jwm to your Xinitrc.


Configuration

Configuration is done via a single XML file ~/.jwmrc

A sample configuration file is located at /etc/system.jwmrc. Create ~/.jwmrc:

$ touch ~/.jwmrc

or:

$ 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.

RootMenu

root menus can be called either from a keybind or a button on your systray example with programs and nested menus:

  <RootMenu onroot="2">     
       <Program label="Terminal">sakura -c 80 -r 27</Program>
       <Program label="File Manager">pcmanfm</Program>
       <Program label="chromium">chromium-browser</Program>
       <Program label="task manager">lxtask</Program>
       <Separator/>
       <Menu label="Screenshot">
          <Program label="Active Window">scrot -u ~/Downloads/batata.png</Program>
          <Program label="Full Screen">scrot ~/Downloads/batata.png</Program>
          <Program label="Select Area">scrot -s ~/Downloads/batata.png</Program
       </Menu>
 </RootMenu>

the onroot atribute especifies the mousebutton to press to show the menu

Tray

the tray can be configured in many ways it has a clock and can have buttons example:

<Tray x="0" y="-1" layout="horizontal" halign="fixed" height="24" valign="bottom">
   <TrayButton label="menu">root:2</TrayButton>
   <TrayButton icon="thunar">exec:pcmanfm</TrayButton>
   <TrayButton icon="terminal">exec:sakura</TrayButton>
   <TrayButton icon="chromium-browser">exec:chromium-browser</TrayButton>
   <TrayButton icon="htop">exec:lxtask</TrayButton>
   <TrayButton icon="steam">exec:steam</TrayButton>
   <Spacer width="5"/>
   <TaskList maxwidth="130"/>
   <Spacer width="5"/>
   <Dock/>
   <Spacer width="5"/>
   <Clock format="%X %x"></Clock>
</Tray>

keybindings

keybindings may be made to offer a faster workflow example:

<Key mask="4" key="w">exec:firefox</Key>

Startup commands

startup commands may be defined like so

<StartupCommand>nitrogen --restore &</StartupCommand>

dont forget the &amp