The variables are divided into sections, wherein the fully qualified variable name of the variable itself is the last dot-separated segment and the section name is everything before the last dot.
Location
Wayfire searches for a config file in the following locations, in this order:
$WAYFIRE_CONFIG_FILE
$XDG_CONFIG_HOME/wayfire.ini
~/.config/wayfire.ini
If unset, $XDG_CONFIG_HOME defaults to ~/.config. After wayfire is started, it will write the current configuration path to the environment variable WAYFIRE_CONFIG_FILE.
If you need to customize the configuration path, set the WAYFIRE_CONFIG_FILE variable before wayfire starts.
Syntax
The
syntax is fairly flexible and permissive;
whitespaces are mostly ignored.
The # characters begin comments to the end of
line, blank lines are ignored.
The file consists of sections and variables. A section begins with the name of the section in square brackets and continues until the next section begins. Each variable must belong to some section, which means that there must be a section header before the first setting of a variable.
All
the other lines (and the remainder of
the line after the section header)
are recognized as setting variables,
in the form name =
value.
If
a value contains the # character
it should be escaped using \.
Values
Values of many variables are treated as a simple string, but there are variables that take values of specific types and there are rules as to how to spell them.
boolean
When
a variable is said to take a boolean value, true or false.
integer
The value for numbers.
double
The value for floating point numbers.
color
The value for a variable that takes a color is a tuple of four floating point numbers (between 0 and 1) in RGBA format.
key and button
The value represents a key combo, also called chord. A key combo is a key sequence in which the keys are pressed at the same time.
Keys are space-separated and can be:
Modifier
<shift>
<ctrl>
<alt>
<super>
Key
Button
See Keys for a complete reference of key
and button names. The document is
based on input-event-codes.h from
the Linux kernel.
gesture
The value represents a touchscreen gesture, as follows:
pinch [in|out] <finger-count>
swipe [up|down|left|right] <finger-count>
edge-swipe [up|down|left|right] <finger-count>
Note: e.g. edge-swipe right means swiping from left to right.
Defined in:
hotspot
It is also possible to activate items by a "hot corner"
Example: hotspot top-left
100x10 1000
where 100x10 is the width x height of the corner
and the 1000 being the time the input (mouse or touch) needs to be inside that area.
activator
The value represents a group of bindings which can all be used for the same action.
The
bindings can be keys, buttons and gestures, hotspots, separated by a |.
Example:
<super> KEY_E | <ctrl> <alt> BTN_EXTRA |
pinch in 4
criteria
The value represents command criteria to affect certain windows, as follows:
title [is|contains] "<string>"
app_id [is|contains] "<string>"
type is ["toplevel"|"x-or"|"unmanaged"|"background"|"panel"|"overlay"|"unknown"]
focuseable is [true|false]
role is ["TOPLEVEL"|"UNMANAGED"|"DESKTOP_ENVIRONMENT"]
fullscreen is [true|false]
activated is [true|false]
minimized is [true|false]
maximized is [true|false]
floating is [true|false]
tiled-left is [true|false]
tiled-right is [true|false]
tiled-top is [true|false]
tiled-bottom is [true|false]
These
basic criteria can be combined arbitrarily with parenthesis (...) and
logical operators !, &, |. Note that to chain three criteria together
with a logical and, you need
parenthesis because there is no order of the operators (so it will be ((critA
& critB) &
critC)).
In addition, there are the special
values all and none, which are always evaluated to true and false respectively.
Defined in:
src/api/wayfire/view-access-interface.hpp
Options
Accessibility
Invert
A plugin to invert the colors of the whole output.
Defined in:
plugins/single_plugins/invert.cpp
invert.toggle
Inverts the colors of the whole output with the specified activator.
Zoom
A plugin to zoom in the desktop with the mouse.
Defined in:
plugins/single_plugins/zoom.cpp
zoom.modifier
Scrolls with the specified modifier to zoom in and out.
zoom.smoothing_duration
Sets the smoothing duration in milliseconds. The default is 300.
zoom.speed
Sets the speed factor for zooming. The default is 0.01.
Desktop
Alpha
A plugin to change the opacity of windows.
Defined in:
plugins/single_plugins/alpha.cpp
alpha.min_value
Sets the minimum opacity of the window between 0 (completely transparent) and 1 (completely opaque). The default is 0.1.
alpha.modifier
When the modifier key is held down, you can scroll down and up to adjust the opacity of the window.
Cube
A plugin to show the current workspace row as a cube.

