0

我按照文档保存了工作区的布局:

i3-save-tree --workspace 1 > ~/.i3/layouts/ws1.json

因为我的工作区名称是一个带引号的字符串变量,所以我必须制作一个脚本 ( ~/.i3/scripts/load_layout.sh) 才能i3-msg正确调用:

i3-msg "workspace $1"
i3-msg "append_layout /home/villasv/.i3/layouts/ws$2.json"

然后我的~/.i3/config文件具有以下工作区设置:

set $ws1 "1 "
bindsym $mod+1 workspace $ws1
bindsym $mod+Shift+1 move container to workspace $ws1
exec --no-startup-id 'sh ~/.i3/scripts/load_layout.sh $ws1 1'
exec firefox

但是退出并登录后布局更改不会发生。我什至尝试使用exec_always并重新启动i3,但仍然没有效果。

运行sh ~/.i3/scripts/load_layout.sh "dummy" 1成功会创建一个带有布局的工作区。

此外,使用exec --no-startup-id "i3-msg 'workspace 1; append_layout ~/.i3/layouts/ws1.json'"wil 也可以,几乎可以满足需要。我猜问题发生在脚本或脚本调用中,但我不知道是什么。

使用工作区变量名称进行这项工作我缺少什么?

4

2 回答 2

2
于 2016-08-18T08:15:35.220 回答
1
于 2016-08-17T18:47:21.210 回答