dotfiles/.config/sway/config

185 lines
5.8 KiB
Plaintext

#
# Copy this to ~/.config/sway/config and edit it to your liking.
#
# Read `man 5 sway` for a complete reference.
set $mod Mod4
set $left h
set $down j
set $up k
set $right l
set $term alacritty
set $browser librewolf
# Note: pass the final command to swaymsg so that the resulting window can be opened
set $menu wofi -S run | xargs swaymsg exec --
exec --no-startup-id ydotoold
exec --no-startup-id dunst -b
exec --no-startup-id rand-wallpaper
exec --no-startup-id webcord.sh
exec --no-startup-id autotiling
exec --no-startup-id nm-applet --indicator
exec --no-startup-id mqtt_notify.lua >/tmp/mqtt_notify.log
exec --no-startup-id element-desktop
exec --no-startup-id "sleep 1; nextcloud"
assign [class="Element"] workspace number 8
assign [app_id="WebCord"] workspace number 9
workspace 1 output DP-1
workspace 9 output eDP-1
for_window [app_id="scratch_term"] move scratchpad, resize set 960 640
for_window [app_id="scratch_calc"] move scratchpad, resize set 960 640
for_window [app_id="scratch_cmus"] move scratchpad, resize set 960 640
for_window [app_id="scratch_htop"] move scratchpad, resize set 960 640
# gnome time
set $gnome-schema org.gnome.desktop.interface
exec_always {
gsettings set $gnome-schema gtk-theme 'Adwaita-dark'
gsettings set $gnome-schema icon-theme 'Adwaita'
gsettings set $gnome-schema font-name 'Cantarell 11'
gsettings set org.gnome.desktop.default-applications.terminal exec $term
}
# swaymsg -t get_outputs
#output eDP-1 resolution 3840x2400 position 2133,0
#output DP-1 resolution 2560x1440 position 0,0 scale 1.2
output eDP-1 resolution 3840x2400 position 1920,0
output DP-1 resolution 1920x1080 position 0,0
input "type:keyboard" {
xkb_layout us
xkb_options compose:menu,caps:escape
}
# Idle configuration
exec swayidle -w \
timeout 300 'swaylock -f -c 14171d' \
timeout 300 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' \
before-sleep 'swaylock -f -c 14171d'
floating_modifier $mod normal
gaps inner 12
default_border pixel 2
default_floating_border pixel 2
# Key bindings
bindsym $mod+Shift+Escape exit
bindsym Print exec screenshot
bindsym Shift+Print exec slurp -p | grim -g - - | convert - txt:- | tail -n 1 | awk '{print $3}' | wl-copy
bindsym $mod+Return exec $term
bindsym $mod+space focus mode_toggle
bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5%
bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5%
bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle
bindsym XF86AudioMicMute exec pactl set-source-mute @DEFAULT_SOURCE@ toggle
bindsym XF86MonBrightnessDown exec brightnessctl set 5%-
bindsym XF86MonBrightnessUp exec brightnessctl set 5%+
bindsym XF86AudioPlay exec playerctl play-pause
bindsym XF86AudioNext exec playerctl next
bindsym XF86AudioPrev exec playerctl previous
bindsym XF86Search exec $menu
bindsym $mod+F5 reload
bindsym $mod+F2 exec mpv ~/videos/soviet.webm
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+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
# Kill focused window
bindsym $mod+q kill
bindsym $mod+Shift+q exec xkill
bindsym $mod+w exec $browser
bindsym $mod+e move workspace to output left
bindsym $mod+r move workspace to output right
bindsym $mod+t floating toggle
bindsym $mod+y exec ~/.config/sway/scratchpads.sh scratch_term zsh
bindsym $mod+u exec dmenu_specialchars
bindsym $mod+Shift+u exec dmenu_unicode
bindsym $mod+i exec ~/.config/sway/scratchpads.sh scratch_calc ~/.cargo/bin/complexpr
bindsym $mod+o exec ~/.config/sway/scratchpads.sh scratch_cmus cmus
bindsym $mod+p exec ~/.config/sway/scratchpads.sh scratch_htop htop
# Move focus to the parent container
bindsym $mod+a focus parent
bindsym $mod+s exec prismlauncher
# Start your launcher
bindsym $mod+d exec $menu
bindsym $mod+Shift+d exec dmenu_editconfig
bindsym $mod+f fullscreen
bindsym $mod+g exec vscodium --enable-features=UseOzonePlatform --ozone-platform=wayland
bindsym $mod+h focus left
bindsym $mod+Shift+h move left
bindsym $mod+Ctrl+h resize shrink width 10px
bindsym $mod+j focus down
bindsym $mod+Shift+j move down
bindsym $mod+Ctrl+j resize grow height 10px
bindsym $mod+k focus up
bindsym $mod+Shift+k move up
bindsym $mod+Ctrl+k resize shrink height 10px
bindsym $mod+l focus right
bindsym $mod+Shift+l move right
bindsym $mod+Ctrl+l resize grow width 10px
bindsym $mod+c exec dmenu_kblayout
bindsym $mod+b splith
bindsym $mod+v splitv
bindsym $mod+n exec pkill -USR1 gammastep || gammastep -O 4000
bindsym $mod+Shift+n exec pkill -USR1 gammastep || gammastep -O 2500
bindgesture swipe:right workspace next
bindgesture swipe:left workspace prev
# class border backgr. text indicator child_border
client.focused #4d4754 #14171d #ffffff #ada0a8 #4d4754
client.focused_inactive #14171d #14171d #ffffff #4d4754 #14171d
client.unfocused #14171d #14171d #ffffff #4d4754 #14171d
client.urgent #a63a3a #a63a3a #ffffff #cc5c5c #a63a3a
client.placeholder #14171d #14171d #ffffff #14171d #14171d
client.background #14171d
# Status Bar:
bar {
swaybar_command waybar
}
# SwayFX
corner_radius 6
shadows on
shadow_blur_radius 8
shadow_color #14171db0
include /etc/sway/config.d/*