Defined in:
plugins/cube/simple-background.hpp
cube.activate
Activates the cube with the specified button.
cube.background
Sets
the background color for the simple background mode.
The default is 0.1 0.1 0.1 1.0.
cube.background_mode
Sets the background mode.
Possible values are:
simple
skydome
cubemap
The
default is simple.
See Cube mapping for details.
cube.cubemap_image
Loads the specified image for the cubemap background mode.
cube.deform
Specifies the deformation to be used.
Possible values are:
0 → None
1 → Cylinder
2 → Star
The default is 0.
Deform values 1 and 2 are supported only with OpenGL ES 3.2 support.
cube.initial_animation
Sets the initial animation duration in milliseconds. The default is 350.
cube.light
Specifies whether to use lighting. The default is true.
cube.rotate_left
Rotates left with the specified activator.
cube.rotate_right
Rotates right with the specified activator.
cube.skydome_mirror
Specifies whether to mirror skydome. The default is true.
cube.skydome_texture
Loads the specified texture for the skydome background mode.
cube.speed_spin_horiz
Sets the velocity of horizontal spinning. The default is 0.02.
cube.speed_spin_vert
Sets the velocity of vertical spinning. The default is 0.02.
cube.speed_zoom
Sets the speed factor for zooming. The default is 0.07.
cube.zoom
Sets the level of zoom out. Setting the value to 0.0 means to not zoom out. The default is 0.1.
Expo
A plugin to show an overview of all workspaces.

