Faire démarrer le programme sur le deuxième bureau virtuel (XFCE)

Probablement la raison pour laquelle je ne peux pas le find sur le web pourrait être que c'est si évident, mais je n'arrive toujours pas à comprendre:

Comment puis-je configurer XFCE de sorte qu'une window de programme spécifique s'ouvre automatiquement sur le second bureau virtuel (par exemple)?

La plupart des gestionnaires de windows n'offrent pas cette fonctionnalité. Vous pouvez exécuter Devil's Pie pour effectuer des actions lorsqu'une window est créée, par exemple en envoyant cette window à un autre espace de travail. Avec Devil's Pie 1 , créez un file ~/.devilspie/myprogram.ds contenant quelque chose comme

 (if (and (is (application_name) "specific-program") (matches (window_name) "^Program main window:")) (set_workspace 2)) 

Avec Devil's Pie 2 , créez un file ~/.devilspie2/myprogram.ds contenant quelque chose comme

 if (get_application_name() == "specific-program" and ssortingng.strfind(get_window_name(), "Program main window") == 1) then set_workspace(2); end 

Je ne sais pas si vous pouvez le démarrer dans l'autre espace de travail, mais vous pouvez le déplacer avec un script.

Jetez un oeil sur cette page: https://wiki.xfce.org/faq , dans le sous-directory "Comment permuter par programmation les espaces de travail, déplacer les windows, etc.?"

Donc, vous pouvez commencer votre programme avec un script shell simple comme:

 #!/bin/sh yourprogram & PID="$!" #echo $PID sleep 1s #sleep is required because the window takes aome time to open, maybe it can be adjusted WINH="$(wmctrl -l -p | grep "$PID" | cut -d " " -f1)" #echo $WINH wmctrl -i -r $WINH -t 2 

Ce n'est pas idéal car le process peut avoir plusieurs windows (aucune idée de ce qui se passe ensuite), mais cela devrait fonctionner pour des programmes simples.