This repository has been archived on 2024-03-28. You can view files and clone it, but cannot push or open issues or pull requests.
dotfiles/os/linux/sway/config

205 lines
6.4 KiB
Plaintext
Raw Permalink Normal View History

2020-05-18 15:34:35 -05:00
# 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.
2020-01-07 11:36:12 -06:00
2020-11-01 19:12:11 -06:00
set $mod Mod4
2020-01-07 11:36:12 -06:00
xwayland enable
2020-05-18 15:34:35 -05:00
focus_wrapping no
2023-06-06 01:33:40 -05:00
smart_borders on
2023-06-13 11:01:08 -05:00
default_border pixel 2
2020-11-01 19:12:11 -06:00
focus_follows_mouse no
2021-05-29 22:51:54 -05:00
mouse_warping none
2023-04-07 22:28:29 -05:00
popup_during_fullscreen smart
2020-11-01 19:12:11 -06:00
input type:touchscreen {
events disabled
}
2020-11-01 19:12:11 -06:00
input type:keyboard {
repeat_delay 200
repeat_rate 60
2020-11-05 22:29:58 -06:00
# 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 {
2021-12-09 10:55:52 -06:00
accel_profile flat
pointer_accel 0
}
2020-11-05 22:29:58 -06:00
input type:touchpad {
2023-06-18 17:44:48 -05:00
dwt disabled
2020-11-05 22:29:58 -06:00
tap enabled
natural_scroll enabled
middle_emulation enabled
2023-04-30 10:37:49 -05:00
# pointer_accel
2020-11-01 19:12:11 -06:00
}
2020-05-18 15:34:35 -05:00
2020-11-02 10:55:20 -06:00
bindsym $mod+control+space exec makoctl dismiss
2023-06-06 01:47:11 -05:00
bindsym $mod+shift+space exec makoctl invoke
2020-11-06 09:31:50 -06:00
bindsym $mod+return exec kitty --single-instance
2021-03-06 22:07:30 -06:00
bindsym $mod+shift+return exec floating-term
2020-11-02 10:55:20 -06:00
bindsym $mod+shift+alt+return exec kitty
2020-01-07 11:36:12 -06:00
bindsym $mod+c kill
2020-11-02 10:55:20 -06:00
bindsym $mod+shift+c kill # TODO: kill -9?
2023-06-06 01:47:11 -05:00
# bindsym $mod+shift+space exec wofi --show drun
2022-08-03 11:38:32 -05:00
bindsym $mod+space exec wofi --show drun
2021-03-06 22:07:30 -06:00
bindsym $mod+shift+s exec clipshot
2020-11-01 19:12:11 -06:00
bindsym $mod+e exec thunar
2020-11-02 10:55:20 -06:00
bindsym $mod+shift+r reload
bindsym $mod+control+Escape exit
bindsym $mod+shift+e exit
2021-03-06 22:07:30 -06:00
bindsym $mod+shift+p exec pass-chooser
2020-11-02 10:55:20 -06:00
bindsym $mod+control+j split v
bindsym $mod+control+l split h
bindsym $mod+control+f focus mode_toggle
2020-01-07 11:36:12 -06:00
2020-11-01 19:12:11 -06:00
bindsym $mod+h focus left
bindsym $mod+j focus down
bindsym $mod+k focus up
bindsym $mod+l focus right
2020-01-07 11:36:12 -06:00
2020-11-02 10:55:20 -06:00
bindsym $mod+left focus left
bindsym $mod+down focus down
bindsym $mod+up focus up
bindsym $mod+right focus right
2020-01-07 11:36:12 -06:00
2020-11-02 10:55:20 -06:00
bindsym $mod+shift+h move left
bindsym $mod+shift+j move down
bindsym $mod+shift+k move up
bindsym $mod+shift+l move right
2020-01-07 11:36:12 -06:00
2020-11-02 10:55:20 -06:00
bindsym $mod+shift+left move left
bindsym $mod+shift+down move down
bindsym $mod+shift+up move up
bindsym $mod+shift+right move right
2020-01-07 11:36:12 -06:00
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
2020-11-02 10:55:20 -06:00
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
2020-01-07 11:36:12 -06:00
bindsym $mod+b splith
bindsym $mod+v splitv
2022-10-26 16:40:54 -05:00
bindsym $mod+shift+f fullscreen toggle
2020-01-07 11:36:12 -06:00
bindsym $mod+f floating toggle
2020-05-18 15:34:35 -05:00
bindsym $mod+s floating disable
2020-11-02 10:55:20 -06:00
bindsym $mod+alt+f focus mode_toggle
2020-01-07 11:36:12 -06:00
bindsym $mod+p focus parent
2020-05-18 15:34:35 -05:00
bindsym $mod+period focus child
bindsym $mod+comma focus child
bindsym $mod+tab workspace back_and_forth
2020-01-07 11:36:12 -06:00
2020-11-01 19:12:11 -06:00
bindsym $mod+minus gaps inner current minus 5
bindsym $mod+plus gaps inner current plus 5
2020-11-02 10:55:20 -06:00
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
2020-11-01 19:12:11 -06:00
# TODO: this should also reset the horizontal and vertical gaps?
2023-06-09 09:43:26 -05:00
bindsym $mod+control+equal gaps inner current set 0
2020-11-01 19:12:11 -06:00
2020-03-23 13:23:50 -05:00
bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5%
bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5%
2022-10-10 14:15:51 -05:00
bindsym control+XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +1%
bindsym control+XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -1%
2020-03-23 13:23:50 -05:00
bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle
bindsym XF86AudioMicMute exec pactl set-source-mute @DEFAULT_SOURCE@ toggle
2020-11-21 23:13:58 -06:00
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%
2020-03-23 13:23:50 -05:00
bindsym XF86AudioPlay exec playerctl play-pause
bindsym XF86AudioNext exec playerctl next
bindsym XF86AudioPrev exec playerctl previous
2020-11-02 10:55:20 -06:00
bindsym $mod+shift+v exec pactl set-source-mute @DEFAULT_SOURCE@ toggle
2020-03-23 13:23:50 -05:00
2020-11-02 10:55:20 -06:00
bindsym $mod+control+shift+l exec swaylock
2023-06-16 14:06:56 -05:00
# TODO: toggle-able swayidle?
2020-11-01 19:12:11 -06:00
# TODO: one-time swayidle/monitor-off
2020-10-12 06:26:51 -05:00
# bindsym $mod+Control+Shift+s exec lock-and-disable-monitors
2020-03-24 12:05:08 -05:00
2020-01-07 11:36:12 -06:00
mode "resize" {
2020-11-01 19:12:11 -06:00
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
2020-01-07 19:38:43 -06:00
2020-11-02 10:55:20 -06:00
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
2020-01-07 19:38:43 -06:00
2020-11-02 10:55:20 -06:00
bindsym return mode "default"
bindsym escape mode "default"
2020-01-07 11:36:12 -06:00
}
2023-07-03 21:59:52 -05:00
bar {
swaybar_command waybar
}
2023-07-28 00:56:43 -05:00
set $tilers "(wezterm.*|kitty.*|firefox.*|slack.*|Slack.*|thunar.*|Alacritty.*|alacritty.*|Discord.*|discord.*)"
2022-10-26 16:40:54 -05:00
for_window [title=".*"] floating enable
for_window [app_id=$tilers] floating disable
2022-10-26 16:22:42 -05:00
bindsym $mod+shift+alt+f for_window [class=$tilers] floating toggle
2020-01-07 11:36:12 -06:00
2023-04-07 22:28:29 -05:00
# for_window [title=".*"] opacity $opacity
2022-12-13 13:41:40 -06:00
include /etc/sway/config.d/*
include $XDG_CONFIG_HOME/lytedev-env/*/sway/config
2023-06-06 01:33:40 -05:00
client.focused #74c7ec #74c7ec #74c7ec #74c7ec #74c7ec
2022-12-06 14:00:19 -06:00
client.focused_inactive #100814 #100814 #9b9ebf #100814 #100814
client.unfocused #100814 #100814 #9b9ebf #100814 #100814
2020-03-23 13:23:50 -05:00
2023-05-08 09:11:52 -05:00
# exec /usr/share/sway/scripts/inactive-windows-transparency.py --opacity 0.95
2023-04-07 22:28:29 -05:00
2021-06-21 11:14:28 -05:00
exec mako
# exec gammastep -t 6500:3500 -l 39.0:-94.5
2022-02-18 10:53:18 -06:00
# exec /usr/lib/kdeconnectd
2023-05-05 13:46:24 -05:00
2023-06-06 01:33:40 -05:00
exec kitty --single-instance
exec /usr/lib/polkit-kde-authentication-agent-1
2022-02-18 10:53:18 -06:00
2023-07-12 02:20:03 -05:00
exec swayidle -w \
timeout 540 'notify-send "Idling in 90 seconds"' \
timeout 570 'notify-send "Idling in 60 seconds"' \
timeout 600 'notify-send "Idling in 30 seconds..."' \
timeout 630 'swaylock -f' \
timeout 660 'swaymsg "output * dpms off"' \
resume 'swaymsg "output * dpms on" & maybe-good-morning &' \
before-sleep 'swaylock -f'
2022-02-18 10:53:18 -06:00
# exec_always notify-send -a "sway" -i ~/.wallpaper "sway configuration loaded"
2021-06-21 11:14:28 -05:00
2022-08-26 00:14:55 -05:00
# prevent all windows from stealing focus
2021-06-21 11:14:28 -05:00
no_focus [class=".*"]
2022-02-18 10:53:18 -06:00
2022-08-26 00:14:55 -05:00
output * background $HOME/.wallpaper fill