Defined in:
plugins/single_plugins/expo.cpp
expo.background
Sets
the background color. The default
is 0.1 0.1 0.1 1.0.
expo.duration
Sets the zoom duration in milliseconds. The default is 300.
expo.offset
Sets the delimiter offset (in pixels) between workspaces. The default is 10.0.
expo.select_workspace_<number>
Selects the given workspace with the specified key. The numbering is left to right, line by line.
expo.toggle
Shows an overview of all workspaces with the specified activator. Pressing again exits.
Idle
A plugin for idle settings, such as the screensaver and DPMS.
Defined in:
plugins/single_plugins/idle.cpp
idle.cube_max_zoom
Sets the maximum zoom level. The default is 1.5.
idle.cube_rotate_speed
Sets the speed rotation of the cube. The default is 1.0.
idle.cube_zoom_speed
Sets
the zoom speed. The speed means how
long it will take from the time the screensaver starts to the time the cube
reaches idle.cube_max_zoom. The default is 1000.
idle.disable_on_fullscreen
Disables idle on fullscreen. The default is true.
idle.dpms_timeout
Enters power saving mode after the specified seconds of inactivity. Setting the value to -1 disables power saving. The default is -1.
idle.screensaver_timeout
Displays the screensaver after the specified seconds of inactivity. Setting the value to -1 disables the screensaver. The default is -1.
idle.toggle
Disables the compositor going idle with the specified activator. Pressing again reactivates.
Output switcher
A plugin to change the focused output.
Defined in:
plugins/single_plugins/oswitch.cpp
oswitch.next_output
Moves focus to the next output with the specified activator.
oswitch.next_output_with_win
Moves focus to the next output with the focused window with the specified activator.
Scale
A plugin which shows all the windows on the current or on all workspaces, similar to GNOME's Overview.
Defined in:
scale.toggle
Toggle scale for the windows on the current workspace. Default is KEY_P.
scale.toggle_all
Toggle scale for the windows on all workspaces. disabled by default.
scale.spacing
The spacing between adjacent windows when scaled. Default is 50 pixels.
scale.duration
The duration of the scale initial animation. Default is 750 milliseconds.
scale.interact
Whether scale is started in interactive mode. Interactive mode allows the user to actually type or click in the scaled windows, and can only be exited by using the toggle bindings.
If
interactive mode is disabled, then a
view may be selected by clicking on it.
In addition, the arrow keys can be
used to change the currently selected views, KEY_ENTER can
be used to exit scale and focus the currently selected view, and KEY_ESC will
exit scale without changing the focused view.
Default is false, i.e not interactive.
scale.inactive_alpha
Controls the opacity of windows that are not selected. Default is 0.75 percent.
scale.allow_zoom
Controls whether views may be bigger than their regular size when scaled. Default is false.
scale.middle_click_close
Make middle click on a window close that window in both interactive and non-interactive mode. Default is false.
Window rules
A plugin to apply specific commands to windows by using various criteria.
Defined in:
single_plugins/window-rules.cpp
Rules syntax:
rule_N = on <event> if <criteria> then <if_command> [else <else_command>]
rule_N = on <event> then <command>
See criteria for details on the
available conditions.
Note: if <criteria> can
be omitted but special care must be taken,
because the rules apply even for panel and background windows.
Available events:
created:
A new window has been opened.
(un)maximized: A window has been maximized/unmaximized.
minimized:
A window has been minimized.
fullscreened:
A window has been fullscreened.
Available commands:
set alpha <alpha>: Set window opacity in range [0, 1].
set geometry X Y W H:
Set window geometry.
(un)maximize: Maximize or unmaximize the window.
(un)minimize: Minimize or restore the window.
move X Y:
Move the window to (X,Y).
resize W H:
Resize the window to size (W, H).
snap <slot>: Snap the view to a particular slot using
the grid plugin. Available slots: top_left, top, top_right, right, bottom_right, bottom, bottom_left, left, center(same as maximize).
assign_workspace X Y:
Move the view to workspace with coordinates (X,Y).
Example – Maximize each new alacritty window and set its opacity to 50%:
[window-rules]
rule_1 = on created if app_id is "Alacritty" then maximize
rule_2 = on created if app_id is "Alacritty" then set alpha 0.5
Viewport switcher
A plugin to switch workspaces in a grid.

Defined in:
plugins/single_plugins/vswitch.cpp
vswitch.binding_down
Switches to workspace down with the specified activator.
vswitch.binding_left
Switches to workspace left with the specified activator.
vswitch.binding_right
Switches to workspace right with the specified activator.
vswitch.binding_up
Switches to workspace up with the specified activator.
vswitch.binding_last
Switches to last active workspace with the specified activator.
vswitch.with_win_down
Switches
to workspace down with the focused window with the specified activator. For Wayfire version 0.7.X
and earlier, this was called vswitch.binding_win_down
vswitch.with_win_left
Switches
to workspace left with the focused window with the specified activator. For Wayfire version 0.7.X
and earlier, this was called vswitch.binding_win_left
vswitch.with_win_right
Switches
to workspace right with the focused window with the specified activator. For Wayfire version 0.7.X
and earlier, this was called vswitch.binding_win_right
vswitch.with_win_up
Switches
to workspace up with the focused window with the specified activator. For Wayfire version 0.7.X
and earlier, this was called vswitch.binding_win_up
vswitch.send_win_down
Send the focused window to the workspace below. Since Wayfire 0.8.0.
vswitch.send_win_left
Send the focused window to the workspace on the left. Since Wayfire 0.8.0.
vswitch.send_win_right
Send the focused window to the workspace on the right. Since Wayfire 0.8.0.
vswitch.send_win_up
Send the focused window to the workspace above. Since Wayfire 0.8.0.
vswitch.binding_<N>
Sets the binding to go to workspace N. Since Wayfire 0.8.0.
vswitch.with_win_<N>
Sets the binding to go to workspace N with currently focused window. Since Wayfire 0.8.0.
vswitch.send_win_<N>
Sets the binding to move focused window to workspace N. Since Wayfire 0.8.0.
vswitch.duration
Sets the duration of the workspace switching animation in milliseconds. The default is 300.
vswitch.gap
Sets the gap between workspaces when animating the transition between them. The default is 20.
vswitch.background
Sets the background color of gaps. The default is 0.1 0.1 0.1 1.0.
vswitch.wraparound
Whether to wrap around when switching workspaces and there is no workspace in the desired direction. Default is false.
Viewport swipe
A plugin to swipe workspaces in a grid.
Defined in:
plugins/single_plugins/vswipe.cpp
vswipe.background
Sets
the background color. The default
is 0.1 0.1 0.1 1.0.
vswipe.delta_threshold
Sets the delta threshold. The default is 24.0.
vswipe.duration
Sets the duration of the animation in milliseconds. The default is 180.
vswipe.enable_horizontal
Enables or disables horizontal swiping. The default is true.
vswipe.enable_smooth_transition
Enables or disables smooth transition. The default is false.
vswipe.enable_vertical
Enables or disables vertical swiping. The default is true.
vswipe.fingers
Specifies the number of fingers to swipe. The default is 4.
vswipe.gap
Changes the gap in pixels. The default is 32.0.
vswipe.speed_cap
Sets the speed cap. The default is 0.05.
vswipe.speed_factor
Sets the speed factor. The default is 256.0.
vswipe.threshold
Sets the threshold. The default is 0.35.
Effects
Animate
A plugin which provides animations when a window is opened or closed.



Defined in:
animate.close_animation
Specifies the type of animation when closing a window.
Possible values are:
none
fade
zoom
fire
The
default is zoom.
animate.duration
Sets the duration of the animation in milliseconds. The default is 500.
animate.enabled_for
Specifies
the window types to be animated. The
default is (type is "toplevel"
| (type is "x-or"
& focusable is true)).
See criteria for details.
animate.fade_duration
Sets
the duration for the fade animation
in milliseconds. Only applies for
windows matched by animate.fade_enabled_for. The default is 400.
animate.fade_enabled_for
Specifies
the window types to be animated with a fade effect.
The default is type is "overlay".
See criteria for details.
animate.fire_duration
Sets
the duration for the fire animation
in milliseconds. Only applies for
windows matched by animate.fire_enabled_for. The default is 300.
animate.fire_enabled_for
Specifies
the window types to be animated with a fire effect.
The default is none.
See criteria for details.
animate.fire_particles
Sets the number of fire particles. The default is 2000.
animate.fire_particle_size
Sets the size of the fire particles in pixels. The default is 16.0.
animate.open_animation
Specifies the type of animation when opening a window.
Possible values are:
none
fade
zoom
fire
The
default is zoom.
animate.startup_duration
Sets the duration of fading (in milliseconds) when Wayfire starts. The default is 600.
animate.zoom_duration
Sets
the duration for the zoom animation
in milliseconds. Only applies for
windows matched by animate.zoom_enabled_for. The default is 500.
animate.zoom_enabled_for
Specifies
the window types to be animated with a zoom effect.
The default is none.
See criteria for details.
Blur
A plugin to blur windows.
Supported methods:
Kawase
Each
method has its own set of options: offset, degrade and iterations. Different combinations result in various
levels of blur strength, performance
and visual appearance.
Defined in:
blur.bokeh_degrade
Sets the degrade value for the bokeh method. The value must be between 1 and 5. The default is 1.
blur.bokeh_iterations
Sets the iterations for the bokeh method. The value must be between 0 and 250. The default is 15.
blur.bokeh_offset
Sets the offset value for the bokeh method. The value must be between 0 and 50. The default is 5.
blur.box_degrade
Sets the degrade value for the box method. The value must be between 1 and 5. The default is 1.
blur.box_iterations
Sets the iterations for the box method. The value must be between 0 and 25. The default is 2.
blur.box_offset
Sets the offset value for the box method. The value must be between 0 and 25. The default is 2.
blur.gaussian_degrade
Sets the degrade value for the gaussian method. The value must be between 1 and 5. The default is 1.
blur.gaussian_iterations
Sets the iterations for the gaussian method. The value must be between 0 and 25. The default is 2.
blur.gaussian_offset
Sets the offset value for the gaussian method. The value must be between 0 and 25. The default is 2.
blur.kawase_degrade
Sets the degrade value for the kawase method. The value must be between 1 and 5. The default is 1.
blur.kawase_iterations
Sets the iterations for the kawase method. The value must be between 0 and 10. The default is 2.
blur.kawase_offset
Sets the offset value for the kawase method. The value must be between 0 and 25. The default is 5.
blur.method
Chooses a blur algorithm. The variants are as follows:
bokeh
box
gaussian
kawase
The
default is kawase.
blur.mode
Specifies
whether blurring should be automatic or manual.
Possible values are normal and toggle. normal means
automatic and toggle manual.
The default is normal.
blur.toggle
Sets the shortcut to toggle blurring for a specific window.
Decoration
Default decorations around XWayland windows.
Defined in:
decoration.active_color
Sets
the color when the window is active.
The default is 0.6 0.6 0.6 1.0.
For
its counterpart, see decoration.inactive_color.
decoration.border_size
Sets the border size in pixels. The default is 4.
decoration.button_order
Sets
the order of the window buttons. The
default is minimize maximize close.
decoration.font
Sets
the font to use for the title bars.
The default is sans-serif.
decoration.inactive_color
Sets
the color when the window is inactive.
The default is 0.3 0.3 0.3 1.0.
For
its counterpart, see decoration.active_color.
decoration.title_height
Sets the height of the title bars in pixels. The default is 30.
decoration.ignore_views
Disables
decoration for windows matching the specified criteria. The default is none.
See criteria for details.
Fisheye
A plugin which provides fisheye effect.
Defined in:
plugins/single_plugins/fisheye.cpp
fisheye.radius
Sets the border radius in pixels. The default is 450.0.
fisheye.toggle
Toggles fisheye with the specified key.
fisheye.zoom
Sets the zoom factor. The default is 7.0.
Wobbly
A plugin to get wobbly windows.
Defined in:
wobbly.friction
Sets the friction value. The default is 3.0.
wobbly.spring_k
Sets the spring constant. The default is 8.0.
wobbly.grid_resolution
Sets the grid resolution. The default is 6.
Window rotate
A plugin to rotate windows with the mouse. Move the mouse cursor to the center of the window to reset the rotation.

Defined in:
plugins/single_plugins/wrot.cpp
wrot.activate
Rotates the window with the specified button.
General
Autostart
A plugin to run shell commands on startup.
Defined in:
plugins/single_plugins/autostart.cpp
autostart.<program-id> <shell-command>
Executes
shell command with sh on startup.
The program ID does not matter, but
must be different for distinct commands.
autostart.autostart_wf_shell
Executes wf-panel and wf-background if they are not already in the autostart command list. The default is true which means that when no configuration file is preset, wayfire will try to run wf-shell.
Example
~/.config/wayfire.ini
[autostart]
background = wf-background
panel = wf-panel
dock = wf-dock
Command
A plugin to bind key combo (key, button, touch) to execute shell commands.
Example – Start a terminal:
~/.config/wayfire.ini
[command]
binding_terminal = <super> KEY_ENTER
command_terminal = alacritty
Example – Volume controls:
~/.config/wayfire.ini
[command]
repeatable_binding_volume_up = KEY_VOLUMEUP
command_volume_up = amixer set Master 5%+
repeatable_binding_volume_down = KEY_VOLUMEDOWN
command_volume_down = amixer set Master 5%-
See key for more
information on the syntax.
Defined in:
plugins/single_plugins/command.cpp
command.binding_<id> <key>
Associates binding_<id> to command_<id> when
pressing the specified key.
See
also command.repeatable_binding_<id>.
command.command_<id> <shell-command>
Executes
shell command with sh on associated binding_<id>.
command.repeatable_binding_<id> <key>
Same
as command.binding_<id>, but command is repeatable by holding the key.
Core
General options.
Defined in:
core.background_color
Sets
the background color of workspaces.
Visible when nothing is drawing the background.
The default is 0.1 0.1 0.1 1.0.
core.close_top_view
Closes the currently focused window with the specified key.
core.plugins
Loads the specified plugins, space-separated list.
core.preferred_decoration_mode
Sets
the preferred window decoration mode.
Possible values are client and server. client allows
the client to draw its own decorations.
The default is client.
core.vheight
Sets the number of vertical workspaces. Currently, cannot be changed at runtime. The default is 3.
core.vwidth
Sets the number of horizontal workspaces. Currently, cannot be changed at runtime. The default is 3.
core.xwayland
Enables or disables XWayland support, which allows X11 applications to be used. The default is true.
core.max_render_time
Controls
a latency optimization. Lower values
mean that Wayfire will reserve less time for redrawing an output, which leaves more time for clients to update
themselves. Values that are too low
however will lead to Wayfire missing a frame and lowering the refresh rate. Set to -1 to
disable.
Input
Input configuration.
Defined in:
Keyboard configuration
Defined in:
input.kb_repeat_delay
Sets the amount of time a key must be held before it starts repeating. The default is 400.
input.kb_repeat_rate
Sets
the frequency of key repeats once the input.kb_repeat_delay has
passed. The default is 40.
input.modifier_binding_timeout
Cancels
modifier actions (like Super for
the expo plugin) when held for the specified timeout (in milliseconds).
Setting the value to 0 never
cancels. The default is 400.
input.kb_numlock_default_state
Default numlock state when Wayfire starts. The default is false.
input.kb_capslock_default_state
Default capslock state when Wayfire starts. The default is false.
input.xkb_layout
Sets
the layout of the keyboard,
like us or fr. Multiple layouts can be specified by
separating them with commas. The
default is us.
input.xkb_model
Sets the model of the keyboard. This has an influence for some extra keys your keyboard might have.
input.xkb_options
Sets extra XKB configuration options for the keyboard. Multiple options can be specified by separating them with commas.
input.xkb_rules
Sets
files of rules to be used for keyboard mapping composition. The default is evdev.
input.xkb_variant
Sets
the variant of the keyboard,
like dvorak or colemak.
libinput configuration
See libinput documentation for details.
Defined in:
src/core/seat/pointing-device.cpp
input.mouse_accel_profile
Sets the pointer acceleration profile.
Possible values are:
default
none
adaptive
flat
The
default is default.
See Pointer acceleration for details.
input.touchpad_accel_profile
Sets the touchpad acceleration profile.
Possible values are:
default
none
adaptive
flat
The
default is default.
See Pointer acceleration for details.
input.tap_to_click
Enables or disables tap-to-click. The default is true.
See Tap-to-click behaviour for details.
input.click_method
Changes the click method.
Possible values are:
default
none
button-areas
clickfinger
The
default is default.
See Clickpad software button behavior for details.
input.scroll_method
Changes the scroll method.
Possible values are:
default
none
two-finger
edge
on-button-down
The
default is default.
See Scrolling for details.
input.disable_touchpad_while_typing
Disables the touchpad while typing. The default is false.
input.disable_touchpad_while_mouse
Disables the touchpad while using the mouse. The default is false.
input.natural_scroll
Enables or disables natural (inverted) scrolling. The default is false.
input.mouse_cursor_speed
Changes the pointer acceleration. The value must be between -1.0 and 1.00. The default is 0.0.
input.touchpad_cursor_speed
Changes the touchpad acceleration. The value must be between -1.0 and 1.00. The default is 0.0.
input.mouse_scroll_speed
Changes the mouse scroll factor. Scroll speed will be scaled by the given value, which must be non-negative. The default is 1.0.
input.touchpad_scroll_speed
Changes the touchpad scroll factor. Scroll speed will be scaled by the given value, which must be non-negative. The default is 1.0.
Cursor configuration
Defined in:
input.cursor_theme
Overrides
the system default XCursor theme.
The default is default.
input.cursor_size
Overrides
the system default XCursor size.
The default is 24.
Input device-specific options
You
can map a specific input device to a specific output (useful for touchscreens).
Look at the output of Wayfire to find the name of the device you want to map to
an output (handle
new input: <device_name>), then create a section like this:
[input-device:Wacom Pen and multitouch sensor Finger]
output = eDP-1
Replace Wacom
Pen and multitouch sensor Finger with the name of your
device and eDP-1 with
the name of the output you want to bind the input device to.
Output
Output configuration.
Note: You can get the names of your outputs
with wlr-randr,
or look at the output of Wayfire (new
output: <name>)
Example:
~/.config/wayfire.ini
[output:eDP-1]
mode = 1920x1080@60000
position = 0,0
transform = normal
scale = 1.000000
<output>.position
Places
the specified output at the specific position in the global coordinate space. The format is <x>,<y> in
pixels.
<output>.mode
Configures
the specified output to use the given mode.
Modes are a combination of width and height (in
pixels) and a refresh rate (in hertz)
that your display can be configured to use.
The format is <width>x<height>@<rate>, or off, which turns the output off.
Mode
can also be mirror <output_name>, where <output_name> is
the name of another output. In this
case, the output will simply mirror
the contents of the given output.
<output>.custom_mode_N
Can
be used to create a new mode for the output,
even if the hardware does not report it.
Valid values are modelines, can be
generated with cvt. For example, if you want to add a 1280x720 mode:
Output
of cvt 1280 720:
# 1280x720 59.86 Hz (CVT 0.92M9) hsync: 44.77 kHz; pclk: 74.50 MHz
Modeline "1280x720_60.00"Â Â 74.50Â 1280 1344 1472
1664Â 720 723 728 748 -hsync +vsync
Option value in config file:
custom_mode_1 = 74.50Â 1280 1344 1472
1664Â 720 723 728 748 -hsync +vsync
After
that, you can use the new mode in
the <output>.mode option
or via kanshi.
<output>.scale
Scales the specified output by the specified scale factor.
<output>.transform
Sets the background transform for the specified output.
Window management
Fast switcher
A plugin to switch active window.
Defined in:
plugins/single_plugins/fast-switcher.cpp
fast-switcher.activate
Activates fast switcher with the specified key.
Grid
A plugin to position the windows in certain regions of the output.

Defined in:
plugins/single_plugins/grid.cpp
grid.duration
Sets the duration of the animation in milliseconds. The default is 300.
grid.restore
Restores the window to its original size and position with the specified activator.
grid.slot_b
Positions the window in the bottom edge of the screen with the specified activator. The window takes half of the screen.
grid.slot_bl
Positions the window in the bottom left corner of the screen with the specified activator. The window takes 1/4 of the screen.
grid.slot_br
Positions the window in the bottom right corner of the screen with the specified activator. The window takes 1/4 of the screen.
grid.slot_c
Positions the window in the center of the screen with the specified activator. The window is maximized.
grid.slot_l
Positions the window in the left edge of the screen with the specified activator. The window takes half of the screen.
grid.slot_r
Positions the window in the right edge of the screen with the specified activator. The window takes half of the screen.
grid.slot_t
Positions the window in the top edge of the screen with the specified activator. The window takes half of the screen.
grid.slot_tl
Positions the window in the top left corner of the screen with the specified activator. The window takes 1/4 of the screen.
grid.slot_tr
Positions the window in the top right corner of the screen with the specified activator. The window takes 1/4 of the screen.
grid.type
Sets the type of the animation.
Possible values are:
none
simple
wobbly
The
default is simple.
Move
A plugin to move windows around by dragging them from any part (not just the title bar).

