Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

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

Alastor

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, à 10:33

serged

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

LinuxMint Vera Cinnamon et d'autres machines en MATE, XFCE... 20.x , 21.x ou 19.x
Tour : Asus F2A55 / AMD A8-5600K APU 3,6GHz / RAM 16Go / Nvidia GeForce GT610 / LM21.1 Cinnamon
Portable : LDLC Mercure MH : Celeron N3450 /RAM 4Go / Intel HD graphics 500 i915 / biboot Win 10 (sur SSD) - LM21.1 MATE (sur HDD)

Hors ligne

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

Alastor

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, à 10:59

serged

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).


LinuxMint Vera Cinnamon et d'autres machines en MATE, XFCE... 20.x , 21.x ou 19.x
Tour : Asus F2A55 / AMD A8-5600K APU 3,6GHz / RAM 16Go / Nvidia GeForce GT610 / LM21.1 Cinnamon
Portable : LDLC Mercure MH : Celeron N3450 /RAM 4Go / Intel HD graphics 500 i915 / biboot Win 10 (sur SSD) - LM21.1 MATE (sur HDD)

Hors ligne