Minha pergunta é algo comoesse- mas não quero abrir um determinado aplicativo em um espaço de trabalho específico, quero que cada instância abra em um novo espaço de trabalho a cada vez.
O OP na pergunta vinculada deseja abrir o Firefox na área de trabalho 2, o Chromium na área de trabalho 1, etc.
Quero abrir novas instâncias de um editor de texto (Sublime Text) em um novo espaço de trabalho para cada nova instância. Isso é possível?
solução:
Usei a resposta aceita de forma modificada:
# .bashrc
...
function sublime {
i3-msg workspace $(($(i3-msg -t get_workspaces | tr , '\n' | grep '"num":' | cut -d : -f 2 | sort -rn | head -1) + 1))
/usr/bin/sublime_text_3/sublime_text $1
}
para que eu possa usá-lo assim:
$ sublime /path/to/file
e também porque estou usando meus dotfiles em vários computadores, então é melhor incluir tudo em um só lugar!
Responder1
Você pode usar um pequeno script BASH para fazer isso:
Isso abre um novo espaço de trabalho (retirado deaqui) e executa um comando:
#!/bin/bash
i3-msg workspace $(($(i3-msg -t get_workspaces | tr , '\n' | grep '"num":' | cut -d : -f 2 | sort -rn | head -1) + 1))
sublime-text
Crie este script em /usr/bin
, nomeie-o, por exemplo. sublime-new
, conceda permissões de execução e agora você poderá iniciá-lo a partir de um emulador de terminal. Estranho, mas ao executar o script do dmenu
, ele primeiro abre o programa e depois altera o espaço de trabalho.