Defined in:
plugins/single_plugins/move.cpp
plugins/single_plugins/move-snap-helper.hpp
move.activate
When the specified button is held down, you can drag windows to move them.
move.enable_snap
Enables
or disables snapping the window being moved to an edge of the screen. The default is true.
Requires the grid plugin to also be enabled.
move.enable_snap_off
Enables or disables snapping off the window being grabbed from an edge of the screen. The default is true.
move.join_views
Disallows independently moving dialogues. The default is false.
move.snap_off_threshold
When
attempting to move a snapped window,
this option requires the user to move at least the specified amount of pixels
before the window actually moves.
This only takes effect with move.enable_snap_off. The default is 10.
move.snap_threshold
Sets the amount of pixels from the edge of the screen for which aero-snap gets triggered. The default is 10.
Place
A plugin to position newly opened windows.
Defined in:
plugins/single_plugins/place.cpp
place.mode
Specifies how to position newly opened windows.
Possible values are:
center
cascade
random
The
default is center.
Preserve output
Some monitors and/or GPUs disconnect the outputs during DPMS, which can result in all of your windows ending up on one output after waking them from sleep. This plugin prevents that from happening.
preserve-output.last_output_focus_timeout
When an output is destroyed, if it is focused then it is remembered as the focused output, unless another output was already remembered as the focused output in the last X milliseconds. This option sets that number of milliseconds.
The default is 10000 (10 seconds).
Simple tile
A plugin which provides some tiling features, inspired by Sway. The plugin is meant to contain only the basics.
Defined in:
simple-tile.button_move
When the specified button is held down, you can drag and drop tiled windows to reorder them and to change the tiling direction.
simple-tile.button_resize
When the specified button is held down, you can drag tiled windows to resize them.
simple-tile.keep_fullscreen_on_adjacent
Specifies whether to keep fullscreen state when changing the focus. If true, the next focused window will also get fullscreen. If false, leaves fullscreen. The default is true.
simple-tile.key_focus_above
Moves focus to the window above with the specified key.
simple-tile.key_focus_below
Moves focus to the window below with the specified key.
simple-tile.key_focus_left
Moves focus to the window left with the specified key.
simple-tile.key_focus_right
Moves focus to the window right with the specified key.
simple-tile.key_toggle
Toggles tiling mode with the specified key.
simple-tile.tile_by_default
Enables
tiling for windows matching the specified criteria.
The default is all.
See criteria for details.
simple-tile.inner_gap_size
Controls the gap size (free space) between adjacent tiled views. Default is 5 pixels.
simple-tile.outer_horiz_gap_size
Controls the gap size on the left and the right edge of the workspace. Default is 0 pixels.
simple-tile.outer_vert_gap_size
Controls the gap size on the top and the bottom edge of the workspace. Default is 0 pixels.
Switcher
A plugin to change active window with an animation.

