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 key
s, button
s and gesture
s, hotspot
s, 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.