Como iniciar dois aplicativos com um atalho de teclado no i3?

2

Estou tentando criar um comando que lance o cmus em um terminal e projectM-pulseaudio ao lado dele (estou usando o gerenciador de janelas do i3).

Quando eu tento

projectM-pulseaudio && cmus

cmus não inicia até eu fechar o ProjectM. E quando eu tento

cmus && projectM-pulseaudio

Em seguida, o ProjectM não inicia até que eu saia do cmus .

Eu entendo que cmus é uma ferramenta baseada em linha de comando, enquanto o ProjectM não é. Eu wanter se é por isso que não está funcionando ou se há outro motivo. Alguma idéia?

    
por Oposum 28.06.2017 / 22:43

2 respostas

3

Quando você digita

utility1 && utility2

isso significa que utility2 não será iniciado até que utility1 tenha terminado com um status de saída zero (mas não de outra forma).

Da mesma forma,

utility1 || utility2

significa que utility2 será executado se utility1 terminar com um status de saída diferente de zero (mas não de outra forma).

com

utility1 & utility2 &

que é o mesmo que

utility1 &
utility2 &

você inicia ambos os utilitários como processos em segundo plano (ambos iniciarão independentemente uns dos outros) e com

utility1 & utility2

que é o mesmo que

utility1 &
utility2

você inicia utility1 como um processo em segundo plano e, em seguida, utility2 como um processo em primeiro plano.

Isso significa, coincidentemente, que o título da sua pergunta acertou:

cmus & projectM-pulseaudio

ou possivelmente

projectM-pulseaudio & cmus

(mas eu não sei o que esses programas fazem, então não tenho certeza se faz sentido executar um ou outro, ou ambos, como um processo em segundo plano).

    
por 28.06.2017 / 22:47
0

I am trying to come up with a command that will launch cmus in a terminal and projectM-pulseaudio right next to it (I am using i3 window manager).

Essa não é a maneira i3 . Eu acho que o que você quer é algo assim,

bindsym $mod+v exec projectM-pulseaudio, exec kitty cmus

Note que você terá que saber como funciona o seu terminal. Embora eu sugiro que você use kitty , porque é facilmente o terminal de bad ass mais característica com ligadura e suporte gráfico - vai renderizar fotos com Ranger em um framebuffer.

Se você quer um shell além do cmus (então quando você terminar, ele não sai)

bindsym $mod+v exec projectM-pulseaudio, exec kitty bash -c'cmus'
    
por 28.11.2018 / 08:50

Tags