Abra uma aplicação específica em uma área de trabalho * new * com i3wm

4

A minha pergunta é algo como este - mas não quero abrir um determinado aplicativo em um espaço de trabalho específico, quero que cada instância seja aberta em um novo espaço de trabalho a cada vez.

O OP na pergunta vinculada deseja abrir o Firefox no espaço de trabalho 2, o Chromium no espaço de trabalho 1, etc ...

Eu 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 :

Eu usei a resposta aceita de uma 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!

    
por dax 21.06.2014 / 12:01

1 resposta

4

Você pode usar um pequeno script BASH para fazer isso:

Isso abre um novo espaço de trabalho (tirado de aqui ) 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 exec e agora você pode iniciá-lo a partir de um emulador de terminal. Estranho, mas ao executar o script em dmenu , ele primeiro abre o programa e, em seguida, altera a área de trabalho.

    
por 21.06.2014 / 12:30