ドキュメントに従って、ワークスペースのレイアウトを保存しました。
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 を使用しても、ほぼ希望どおりに動作します。問題はスクリプトまたはスクリプト呼び出しで発生すると思いますが、何が原因かわかりません。
ワークスペース変数名でこれを機能させるには何が欠けていますか?