IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AppleScript Discussion :

Démarrer une appli xulrunner avec argument dans un .app [Développement]


Sujet :

AppleScript

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 17
    Points : 16
    Points
    16
    Par défaut Démarrer une appli xulrunner avec argument dans un .app
    Bonjour,

    j'ai ici une application dévelopée sur la base de xulrunner qui fonctionne (presque mais c'est un autre débat).

    Après avoir minutieusement placé les fichiers dans un ".app", je peux désormais taper deux petites lignes de commande dans le terminal pour la démarrer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    cd /Applications/Toto.app/Contents/MacOS/
    ./xulrunner totocom.xcf
    totocom.xcf est un fichier de configuration nécessaire au bon fonctionnement de l'appli.

    Mais voilà, faire comme ça c'est bien beau mais pour faire propre faut packager et créer un .app qui démarre ! Pour l'instant, PackageMaker est mon ami et le .app est construit en ajoutant un applescript qui lance l'appli par shell, soit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    do shell script "chmod -R 755 /Applications/Toto.app/;cd /Applications/Toto.app/Contents/MacOS/; ./xulrunner totocom.xcf nohup &"
    Le "chmod -R 755" sert à éviter un "permission denied".
    Ca démarre et tout fonctionne mais ça lance deux icônes - une pour l'applescript et une pour l'appli j'imagine. pas bien.

    Des idées pour faire tourner le bébé bien rond ? avec une seule icône et du code plus propre ? Je prend surement le taureau par le mauvais côté ? gloups...

    Oui je sais c'est de la bidouille de l'espace... désolé je ne suis que webmaster... windaubeur en plus

    Merci d'avance à la/aux personne(s) qui osera(ont) se casser les dents sur mon problème !

  2. #2
    Modérateur

    Avatar de kOrt3x
    Homme Profil pro
    Technicien Informatique/Webmaster
    Inscrit en
    Septembre 2006
    Messages
    3 650
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Technicien Informatique/Webmaster
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 650
    Points : 15 771
    Points
    15 771
    Par défaut
    Et l'application Toto.app, elle sert à quoi ?
    Tu ne peux pas lancer directement ton fichier ./xulrunner totocom.xcf ?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 17
    Points : 16
    Points
    16
    Par défaut
    Merci kOrt3x de te pencher sur mon affaire !

    Toto.app sert à administrer/visualiser une (grosse) base de données sauce maison.

    J'aimerais bien lancer directement "./xulrunner totocom.xcf", mais il faut bien que je mette cette ligne de commande quelque part ? Et je n'ai pas trouvé d'autre moyen que de faire un applescript qui lance ce batch. Est-ce la bonne solution ?

    Est-il possible de lancer une application en applescript en faisant passer des arguments ?

    Comme dit, je vais certainement dans une mauvaise direction... ?

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 17
    Points : 16
    Points
    16
    Par défaut
    Bon bon bon...

    je suis allé grapiller des infos sur des forums américains, et voilà ce à quoi je suis arrivé :

    mon applescript ressemble à ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    tell application "Terminal" to activate
    tell application "Terminal"
    	do script "cd /Applications/Toto.app/Contents/MacOS/; ./toto.sh;exit;"
    end tell
    tell application "Finder" to set visible of process "Terminal" to false
    tell application "Terminal"
    	quit
    end tell

    L'avantage par rapport à "do shell script" c'est que toutes les commandes de la commande bash qui se trouvent dans toto.sh sont connues et reconnues.

    mon toto.sh à ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    chmod -R 755 /Applications/toto.app/;
    cd /Applications/toto.app/Contents/MacOs/;
    ./xulrunner totocom.xcf > /dev/null 2>&1 &
    Le bazar à la fin sert à ce que le "Terminal" laisse la main à xulrunner. Du coup le terminal n'a pas besoin de rester ouvert pour que xulrunner fonctionne.

    Mes sources :
    Pour l'histoire du do script : http://hintsforums.macworld.com/showthread.php?t=128841
    Pour laisser la main : http://forum.macbidouille.com/index....owtopic=327306

    Donc je suis content ! Ca fonctionne à peu près comme je le veux - le terminal blink une fois mais au moins il ne reste pas allumé !

    Voilou !

    Si quelqu'un a une meilleure solution ou voit comment assainir le code je suis toujours preneur !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 18/11/2010, 20h15
  2. Commande avec arguments dans une architecture MVVM
    Par johnaliashead dans le forum Silverlight
    Réponses: 7
    Dernier message: 26/07/2010, 16h18
  3. recuperer une fonction avec arguments dans une dll
    Par freuh94 dans le forum Windows
    Réponses: 3
    Dernier message: 03/10/2009, 11h45
  4. Création fonction avec argument dans une classe
    Par Général03 dans le forum Windows Forms
    Réponses: 8
    Dernier message: 30/06/2009, 09h57
  5. Fuite mémoire dans une appli dev avec vc++6
    Par devconf77 dans le forum Windows
    Réponses: 1
    Dernier message: 26/08/2008, 08h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo