我正在运行i3版本4.16
我想绑定一个快捷方式,将当前容器移动到下一个/上一个工作区,无论是否存在。
在使用jq的this帖子的帮助下,我有一种“工作解决方案”,但它非常片状(有时它会切换到工作区而不移动容器,有时它会在切换ws之前将容器从下一个ws移动到当前的ws )
谁能想出更好的解决方案?
我的i3配置:
set $ws-right "$(( $( i3-msg -t get_workspaces | jq '.[] | select(.focused).num' ) + 1))";
set $ws-left "$(( $( i3-msg -t get_workspaces | jq '.[] | select(.focused).num' ) - 1))";
bindsym shift+control+$mod+Left exec i3-msg move container to workspace $ws-left; exec i3-msg workspace $ws-left
bindsym shift+control+$mod+Right exec i3-msg move container to workspace $ws-right; exec i3-msg workspace $ws-right
感谢你的时间;)
仅供参考
我最终使用shell脚本来避免异步运行这两个命令
.i3move next.是:
wsNext=$(( $( i3-msg -t get_workspaces | jq '.[] | select(.focused).num' ) + $1))
i3-msg move container to workspace $wsNext
i3-msg workspace $wsNext
然后绑定首选键组合,如:
bindsym shift+control+$mod+Left exec ~/.i3MoveNext.sh -1
bindsym shift+control+$mod+Right exec ~/.i3MoveNext.sh 1