私が読んでこのリンクこれは私が経験している問題とほぼ同じです。
ソリューションは簡単なリンクを提供します文書i3のレイアウト保存機能。レイアウトの復元に関するセクションが少しあいまいであまり役に立たないことがわかりました。
構成ファイルの最後には次のものがあります。
# restoring layouts
exec --no-startup-id i3-msg "workspace 3; append_layout /home/spanishgum/.config/i3/ws3.json"
# setting applications for layouts
exec --no-startup-id i3-msg "workspace 3; exec gnome-terminal -e 'tty-clock -s -b -c 6 -C -f %F'"
exec --no-startup-id i3-msg "workspace 3; exec gnome-terminal -e 'newsbeuter -u /home/spanishgum/.rssfeeds'"
exec --no-startup-id i3-msg "workspace 3; exec gnome-terminal -e 'htop'"
これは私の保存されたレイアウトです/home/spanishgum/.config/i3/ws3.json
。
// vim:ts=4:sw=4:et
{
"border": "pixel",
"current_border_width": 0,
"floating": "auto_off",
"geometry": {
"height": 1043,
"width": 1272,
"x": 0,
"y": 0
},
"name": "Terminal",
"percent": 0.5,
"swallows": [
{
"class": "^Gnome\\-terminal$",
"instance": "^gnome\\-terminal\\-server$",
"title": "^Terminal$",
"transient_for": "^$",
"window_role": "^gnome\\-terminal\\-window\\-ebb34c69\\-83f4\\-4caf\\-8410\\-8625e29d63ec$"
}
],
"type": "con"
}
{
// splitv split container with 2 children
"border": "normal",
"floating": "auto_off",
"layout": "splitv",
"percent": 0.5,
"type": "con",
"nodes": [
{
"border": "pixel",
"current_border_width": 0,
"floating": "auto_off",
"geometry": {
"height": 1043,
"width": 1272,
"x": 0,
"y": 0
},
"name": "Terminal",
"percent": 0.5,
"swallows": [
{
"class": "^Gnome\\-terminal$",
"instance": "^gnome\\-terminal\\-server$",
"title": "^Terminal$",
"transient_for": "^$",
"window_role": "^gnome\\-terminal\\-window\\-da79755c\\-fdbf\\-47fc\\-b776\\-3afece7da1a6$"
}
],
"type": "con"
},
{
"border": "pixel",
"current_border_width": 0,
"floating": "auto_off",
"geometry": {
"height": 1043,
"width": 1272,
"x": 0,
"y": 0
},
"name": "Terminal",
"percent": 0.5,
"swallows": [
{
"class": "^Gnome\\-terminal$",
"instance": "^gnome\\-terminal\\-server$",
"title": "^Terminal$",
"transient_for": "^$",
"window_role": "^gnome\\-terminal\\-window\\-4b04543e\\-b298\\-45af\\-8042\\-b5f8b123dcc3$"
}
],
"type": "con"
}
]
}
ログインすると6つのウィンドウが開きます。レイアウトの3つが正しい設定でロードされますが、アプリケーションを起動すると、同じワークスペースに独自のウィンドウが作成されます。 (現在6つのウィンドウがあり、そのうち3つは空であり、アプリケーションがいっぱいになるのを待っています。)
このウィンドウに接続するように実行コマンドを作成する方法がわかりません。
ドキュメントの例では、レイアウトウィンドウでemacsを起動するには、ウィンドウexec emacs --name some_name
インスタンスの名前を使用する必要があることが示されています。 gnome-terminalの使用方法がわからない--name
ため、レイアウトを作成するときは、すべてのインスタンスの名前が同じです。
別のフックを使用する必要がありますか?