198 lines
5.7 KiB
Plaintext
198 lines
5.7 KiB
Plaintext
### Variables
|
|
|
|
# Main keys
|
|
set $mod Mod4
|
|
|
|
set $alt Mod1
|
|
# Home row direction keys, like vim
|
|
set $left h
|
|
set $down j
|
|
set $up k
|
|
set $right l
|
|
|
|
# Your preferred terminal emulator
|
|
set $term alacritty
|
|
|
|
# Your preferred application launcher
|
|
set $menu rofi -show run
|
|
|
|
# Workspaces
|
|
set $ws1 "1"
|
|
set $ws2 "2"
|
|
set $ws3 "3"
|
|
set $ws4 "4"
|
|
set $ws5 "5"
|
|
set $ws6 "6"
|
|
set $ws7 "7"
|
|
set $ws8 "8"
|
|
set $ws9 "9"
|
|
set $ws10 "10"
|
|
|
|
|
|
|
|
# ____ _____ _ _ _____ ____ _ _
|
|
# / ___| ____| \ | | ____| _ \ / \ | |
|
|
# | | _| _| | \| | _| | |_) | / _ \ | |
|
|
# | |_| | |___| |\ | |___| _ < / ___ \| |___
|
|
# \____|_____|_| \_|_____|_| \_\/_/ \_\_____|
|
|
#
|
|
default_border none
|
|
smart_borders on
|
|
focus_follows_mouse no
|
|
gaps inner 10
|
|
floating_modifier $mod normal
|
|
|
|
# Draw wallpaper
|
|
output * bg `$HOME/dotfiles/bin/get-random-wallpaper.py` fill
|
|
|
|
# Keyboard layout
|
|
input * {
|
|
xkb_layout "us,ru"
|
|
xkb_options "grp:win_space_toggle"
|
|
}
|
|
|
|
|
|
|
|
|
|
# _ ____ ____ _ ___ ____ _ _____ ___ ___ _ _ ____
|
|
# / \ | _ \| _ \| | |_ _/ ___| / \|_ _|_ _/ _ \| \ | / ___|
|
|
# / _ \ | |_) | |_) | | | | | / _ \ | | | | | | | \| \___ \
|
|
# / ___ \| __/| __/| |___ | | |___ / ___ \| | | | |_| | |\ |___) |
|
|
# /_/ \_\_| |_| |_____|___\____/_/ \_\_| |___\___/|_| \_|____/
|
|
#
|
|
# Start applications with keybindings
|
|
bindsym $alt+f exec firefox
|
|
bindsym $alt+r exec alacritty -e ranger
|
|
bindsym $alt+s exec steam
|
|
|
|
# Assign specific applications their workspaces
|
|
assign [class="firefox"] $ws1
|
|
assign [class="Steam"] $ws3
|
|
|
|
# Default settings for some applications
|
|
for_window [class="Steam"] floating enable
|
|
for_window [class="mpv"] floating enable
|
|
for_window [class="mpv"] move absolute center
|
|
for_window [class="MuPDF"] floating enable
|
|
|
|
|
|
|
|
# _ _ _ _____ ___ ____ _____ _ ____ _____
|
|
# / \ | | | |_ _/ _ \/ ___|_ _|/ \ | _ \_ _|
|
|
# / _ \| | | | | || | | \___ \ | | / _ \ | |_) || |
|
|
# / ___ \ |_| | | || |_| |___) || |/ ___ \| _ < | |
|
|
# /_/ \_\___/ |_| \___/|____/ |_/_/ \_\_| \_\|_|
|
|
#
|
|
exec_always --no-startup-id $HOME/.config/waybar/launch.sh
|
|
exec_always --no-startup-id dunst &
|
|
exec_always --no-startup-id $HOME/dotfiles/bin/inactive-windows-transparency.py &
|
|
|
|
|
|
|
|
# _ _________ ______ ___ _ _ ____ ___ _ _ ____ ____
|
|
# | |/ / ____\ \ / / __ )_ _| \ | | _ \_ _| \ | |/ ___/ ___|
|
|
# | ' /| _| \ V /| _ \| || \| | | | | || \| | | _\___ \
|
|
# | . \| |___ | | | |_) | || |\ | |_| | || |\ | |_| |___) |
|
|
# |_|\_\_____| |_| |____/___|_| \_|____/___|_| \_|\____|____/
|
|
#
|
|
|
|
# Bind media keys on a keyboard to control volume and playback
|
|
bindsym XF86AudioRaiseVolume exec --no-startup-id pamixer -i 2
|
|
bindsym XF86AudioLowerVolume exec --no-startup-id pamixer -d 2
|
|
bindsym XF86AudioMute exec --no-startup-id pamixer -t
|
|
bindsym XF86AudioPlay exec playerctl play-pause
|
|
bindsym XF86AudioNext exec playerctl next
|
|
bindsym XF86AudioPrev exec playerctl previous
|
|
|
|
# Make screenshots
|
|
bindsym $mod+Home exec $HOME/dotfiles/bin/wlshot copy
|
|
bindsym $mod+Shift+Home exec $HOME/dotfiles/bin/wlshot save
|
|
|
|
# Lock screen
|
|
bindsym $mod+Shift+s exec --no-startup-id swaylock -i `$HOME/dotfiles/bin/get-random-wallpaper.py` --font FiraCode
|
|
|
|
# Start a terminal
|
|
bindsym $mod+Return exec $term
|
|
|
|
# Kill focused window
|
|
bindsym $mod+Shift+q kill
|
|
|
|
# Start your launcher
|
|
bindsym $mod+d exec $menu
|
|
|
|
# Reload the configuration file
|
|
bindsym $mod+Shift+r reload
|
|
|
|
# Move focus
|
|
bindsym $mod+$left focus left
|
|
bindsym $mod+$down focus down
|
|
bindsym $mod+$up focus up
|
|
bindsym $mod+$right focus right
|
|
|
|
# Move focused windows
|
|
bindsym $mod+Shift+$left move left
|
|
bindsym $mod+Shift+$down move down
|
|
bindsym $mod+Shift+$up move up
|
|
bindsym $mod+Shift+$right move right
|
|
|
|
# Cycle through workspaces
|
|
bindsym $mod+Tab workspace next
|
|
bindsym $mod+Shift+Tab workspace prev
|
|
|
|
# Switch to workspace
|
|
bindsym $mod+1 workspace number $ws1
|
|
bindsym $mod+2 workspace number $ws2
|
|
bindsym $mod+3 workspace number $ws3
|
|
bindsym $mod+4 workspace number $ws4
|
|
bindsym $mod+5 workspace number $ws5
|
|
bindsym $mod+6 workspace number $ws6
|
|
bindsym $mod+7 workspace number $ws7
|
|
bindsym $mod+8 workspace number $ws8
|
|
bindsym $mod+9 workspace number $ws9
|
|
bindsym $mod+0 workspace number $ws10
|
|
|
|
# Move focused container to workspace
|
|
bindsym $mod+Shift+1 move container to workspace number $ws1
|
|
bindsym $mod+Shift+2 move container to workspace number $ws2
|
|
bindsym $mod+Shift+3 move container to workspace number $ws3
|
|
bindsym $mod+Shift+4 move container to workspace number $ws4
|
|
bindsym $mod+Shift+5 move container to workspace number $ws5
|
|
bindsym $mod+Shift+6 move container to workspace number $ws6
|
|
bindsym $mod+Shift+7 move container to workspace number $ws7
|
|
bindsym $mod+Shift+8 move container to workspace number $ws8
|
|
bindsym $mod+Shift+9 move container to workspace number $ws9
|
|
bindsym $mod+Shift+0 move container to workspace number $ws10
|
|
|
|
# Change split mode
|
|
bindsym $mod+g splith
|
|
bindsym $mod+v splitv
|
|
|
|
# Switch the current container between different layout styles
|
|
bindsym $mod+s layout stacking
|
|
bindsym $mod+w layout tabbed
|
|
bindsym $mod+e layout toggle split
|
|
|
|
# Toggle between layout modes
|
|
bindsym $mod+x layout toggle
|
|
|
|
# Make the current focus fullscreen
|
|
bindsym $mod+f fullscreen
|
|
|
|
# Toggle the current focus between tiling and floating mode
|
|
bindsym $mod+z floating toggle
|
|
|
|
### Resize mode
|
|
mode "resize" {
|
|
bindsym $left resize shrink width 10px
|
|
bindsym $down resize grow height 10px
|
|
bindsym $up resize shrink height 10px
|
|
bindsym $right resize grow width 10px
|
|
|
|
# Return to default mode
|
|
bindsym Return mode "default"
|
|
bindsym Escape mode "default"
|
|
}
|
|
bindsym $mod+r mode "resize"
|
|
|
|
include /etc/sway/config.d/*
|