# 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 = us xkb_variant = dvorak,bepo natural_scroll = enabled # # See Input options for a complete reference. # https://github.com/WayfireWM/wayfire/wiki/Configuration#input [input-device:Wacom One by Wacom S Pen] output = eDP-1 # # Output configuration ───────────────────────────────────────────────────────── # Example configuration: # [output:eDP-1] #mode = 1920x1080@60000 mode = 2400x1350@60000 position = 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 \ wm-actions \ wobbly \ wrot \ zoom \ spacing # 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 = 3 vheight = 3 # Prefer client-side decoration or server-side decoration preferred_decoration_mode = server # 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 # Startup commands ───────────────────────────────────────────────────────────── [autostart] # Automatically start background and panel. # Set to false if you want to override the default clients. environment = dbus-update-activation-environment --systemd WAYLAND_DISPLAY DISPLAY XAUTHORITY autostart_wf_shell = false # chromium screenshare 0_0 = systemctl --user import-environment xdg = sleep 1 && (XDG_SESSION_TYPE=wayland XDG_CURRENT_DESKTOP=sway /usr/lib/xdg-desktop-portal --replace & /usr/lib/xdg-desktop-portal-wlr) # 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 = swaybg -i $HOME/.config/swaylock/bg.png panel = waybar # dock = wf-dock # Output configuration # https://wayland.emersion.fr/kanshi/ # outputs = kanshi #email = geary # Notifications # https://wayland.emersion.fr/mako/ notifications = mako # input fcitx5 = fcitx # KDEConnect kdeconnect = kdeconnect-indicator # 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 # Example configuration: # [idle] # toggle = KEY_Z screensaver_timeout = 360000 dpms_timeout = 360000 # # 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_T command_terminal = tilix # 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 command_launcher = wofi # Screen locker # https://github.com/swaywm/swaylock binding_lock = KEY_ESC command_lock = swaylock -C $HOME/.config/swaylock/conig # Logout # https://github.com/ArtsyMacaw/wlogout binding_logout = KEY_ESC command_logout = nwgbar # command_logout = wlogout -p xdg # Screenshots # https://wayland.emersion.fr/grim/ # https://wayland.emersion.fr/slurp/ binding_screenshot = KEY_SYSRQ command_screenshot = grim ~/Pictures/$(date '+%F_%T').png binding_screenshot_interactive = KEY_SYSRQ command_screenshot_interactive = slurp | grim -g - ~/Pictures/$(date '+%F_%T').png binding_screenshot_clipboard = KEY_SYSRQ command_screenshot_clipboard = slurp -b ff00ff20 -B ff00ff20 -c ff00ff80 -o | grim -g - - | wl-copy --type image/png # Screencast binding_screencast = KEY_SYSRQ command_screencast = wf-recorder -f $HOME/Videos/$(date '+%F_%T').mp4 binding_screencast_voice = KEY_SYSRQ command_screencast_voice = wf-recorder -a -f $HOME/Videos/$(data '+%F_%T').mp4 binding_screencast_stop = KEY_SYSRQ command_screencast_stop = killall -INT wf-recorder binding_kooha = KEY_R command_kooha = kooha # Volume controls alias-utils # https://alsa-project.org repeatable_binding_volume_up = KEY_F3 command_volume_up = pulsemixer --change-volume +5 repeatable_binding_volume_down = KEY_F2 command_volume_down = pulsemixer --change-volume -5 binding_mute = KEY_F1 command_mute = pulsemixer --mute binding_unmute = KEY_F1 command_unmate = pulsemixer --unmute # Screen brightness # https://haikarainen.github.io/light/ # repeatable_binding_light_up = KEY_F7 # command_light_up = light -A 5 # repeatable_binding_light_down = KEY_7 # command_light_down = light -U 5 # Windows ────────────────────────────────────────────────────────────────────── # Actions related to window management functionalities. # # Example configuration: # [wm-actions] toggle_fullscreen = KEY_F toggle_always_on_top = KEY_X toggle_sticky = KEY_X # 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_F1 slot_b = KEY_DOWN | KEY_F2 slot_br = KEY_F3 slot_l = KEY_LEFT | KEY_F4 slot_c = KEY_F5 slot_r = KEY_RIGHT | KEY_F6 slot_tl = KEY_F7 slot_t = KEY_UP | KEY_F8 slot_tr = KEY_F9 # Restore default. restore = KEY_F10 # Change active window with an animation. [switcher] next_view = KEY_TAB prev_view = KEY_TAB # Simple active window switcher. [fast-switcher] activate = KEY_ESC # Workspaces ─────────────────────────────────────────────────────────────────── # Switch to workspace. [vswitch] binding_left = KEY_LEFT binding_down = KEY_DOWN binding_up = KEY_UP binding_right = KEY_RIGHT # Move the focused window with the same key-bindings, but add Shift. binding_win_left = KEY_LEFT binding_win_down = KEY_DOWN binding_win_up = KEY_UP binding_win_right = KEY_RIGHT # Show the current workspace row as a cube. [cube] activate = BTN_LEFT # Switch to the next or previous workspace. rotate_left = KEY_R 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 # 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 # Animate [animate] close_animation = fade duration = 300 [decoration] title_height = 0 #broder_size = 1 active_color = \#f9f06bAA inactive_color = \#268bd2AA # 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