[x] Bug [] Solicitação de recurso [] Solicitação de Documentação [] Outro (descreva em detalhes)
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
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
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 !
Comentários muito úteis
Como já comentei no outro assunto:
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.