# Default config for Wayfire # # Copy this to ~/.config/wayfire.ini and edit it to your liking. # # Take the tutorial to get started. # https://github.com/WayfireWM/wayfire/wiki/Tutorial # # Read the Configuration document for a complete reference. # https://github.com/WayfireWM/wayfire/wiki/Configuration # Input configuration ────────────────────────────────────────────────────────── # Example configuration: # [input] xkb_layout = fr #xkb_file = "/home/lx/.xkb/symbols/custom-fr" # xkb_variant = dvorak,bepo # # See Input options for a complete reference. # https://github.com/WayfireWM/wayfire/wiki/Configuration#input # Output configuration ───────────────────────────────────────────────────────── # Example configuration: # # [output:eDP-1] # mode = 1920x1080@60000 # layout = 0,0 # transform = normal # scale = 1.000000 # # You can get the names of your outputs with wlr-randr. # https://github.com/emersion/wlr-randr # # See also kanshi for configuring your outputs automatically. # https://wayland.emersion.fr/kanshi/ # # See Output options for a complete reference. # https://github.com/WayfireWM/wayfire/wiki/Configuration#output # Core options ───────────────────────────────────────────────────────────────── [core] # List of plugins to be enabled. # See the Configuration document for a complete list. plugins = \ alpha \ animate \ autostart \ command \ cube \ decoration \ expo \ fast-switcher \ fisheye \ grid \ idle \ invert \ move \ oswitch \ place \ resize \ switcher \ vswitch \ window-rules \ wobbly \ wrot \ zoom # Note: [blur] is not enabled by default, because it can be resource-intensive. # Feel free to add it to the list if you want it. # You can find its documentation here: # https://github.com/WayfireWM/wayfire/wiki/Configuration#blur # Close focused window. close_top_view = KEY_Q | KEY_F4 # Workspaces arranged into a grid: 3 × 3. vwidth = 4 vheight = 3 # Prefer client-side decoration or server-side decoration preferred_decoration_mode = client # Mouse bindings ─────────────────────────────────────────────────────────────── # Drag windows by holding down Super and left mouse button. [move] activate = BTN_LEFT # Resize them with right mouse button + Super. [resize] activate = BTN_RIGHT # Zoom in the desktop by scrolling + Super. [zoom] modifier = # Change opacity by scrolling with Super + Alt. [alpha] modifier = # Rotate windows with the mouse. [wrot] activate = BTN_RIGHT # Fisheye effect. [fisheye] toggle = KEY_F # Decorations ────────────────────────────────────────────────────────────────── [decoration] border_size = 1 title-height = 16 #font = "sans-serif:12px" # Startup commands ───────────────────────────────────────────────────────────── [autostart] # Automatically start background and panel. # Set to false if you want to override the default clients. autostart_wf_shell = false # Set the wallpaper, start a panel and dock if you want one. # https://github.com/WayfireWM/wf-shell # # These are started by the autostart_wf_shell option above. # background = wf-background # panel = wf-panel # dock = wf-dock # Output configuration # https://wayland.emersion.fr/kanshi/ outputs = kanshi # Notifications # https://wayland.emersion.fr/mako/ # notifications = mako # Screen color temperature # https://sr.ht/~kennylevinsen/wlsunset/ gamma = wlsunset # Idle configuration # https://github.com/swaywm/swayidle # https://github.com/swaywm/swaylock idle = swayidle before-sleep swaylock # XDG desktop portal # Needed by some GTK applications portal = /usr/libexec/xdg-desktop-portal fix_dbus = dbus-update-activation-environment --systemd DBUS_SESSION_BUS_ADDRESS DISPLAY XAUTHORITY # Example configuration: # # [idle] # toggle = 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. # Applications ───────────────────────────────────────────────────────────────── [command] # Start a terminal # https://github.com/alacritty/alacritty binding_terminal = KEY_ENTER command_terminal = alacritty # Start your launcher # https://hg.sr.ht/~scoopta/wofi # Note: Add mode=run or mode=drun to ~/.config/wofi/config. # You can also specify the mode with --show option. binding_launcher = KEY_ENTER | KEY_P command_launcher = wofi -S run # Screen locker # https://github.com/swaywm/swaylock binding_lock = KEY_X command_lock = swaylock -c 111111 # Logout # https://github.com/ArtsyMacaw/wlogout binding_logout = KEY_E command_logout = wlogout # Screenshots # https://wayland.emersion.fr/grim/ # https://wayland.emersion.fr/slurp/ binding_screenshot = KEY_PRINT command_screenshot = grim $(date '+%F_%T').webp binding_screenshot_interactive = KEY_PRINT command_screenshot_interactive = slurp | grim -g - $(date '+%F_%T').webp # Volume controls # https://alsa-project.org repeatable_binding_volume_up = KEY_VOLUMEUP #command_volume_up = amixer set Master 5%+ command_volume_up = pactl set-sink-mute @DEFAULT_SINK@ false && pactl set-sink-volume @DEFAULT_SINK@ +5% repeatable_binding_volume_down = KEY_VOLUMEDOWN #command_volume_down = amixer set Master 5%- command_volume_down = pactl set-sink-mute @DEFAULT_SINK@ false && pactl set-sink-volume @DEFAULT_SINK@ -5% binding_mute = KEY_MUTE #command_mute = amixer set Master toggle command_mute = pactl set-sink-mute @DEFAULT_SINK@ toggle # Screen brightness # https://haikarainen.github.io/light/ repeatable_binding_light_up = KEY_BRIGHTNESSUP command_light_up = light -A 5 repeatable_binding_light_down = KEY_BRIGHTNESSDOWN command_light_down = light -U 5 # Windows ────────────────────────────────────────────────────────────────────── # Position the windows in certain regions of the output. [grid] # # ⇱ ↑ ⇲ │ 7 8 9 # ← f → │ 4 5 6 # ⇱ ↓ ⇲ d │ 1 2 3 0 # ‾ ‾ slot_bl = KEY_KP1 | KEY_X slot_b = KEY_KP2 | KEY_C slot_br = KEY_KP3 | KEY_V slot_l = KEY_LEFT | KEY_KP4 | KEY_S slot_c = KEY_UP | KEY_KP5 | KEY_D slot_r = KEY_RIGHT | KEY_KP6 | KEY_F slot_tl = KEY_KP7 | KEY_W slot_t = KEY_KP8 | KEY_E slot_tr = KEY_KP9 | KEY_R # Restore default. restore = KEY_DOWN | KEY_KP0 | KEY_D # Change active window with an animation. [switcher] next_view = KEY_TAB prev_view = KEY_TAB # Simple active window switcher. [fast-switcher] #activate = KEY_ESC activate = KEY_TAB # Workspaces ─────────────────────────────────────────────────────────────────── # Switch to workspace. [vswitch] binding_left = KEY_H binding_down = KEY_J binding_up = KEY_K binding_right = KEY_L # Move the focused window with the same key-bindings, but add Shift. binding_win_left = KEY_H binding_win_down = KEY_J binding_win_up = KEY_K binding_win_right = KEY_L # Show the current workspace row as a cube. [cube] activate = BTN_LEFT # Switch to the next or previous workspace. #rotate_left = KEY_H #rotate_right = KEY_L # Show an overview of all workspaces. [expo] toggle = # Select a workspace. # Workspaces are arranged into a grid of 3 × 3. # The numbering is left to right, line by line. # # ⇱ k ⇲ # h ⏎ l # ⇱ j ⇲ # ‾ ‾ # See core.vwidth and core.vheight for configuring the grid. select_workspace_1 = KEY_1 select_workspace_2 = KEY_2 select_workspace_3 = KEY_3 select_workspace_4 = KEY_4 select_workspace_5 = KEY_5 select_workspace_6 = KEY_6 select_workspace_7 = KEY_7 select_workspace_8 = KEY_8 select_workspace_9 = KEY_9 select_workspace_10 = KEY_0 # Outputs ────────────────────────────────────────────────────────────────────── # Change focused output. [oswitch] # Switch to the next output. next_output = KEY_O # Same with the window. next_output_with_win = KEY_O # Invert the colors of the whole output. [invert] toggle = KEY_I # Rules ──────────────────────────────────────────────────────────────────────── # Example configuration: # # [window-rules] # maximize_alacritty = on created if app_id is "Alacritty" then maximize # # You can get the properties of your applications with the following command: # $ WAYLAND_DEBUG=1 alacritty 2>&1 | kak # # See Window rules for a complete reference. # https://github.com/WayfireWM/wayfire/wiki/Configuration#window-rules