Ouvrir une application spécifique dans un espace de travail * new * avec i3wm

Ma question est quelque chose comme ça – mais je ne veux pas ouvrir une application donnée sur un espace de travail spécifique, je veux que chaque instance s'ouvre sur un nouvel espace de travail à chaque fois.

L'OP dans la question liée à-veut ouvrir Firefox sur l'espace de travail 2, Chromium sur l'espace de travail 1, etc …

Je veux ouvrir de nouvelles instances d'un éditeur de text (Sublime Text) dans un nouvel espace de travail pour chaque nouvelle instance. Est-ce possible?

solution :

J'ai utilisé la réponse acceptée sous une forme modifiée:

# .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 } 

afin que je puisse l'utiliser comme ceci:

 $ sublime /path/to/file 

et aussi parce que j'utilise mes files sur plusieurs ordinateurs, il est donc plus agréable d'inclure tout en un seul endroit!

Vous pouvez utiliser un petit script BASH pour faire cela:

Cela ouvre un nouvel espace de travail (tiré d' ici ) et exécute une command:

 #!/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 

Créez ce script sous /usr/bin , nommez-le par ex. sublime-new , donnez-lui des permissions d'exécution et vous pouvez maintenant le lancer à partir d'un émulateur de terminal. Etrange, mais lors de l'exécution du script de dmenu , il ouvre d'abord le programme, puis change l'espace de travail.