Lancer un programme fenêtré dans un espace de travail spécifique, à partir de la ligne de commande

3

Je me demande si je peux "envoyer" un programme fenêtré dans un espace de travail spécifique lorsque je le lance via la ligne de commande.

Par exemple, je voudrais démarrer mon ordinateur avec un certain nombre de programmes fenêtrés ouverts dans différents espaces de travail. Est-ce possible? Quels sont les concepts de base sous-jacents?

J'utilise Unity, sur Ubuntu 14.04.

J'ai aussi essayé de lancer gdevilspie mais cela semble être affecté par un bogue.

merci! :)

    
posée fstab 01.05.2014 - 13:20
la source

1 réponse

3

Utilisation de wmctrl , exemple gedit :

gedit & sleep 3; wmctrl -i -r 'wmctrl -l -p | grep $! | awk '{ print  }'' -t 1
  • gedit & lance gedit dans backgroud
  • sleep 3 dormir pendant 3 secondes attendre la création de la fenêtre (ma machine un peu lente)
  • $! return PID de la commande précédente (ex: gedit pid)
  • wmctrl -l -p | grep PID | awk '{ print }' obtient le WID de gedit PID
  • wmctrl -i -r WID -t 1 déplacer la fenêtre avec WID vers le deuxième bureau

Une autre façon:

wmctrl -s 1 ; gedit & sleep 3; wmctrl -s 0;
  • Basculez vers le deuxième bureau, lancez gedit, attendez 3sec; revenir au 1er bureau

Référence:

réponse donnée user.dz 02.05.2014 - 16:28
la source

Lire d'autres questions sur les étiquettes