lancer une application depuis un widget

naelis

Membre confirmé
15 Février 2006
64
0
Bonjour!

Je cherche à lancer un script qui ouvre une playlist dans itunes depuis un bouton cliquable sur mon widget. L'extension de ce script est .app

Rappelons que ce script se trouve dans le bundle du widget.

J'y vais à tâton car je n'y connais pas grand chose au développement mais là je sèche. Une solution?

Est-ce que je fais fausse route en allant du côté--> onclick:"widget.system(blabla, null) etc...?

Merci pour votre précieuse aide!!!
 
naelis a dit:
Bonjour!

Je cherche à lancer un script qui ouvre une playlist dans itunes depuis un bouton cliquable sur mon widget. L'extension de ce script est .app

Rappelons que ce script se trouve dans le bundle du widget.

J'y vais à tâton car je n'y connais pas grand chose au développement mais là je sèche. Une solution?

Est-ce que je fais fausse route en allant du côté--> onclick:"widget.system(blabla, null) etc...?

Merci pour votre précieuse aide!!!

widget.system("/bin/ps -aux | grep Dashboard", null);
http://developer.apple.com/macosx/dashboard.html
 
  • J’aime
Réactions: GrandGibus
merci mais je ne comprends pas en fait le chemin: /bin/ps -aux | grep Dashboard

ça correspond à quoi chez moi? ça signifie quoi en fait? Et puis mon script est dans le widget.

Mais merci.
 
dans le dossier HD:bin

ce sont les dossiers cachés de ton arborescence unix

ouvre le terminal et tape la commande
tu peux aussi faire

>open /usr <enter>
>open /bin <enter>
>open /private <enter>

....

widget.system('./myscript',return ?)
widget.system('open /usr',return ?)

-----------------------------------------------------
#!/bin/sh

_pwd_=$(pwd)

cd $(dirname "$0")

rm -f `find . -name '*.pyc'`
rm -f `find . -name '*.pyo'`
touch `find . -name '*.py'`

cd $_pwd_
-----------------------------------------------------

http://www.ac-creteil.fr/reseaux/systemes/linux/shell-scripts/shell-bash.html
 
wahouuu.:cool:

Tu vas me détester à force! Mais je ne comprend rien!! Enfin plus exactement je ne comprends qu'à moitié.

En fait, imaginons le widget. Tout le monde peut le charger donc le script à utiliser se trouve à l'intérieur du bundle.

Il faudrait qu'en cliquant sur un lien(ds le widget), cela lance le script et de n'importe quel ordinateur(enfin un mac ;-)

donc finalement le lien universel que je dois mettre qd je lance widget.system serait:

onClick:"widget.sytem('le_lien_universel_vers_mon_script', null)"

sachant que mon lien se terminerait donc par ...monwidget.wdgt/monscript.app

Mais alors ce que je mets avant, ça,... je bloque.

Si tu as le temps pourrais-tu me réexpliquer ce que tu m'as envoyé?:
>open /usr <enter>
>open /bin <enter>
>open /private <enter>

....

widget.system('./myscript',return ?)
widget.system('open /usr',return ?)

-----------------------------------------------------
#!/bin/sh

_pwd_=$(pwd)

cd $(dirname "$0")

rm -f `find . -name '*.pyc'`
rm -f `find . -name '*.pyo'`
touch `find . -name '*.py'`

cd $_pwd_

Je vais tester tout ça. merci!
 
non le lien est le repetoire courant

test.wdgt

dedans
test.html
test.js

par exemple un dossier script/

dedans

monscript.sh (chmod 755 ) ou alors sh ./script/monscript.sh voir plus loin

test.js

function runShellScript()
{
var cmd = './script/monscript.sh';
//sh ./script/monscript.sh
var mycmd = widget.system(cmd,null);

mycm
[SIZE=-1].outputString ....
[/SIZE]
}

test.html
onclick="runShellScript();"

http://developer.apple.com/documentation/AppleApplications/Reference/Dashboard_Ref/GadgetObj/chapter_2_section_3.html


sinon avance ton widget ( graphisme ) et je te ferais l'appel du script
 
un .app un bundle ou un fichier avec .app ?

de toutes les façons ca ne change rien

open "/Applications/Address Book.app"

ou "/Applications/Address Book.app/Contents/MacOS/Address Book"
 
alors voici du nouveau grâce à la fonction widget.openApplication.

Dans mon fichier javascript je mets ça:

function launchApp()
{
if (window.widget){
widget.openApplication("com.apple.iTunes");
}
}



et ds mon fichier.html je mets ça:

onclick="launchApp()"




ça marche parfaitement. ça lance iTunes.




Donc que dois-je mettre à la place de com.apple.iTunes pour lancer ce script qui se trouve dans le dossier widget et dont l'extension est .app?

En fait ce que je ne maîtrise pas du tout ce sont les chemins des fichiers.
 
héhé! oui je fais que ça lire!! lol
En fait c'est difficile pour moi qd on ne connais aucun terme de base et puis à force en comprend mais ça ne vient pas tout de suite!!

là j'ai du mal qd même pour lancer ce truc!!!

Mais merci à toi de m'aider!
 
Je suis tout honteux car je ne comprend mot de ce que tu dis... hihi

ça signifie quoi compiler mon script comme une app? Le script a déjà l'extension .app

En fait ce n'est pas si facile que ça n'est-ce pas?(dis-moi oui ça me rassurera! héhé)
 
de mon côté je n'y arrive toujours pas. J'ai essayé aussi du côté de la commande widget.system mais rien à faire...