Defined in:
plugins/single_plugins/switcher.cpp
switcher.gesture_toggle
Toggles
the switcher with the specified gesture.
The default is edge-swipe
down 3.
switcher.next_view
Switches to the next view with the specified key.
switcher.prev_view
Switches to the previous view with the specified key.
switcher.speed
Sets the duration of the animation in milliseconds. The default is 500.
switcher.touch_sensitivity
Sets the touch sensitivity. The default is 1.0.
switcher.view_thumbnail_scale
Sets the thumbnail size. The default is 1.0.
Resize
A plugin to resize windows by dragging them from any part (not just the edges).

Defined in:
plugins/single_plugins/resize.cpp
resize.activate
When the specified button is held down, you can drag windows to resize them.
WM-Actions
A plugin providing various window management functions.
wm-actions.toggle_fullscreen
Makes focused view fullscreen with the specified key.
wm-actions.toggle_always_on_top
Toggles the always-on-top state of the focused view (as a keybinding) or the view clicked on (as a button binding).
wm-actions.toggle_sticky
Toggle the sticky state of a view.
wm-actions.toggle_maximize
Toggle the maximize state of the active view.
wm-actions.minimize
Minimize the active view.
wm-actions.toggle_showdesktop
Show the desktop.
wm-actions.send_to_back
Send the active view to behind all other views.