-
Couldn't load subscription status.
- Fork 215
Tutorial
Table of contents
Here is an overview (non-exhaustive) of the key-bindings you can find in the wayfire.ini config file:
- Super ⇒ Overview all workspaces.
- Super + Enter ⇒ Open a terminal (Alacritty).
- Super + Shift + Enter ⇒ Open the launcher (Wofi).
- Super + w ⇒ Close window.
- Super + Tab ⇒ Preview windows and select the next window; add Shift for previous.
- Alt + Escape ⇒ Select the next window.
- Super + [UpDownLeftRightHomeEnd] ⇒ Arrange window into a grid; add Shift for bottom.
- Super + [hjkl] ⇒ Switch to adjacent workspace; add Shift to move with the focused window.
- Super + Control + [hl] ⇒ Switch to the previous or next workspace, by using the cube.
- Super + o ⇒ Move focus to the next output; add Shift to move with the focused window.
Note that you probably need to adapt the applications, such as the terminal and launcher, in your config file.
One very basic operation is opening a new terminal. By pressing Super + Enter, a new terminal will be opened. By default, the key-binding opens Alacritty.

Aside from opening applications from a terminal, you can also use the handy Wofi which is opened by pressing Super + Shift + Enter by default.

Additionally, if you have applications you open very frequently, you can create a key-binding for starting the application directly. See the section Configuring Wayfire for details.
If an application does not provide a mechanism for closing (most applications provide a menu, the middle mouse button for tabs, the escape key or a shortcut like Control + w to close), you can press Super + w, Super and middle mouse button or Alt + F4 to close a window.

By dragging the window’s title bar with your mouse you can move the window around. You can also drag windows by holding down Super and left mouse button.

By grabbing the borders and moving them you can resize the window. You can also do that by holding down Super and right mouse button.

By pressing Super + Tab, you can preview the windows in the current workspace and select the next window; add Shift for previous. To switch without animation, press Alt + Escape.

Press Super and the arrow keys for arranging windows into a grid of 2 cells. Press Super + [HomeEnd] for arranging windows into a grid of 4 cells; add Shift for bottom. You can also use the keypad, which is laid out exactly to match the slots.

Workspaces are an easy way to group a set of windows. Wayfire allows you to arrange your workspaces spatially, rather than linearly. By default, there is 9 – 3 horizontal and 3 vertical – workspaces, and you are on the first workspace.
To switch to another workspace, press Super + HJKL; add Shift to move with the focused window.

You can also use the cube, by holding Super + Shift and left mouse button, or via the keyboard with Super + Control + [hl].

Pressing Super allows you to preview all workspaces in the current output. You can use your mouse to select a workspace. HJKL, Enter, Home and End can be used to select a workspace with your keyboard.

To move a window to another workspace, simply press Super + Shift + HJKL.
When the modifier key Super is held down, you can scroll down and up to adjust the opacity of the window.
To reload the configuration, simply save the config file. Most of the options are automatically reloaded.
Press Control + Alt + Backspace.
TODO: Add a configuration option.
To change the configuration of Wayfire, copy wayfire.ini to ~/.config/wayfire.ini and edit it with a text editor.
For a complete reference, see the Configuration document.
~/.config/wayfire.ini
[input]
xkb_layout = us,fr
xkb_variant = dvorak,bepoSee Input for more information.
Open Alacritty, kitty or another terminal:
~/.config/wayfire.ini
[command]
binding_terminal = <super> KEY_ENTER
command_terminal = alacrittySee Command for more information.
Example – Run Wofi, a graphical launcher, similar to dmenu:
~/.config/wayfire.ini
[command]
binding_launcher = <super> <shift> KEY_ENTER
command_launcher = wofiNote: Add mode=run or mode=drun to ~/.config/wofi/config.
You can also specify the mode with --show option.
You might prefer fzf running in a terminal.
Example – Run Launcher with fzf and Alacritty:
~/.config/wayfire.ini
[command]
binding_launcher = <super> <shift> KEY_ENTER
command_launcher = alacritty --command sh -c 'nohup launcher-run $(launcher-list | fzf) > /dev/null'See Command for more information.
You can use wf-background, provided by wf-shell.
~/.config/wayfire.ini
[autostart]
background = wf-backgroundSee Autostart for more information.
If you prefer swaybg, adapt the command as follows.
Example – Simple:
swaybg --image /path/to/wallpaper.webpExample – Random wallpaper:
find -L /path/to/wallpapers -type f | sort -R | head -n 1 | xargs swaybg --imageYou can use wf-panel and wf-dock, provided by wf-shell.
~/.config/wayfire.ini
[autostart]
panel = wf-panel
dock = wf-dockYou can also use Waybar if you prefer it.
~/.config/wayfire.ini
[autostart]
bar = waybarSee Autostart for more information.
Example configuration:
~/.config/kanshi/config
[eDP-1]
mode = [email protected]
layout = 0,0
transform = normal
scale = 1.000000See Output for more information.
Example configuration with kanshi:
~/.config/kanshi/config
{
output eDP-1 mode 1920x1080 position 0,0
}
{
output eDP-1 mode 1920x1080 position 0,900
output HDMI-A-1 mode 1440x900 position 0,0
}
You can get the names of your outputs with wlr-randr.
And start kanshi on startup with Autostart.
Example configuration with swayidle and swaylock:
~/.config/wayfire.ini
[autostart]
idle = swayidle before-sleep swaylock
[idle]
toggle = <super> KEY_Z
screensaver_timeout = 300
dpms_timeout = 600- Disables the compositor going idle with Super + z.
- This will lock your screen after 300 seconds of inactivity, then turn off your displays after another 300 seconds.
See Autostart and Idle for more information.
Lock your screen with swaylock:
~/.config/wayfire.ini
[command]
binding_lock = <super> KEY_ESC
command_lock = swaylockSee Command for more information.
Logout with wlogout:
~/.config/wayfire.ini
[command]
binding_logout = <super> <shift> KEY_ESC
command_logout = wlogoutSee Command for more information.
Example – Changing the volume with ALSA:
~/.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%-
binding_mute = KEY_MUTE
command_mute = amixer set Master toggleExample – Changing the volume with PulseAudio:
~/.config/wayfire.ini
[command]
repeatable_binding_volume_up = KEY_VOLUMEUP
command_volume_up = pactl set-sink-volume 0 +5%
repeatable_binding_volume_down = KEY_VOLUMEDOWN
command_volume_down = pactl set-sink-volume 0 -5%
binding_mute = KEY_MUTE
command_mute = pactl set-sink-mute 0 toggleSee Command for more information.
Example – Changing the screen brightness with Light:
~/.config/wayfire.ini
[command]
repeatable_binding_light_up = KEY_BRIGHTNESSUP
command_light_up = sudo light -A 5
repeatable_binding_light_down = KEY_BRIGHTNESSDOWN
command_light_down = sudo light -U 5Note: The command requires sudo.
See Command for more information.
Taking screenshots with grim and slurp:
~/.config/wayfire.ini
[command]
binding_screenshot = KEY_PRINT
command_screenshot = grim $(date '+%F_%T').webp
binding_screenshot_interactive = <shift> KEY_PRINT
command_screenshot_interactive = slurp | grim -g - $(date '+%F_%T').webpSee Command for more information.
See wf-recorder and wlrobs.
You can maximize specific windows by default with the following command:
~/.config/wayfire.ini
[window-rules]
alacritty = app-id Alacritty created -> set maximizedYou can get the properties of your applications with the following command:
WAYLAND_DEBUG=1 alacritty 2>&1 | kakSee Window rules for more information.