nixos-config/sway-config

168 lines
7.3 KiB
Plaintext

include /home/gregory/.config/sway/style-autogen
exec dbus-update-activation-environment WAYLAND_DISPLAY DISPLAY XDG_CURRENT_DESKTOP SWAYSOCK I3SOCK XCURSOR_SIZE XCURSOR_THEME
set $mod Mod4
floating_modifier $mod normal
bindsym --no-warn --to-code $mod+s exec st -e tmux new-session zsh
bindsym --no-warn --to-code $mod+r exec /home/gregory/.config/suckless_desktop/win_r_out/invoke.sh
bindsym --no-warn --to-code $mod+f1 exec pactl set-sink-mute @DEFAULT_SINK@ toggle
bindsym --no-warn --to-code $mod+f2 exec pactl set-sink-volume @DEFAULT_SINK@ -5%
bindsym --no-warn --to-code $mod+f3 exec pactl set-sink-volume @DEFAULT_SINK@ +5%
bindsym --no-warn --to-code XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle
bindsym --no-warn --to-code XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5%
bindsym --no-warn --to-code XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5%
bindsym --no-warn --to-code $mod+Shift+s exec swaylock
bindsym --no-warn Print exec flameshot gui --raw | wl-copy
bindsym --no-warn --to-code $mod+Home exec playerctl previous
bindsym --no-warn --to-code $mod+End exec playerctl next
bindsym --no-warn --to-code $mod+Insert exec playerctl play-pause
bindsym --no-warn --to-code XF86AudioPrev exec playerctl previous
bindsym --no-warn --to-code XF86AudioNext exec playerctl next
bindsym --no-warn --to-code XF86AudioPlay exec playerctl play-pause
bindsym --no-warn --to-code Ctrl+XF86AudioStop exec playerctl loop track
bindsym --no-warn --to-code Ctrl+XF86AudioNext exec playerctl loop playlist
bindsym --no-warn --to-code Ctrl+XF86AudioPlay exec playerctl loop playlist
bindsym --no-warn $mod+f4 kill
bindsym --no-warn --to-code $mod+f5 exec brightnessctl set 5%-
bindsym --no-warn --to-code $mod+f6 exec brightnessctl set 5%+
bindsym --no-warn --to-code XF86MonBrightnessDown exec brightnessctl set 5%-
bindsym --no-warn --to-code XF86MonBrightnessUp exec brightnessctl set 5%+
bindsym --no-warn --to-code $mod+Ctrl+Shift+f4 exec pactl set-source-mute @DEFAULT_SOURCE@ toggle
bindsym --no-warn --to-code XF86AudioMicMute exec pactl set-source-mute @DEFAULT_SOURCE@ toggle
# --- focus with j k l ; (shifted H J K L to the right) ---
bindsym --no-warn --to-code $mod+j focus left
bindsym --no-warn --to-code $mod+k focus down
bindsym --no-warn --to-code $mod+l focus up
bindsym --no-warn --to-code $mod+semicolon focus right
# (optional but handy) move containers with Shift + j/k/l/;
bindsym --no-warn --to-code $mod+Shift+j move left
bindsym --no-warn --to-code $mod+Shift+k move down
bindsym --no-warn --to-code $mod+Shift+l move up
bindsym --no-warn --to-code $mod+Shift+semicolon move right
# --- outputs (screens) ---
# focus another output
bindsym --no-warn --to-code $mod+Ctrl+j focus output left
bindsym --no-warn --to-code $mod+Ctrl+k focus output down
bindsym --no-warn --to-code $mod+Ctrl+l focus output up
bindsym --no-warn --to-code $mod+Ctrl+semicolon focus output right
# send the focused window to another output (and keep it focused)
bindsym --no-warn --to-code $mod+Ctrl+Shift+j move container to output left
bindsym --no-warn --to-code $mod+Ctrl+Shift+k move container to output down
bindsym --no-warn --to-code $mod+Ctrl+Shift+l move container to output up
bindsym --no-warn --to-code $mod+Ctrl+Shift+semicolon move container to output right
# --- window layout switching ---
# choose layouts on U / I / O to avoid conflicts
bindsym --no-warn --to-code $mod+u layout tabbed
bindsym --no-warn --to-code $mod+i layout stacking
# toggle split orientation (splith <-> splitv) for the current container
bindsym --no-warn --to-code $mod+o layout toggle split
# prepare the split direction for the *next* split
bindsym --no-warn --to-code $mod+Shift+o split toggle
bindsym --no-warn --to-code $mod+b splith
bindsym --no-warn --to-code $mod+v splitv
bindsym --no-warn --to-code $mod+Shift+c reload
bindsym --no-warn --to-code $mod+shift+e exec swaynag -t warning -m 'Do you want to exit sway' -B 'Yes' 'swaymsg exit'
bindsym --no-warn --to-code $mod+f fullscreen
bindsym --no-warn --to-code $mod+a focus parent
# Toggle the current focus between tiling and floating mode
bindsym --no-warn --to-code $mod+Ctrl+space floating toggle
# Swap focus between the tiling area and the floating area
bindsym --no-warn --to-code $mod+Shift+Ctrl+space focus mode_toggle
# Move the currently focused window to the scratchpad
bindsym $mod+Shift+minus move scratchpad
# Show the next scratchpad window or hide the focused scratchpad window.
# If there are multiple scratchpad windows, this command cycles through them.
bindsym $mod+minus scratchpad show
bindsym --no-warn $mod+1 workspace number 1
bindsym --no-warn $mod+2 workspace number 2
bindsym --no-warn $mod+3 workspace number 3
bindsym --no-warn $mod+4 workspace number 4
bindsym --no-warn $mod+5 workspace number 5
bindsym --no-warn $mod+6 workspace number 6
bindsym --no-warn $mod+7 workspace number 7
bindsym --no-warn $mod+8 workspace number 8
bindsym --no-warn $mod+9 workspace number 9
bindsym --no-warn $mod+0 workspace number 10
bindsym --no-warn $mod+Shift+1 move container to workspace number 1
bindsym --no-warn $mod+Shift+2 move container to workspace number 2
bindsym --no-warn $mod+Shift+3 move container to workspace number 3
bindsym --no-warn $mod+Shift+4 move container to workspace number 4
bindsym --no-warn $mod+Shift+5 move container to workspace number 5
bindsym --no-warn $mod+Shift+6 move container to workspace number 6
bindsym --no-warn $mod+Shift+7 move container to workspace number 7
bindsym --no-warn $mod+Shift+8 move container to workspace number 8
bindsym --no-warn $mod+Shift+9 move container to workspace number 9
bindsym --no-warn $mod+Shift+0 move container to workspace number 10
mode "resize" {
bindsym --no-warn --to-code j resize grow left 15px
bindsym --no-warn --to-code k resize grow down 12px
bindsym --no-warn --to-code l resize grow up 12px
bindsym --no-warn --to-code semicolon resize grow right 15px
bindsym --no-warn --to-code Ctrl+j resize grow left 55px
bindsym --no-warn --to-code Ctrl+k resize grow down 40px
bindsym --no-warn --to-code Ctrl+l resize grow up 40px
bindsym --no-warn --to-code Ctrl+semicolon resize grow right 55px
bindsym --no-warn --to-code Shift+j resize shrink left 15px
bindsym --no-warn --to-code Shift+k resize shrink down 12px
bindsym --no-warn --to-code Shift+l resize shrink up 12px
bindsym --no-warn --to-code Shift+semicolon resize shrink right 15px
bindsym --no-warn --to-code Shift+Ctrl+j resize shrink left 55px
bindsym --no-warn --to-code Shift+Ctrl+k resize shrink down 40px
bindsym --no-warn --to-code Shift+Ctrl+l resize shrink up 40px
bindsym --no-warn --to-code Shift+Ctrl+semicolon resize shrink right 55px
bindsym --no-warn Return mode "default"
bindsym --no-warn Escape mode "default"
}
bindsym --no-warn $mod+w mode "resize"
mode "party" {
bindsym Escape mode "default"
}
bindsym $mod+p mode "party"
bar one {
position top
status_command ~/.config/sway/batshit.sh
colors {
statusline #ffffff
background #323232
inactive_workspace #32323200 #32323200 #5c5c5c
}
}
bar * colors {
statusline #ff88aa
}
set $bg /etc/nixos/assets/ribbit.jpg
output * bg $bg fill
input * repeat_delay 250
input * repeat_rate 30
input * {
xkb_layout "us,ru"
xkb_options "grp:win_space_toggle"
}