table of contents
other versions
- wheezy 2.1.0-3
- jessie 2.1.0+svn579-2
- jessie-backports 2.3.6-1~bpo8+1
- testing 2.3.6-1
- unstable 2.3.6-1
jwm(1) | General Commands Manual | jwm(1) |
NAME¶
JWM - Joe's Window ManagerSYNOPSIS¶
jwm [options]DESCRIPTION¶
JWM is a window manager for the X11 Window System.OPTIONS¶
-display displayThis option specifies the display to use; see
X(1).
-exit
Exit JWM by sending _JWM_EXIT to the root
window.
-h
Display a help message and exit.
-p
Parse the configuration file and exit. It is a
good idea to use this after making modifications to the configuration file to
ensure there are no errors.
-restart
Restart JWM by sending _JWM_RESTART to the
root window.
-v
Display version information and exit.
FILES¶
- /etc/jwm/jwmrc
- The default JWM configuration file.
- ~/.jwmrc
- Local configuration file. Copy the default configuration
file to this location to make user-specific changes.
CONFIGURATION¶
OVERVIEWConfiguration of JWM is done by editing
".jwmrc". This file is XML making it easy to edit, either by hand or
programmatically. The example.jwmrc gives an example configuration file.
Before restarting JWM, it is a good idea to run "jwm -p" to make
sure the configuration file is free of errors. Otherwise you may end up
without a root menu.
ROOT MENU
The root menu in JWM is the primary way of
starting programs. It also provides a way to restart or exit the window
manager. The outer most tag is RootMenu. The following attributes are
supported:
onroot list
Determine which buttons on the root window
activate the menu. This is a list of integers specifying buttons. The default
is "123". Note that multiple root menus may be specified by using
different buttons for different menus. The range of possible button values is
0 to 9 inclusive.
height int
Height of each menu item in pixels. 0
indicates the largest menu item will determine the height. The default is
0.
labeled bool
Determines if a label appears at the top of
the menu. Default is false.
label string
The label to display at the top of the menu.
Default is "JWM".
Within the RootMenu tag, the following tags are supported:
Menu
This tag creates a submenu item. Any of the
tags allowed within the RootMenu tag, including the Menu tag are
allowed within this element. The following attributes are supported:
height int
Include
Height of each menu item in pixels. 0
indicates the largest menu item will determine the height. The default is
inherited from the parent menu.
label string
The label to use. No default.
icon string
The icon to use for this menu. No
default.
labeled bool
Determines if a label appears at the top of
the menu. Default is false.
Include the contents of a file into the menu
structure. The file must start with a "JWM" tag. The file is
specified by the text of the tag. If the text starts with "exec:"
then the output of a program is used.
Program
The Program tag provides a way to start
an external program. The text in this tag is the command used to start the
program. The following attributes are supported:
label string
Separator
The label to display. Default is the text of
the tag.
icon string
The icon to use. No default.
This tag simply puts a line in the menu
allowing menu divisions. No text or attributes are used.
Desktops
Add a desktop menu. This will add a submenu
with a list of desktops that can be used to change the current desktop. The
following attributes are supported:
label string
SendTo
The label to use for the menu. The default is
"Desktops".
icon string
The icon to use for this item. No
default.
Add a "send to" menu to the menu.
After selecting an item from this menu, a window may be selected to send that
window to the selected desktop. The following attributes are supported:
label string
Stick
The label to use. The default is
"SendTo".
icon string
The icon to use for this item. No
default.
Add a stick/unstick window operation to the
menu. After selecting this item a window may be selected to toggle the sticky
state of that window. The following attributes are supported:
label string
Maximize
The label to use. The default is
"Stick".
icon string
The icon to use for this item. No
default.
Add a maximize window operation to the menu.
After selecting this item a window may be selected to toggle the maximized
state of that window. The following attributes are supported:
label string
Minimize
The label to use. The default is
"Maximize".
icon string
The icon to use for this item. No
default.
Add a minimize window operation to the menu.
After selecting this item a window may be selected to minimize that window.
The following attributes are supported:
label string
Shade
The label to use. The default is
"Minimize".
icon string
The icon to use for this item. No
default.
Add a shade/unshade window operation to the
menu. After selecting this item a window may be selected to toggle the shaded
status of that window. The following attributes are supported:
label string
Move
The label to use. The default is
"Shade".
icon string
The icon to use for this item. No
default.
Add a move window operation to the menu. After
selecting this item a window may be selected to move that window. The
following attributes are supported:
label string
Resize
The label to use. The default is
"Move".
icon string
The icon to use for this item. No
default.
Add a resize window operation to the menu.
After selecting this item a window may be selected to resize that window. The
following attributes are supported:
label string
Kill
The label to use. The default is
"Resize".
icon string
The icon to use for this item. No
default.
Add a kill window operation to the menu. After
selecting this item a window may be selected to kill that window. The
following attributes are supported:
label string
Close
The label to use. The default is
"Kill".
icon string
The icon to use for this item. No
default.
Add a close window operation to the menu.
After selecting this item a window may be selected to close that window. The
following attributes are supported:
label string
Restart
The label to use. The default is
"Close".
icon string
The icon to use for this item. No
default.
This tag adds a menu item to restart the
window manager. The following attributes are supported:
label string
Exit
The label to use. The default is
"Restart".
icon string
The icon to use. No default.
This tag adds a menu item to exit the window
manager. If text is present within this tag, it is interpreted as a command to
run when JWM exits. This can be used to start another window manager. The
following attributes are supported:
label string
The label to use. The default is
"Exit".
icon string
The icon to use. No default.
confirm bool
Determine if a confirm dialog appears before
exiting. Default is true.
Note that confirm dialogs can be disabled completely at the compile-time.One or more trays may be created via the
Tray tag. This tag supports the following attributes:
autohide bool
Allows this tray to hide itself when not
activated. Default is false.
x int
The x-coordinate of the tray. This may be
negative to indicate an offset from the right of the screen.
y int
The y-coordinate of the tray. This may be
negative to indicate an offset from the bottom of the screen.
width int
The width of the tray. 0 indicates that the
tray should compute an optimal width depending on what it contains and the
layout. 0 is the default.
height int
The height of the tray. 0 indicates that the
tray should compute an optimal height depending on what it contains and the
layout. 0 is the default.
border int
The width of the border. The default is 1.
Valid values are between 0 and 32 inclusive.
layer int
The layer of the tray. The default is 8. Valid
values are between 0 and 12 inclusive.
layout { vertical | horizontal }
The layout of the tray. The default is
horizontal.
valign { fixed | top | center | bottom }
The vertical alignment of the tray. The
default is fixed.
halign { fixed | left | center | right }
The horizontal alignment of the tray. The
default is fixed.
Within this tag the following tags are supported:
Clock
Add a clock to the tray. The text of this tag
is a command to run when the clock is clicked. This tag supports the following
attributes:
format string
Dock
The format of the clock. See
strftime(3).
zone string
The time zone of the clock. See
tzset(3).
width int
The width of the clock. 0 indicates that the
width should be determined from the length of the text to be displayed.
height int
The height of the clock. 0 indicates that the
height should be determined from the font used.
Add a dock for system notifications. This can
be used by those programs that use the _NET_SYSTEM_TRAY_Sn selection. The size
of the Dock is dynamic based on the size of the tray and the number of items
contained. Only one Dock is allowed per instance of JWM.
Pager
Add a pager to the tray. A pager shows a
miniature representation of a desktop. When over the pager, the scroll wheel
will switch desktops. Holding down the right mouse button allows you to drag a
window around in the pager which changes its position on the real desktop. You
can also drag a window in the pager from one desktop to another. This tag
supports the following attributes:
labeled bool
Swallow
Determines if the pager has text labels.
Default is false.
Also see the PAGER STYLE section for more information.Swallow a program into the tray. The text of
this tag gives the command to run. This tag supports the following attributes:
name string
TaskList
The name of the program to swallow. This
attribute is required.
width int
The width of the swallowed program. 0
indicates that the width should be determined from the tray and size requested
from the program. 0 is the default.
height int
The height of the swallowed program. 0
indicates that the height should be determined from the tray and the size
requested from the program. 0 is the default.
Add a task list to the tray. This tag supports
the following attribute:
maxwidth int
TrayButton
The maximum width of an item in the task list.
0 indicates no maximum. The default is 0.
Add a button to the tray. The text of this tag
determines what action to take when the button is clicked. The following
actions are supported:
root:n
Show root menu n. Note that the default
TrayButton action is root:1.
exec: string
Execute a command.
showdesktop
Minimize all windows on the current
desktop.
This tag supports the following attributes:
label string
A label to display. No default.
popup string
A string to be displayed for a popup. This
will default to the value specified for label, if provided. If neither
popup nor label are specified no popup will be shown.
icon string
An icon to display. No default.
Other configuration files may be included
under the JWM tag via the Include tag. The text of this tag specifies
the location of an additional configuration file. The path may be relative to
the loacation JWM was started, an absolute path, or a path referencing an
environment variable (using '$'). The format of the configuration file is the
same as the main configuration file.
Program groups allow one to specify options
which apply to a group of programs by name and/or class. A program group is
created with the Group tag. As many program groups can be created as
desired. Within the Group tag the following tags are supported:
Name
The title of a program to match to be in this
group. This field is case sensitive. a wild card, *, may be used.
Class
The window class for a program to match to be
in this group. This field is case sensitive. A wild card, *, may be
used.
Option
An option for this group. Possible options are
given below:
border
Causes windows in this group to have a
border.
desktop:#
The desktop on which windows in this group
will be started.
icon:string
The icon to be used for windows in this
group.
layer: #
The layer on which windows in this group will
be started.
maximized
Make windows in this group initially
maximized.
hmax
Make windows in this group maximize
horizontally.
vmax
Make windows in this group maximize
vertically.
minimized
Make windows in this group initially
minimized.
noborder
Causes windows in this group to be displayed
without a border.
nofocus
Prevents windows in the group from grabbing
the focus when mapped.
nolist
Causes the tray to ignore windows in this
group.
notitle
Causes windows in this group to be displayed
without a title bar.
pignore
Ignore initial window position requested by
program.
shaded
Make windows in this group initially
shaded.
sticky
Make windows in this group sticky.
opacity:#
Set the opacity for windows in this group. The
value is a number between 0.0 and 1.0 inclusive.
title
Causes windows in this group to have a title
bar.
The WindowStyle tag controls the look
of window borders. Within this tag, the following tags are supported:
Font
The font used for title bars. See the
FONTS section for more information.
Width
The width of window borders in pixels. The
default is 4, the minimum is 1, and the maximum is 32.
Height
The height of window title bars in pixels. The
default is 20, the minimum is 2, and the maximum is 64.
Opacity
The opacity of the window. This is a floating
point value between 0.0 and 1.0. Note that a composite manager, such as
xcompmgr, is required for this.
Active
The colors used for the active window. See the
COLORS section for more information on colors. The following tags are
supported:
Text
Inactive
The color of text on the title bar. The
default is black.
Title
The color of the title bar (gradients are
supported). The default is red:red.
Outline
The color of the window outline. The default
is black.
The colors used for inactive windows. See the
COLORS section for more information on colors. The following tags are
supported:
Text
The color of text on the title bar. The
default is black.
Title
The color of the title bar (gradients are
supported). The default is gray:gray.
Outline
The color of the window outline. The default
is black.
The TrayStyle tag controls the look of
trays. Within this tag the following tag is supported:
Font
The default tray font to use. See the
FONTS section for more information.
Foreground
The default foreground color. See the
COLORS section for more information.
Background
The default background color. See the
COLORS section for more information.
Opacity
The opacity of the window. This is a floating
point value between 0.0 and 1.0. Note that a composite manager, such as
xcompmgr, is required for this.
The TaskListStyle tag controls the look
of task lists. This tag supports the following attribute:
insert mode
This determines how new items are added to the
task list. Valid options are left and right. The default is
right.
Within this tag the following tags are supported:
Font
The font used for program names. See the
FONTS section for more information.
Foreground
The foreground color of the task list items.
See the COLORS section for more information.
Background
The background color of the task list items
(gradients are supported). See the COLORS section for more
information.
ActiveForeground
The foreground color of an active item on the
task list. See the COLORS section for more information.
ActiveBackground
The background color of an active item on the
task list (gradients are supported). See the COLORS section for more
information.
The ClockStyle tag controls the look of
clocks. Within this tag, the following tags are supported.
Font
The font used. See the FONTS section
for more information.
Foreground
The color of the text. See the COLORS
section for more information.
Background
The background color. See the COLORS
section for more information.
The PagerStyle tag controls the look of
pagers. Within this tag, the following tags are supported:
Outline
The color of the outline around windows shown
in the pager. See the COLORS section for more information.
Foreground
The color of inactive windows shown in the
pager. See the COLORS section for more information.
Background
The background color of inactive desktops
shown in the pager. See the COLORS section for more information.
ActiveForeground
The color of active windows shown in the
pager. See the COLORS section for more information.
ActiveBackground
The background color of active desktops shown
in the pager. See the COLORS section for more information.
Text
The color to use for pager labels. See the
COLORS section for more information.
Font
The font to use for pager labels. See the
COLORS section for more information.
The MenuStyle tag controls the look of
the menus in JWM (this includes the root menu and window menus). Within this
tag the following tags are supported:
Font
The font used on menus See the FONTS
section for more information.
Foreground
The text color of inactive menu items. See the
COLORS section for more information.
Background
The background color of inactive menu items.
See the COLORSsection for more information.
ActiveForeground
The text color of active menu items. See the
COLORS section for more information.
ActiveBackground
Text background color of active menu items
(gradients are supported). See the COLORS section for more
information.
Opacity
The opacity of the window. This is a floating
point value between 0.0 and 1.0. Note that a composite manager, such as
xcompmgr, is required for this.
The PopupStyle tag controls the look of
popup windows such as those shown when the mouse sits over a task list item.
This tag supports the following attributes:
delay int
The delay in milliseconds before popups
activate. The default is 600.
enabled bool
Determine if popups are shown. Default is
true.
Within this tag the following tags are supported:
Font
The font to use. See the FONTS section
for more information.
Outline
The color of the window outline. See the
COLORS section for more information.
Foreground
The text color. See the COLORS section
for more information.
Background
The background color. See the COLORS
section for more information.
Fonts for various parts of JWM are specified
within a Font tag. The text of this tag determines the font to use.
This can be either a standard X font string or, if compiled with XFT support,
an XFT font string.
Colors for various parts of JWM are specified
within specific tags (discribed above). Colors may either be hex triplets in
RGB format (for example, #FF0000 is red) or by a name recognized by the X
server. For components that support gradients, two colors may be specified
separated by a colon.
Icons for windows that don't supply an icon
via the _NET_WM_ICON hint are located by searching the icon search path(s) for
an icon whose name (minus the ".xpm" or ".png" extension)
matches the instance name of the window as returned in the WM_CLASS hint. If
this lookup fails, a default icon is supplied. This icon will be displayed for
the window on it's title bar and on the task list. Icons that are not an
appropriate size will be scaled. Square icons work best.
For menu items, the icon path is searched for a match. the icon specified for a
menu item must be the exact name of the icon file with the extension. If no
match is found, a blank area will appear where the icon should appear. If an
icon is not specified for any menu item in a menu, no space will be allocated
for icons.
Zero or more IconPath tags may be specified. The text of this tag is
assumed to be an absolute directory path to a directory containing XPM, PNG,
and/or JPEG icons. When searching for icons, if multiple paths are provided,
they will be searched in order until a match is made. Note that icon, PNG,
JPEG, and XPM support are compile-time options.
Keyboard bindings in JWM are specified in
Key tags. Either the key or keycode attributes must be
specified to determine which key will cause an action. The optional attribute,
mask, specifies what key mask, if any, must be in effect for the
binding to match. Finally, the text of the Key tag is the action to
perform.
One or more of the following key masks may be specified for mask (see
xmodmap(1)):
The key specified in the key attribute must contain a valid key string
for XStringToKeysym(3). These values are usually what one would expect
(for example, the escape key is called "Escape").
Valid actions for a key binding are:
Note that keys that are grabbed will not be available to applications other than
JWM since JWM will interpret these. Also note that there are no default key
bindings. Finally, it is possible to bind multiple key combinations to the
same action.
- A
- The "Alt" key (mod1).
- C
- Control
- S
- Shift
- 1
- mod1
- 2
- mod2
- 3
- mod3
- 4
- mod4
- 5
- mod5
- up
- Move up. Not grabbed.
- down
- Move down. Not grabbed.
- right
- Move right. Not grabbed.
- left
- Move left. Not grabbed.
- escape
- Stop a move/resize or exit a menu. Not grabbed.
- select
- Make a menu selection. Not grabbed.
- next
- Move to the next window in the task list. Grabbed.
- nextstacked
- Move to the next window in the stacking order. Grabbed.
- prev
- Move to the previous window in the task list. Grabbed.
- prevstacked
- Move to the previous window in the stacking order. Grabbed.
- close
- Close the active window. Grabbed.
- minimize
- Minimize the active window. Grabbed.
- maximize
- Maximize the active window. Grabbed.
- shade
- Shade the active window. Grabbed.
- stick
- Stick/unstick the active window. Grabbed.
- move
- Move the active window. Grabbed.
- resize
- Resize the active window. Grabbed.
- root:n
- Show root menu n. Grabbed.
- window
- Show the window menu for the active window. Grabbed.
- desktop#
- Switch to a specific desktop. To use this, "#" must be specified in the key section. The number 1 to the number of desktops configured are then substituted for "#". Grabbed.
- rdesktop
- Move one desktop to the right. Grabbed.
- ldesktop
- Move one desktop to the left. Grabbed.
- udesktop
- Move up one desktop. Grabbed.
- ddesktop
- Move down one desktop. Grabbed.
- showdesktop
- Show/hide the desktop (maximize/minimize all windows). Grabbed.
- showtray
- Unhide the tray (when using autohide). Grabbed.
- exec:command
- Execute command. Grabbed.
- restart
- Restart JWM. Grabbed.
Any button (other than the scroll wheel) on
the root window will bring up the root menu unless otherwise specified via the
onroot attribute of RootMenu. Scrolling up on the root window
switches to the previous desktop and scrolling down switches to the next
desktop.
The right button will show the window menu on
the frame.
The left button will resize if on the border
or move if in the title bar.
The middle button will move anywhere on the
frame.
A double click on the title bar of a window
will toggle the maximized state of the window. Scrolling up over the title bar
will shade the window and scrolling down will unshade the window. When a menu
is open, the scroll wheel will move through menus. When over the pager, the
scroll wheel will switch desktops. When over a task list, the scroll wheel
will switch windows.
Virtual desktops are controlled with the
Desktops tag. Within this tag the following attribute is supported:
width int
The number of virtual desktops in the
horizontal direction. The default is 4.
height int
The number of virtual desktops in the vertical
direction. The default is 1.
Within the Desktops tag the following tags are supported:
Background
The default background for desktops. The
type attribute determines the type of background and the text contained
within this tag is the value. Valid types are:
solid
Desktop
A solid color. See the COLORS section
for more information. This is the default.
gradient
A gradient color. See the COLORS
section for more information.
image
A stretched image. This may be an XPM, PNG, or
JPEG image. Note that support for XPM, PNG, and JPEG images must be compiled
in and icon support is required.
tile
A tiled image. Like image, but the
image is tiled instead of stretched.
command
A command to run for setting the
background.
Desktop-specific data. The name
attribute may be specified to name the desktop (the default is the desktop
number). Within this tag a Background tag may be specified for a
desktop-specific background. See Background above for more
information.
The following tags may also be supplied:
DoubleClickDelta
The number of pixels the mouse can move during
a double click. The default is 2. Valid values are between 0 and 32
inclusive.
DoubleClickSpeed
The maximum number of milliseconds between
clicks for a double click. The default is 400. Valid values are between 1 and
2000 inclusive.
FocusModel
The focus model to be used. The default is
"sloppy". Valid values are "click" (click to focus) and
"sloppy" (focus follows mouse).
MoveMode
The move mode. The default is
"opaque". Valid values are "opaque" and
"outline". The optional coordinates attribute determines the
location of the move status window. Possible values are:
ResizeMode
off
Disable the status window.
corner
Place the status window in the corner of the
screen.
window
Center the status window on the window being
moved.
screen
Center the status window on the screen.
The resize mode. The default is
"opaque". Valid values are "opaque" and
"outline". The optional coordinates attribute determines the
location of the move status window. Possible values are:
SnapMode
off
Disable the status window.
corner
Place the status window in the corner of the
screen.
window
Center the status window on the window being
resized.
screen
Center the status window on the screen.
The snap mode. The default is
"border". Valid values are "none" (for no snapping),
"screen" (for snapping to the edge of the screen), and
"border" (for snapping to the borders of windows and the screen). An
optional attribute, distance, specifies the distance for snapping. The
default is 5. Valid values are between 1 and 32 inclusive.
StartupCommand
A command to run when JWM starts.
ShutdownCommand
A command to run when JWM exits.
RestartCommand
A command to run when JWM restarts.
ButtonClose
Path to a bitmask for the close button on
windows.
ButtonMax
Path to a bitmask for the maximize button on
inactive windows.
ButtonMaxActive
Path to a bitmask for the maximize button on
active windows.
ButtonMin
Path to a bitmask for the minimize button on
windows.
AUTHOR¶
Joe Wingbermuehle <joewing@joewing.net>SEE ALSO¶
X(1)2012-04-03 | v2.1.0 |