# Input configuration ────────────────────────────────────────────────────────── [input] xkb_layout = de xkb_variant = us #mouse_accel_profile = flat # I like to use this with my external mouse but I have not configured it # Core options ───────────────────────────────────────────────────────────────── [core] plugins = \ alpha \ animate \ autostart \ command \ fast-switcher \ grid \ idle \ invert \ move \ oswitch \ place \ resize \ switcher \ vswitch \ window-rules \ wm-actions \ wrot \ zoom \ expo \ follow-focus \ blur \ scale background_color = 0 0 0 1 # Close focused window. close_top_view = KEY_Q | KEY_F4 # Workspaces arranged into a grid: 3 × 3. vwidth = 5 vheight = 5 # Prefer client-side decoration or server-side decoration preferred_decoration_mode = server [place] mode = cascade # 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 # Startup commands ───────────────────────────────────────────────────────────── [autostart] #background = feh Downloads/milad-fakurian-seA-FPPXL-M-unsplash.jpg automatic_output_configuration = kanshi notification_daemon = mako information_bar = waybar #gamma = gammastep -l 7:51 -t 6500:3000 -b 1:0.8 idle = swayidle before-sleep export LAST_BRIGHTNESS=$(light -G) && light -S 1 && swaylock -i Downloads/lock.png -u && light -S $LAST_BRIGHTNESS #idle = swayidle before-sleep swaylock --color 000000 portal = /usr/libexec/xdg-desktop-portal element_dekstop = element-desktop firefox_main = firefox [window-rules] rule_element_desktop_0 = on created if app_id is "element-desktop" then assign_workspace 2 5 rule_element_desktop_1 = on created if app_id is "element-desktop" then maximise # Applications ───────────────────────────────────────────────────────────────── [command] binding_terminal = KEY_ENTER command_terminal = kitty binding_super_terminal = KEY_ENTER command_super_terminal = kitty mosh root@map-services.in-nue.evl.li binding_qalculate = KEY_Q command_qalculate = qalculate-gtk binding_launcher = KEY_D command_launcher = bemenu-run --fn "atkinson hyperlegible[15]" -b -ip ">" -W 0.8 binding_lock = KEY_L # command_lock = swaylock --color 000000 command_lock = export LAST_BRIGHTNESS=$(light -G) && light -S 1 && swaylock -i Downloads/lock.png -u && light -S $LAST_BRIGHTNESS binding_suspend = KEY_S # command_suspend = swaylock --color 000000 & systemctl suspend command_suspend = export LAST_BRIGHTNESS=$(light -G) && light -S 1 && swaylock -i Downloads/lock.png -u & systemctl suspend & light -S 100 binding_hibrenate = KEY_S command_hibrenate = systemctl hibrenate # Logout # https://github.com/ArtsyMacaw/wlogout binding_logout = KEY_ESC command_logout = wlogout # Screenshots # https://wayland.emersion.fr/grim/ # https://wayland.emersion.fr/slurp/ binding_screenshot = KEY_P command_screenshot = grimshot copy area binding_screenshot2 = command_screenshot2 = grimshot copy area binding_screenshot_interactive = KEY_PRINT command_screenshot_interactive = slurp | grim -g - $(date '+%F_%T').webp # Volume controls repeatable_binding_volume_up = KEY_VOLUMEUP command_volume_up = pactl set-sink-volume @DEFAULT_SINK@ +5% repeatable_binding_volume_down = KEY_VOLUMEDOWN command_volume_down = pactl set-sink-volume @DEFAULT_SINK@ -5% binding_mute = KEY_MUTE 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 ────────────────────────────────────────────────────────────────────── # 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_KP1 slot_b = KEY_KP2 slot_br = KEY_KP3 slot_l = KEY_LEFT | KEY_KP4 slot_c = KEY_UP | KEY_KP5 slot_r = KEY_RIGHT | KEY_KP6 slot_tl = KEY_KP7 slot_t = KEY_KP8 slot_tr = KEY_KP9 # Restore default. restore = KEY_DOWN | KEY_KP0 # 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. with_win_left = KEY_LEFT with_win_down = KEY_DOWN with_win_up = KEY_UP with_win_right = KEY_RIGHT # i3-like bindings binding_1 = KEY_1 binding_2 = KEY_2 binding_3 = KEY_3 binding_4 = KEY_4 binding_5 = KEY_5 binding_6 = KEY_6 binding_7 = KEY_7 binding_8 = KEY_8 binding_9 = KEY_9 binding_10 = KEY_0 send_win_1 = KEY_1 send_win_2 = KEY_2 send_win_3 = KEY_3 send_win_4 = KEY_4 send_win_5 = KEY_5 send_win_6 = KEY_6 send_win_7 = KEY_7 send_win_8 = KEY_8 send_win_9 = KEY_9 send_win_10 = KEY_0 duration = 0 # Outputs ────────────────────────────────────────────────────────────────────── # 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 [animate] close_animation = fade open_animation = fade duration = 100 fire_particles = 32 fire_particle_size = 16 [wobbly] friction = 5 spring_k = 100 grid_resolution = 7 [follow-focus] raise_on_top = false [expo] toggle = KEY_MINUS background = 0.4 0.4 0.5 1 offset = 5 [autostart] 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) [scale] toggle = KEY_A duration = 200 [blur] method=box box_degrade=1