Como eu inicio automaticamente vários aplicativos do terminal gnome a partir de um layout salvo do i3?

2

Eu li sobre este link que é quase o mesmo problema que estou tendo.

A solução fornecida simplesmente vincula a documentação ao recurso de salvamento de layout do i3. Acho que a seção sobre como restaurar o layout é um pouco vaga e não muito útil.

Eu tenho o seguinte no final do meu arquivo de configuração:

# 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'"

Este é o meu layout salvo em /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"
        }
    ]
}

Quando eu faço login, sou apresentado com 6 janelas. Os 3 do layout são carregados na configuração correta, mas os aplicativos de inicialização estão gerando suas próprias janelas na mesma área de trabalho. (Agora tenho 6 janelas, 3 vazias esperando por um aplicativo para preenchê-las).

Eu não consigo descobrir como escrever meu comando de execução para conseguir vincular a essas janelas.

O exemplo da documentação diz que, se alguém deseja iniciar o emacs na janela de layout, ele deve usar exec emacs --name some_name , que é o nome da instância da janela. Eu não sei como usar --name com o gnome-terminal, e assim todas as minhas instâncias são do mesmo nome quando eu criei meu layout.

Existe outro tipo de gancho que eu preciso usar?

    
por spanishgum 15.06.2017 / 01:12

0 respostas

Tags