Contenu | Rechercher | Menus

Annonce

Le forum rencontre en ce moment quelques soucis de charge, il est possible qu'une erreur soit affichée quand vous postez un message, ne rechargez pas la page au risque de poster une seconde fois votre message

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".

#1 Le 22/11/2009, à 20:15

Lancer une application dans un bureau donné. [Bash]

Bonjour à tous,

Voilà j'esssaye de puis peu de faire des ptits script pour faire des lanceur (lanceur qui ouvre plusieur fenêtre à la fois).
Se pose une question à la quel je n'ai pas trouver de réponse.
Peut on lancer une fenêtre sur un bureau particulier ?
J'ai vu que avec devilspie y'avait moyen mais je ne comprend pas encore très bien cette application.
Et si il y'a moyen de le faire sans faire intervenir cette application (genre comme une option) celà m'aiderai.

Merci,

Alastor.

Hors ligne

#2 Le 23/11/2009, à 11:33

Re : Lancer une application dans un bureau donné. [Bash]

Utilise la commande wmctrl.

Par exemple : Lancer Firefox dans le premier bureau, et Thunderbird dans le 6ème :

#!/bin/bash
# Lancer Firefox et Thunderbird, chacun dans un bureau virtuel
# Sergio 2009
#
# Va dans bureau 1 et lance Firefox
wmctrl -s 0
firefox &
# Puis TB 2 s après
sleep 2
thunderbird &
sleep 5
# Attente affichage fenêtre TB
while !(wmctrl -l|grep "Courrier ")
do
 sleep 5
done
# Envoie dans bureau 6
wmctrl -r "Courrier" -t 5

Linux-Mint Maya 64 Cinnamon sur Toshiba Satellite P200-1BY. Linux-Mint  Nadia 64 Cinnamon sur Compaq Presario SR5617FR

Hors ligne

#3 Le 24/11/2009, à 09:40

Re : Lancer une application dans un bureau donné. [Bash]

Merci,

Peut tu m'expliquer un peu la partie while ?

Alastor.

Hors ligne

#4 Le 24/11/2009, à 11:59

Re : Lancer une application dans un bureau donné. [Bash]

Alastor a écrit :

Merci,

Peut tu m'expliquer un peu la partie while ?

Alastor.

Ben...

#!/bin/bash
#[...]
# Attente affichage fenêtre TB
while !(wmctrl -l|grep "Courrier ")
do
 sleep 5
done
# Envoie dans bureau 6
wmctrl -r "Courrier" -t 5

Tant que dans la liste des fenêtres (wmctrl -l) il n'y en n'a pas une contenant "Courrier" (aka Thunderbird) on attend 5s.
on pourrait faire une recherche sur autre chose ("Thunderbird" par exemple), mais dans mon cas, le nom de mon script contient "Thunderbird" et quand je l'ai mis au point, il y avait une fenêtre "gedit - FirefoxThunderbird" smile .

Ensuite on envoie la fenêtre dans le bureau 6 (wmctrl numérote à partir de zéro).


Linux-Mint Maya 64 Cinnamon sur Toshiba Satellite P200-1BY. Linux-Mint  Nadia 64 Cinnamon sur Compaq Presario SR5617FR

Hors ligne

Haut de page ↑