190 lines
6.1 KiB
Text
190 lines
6.1 KiB
Text
# TODO:
|
|
#
|
|
# + Super+r should rotate the selected group of windows.
|
|
# + Super+Control+{1-9} should control the size of the preselect space.
|
|
# + Super+Shift+b should balance the size of all selected nodes.
|
|
|
|
set $mod Mod4
|
|
set $default_gap 0
|
|
|
|
exec initctl set-env --global SWAYSOCK="$SWAYSOCK"
|
|
exec initctl set-env --global I3SOCK="$I3SOCK"
|
|
exec initctl set-env --global WAYLAND_DISPLAY="$WAYLAND_DISPLAY"
|
|
exec initctl set-env --global CLUTTER_BACKEND=wayland
|
|
exec initctl set-env --global SDL_VIDEODRIVER=wayland
|
|
exec initctl set-env --global MOZ_ENABLE_WAYLAND=1
|
|
exec initctl emit sway-session
|
|
|
|
focus_wrapping no
|
|
gaps inner $default_gap
|
|
smart_borders on|no_gaps
|
|
hide_edge_borders smart_no_gaps
|
|
default_border pixel 5
|
|
focus_follows_mouse no
|
|
|
|
input type:touchscreen {
|
|
events disabled
|
|
}
|
|
|
|
input type:keyboard {
|
|
repeat_delay 200
|
|
repeat_rate 60
|
|
# I have a keyboard that takes care of this on my workstation, so we only enable
|
|
# this on laptops
|
|
# xkb_options ctrl:nocaps
|
|
}
|
|
|
|
input type:pointer {
|
|
pointer_accel 0
|
|
}
|
|
|
|
input type:touchpad {
|
|
dwt enabled
|
|
tap enabled
|
|
natural_scroll enabled
|
|
middle_emulation enabled
|
|
pointer_accel 0.33
|
|
}
|
|
|
|
bindsym $mod+control+space exec makoctl dismiss
|
|
bindsym $mod+shift+space exec makoctl invoke
|
|
bindsym $mod+return exec kitty --single-instance
|
|
bindsym $mod+shift+return exec floating-term
|
|
bindsym $mod+shift+alt+return exec kitty
|
|
bindsym $mod+c kill
|
|
bindsym $mod+shift+c kill # TODO: kill -9?
|
|
bindsym $mod+space exec app-launcher
|
|
bindsym $mod+shift+s exec clipshot
|
|
bindsym $mod+e exec thunar
|
|
bindsym $mod+shift+r reload
|
|
bindsym $mod+control+Escape exit
|
|
bindsym $mod+shift+e exit
|
|
bindsym $mod+shift+p exec pass-chooser
|
|
bindsym $mod+control+j split v
|
|
bindsym $mod+control+l split h
|
|
bindsym $mod+control+f focus mode_toggle
|
|
|
|
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 move left
|
|
bindsym $mod+shift+j move down
|
|
bindsym $mod+shift+k move up
|
|
bindsym $mod+shift+l move right
|
|
|
|
bindsym $mod+shift+left move left
|
|
bindsym $mod+shift+down move down
|
|
bindsym $mod+shift+up move up
|
|
bindsym $mod+shift+right move right
|
|
|
|
floating_modifier $mod normal
|
|
|
|
bindsym $mod+1 workspace 1
|
|
bindsym $mod+2 workspace 2
|
|
bindsym $mod+3 workspace 3
|
|
bindsym $mod+4 workspace 4
|
|
bindsym $mod+5 workspace 5
|
|
bindsym $mod+6 workspace 6
|
|
bindsym $mod+7 workspace 7
|
|
bindsym $mod+8 workspace 8
|
|
bindsym $mod+9 workspace 9
|
|
bindsym $mod+0 workspace 10
|
|
|
|
bindsym $mod+shift+1 move container to workspace 1
|
|
bindsym $mod+shift+2 move container to workspace 2
|
|
bindsym $mod+shift+3 move container to workspace 3
|
|
bindsym $mod+shift+4 move container to workspace 4
|
|
bindsym $mod+shift+5 move container to workspace 5
|
|
bindsym $mod+shift+6 move container to workspace 6
|
|
bindsym $mod+shift+7 move container to workspace 7
|
|
bindsym $mod+shift+8 move container to workspace 8
|
|
bindsym $mod+shift+9 move container to workspace 9
|
|
bindsym $mod+shift+0 move container to workspace 10
|
|
|
|
bindsym $mod+b splith
|
|
bindsym $mod+v splitv
|
|
|
|
bindsym $mod+shift+f fullscreen
|
|
bindsym $mod+f floating toggle
|
|
bindsym $mod+s floating disable
|
|
bindsym $mod+alt+f focus mode_toggle
|
|
bindsym $mod+p focus parent
|
|
bindsym $mod+period focus child
|
|
bindsym $mod+comma focus child
|
|
bindsym $mod+tab workspace back_and_forth
|
|
|
|
bindsym $mod+minus gaps inner current minus 5
|
|
bindsym $mod+plus gaps inner current plus 5
|
|
bindsym $mod+control+alt+h gaps horizontal current minus 5
|
|
bindsym $mod+control+alt+l gaps horizontal current plus 5
|
|
bindsym $mod+control+alt+j gaps vertical current minus 5
|
|
bindsym $mod+control+alt+k gaps vertical current plus 5
|
|
# TODO: this should also reset the horizontal and vertical gaps?
|
|
bindsym $mod+control+equal gaps inner current set $default_gap
|
|
|
|
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 10%-
|
|
bindsym XF86MonBrightnessUp exec brightnessctl set +10%
|
|
bindsym shift+XF86MonBrightnessDown exec brightnessctl set 1%
|
|
bindsym shift+XF86MonBrightnessUp exec brightnessctl set 100%
|
|
bindsym control+XF86MonBrightnessDown exec brightnessctl set 1%-
|
|
bindsym control+XF86MonBrightnessUp exec brightnessctl set +1%
|
|
bindsym XF86AudioPlay exec playerctl play-pause
|
|
bindsym XF86AudioNext exec playerctl next
|
|
bindsym XF86AudioPrev exec playerctl previous
|
|
bindsym $mod+shift+v exec pactl set-source-mute @DEFAULT_SOURCE@ toggle
|
|
|
|
bindsym $mod+control+shift+l exec swaylock
|
|
# TODO: toggle-able swayidle? does the idle thing in waybar handle this?
|
|
# TODO: one-time swayidle/monitor-off
|
|
# bindsym $mod+Control+Shift+s exec lock-and-disable-monitors
|
|
|
|
mode "resize" {
|
|
bindsym h resize shrink width 10 px or 10 ppt
|
|
bindsym j resize grow height 10 px or 10 ppt
|
|
bindsym k resize shrink height 10 px or 10 ppt
|
|
bindsym l resize grow width 10 px or 10 ppt
|
|
|
|
bindsym left resize shrink width 10 px or 10 ppt
|
|
bindsym down resize grow height 10 px or 10 ppt
|
|
bindsym up resize shrink height 10 px or 10 ppt
|
|
bindsym right resize grow width 10 px or 10 ppt
|
|
|
|
bindsym return mode "default"
|
|
bindsym escape mode "default"
|
|
}
|
|
|
|
for_window [app_id="floating_terminal"] floating enable
|
|
for_window [class="floating_terminal"] floating enable
|
|
# for_window [class=".*"] layout splitv
|
|
|
|
output * bg $HOME/.wallpaper fill
|
|
|
|
client.focused #66d9ef #66d9ef #66d9ef #66d9ef #66d9ef
|
|
client.focused_inactive #111111 #111111 #ffffff #111111 #111111
|
|
client.unfocused #111111 #111111 #ffffff #111111 #111111
|
|
|
|
exec_always 'killall kanshi; kanshi'
|
|
exec mako
|
|
exec pipewire
|
|
exec_always notify-send -a "Sway" -i ~/.wallpaper "Sway configuration loaded."
|
|
|
|
bar {
|
|
swaybar_command waybar
|
|
}
|
|
|
|
# TODO: exec_always?
|
|
exec gammastep -t 6500:3500 -l 39.0:-94.5
|
|
exec swayidle -w timeout 300 'swaylock -f -c 000000' timeout 600 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' before-sleep 'swaylock -f -c 000000'
|
|
|
|
include $XDG_CONFIG_HOME/lytedev-env/*/sway/config
|