I use the following monstrosity atm. Found it on reddit I think in /r/unixporn. The references to your monitors can probably be found in X11 conf or via xrandr. I chose slash since I use /buffer #
in weechat. So it adds some consistency between the programs. The left and right workspaces based on which hand hits which key on the keyboard, asdf for left monitor and jkl for right monitor etc.
set $left_monitor DP-1
set $right_monitor DP-5
bindsym $mod+slash mode "$mode_chooser"
set $mode_chooser Choose workspace
mode "$mode_chooser" {
bindsym Escape mode "default"
bindsym 1 workspace "1" move workspace to output $left_monitor, mode "default"
bindsym 2 workspace "2" move workspace to output $left_monitor, mode "default"
bindsym 3 workspace "3" move workspace to output $left_monitor, mode "default"
bindsym 4 workspace "4" move workspace to output $left_monitor, mode "default"
bindsym 5 workspace "5" move workspace to output $left_monitor, mode "default"
bindsym 6 workspace "6" move workspace to output $left_monitor, mode "default"
bindsym 7 workspace "7" move workspace to output $right_monitor, mode "default"
bindsym 8 workspace "8" move workspace to output $right_monitor, mode "default"
bindsym 9 workspace "9" move workspace to output $right_monitor, mode "default"
bindsym 0 workspace "0" move workspace to output $right_monitor, mode "default"
bindsym a workspace "a" move workspace to output $left_monitor, mode "default"
bindsym b workspace "b" move workspace to output $left_monitor, mode "default"
bindsym c workspace "c" move workspace to output $left_monitor, mode "default"
bindsym d workspace "d" move workspace to output $left_monitor, mode "default"
bindsym e workspace "e" move workspace to output $left_monitor, mode "default"
bindsym f workspace "f" move workspace to output $left_monitor, mode "default"
bindsym g workspace "g" move workspace to output $left_monitor, mode "default"
bindsym h workspace "h" move workspace to output $right_monitor, mode "default"
bindsym i workspace "i" move workspace to output $right_monitor, mode "default"
bindsym j workspace "j" move workspace to output $right_monitor, mode "default"
bindsym k workspace "k" move workspace to output $right_monitor, mode "default"
bindsym l workspace "l" move workspace to output $right_monitor, mode "default"
bindsym m workspace "m" move workspace to output $right_monitor, mode "default"
bindsym n workspace "n" move workspace to output $right_monitor, mode "default"
bindsym o workspace "o" move workspace to output $right_monitor, mode "default"
bindsym p workspace "p" move workspace to output $right_monitor, mode "default"
bindsym q workspace "q" move workspace to output $left_monitor, mode "default"
bindsym r workspace "r" move workspace to output $left_monitor, mode "default"
bindsym s workspace "s" move workspace to output $left_monitor, mode "default"
bindsym t workspace "t" move workspace to output $left_monitor, mode "default"
bindsym u workspace "u" move workspace to output $right_monitor, mode "default"
bindsym v workspace "v" move workspace to output $left_monitor, mode "default"
bindsym w workspace "w" move workspace to output $left_monitor, mode "default"
bindsym x workspace "x" move workspace to output $left_monitor, mode "default"
bindsym y workspace "y" move workspace to output $right_monitor, mode "default"
bindsym z workspace "z" move workspace to output $left_monitor, mode "default"
}
bindsym $mod+Shift+slash mode "$mode_mover"
set $mode_mover Move to workspace
mode "$mode_mover" {
bindsym Escape mode "default"
bindsym 1 move container to workspace "1"; workspace "1" move workspace to output $left_monitor, mode "default"
bindsym 2 move container to workspace "2"; workspace "2" move workspace to output $left_monitor, mode "default"
bindsym 3 move container to workspace "3"; workspace "3" move workspace to output $left_monitor, mode "default"
bindsym 4 move container to workspace "4"; workspace "4" move workspace to output $left_monitor, mode "default"
bindsym 5 move container to workspace "5"; workspace "5" move workspace to output $left_monitor, mode "default"
bindsym 6 move container to workspace "6"; workspace "6" move workspace to output $left_monitor, mode "default"
bindsym 7 move container to workspace "7"; workspace "7" move workspace to output $right_monitor, mode "default"
bindsym 8 move container to workspace "8"; workspace "8" move workspace to output $right_monitor, mode "default"
bindsym 9 move container to workspace "9"; workspace "9" move workspace to output $right_monitor, mode "default"
bindsym 0 move container to workspace "0"; workspace "0" move workspace to output $right_monitor, mode "default"
bindsym a move container to workspace "a"; workspace "a" move workspace to output $left_monitor, mode "default"
bindsym b move container to workspace "b"; workspace "b" move workspace to output $left_monitor, mode "default"
bindsym c move container to workspace "c"; workspace "c" move workspace to output $left_monitor, mode "default"
bindsym d move container to workspace "d"; workspace "d" move workspace to output $left_monitor, mode "default"
bindsym e move container to workspace "e"; workspace "e" move workspace to output $left_monitor, mode "default"
bindsym f move container to workspace "f"; workspace "f" move workspace to output $left_monitor, mode "default"
bindsym g move container to workspace "g"; workspace "g" move workspace to output $left_monitor, mode "default"
bindsym h move container to workspace "h"; workspace "h" move workspace to output $right_monitor, mode "default"
bindsym i move container to workspace "i"; workspace "i" move workspace to output $right_monitor, mode "default"
bindsym j move container to workspace "j"; workspace "j" move workspace to output $right_monitor, mode "default"
bindsym k move container to workspace "k"; workspace "k" move workspace to output $right_monitor, mode "default"
bindsym l move container to workspace "l"; workspace "l" move workspace to output $right_monitor, mode "default"
bindsym m move container to workspace "m"; workspace "m" move workspace to output $right_monitor, mode "default"
bindsym n move container to workspace "n"; workspace "n" move workspace to output $right_monitor, mode "default"
bindsym o move container to workspace "o"; workspace "o" move workspace to output $right_monitor, mode "default"
bindsym p move container to workspace "p"; workspace "p" move workspace to output $right_monitor, mode "default"
bindsym q move container to workspace "q"; workspace "q" move workspace to output $left_monitor, mode "default"
bindsym r move container to workspace "r"; workspace "r" move workspace to output $left_monitor, mode "default"
bindsym s move container to workspace "s"; workspace "s" move workspace to output $left_monitor, mode "default"
bindsym t move container to workspace "t"; workspace "t" move workspace to output $left_monitor, mode "default"
bindsym u move container to workspace "u"; workspace "u" move workspace to output $right_monitor, mode "default"
bindsym v move container to workspace "v"; workspace "v" move workspace to output $left_monitor, mode "default"
bindsym w move container to workspace "w"; workspace "w" move workspace to output $left_monitor, mode "default"
bindsym x move container to workspace "x"; workspace "x" move workspace to output $left_monitor, mode "default"
bindsym y move container to workspace "y"; workspace "y" move workspace to output $right_monitor, mode "default"
bindsym z move container to workspace "z"; workspace "z" move workspace to output $left_monitor, mode "default"
}