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 15/10/2017, à 10:52

Compte anonymisé

Aide à la programmation d'une extension pour GNOME Shell [résolu]

Bonjour,
Je développe une extension sans prétention et sans utilité autre que celle d'apprendre et de relever un défi personnel. Je prévoie par ailleurs de publier une sorte de journal de bord de cette démarche car il n'existe pas à ma connaissance de documentation en français hormis un tuto sur ubuntu-fr qui n'existait pas quand j'ai commencé et qui m'aurait bien servi à l'époque.

J'ai bien avancé, seulement je suis très limité en programmation, étant néophyte et autodidacte complet, et je suis un peu bloqué pour la terminer. Je cherche quelqu'un avec une petite expérience de Gjs ou bien à défaut un autre endroit fréquenté par des gens en capacité de m'aider sur Gjs pour poster mes questions en français.

Mon problème principal est de trouver une manière élégante (sans créer des fichiers temporaires) de formater un long texte à la manière de ce que font les commandes bash fmt et fold. Par la suite j'aimerais donner des paramètres à mon extension mais je dois bien avouer que j'ai du mal à comprendre le fonctionnement. J'ai étudier de nombreuses extensions existantes et l'implémentation du paramétrage me semble à chaque fois lourd et compliqué.

Si ça intéresse quelqu'un je donnerai bien-sûr plus de détails mais il faut avant que je me replonge dans le code car je l'avais mis de côté il y a quelques mois.

Dernière modification par abakkk (Le 23/10/2017, à 20:31)

#2 Le 15/10/2017, à 10:59

Compte anonymisé

Re : Aide à la programmation d'une extension pour GNOME Shell [résolu]

Je n'en voudrai pas aux modérateurs de déplacer le sujet dans Développement et programmation ...
désolé

#3 Le 23/10/2017, à 20:30

Compte anonymisé

Re : Aide à la programmation d'une extension pour GNOME Shell [résolu]

Avant de passer le sujet en résolu, je partage la résolution de mon problème.

J'avais besoin d'appeler la commande shell fmt dans le script de mon extension. Cette commande prend le texte soit dans un fichier, soit dans stdin, pas en argument. J'avais donc besoin de faire un pipe :

echo blabla bla bla | fmt

.
Or les fonctions spawn qui servent à appeler un programme extérieur ne fonctionnent pas avec un pipe car celui-ci induit deux instances. Il faut donc passer par

sh -c 'echo blabla bla bla | fmt'

qui permet de regrouper les deux instances en une.
Au final ça donne :

let txt_brut="blabla bla bla";
let txt_formate;
let args = ["sh", "-c", "echo "+ "\"" + txt_brut + "\"" + " | fmt -s"];
txt_formate = String(GLib.spawn_sync(null, args, null, GLib.SpawnFlags.SEARCH_PATH, null)[1]);

#4 Le 23/10/2017, à 20:37

Roschan

Re : Aide à la programmation d'une extension pour GNOME Shell [résolu]

Le tuto je l'ai commencé sur le wiki mais en fait je l'ai mis en pause en plein milieu car je me suis dit qu'il serait davantage à sa place sur le forum, où je le finirai peut-être un jour

Dernière modification par Roschan (Le 23/10/2017, à 20:38)

Hors ligne

#5 Le 24/10/2017, à 11:48

kholo

Re : Aide à la programmation d'une extension pour GNOME Shell [résolu]

@Roschan : la première partie est terrible, j'ai hâte de lire la suite wink
(une partie pour lancer un script bash et récupérer des retours par exemple cool )

Hors ligne

#6 Le 24/10/2017, à 13:16

Roschan

Re : Aide à la programmation d'une extension pour GNOME Shell [résolu]

Je ne suis pas convaincu que les extensions à base de scripts bash soient facilement publiables ^^

J'ai déplacé le tuto dans mon espace personnel du wiki en attendant

Hors ligne