PywoConfiguration.md - agwells/pywo GitHub Wiki

.pyworc

Create .pyworc file in your $HOME directory if you want to use custom settings in Python Window Organizer. If no ~/.pyworc is found the defaults are used. You can specify only settings you want to change, the rest will be loaded from defaults.

.pyworc must contain two sections [SETTINGS] and [KEYS] described below. Any other section will be treated as a definition of layout sections.

Lines starting with ; character are not parsed.

[SETTINGS]

This section contains main settings:

numlock

How `Numlock state should be treated.

numlock = on - PyWO keyboard shortcuts work only when Numlock is on

numlock = off - PyWO keyboard shortcuts work only when Numlock is off

numlock = ignore - ignore Numlock state (default)

capslock

How Capslock state should be treated. Work's only in the /trunk version!

capslock = on - PyWO keyboard shortcuts work only when Capslock is on

capslock = off - PyWO keyboard shortcuts work only when Capslock is off

capslock = ignore - ignore Capslock state (default)

invert_on_resize

Some windows (for example terminals) can be resized only using incremental steps. This option define if window's gravity should be inverted when window was resized by Window Manager on grid action.

invert_on_resize = yes - invert window's gravity (default)

invert_on_resize = no - keep defined gravity

vertical_first

Behaviour of diagonal movement/resizing.

vertical_first = yes - First try to move/resize vertically, then horizontally (default)

vertical_first = no - First try to move/resize horizontally, then vertically

layout

Select predefined layout of the grid.

layout = grid_2x2 - use predefined 2 by 2 grid layout

layout = grid_3x2 - use predefined 3 by 2 grid layout (default)

layout = grid_3x3 - use predefined 3 by 3 grid layout

layout = custom - define your own layout in .pyworc file

layout = FILE_NAME - use layout defined in ~/FILE_NAME file

ignore_actions

List of ignored actions. Valid actions names: float, expand, shrink, grid, grid_width, grid_height, put, switch, cycle

ignore_actions = shrink - ignore only

ignore_actions = cycle, switch - ignore cycle and switch actions

ignore_actions = grid - ignore grid action

ignore_actions = grid_height - ignore height cycling in grid

[KEYS]

This section defines keyboard shortcuts definitions. Use MOD1-MOD2-KEY format.

Valid key modifiers: Shift, Ctrl, Alt, Super

PyWO uses key names used by python-xlib. Most of the accessory key names are defined in this file (take away the leading "XK_" from each entry): Xlib/keysymdef/miscellany.py

float

Modifier(s) for float action.

float = Alt

expand

Modifier(s) for expand action.

expand = Shift

shrink

Modifier(s) for shrink action.

shrink = Alt-Shift

put

Modifier(s) for put action.

put = Alt-Cltrl

grid_width

Modifier(s) for grid action - cycle widths.

grid_width = Ctrl

grid_height

Modifier(s) for grid action - cycle heihts.

grid_height = Shift-Ctrl

switch

Modifier(s) and key for switch action.

switch = Alt-KP_Divide

cycle

Modifier(s) and key for cycle action.

cycle = Alt-Shift-KP_Divide

exit

Modifier(s) and key for exiting PyWO.

exit = Ctrl-Alt-Shift-Q

reload

Modifier(s) and key for reloading configuration file(s).

reload = Ctrl-Alt-Shift-R

debug

Modifier(s) and key for printing debug informations about window manager and current window.

debug = Ctrl-Alt-Shift-I

layout sections

Keys for defined layout sections. Use SECTION_NAME = KEY format. Keys for all defined sections must be provided. Predefined layouts consist of following sections:

top-left = KP_7
top = KP_8
top-right = KP_9
left = KP_4
middle = KP_5
right = KP_6
bottom-right = KP_3
bottom = KP_2
bottom-left = KP_1

Layout definition

Layout definition consists of sections describing snap points on the screen, and windows movement/resizing direction.

[layout-section-name]

The name of the layout section. Corresponding key shortcut must be assigned in [KEYS] section of .pyworc

ignore_actions

List of ignored actions for this section.

direction

Direction of move, expand, shrink actions. You can use one of the predefined directions: TOP_LEFT, TOP, TOP_RIGHT, LEFT, MIDDLE, RIGHT, BOTTOM_LEFT, BOTTOM, BOTTOM_RIGHT or define your own direction by providing values for percentage of x and y.

direction = RIGHT
direction = 1.0, 0.5
direction = FULL, HALF
direction = 1.0, 1.0/2
direction = FULL, 1.0/2

position

Position on the screen (snap point), used by put and grid actions. You can use one of the predefined positions: TOP_LEFT, TOP, TOP_RIGHT, LEFT, MIDDLE, RIGHT, BOTTOM_LEFT, BOTTOM, BOTTOM_RIGHT or define your own direction by providing values for percentage of x and y. See examples for direction.

gravity

Gravity of a window, if not specified same value as for position will be used. You can use one of the predefined gravities: TOP_LEFT, TOP, TOP_RIGHT, LEFT, MIDDLE, RIGHT, BOTTOM_LEFT, BOTTOM, BOTTOM_RIGHT or define your own direction by providing values for percentage of x and y. See examples for direction.

widths

List of window widths to be used in grid action. You can use predefined sizes: QUARTER, THIRD, HALF, FULL or provide your own value:

widths = THIRD, HALF
widths = FULL
widths = 0.25, 0.5, 0.75
widths = HALF, THIRD*2
widths = HALF, 1.0/3*2

heights

List of window heights to be used in grid action. You can use predefined sizes: QUARTER, THIRD, HALF, FULL or provide your own value. See examples for widths.

Sample section definition

[top-left]
direction = TOP_LEFT
position = TOP_LEFT
gravity = TOP_LEFT
widths = THIRD, HALF, THIRD*2
heights = THIRD, HALF, THIRD*2