2017-06-19 5 views
1

J'écris une applet pour Cinnamon GTK (Javascript).écrire une applet de cannelle qui engendre une commande

Après de nombreuses heures de recherche et d'essais et d'erreurs, j'ai finalement réussi à engendrer une commande. Mais je ne pense pas que cela fonctionne efficacement. De nombreuses pages renvoient 404 et certaines pages parlent de l'épice alimentaire et quelques pages parlent d'applets avec d'autres langues ...

Quoi qu'il en soit, ce que je dis, c'est que la documentation est effrayante.

En utilisant Util (de /usr/share/cinnamon/js/util.js), en essayant:

Util.spawn_async(['/bin/bash', '-c', comm], CommandOutput); 

et je peux obtenir la sortie avec mon 'CommandOutput (résultat)' fonction. Maintenant, j'ai une autre méthode utilisant:

let [res, pid, in_fd, out_fd, err_fd] = GLib.spawn_async_with_pipes(null, ["/usr/bin/command-name", "command-args"], null, GLib.SpawnFlags.SEARCH_PATH, null); 
out_reader = new Gio.DataInputStream({base_stream: new Gio.UnixInputStream({fd: out_fd})}); 
let [out, size] = out_reader.read_line(null); 

Et cela semble fonctionner ...

S'il vous plaît me dire la meilleure façon d'effectuer des chaînes-fonctions sur la sortie d'une commande?

Existe-t-il un manuel de référence? Quelle est la meilleure expression de recherche (dans Google, etc.)?

P.S. J'aimerais aussi écrire la sortie de la commande dans un fichier temporaire. Comment puis je faire ça?

Répondre