i3に保存されているレイアウトで複数のgnome端末アプリケーションを自動的に起動するには?

i3に保存されているレイアウトで複数のgnome端末アプリケーションを自動的に起動するには?

私が読んでこのリンクこれは私が経験している問題とほぼ同じです。

ソリューションは簡単なリンクを提供します文書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ため、レイアウトを作成するときは、すべてのインスタンスの名前が同じです。

別のフックを使用する必要がありますか?

ベストアンサー1

おすすめ記事