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?
Tags i3