include ayu_mirage # Remap caps lock to escape input * { xkb_options "caps:escape" xkb_layout us,se } input "type:touchpad" { # Palm detection (disable when typing) dwt enabled scroll_factor 0.2125 scroll_method two_finger natural_scroll enabled tap enabled tap_button_map lrm # Cannot change base sensitivity, in sway accel and sensitivity are are intertwined :( pointer_accel 0.225 } # Logo key. Use Mod1 for Alt. set $mod Mod4 # Your preferred terminal emulator set $term ghostty # Your preferred application launcher set $menu wofi --show run -H 360 -W 600 --style $HOME/.config/wofi/style.css | xargs swaymsg exec -- set $printscreen grim -g "$(slurp -b '#00000044' -c '#FFAD66' -w 2)" -t png - | wl-copy -t image/png output * bg /home/larssonmartin/.config/wallpapers/catppuccin/cloudsnight.jpg fill exec_always --no-startup-id ~/.config/sway/idle.sh exec_always --no-startup-id ~/.config/sway/sway_unfocused_effects.py # https://github.com/ErikReider/SwayAudioIdleInhibit # Prevents the system from locking when audio is playing or recording. # This prevents the pc from shutting down when watching youtube for instance. exec_always --no-startup-id sway-audio-idle-inhibit set $swaylock swaylock \ --screenshots \ --clock \ --indicator \ --indicator-radius 100 \ --indicator-thickness 7 \ --effect-blur 9x5 \ --effect-vignette 0.5:0.5 \ --ring-color 73d0ff \ --key-hl-color f28779 \ --line-color 00000000 \ --inside-color 1f2430aa \ --separator-color 00000000 \ --text-color d9d7ce \ --grace 2 \ --fade-in 0.2 exec swayidle -w \ timeout 300 '$swaylock -f' \ timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \ before-sleep '$swaylock -f' set $update_status_bar /run/current-system/sw/bin/kill -s 42 $(cat $status_pid_file) ### Key bindings # Start a terminal bindsym $mod+Return exec $term # Open browser bindsym $mod+b exec firefox # Open audio control bindsym $mod+a exec pavucontrol --tab 1 # Brightness control bindsym XF86MonBrightnessDown exec brightnessctl set 5%- ; $update_status_bar bindsym XF86MonBrightnessUp exec brightnessctl set +5% ; $update_status_bar # Launch bindsym XF86LaunchA exec $menu # Search bindsym XF86Search exec $menu # bindsym XF86AudioRecord # XF86AudioPrev # XF86AudioPlay # XF86AudioNext # Volume control bindsym XF86AudioLowerVolume exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- ; $update_status_bar bindsym XF86AudioRaiseVolume exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ ; $update_status_bar bindsym XF86AudioMute exec wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle ; $update_status_bar bindsym $mod+Shift+p exec $printscreen # Kill focused window bindsym $mod+q kill # Start your launcher bindsym $mod+d exec $menu # Reload the configuration file bindsym $mod+Shift+c reload # Exit sway (logs you out of your Wayland session) bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit' # Switch the keyboard layout bindsym $mod+Shift+space exec ~/.config/sway/toggle_keyboard_layout.sh # # Moving around: # bindsym $mod+h focus left bindsym $mod+j focus down bindsym $mod+k focus up bindsym $mod+l focus right bindsym $mod+Left focus left bindsym $mod+Down focus down bindsym $mod+Up focus up bindsym $mod+Right focus right bindsym $mod+Shift+h mark swap, focus left, swap container with mark swap, focus left bindsym $mod+Shift+j mark swap, focus down, swap container with mark swap, focus down bindsym $mod+Shift+k mark swap, focus up, swap container with mark swap, focus up bindsym $mod+Shift+l mark swap, focus right, swap container with mark swap, focus right bindsym $mod+Shift+Left mark swap, focus left, swap container with mark swap, focus left bindsym $mod+Shift+Down mark swap, focus down, swap container with mark swap, focus down bindsym $mod+Shift+Up mark swap, focus up, swap container with mark swap, focus up bindsym $mod+Shift+Right mark swap, focus right, swap container with mark swap, focus right # Workspaces: # # Switch to workspace bindsym $mod+1 workspace number 1 bindsym $mod+2 workspace number 2 bindsym $mod+3 workspace number 3 bindsym $mod+4 workspace number 4 bindsym $mod+5 workspace number 5 bindsym $mod+6 workspace number 6 bindsym $mod+7 workspace number 7 bindsym $mod+8 workspace number 8 bindsym $mod+9 workspace number 9 bindsym $mod+0 workspace number 10 # Move focused container to workspace bindsym $mod+Shift+1 move container to workspace number 1 bindsym $mod+Shift+2 move container to workspace number 2 bindsym $mod+Shift+3 move container to workspace number 3 bindsym $mod+Shift+4 move container to workspace number 4 bindsym $mod+Shift+5 move container to workspace number 5 bindsym $mod+Shift+6 move container to workspace number 6 bindsym $mod+Shift+7 move container to workspace number 7 bindsym $mod+Shift+8 move container to workspace number 8 bindsym $mod+Shift+9 move container to workspace number 9 bindsym $mod+Shift+0 move container to workspace number 10 # # Layout stuff: # # Inverse the split to match neovim directions bindsym $mod+Shift+v splith bindsym $mod+Shift+s splitv # Switch the current container between different layout styles bindsym $mod+Shift+t layout tabbed # s keybind would make sense, but its in use. g for grid instead bindsym $mod+Shift+g layout toggle split # Make the current focus fullscreen bindsym $mod+Shift+f fullscreen # Move focus to the parent container bindsym $mod+Shift+a focus parent # Resizing containers: # mode "resize" { # left will shrink the containers width # right will grow the containers width # up will shrink the containers height # down will grow the containers height bindsym h resize shrink width 10px bindsym j resize shrink height 10px bindsym k resize grow height 10px bindsym l resize grow width 10px bindsym Left resize shrink width 10px bindsym Down resize shrink height 10px bindsym Up resize grow height 10px bindsym Right resize grow width 10px # Return to default mode bindsym Return mode "default" bindsym Escape mode "default" } bindsym $mod+space mode "resize" # # Status Bar: # # Rea# target title bg text indicator border # client.focused $ayu_regexp $ayu_regexp $ayu_regexp $ayu_entity $ayu_regexp client.focused $ayu_keyword $ayu_keyword $ayu_keyword $ayu_entity $ayu_keyword client.focused_inactive $ayu_ui $ayu_ui $ayu_ui $ayu_entity $ayu_ui client.unfocused $ayu_bg $ayu_bg $ayu_bg $ayu_entity $ayu_bg client.urgent $ayu_keyword $ayu_bg $ayu_fg $ayu_ui $ayu_keyword client.placeholder $ayu_ui $ayu_ui $ayu_fg $ayu_ui $ayu_ui client.background $ayu_bg `man 5 sway-bar` for more information about this section. default_border pixel 2 default_floating_border pixel 2 hide_edge_borders smart_no_gaps gaps inner 6 gaps outer 6 smart_gaps on titlebar_separator disable blur enable blur_radius 6 blur_passes 1 # Optional blur enhancements: blur_noise 0.04 blur_brightness 1.0 blur_contrast 1.0 blur_saturation 1.0 blur_xray true # Dim unfocused windows slightly with a black tint # This is an additional effect on top of the opacity set by the Python script. default_dim_inactive 0.325 dim_inactive_colors.unfocused #00000055 bar { position bottom font pango:CaskaydiaCove NFM SemiLight 14 # When the status_command prints a new line to stdout, swaybar updates. # status_command while date +'%Y-%m-%d %X'; do sleep 1; done status_command ~/.config/sway/status.sh colors { background $ayu_bg statusline $ayu_fg focused_statusline $ayu_fg focused_separator $ayu_bg focused_workspace $ayu_bg $ayu_bg $ayu_accent active_workspace $ayu_bg $ayu_bg $ayu_tag inactive_workspace $ayu_bg $ayu_bg $ayu_ui urgent_workspace $ayu_bg $ayu_bg $ayu_ui binding_mode $ayu_bg $ayu_bg $ayu_ui } } include /etc/sway/config.d/*