Fix sway workspace configuration

This commit is contained in:
Daniel Flanagan 2020-11-02 10:55:20 -06:00
parent dc09495719
commit aa662c2a0f
Signed by: lytedev
GPG key ID: 5B2020A0F9921EF4
3 changed files with 66 additions and 108 deletions

View file

@ -19,44 +19,44 @@ input type:keyboard {
repeat_rate 60
}
bindsym Control+Space exec makoctl dismiss
bindsym $mod+control+space exec makoctl dismiss
# bindsym $mod+Control+Space exec makoctl invoke
bindsym $mod+Return exec term
bindsym $mod+shift+Return exec floating-term
bindsym $mod+return exec term
bindsym $mod+shift+return exec floating-term
bindsym $mod+t exec term
bindsym $mod+Alt+Return exec urxvt
bindsym $mod+Shift+Alt+Return exec kitty
bindsym $mod+alt+return exec urxvt
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+c kill # TODO: kill -9?
bindsym $mod+space exec app-launcher
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+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+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+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
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
@ -71,24 +71,24 @@ 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+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+shift+f fullscreen
bindsym $mod+f floating toggle
bindsym $mod+s floating disable
bindsym $mod+Alt+f focus mode_toggle
bindsym $mod+alt+f focus mode_toggle
bindsym $mod+p focus parent
bindsym $mod+period focus child
bindsym $mod+comma focus child
@ -96,12 +96,12 @@ 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
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 $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%
@ -112,9 +112,9 @@ bindsym XF86MonBrightnessUp exec brightnessctl set +5%
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+shift+v exec pactl set-source-mute @DEFAULT_SOURCE@ toggle
bindsym $mod+Control+Shift+l exec swaylock
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
@ -125,18 +125,18 @@ mode "resize" {
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 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"
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
# for_window [class=".*"] layout splitv
output * bg $HOME/.wallpaper fill
@ -144,12 +144,12 @@ client.focused #66d9ef #66d9ef #66d9ef #66d9ef #66d9ef
client.focused_inactive #111111 #111111 #ffffff #111111 #111111
client.unfocused #111111 #111111 #ffffff #111111 #111111
exec_always kanshi
bar {
swaybar_command waybar
}
exec mako
exec_always kanshi
exec_always notify-send -a "Sway" -i ~/.wallpaper "Sway configuration loaded."
include $ENV_PATH/sway/config.d/main

View file

@ -1,24 +1,17 @@
#!/usr/bin/env sh
#!/usr/bin/env bash
set -x
# kanshi will potentially run this more than once
LOCKFILE="/tmp/kanshi-workspace-arranging.lock"
if ! (set -o noclobber; echo > "$LOCKFILE"); then exit 1; fi
touch "$LOCKFILE"
# TODO: some way to ensure the lock file is cleaned up?
# maybe check if the file is older than a minute?
uw='Samsung Electric Company CF791 HTRJ500315'
l='Dell Inc. DELL U2719DC 5DL4QS2'
r='Dell Inc. DELL U2719DC 9DL4QS2'
move_workspace() { swaymsg workspace "$1"; swaymsg move workspace to "'$2'"; }
setup_output() { out="$1"; shift; while (($#)); do move_workspace "$1" "$out"; shift; done; }
mws() {
swaymsg workspace "$1", move workspace to output "\"$2\""
}
mws 5 "$l"
mws 6 "$l"
mws 4 "$l"
mws 8 "$r"
mws 9 "$r"
mws 7 "$r"
mws 2 "$uw"
mws 3 "$uw"
mws 1 "$uw"
setup_output 'Dell Inc. DELL U2719DC 9DL4QS2' 9 8 7
setup_output 'Dell Inc. DELL U2719DC 5DL4QS2' 6 5 4
setup_output 'Samsung Electric Company CF791 HTRJ500315' 3 2 1
rm "$LOCKFILE"

View file

@ -3,38 +3,3 @@ exec swayidle -w \
timeout 600 'swaymsg "output * dpms off"' \
resume 'swaymsg "output * dpms on"' \
before-sleep 'swaylock -f -c 000000'
# shared
# workspace 1 output DP-1
# workspace 2 output DP-1
# workspace 3 output DP-1
# --I format
# output DP-1 res 3440x1440@100Hz pos 2560 720
# output DP-2 res 2560x1440@60Hz pos 0 0
# output DP-4 res 2560x1440@60Hz pos 6000 0 transform 270
# workspace 4 output DP-2
# workspace 5 output DP-2
# workspace 6 output DP-2
# workspace 7 output DP-4
# workspace 8 output DP-4
# workspace 9 output DP-4
# H format
# output DP-1 res 3440x1440@100Hz pos 1440 560
# output DP-2 res 2560x1440@60Hz pos 0 0 transform 90
# output DP-3 res 2560x1440@60Hz pos 0 0 transform 90
# output DP-4 res 2560x1440@60Hz pos 4880 0 transform 270
# output DP-5 res 2560x1440@60Hz pos 4880 0 transform 270
# iIi format
# output DP-1 res 3440x1440@100Hz pos 1440 0 transform 90
# output DP-2 res 2560x1440@60Hz pos 0 0 transform 90
# output DP-4 res 2560x1440@60Hz pos 2880 0 transform 270
# workspace 4 output DP-4
# workspace 5 output DP-4
# workspace 6 output DP-4
# workspace 7 output DP-2
# workspace 8 output DP-2
# workspace 9 output DP-2