PWM - An X11 window manager


pwm3 [options]


The original PWM was the first tabbing window manager. This version of PWM is based on the code of Ion and is actually exactly the same window manager with only differences in default configuration files, configuration file lookup paths and some options.


−display host:display.screen

X display to manage

−conffile configfile

Configuration file to use instead of default

−searchdir dir

Directory to search for configuration files and other scripts


On X servers with multiple (traditional non-Xinerama) screens, manage only default screen (root window), not all, as given by the -display option or in the DISPLAY environment variable.

−sessionname session_name

Set session name. This option affects where workspace and other save files are put (~/.pwm3/session_name if option set).

−xinerama 0|1

If Ioncore was compiled with Xinerama support, this option can be used to enable/disable (1/0) the use of it. The default is _not_ to use Xinerama screen information.


Show help on command line options


Show version


Show about text (version, copyright)


These are the default key and pointer bindings. (Mod1) depends on your system. On PC:s with XFree86 it is probably bound to the left Alt key (Alt_L). On Suns it is usually bound to the diamond keys (Meta_L, Meta_R). Use xmodmap(1x) to find out.

The string in square brackets after a binding group heading below indicates the module that whose configuration file defines these bindings.

Globally available bindings


Tag current object within the frame.

Mod1+K 1, Mod1+K 2, Mod1+K 3, Mod1+K 4, Mod1+K 5, Mod1+K 6, Mod1+K 7,
Mod1+K 8, Mod1+K 9, Mod1+K 0

Switch to n:th object within the frame.

Mod1+K N, Mod1+K P

Switch to next/previous object within the frame.

Mod1+K comma, Mod1+K period

Move current object within the frame left/right.

Mod1+K H, Mod1+K V

Maximize the frame horizontally/vertically.

Mod1+K A

Attach tagged objects to this frame.


Query for a client window to attach to active frame.

Mod1+M, Button3 press

Display frame context menu.


Begin move/resize mode.

Button1 click at tab, Button2 click at tab

Switch the frame to display the object indicated by the tab.

Button1 drag at border, Mod1+Button3 drag

Resize the frame.

Mod1+Button1 drag

Move the frame.

Button1 drag at tab, Button2 drag at tab

Move objects between frames by dragging and dropping the tab.

Move/resize mode bindings
Mod1+1, Mod1+2, Mod1+3, Mod1+4, Mod1+5, Mod1+6, Mod1+7, Mod1+8, Mod1+9,

Switch to n:th object (workspace, full screen client window) within current screen.

Mod1+comma, Mod1+period

Switch to next/previous object within current screen.

Mod1+K K

Go to previous active object.

Mod1+K T

Clear all tags.

Mod1+Shift+1, Mod1+Shift+2

Go to n:th screen on multihead setup.

Mod1+Shift+Left, Mod1+Shift+Right

Go to next/previous screen on multihead setup.


Create a new workspace of chosen default type.

F12, Button3 press

Display the main menu.

Button2 press

Display the window list menu.


Close current object.


Nudge current client window. This might help with some programs’ resizing problems.


Toggle fullscreen mode of current client window.

Mod1+K C

Kill client owning current client window.

Mod1+K Q

Send next key press to current client window. Some programs may not allow this by default.


Query for manual page to be displayed.


Show the Ion manual page.


Run a terminal emulator.


Query for command line to execute.


Query for Lua code to execute.


Query for host to connect to with SSH.


Query for file to edit.


Query for file to view.


Query for workspace to go to or create a new one.


Query for a client window to go to.

Bindings operating on frames and their children


Cancel the resize mode.


End the resize mode.

Left, Right, Up, Down, F, B, P, N

Grow in specified direction.

Shift+Left, Shift+Right, Shift+Up, Shift+Down, Shift+F, Shift+B,
Shift+P, Shift+N

Shrink in specified direction.

Mod1+Left, Mod1+Right, Mod1+Up, Mod1+Down, Mod1+F, Mod1+B, Mod1+P,

Move in specified direction.

Bindings for floating workspaces and frames [mod_floatws]

Circulate focus and raise the newly focused frame.

Mod1+K Tab

Backwards-circulate focus and raise the newly focused frame.

Mod1+P, Mod1+N

Raise/lower active frame.

Button1 double click at tab

Toggle shade mode

Button1 press at tab, Button1 press at border, Mod1+Button1 click

Raise the frame.

Mod1+Button3 click

Lower the frame.

Button1 drag at tab

Move the frame.

Bindings for menus [mod_menu]
Escape, Control+G, Control+C, Left

Close the menu.

Return, KP_Enter, Control+M, Right

Activate current menu entry.

Control+N, Control+P, Up, Down

Select next/previous menu entry.


Clear the menu’s typeahead find buffer.



System default main configuration file


Other configuration files


Colour scheme configuration files


User configuration files


User default main configuration file (overrides system default)


For more information, see ion3(1).


Both PWM and Ion have been written by Tuomo Valkonen <tuomov at>.