I3: criar um novo espaço de trabalho com um novo terminal em segundo plano

Criado em 13 out. 2019  ·  4Comentários  ·  Fonte: i3/i3

Estou enviando um ...

 [x] Bug
 [] Solicitação de recurso
 [] Solicitação de Documentação
 [] Outro (descreva em detalhes)

Comportamento Atual


Nenhum novo espaço de trabalho está sendo criado depois que eu envio o comando para i3-msg e um novo terminal é aberto no espaço de trabalho atual

Comportamento esperado


Estou tentando abrir um novo terminal em um espaço de trabalho diferente, em seguida, retornar ao meu espaço de trabalho atual e não mudar para esse novo espaço de trabalho

Estou esperando enquanto estou no espaço de trabalho dev1 e enviando esta mensagem abaixo para i3-msg um novo espaço de trabalho será criado com um terminal nele. não quero mudar para esse espaço de trabalho imediatamente. Eu quero que aconteça em segundo plano e não se torne o novo espaço de trabalho focado

i3-msg "workspace dev2; exec terminator -b; workspace dev1;"
## Instruções de reprodução ## Ambiente Saída de `i3 --moreversion 2> & -`:
 versão i3: 
 i3 --moreversion 2> & - || i3 - versão
 Versão binária i3: 4.17.1-2-g225ebb0d (30/08/2019, branch "master") © 2009 Michael Stapelberg e colaboradores
 Versão i3 em execução: 4.17.1-2-g225ebb0d (30/08/2019, branch "master") (pid 10228)
 Configuração i3 carregada: /home/ymo/.config/i3cmd/conf/config.dev (última modificação: Dom 13 de outubro de 2019 10:14:27 AM EDT, 609 segundos atrás)

 O binário i3 que você acabou de chamar: / opt / i3 / i3-master-225ebb0d / bin / i3
 O binário i3 que você está executando: i3

 URL do arquivo de log:
 https://logs.i3wm.org/logs/5632254176919552.bz2

 - Distribuição e versão do Linux:
 $ lsb_release -a 
 Nenhum módulo LSB está disponível.
 ID do Distribuidor: Ubuntu
 Descrição: Ubuntu 18.04.3 LTS
 Lançamento: 18.04
 Codename: biônico

 - Você está usando um compositor (por exemplo, xcompmgr ou compton):
 Sem compositor. O sistema é o sistema ubuntu padrão, exceto pelo fato de eu recompilar o i3 do último mestre
4.17 bug

Comentários muito úteis

Como já comentei no outro assunto:

Também só funciona se o aplicativo realmente suportar o protocolo de notificação de inicialização. Caso contrário, você precisa usar atribuições for_window

exec é usado para iniciar um processo, mas se um processo alguma vez abrir uma janela, em que ponto ele o faz ou quantas abre é um tópico completamente separado. Portanto, mudar para um espaço de trabalho, iniciar um processo e voltar não faz nada porque a janela é aberta posteriormente. O protocolo de notificação de inicialização é o que usamos para associar um processo às janelas que ele abre, mas requer suporte do aplicativo.

Suas outras opções aqui são usar atribuições for_window (veja também estas: https://www.reddit.com/r/i3wm/wiki/faq/bind_emulator e https://www.reddit.com/ r / i3wm / wiki / faq / assign_emulator) ou layout savingg & restoring (https://i3wm.org/docs/layout-saving.html), dependendo do seu caso de uso.

Todos 4 comentários

Como já comentei no outro assunto:

Também só funciona se o aplicativo realmente suportar o protocolo de notificação de inicialização. Caso contrário, você precisa usar atribuições for_window

exec é usado para iniciar um processo, mas se um processo alguma vez abrir uma janela, em que ponto ele o faz ou quantas abre é um tópico completamente separado. Portanto, mudar para um espaço de trabalho, iniciar um processo e voltar não faz nada porque a janela é aberta posteriormente. O protocolo de notificação de inicialização é o que usamos para associar um processo às janelas que ele abre, mas requer suporte do aplicativo.

Suas outras opções aqui são usar atribuições for_window (veja também estas: https://www.reddit.com/r/i3wm/wiki/faq/bind_emulator e https://www.reddit.com/ r / i3wm / wiki / faq / assign_emulator) ou layout savingg & restoring (https://i3wm.org/docs/layout-saving.html), dependendo do seu caso de uso.

Dado que este é um dos problemas mais comuns que as pessoas encontram, acho que podemos fornecer algum script que funcione como uma regra única for_window .

Outra forma seria permitir a criação de regras de correspondência em tempo de execução e também com um "contador de validade" (ou algo semelhante). Acho que já tivemos um problema com isso antes, mas pode estar fechado.

Obrigado pessoal pela ajuda. Muito apreciado !

Esta página foi útil?
0 / 5 - 0 avaliações