[sway] Improve various things

This commit is contained in:
Tibo De Peuter 2023-11-26 14:13:47 +01:00
parent b6eb3492a8
commit 6264d45316
2 changed files with 74 additions and 28 deletions

View file

@ -15,10 +15,11 @@ set {
$scrollUp button4 $scrollUp button4
$scrollDown button5 $scrollDown button5
$term kitty || alacritty || foot $term kitty || alacritty || foot
$menu j4-dmenu-desktop --dmenu "rofi -dmenu -i" $menu j4-dmenu-desktop --dmenu "rofi -dmenu -i"
# TODO Find better location and better way to reference this.
$window_switcher /home/tdpeuter/projects/fzf-jump/new.sh $window_switcher /home/tdpeuter/projects/fzf-jump/new.sh
$lock swaylock -f $lock swaylock -f
} }
include { include {
@ -47,6 +48,8 @@ for_window {
[window_role="webconsole"] floating enable [window_role="webconsole"] floating enable
[window_type="dialog"] floating enable [window_type="dialog"] floating enable
[window_type="menu"] floating enable [window_type="menu"] floating enable
[app_id="qalculate-gtk"] floating enable, border pixel 1
} }
exec dbus-sway-environment exec dbus-sway-environment

View file

@ -55,21 +55,22 @@ bindsym {
# Workspaces # Workspaces
set { set {
$ws1 "1:1" $ws1 "1:1"
$ws2 "2:2" $ws2 "2:2"
$ws3 "3:3" $ws3 "3:3"
$ws4 "4:4" $ws4 "4:4"
$ws5 "5:5" $ws5 "5:5"
$ws6 "6:6" $ws6 "6:6"
$ws7 "7:7" $ws7 "7:7"
$ws8 "8:8" $ws8 "8:8"
$ws9 "9:9" $ws9 "9:9"
$ws10 "10:10" $ws10 "10:10"
$ws11 "11:Soc" $ws11 "11:Soc"
$ws12 "12:Ent" $ws12 "12:Ent"
} }
bindsym { bindsym {
# Focus a specific workspace
$flag+1 workspace $ws1 $flag+1 workspace $ws1
$flag+2 workspace $ws2 $flag+2 workspace $ws2
$flag+3 workspace $ws3 $flag+3 workspace $ws3
@ -83,6 +84,7 @@ bindsym {
$flag+minus workspace $ws11 $flag+minus workspace $ws11
$flag+equal workspace $ws12 $flag+equal workspace $ws12
# Move window to a specific workspace
$flag+Shift+1 move container to workspace $ws1, workspace $ws1 $flag+Shift+1 move container to workspace $ws1, workspace $ws1
$flag+Shift+2 move container to workspace $ws2, workspace $ws2 $flag+Shift+2 move container to workspace $ws2, workspace $ws2
$flag+Shift+3 move container to workspace $ws3, workspace $ws3 $flag+Shift+3 move container to workspace $ws3, workspace $ws3
@ -96,20 +98,35 @@ bindsym {
$flag+Shift+minus move container to workspace $ws11, workspace $ws11 $flag+Shift+minus move container to workspace $ws11, workspace $ws11
$flag+Shift+equal move container to workspace $ws12, workspace $ws12 $flag+Shift+equal move container to workspace $ws12, workspace $ws12
# Go through workspaces in order
$flag+Control+$left workspace prev_on_output $flag+Control+$left workspace prev_on_output
$flag+Control+$right workspace next_on_output $flag+Control+$right workspace next_on_output
$flag+Control+Left workspace prev_on_output $flag+Control+Left workspace prev_on_output
$flag+Control+Right workspace next_on_output $flag+Control+Right workspace next_on_output
--whole-window $flag+$scrollUp workspace prev_on_output
--whole-window $flag+$scrollDown workspace next_on_output
$flag+Control+Shift+$left move container to workspace prev_on_output, workspace prev_on_output $flag+Control+Shift+$left move container to workspace prev_on_output, workspace prev_on_output
$flag+Control+Shift+$right move container to workspace next_on_output, workspace next_on_output $flag+Control+Shift+$right move container to workspace next_on_output, workspace next_on_output
$flag+Control+Shift+Left move container to workspace prev_on_output, workspace prev_on_output $flag+Control+Shift+Left move container to workspace prev_on_output, workspace prev_on_output
$flag+Control+Shift+Right move container to workspace next_on_output, workspace next_on_output $flag+Control+Shift+Right move container to workspace next_on_output, workspace next_on_output
# Also GNOME-like keybinds
$flag+$alt+$left workspace prev_on_output
$flag+$alt+$right workspace next_on_output
$flag+$alt+Left workspace prev_on_output
$flag+$alt+Right workspace next_on_output
$flag+$alt+Shift+$left move container to workspace prev_on_output, workspace prev_on_output
$flag+$alt+Shift+$right move container to workspace next_on_output, workspace next_on_output
$flag+$alt+Shift+Left move container to workspace prev_on_output, workspace prev_on_output
$flag+$alt+Shift+Right move container to workspace next_on_output, workspace next_on_output
# Use your mouse to scroll between workspaces
--whole-window $flag+$scrollUp workspace prev_on_output
--whole-window $flag+$scrollDown workspace next_on_output
} }
bindgesture { bindgesture {
@ -119,17 +136,40 @@ bindgesture {
# Outputs # Outputs
bindsym { bindsym {
$flag+Control+$up focus output up # Use "left" and "up" at the same time to mimic "previous"
$flag+Control+$down focus output down # Use "right" and "down" at the same time to mimic "next"
# Though this does not work when using multiple screens, it's an intermediary solution until Sway supports "output next/previous"
$flag+Control+$up focus output left, focus output up
$flag+Control+$down focus output right, focus output down
$flag+Control+Up focus output up $flag+Control+Up focus output left, focus output up
$flag+Control+Down focus output down $flag+Control+Down focus output right, focus output down
$flag+Control+Shift+$up move container to output up, focus output up $flag+$alt+$up focus output left, focus output up
$flag+Control+Shift+$down move container to output down, focus output down $flag+$alt+$down focus output right, focus output down
$flag+Control+Shift+Up move container to output up, focus output up $flag+$alt+Up focus output left, focus output up
$flag+Control+Shift+Down move container to output down, focus output down $flag+$alt+Down focus output right, focus output down
$flag+Control+Shift+$up move container to output left, focus output left \
move container to output up, focus output up
$flag+Control+Shift+$down move container to output right, focus output right \
move container to output down, focus output down
$flag+Control+Shift+Up move container to output left, focus output left \
move container to output up, focus output up
$flag+Control+Shift+Down move container to output right, focus output right \
move container to output down, focus output down
$flag+$alt+Shift+$up move container to output left, focus output left \
move container to output up, focus output up
$flag+$alt+Shift+$down move container to output right, focus output right \
move container to output down, focus output down
$flag+$alt+Shift+Up move container to output left, focus output left \
move container to output up, focus output up
$flag+$alt+Shift+Down move container to output right, focus output right \
move container to output down, focus output down
} }
# System # System
@ -159,7 +199,6 @@ bindsym --locked {
bindgesture hold:3 exec playerctl play-pause bindgesture hold:3 exec playerctl play-pause
# Shortcuts # Shortcuts
bindsym { bindsym {
# Reload sway # Reload sway
@ -177,6 +216,9 @@ bindsym {
$alt+Tab focus prev $alt+Tab focus prev
$flag+Tab exec $window_switcher $flag+Tab exec $window_switcher
--whole-window $alt+$scrollUp focus prev
--whole-window $alt+$scrollDown focus next
# Lock the screen # Lock the screen
$flag+Delete exec $lock $flag+Delete exec $lock
@ -187,9 +229,10 @@ bindsym {
} }
bindgesture { bindgesture {
swipe:3:up exec $window_switcher # Also show the bar, hide when finished
swipe:4:up exec $menu swipe:3:up bar hidden_state show, exec "$window_switcher; swaymsg bar hidden_state hide"
swipe:4:up exec "$menu; swaymsg bar hidden_state hide"
# Cancel # Cancel and hide bar
swipe:down exec pkill rofi swipe:down exec pkill rofi, bar hidden_state hide
} }