Bonjour tout le monde,
J’essaie de trouver une solution simple afin de lancer, en ligne de commande, une application graphique dans un espace de travail existant au choix.
L’idée étant de créer un script permettant de configurer mes espaces de travail automatiquement (sur le bureau 1 lancer telles application, sur le bureau 2 lancer telles applications).
J’ai pas mal cherché sur internet… , mais je pense que je ne trouve pas les mots-clé pertinents !
Je suis sur Debian 7 avec XFCE 4.8.6
Edit : j’ai trouvé ce bout de script sur le forum d’ubuntu. (http://forum.ubuntu-fr.org/viewtopic.php?id=421116#p3769260)
qui s’utilise de cette manière
qui fonctionne avec Python et python-wnck. Mais je n’ai pas les connaissances pour l’adapter à Debian 7 et xfce… je continue les recherches
#!/usr/bin/python
# vim:fileencoding=utf-8
import sys
import signal
import subprocess
import gtk
import wnck
def on_new_application(screen, app, pid, wspace):
if app.get_pid() == pid:
xid = app.get_xid()
window = wnck.window_get(xid)
window.move_to_workspace(wspace)
sys.exit(0)
def on_command_end(signum, frame):
print "La commande", " ".join(sys.argv[2:]), "a terminé sans ouvrir de fenêtre."
gtk.main_quit()
def main():
if len(sys.argv) < 3:
print "Utilisation:", sys.argv[0], " <numéro de espace de travail> <commande>"
sys.exit(1)
# Controle du premier parametre
wspace_count = int(sys.argv[1])
screen = wnck.screen_get_default()
while gtk.events_pending():
gtk.main_iteration()
if wspace_count < 1 or wspace_count > screen.get_workspace_count():
print "L'espace de travail numéro", wspace_count, "n'existe pas."
sys.exit(1)
# Lancer la commande
commande = subprocess.Popen(sys.argv[2:])
signal.signal(signal.SIGCHLD, on_command_end)
screen.connect("application-opened", on_new_application,
commande.pid, screen.get_workspace(wspace_count - 1))
gtk.main()
if __name__ == '__main__':
main()
Edit 2 :
Apparemment il existe pyxfce (lien en anglais)http://pyxfce.xfce.org/index.php?page=download&lang=en
Je continue à chercher…
Merci de m’indiquer des pistes !
A plus