Jump to content
ElementaryOS France

Développement avec Vala - quelle galère :/


Recommended Posts

Salut,

 

C'est compliqué de vouloir faire ce que l'on souhaite sous Vala, je pense que pour mon projet, cela n'et vraiment pas adapté, je m'explique :

J'essaye de mettre un AppIndicator (une icône dans wingpanel) qui serait lié à mon application et qui permettrait d'avoir un statut. 

Et cela et quasi impossible. J'ai parcouru le web à la recherche de solution mais la je suis perdu :/ 

Quelqu'un as-il déjà réussi à faire ca ? J'ai trouvé StatusIcon dans la valadoc, mais ils disent que ca doit être remplacé par Notifications...

 

Merci pour vos réponses

Link to comment
Share on other sites

public static void main (string[] args) {
	Gtk.init (ref args);
	var indicator = new AppIndicator.Indicator ("org.my.app", "applications-system", AppIndicator.IndicatorCategory.APPLICATION_STATUS);
	indicator.title = "titre";
	var menu = new Gtk.Menu();
	var item1 = new Gtk.MenuItem.with_label ("item1");
	var item2 = new Gtk.MenuItem.with_label ("item2");
	menu.add (item1);
	menu.add (item2);
	indicator.set_menu (menu);
	menu.show_all();
	indicator.set_status (AppIndicator.IndicatorStatus.ACTIVE);
	Gtk.main();
}

Il faut que tu ais installé libappindicator3-dev . puis tu compiles avec 

 

valac main.vala --pkg appindicator3-0.1 --pkg gtk+-3.0

 

Si tout ce passe bien, tu devrais avoir une roue dentée dans le panel  :D

  • Like 1
Link to comment
Share on other sites

public static void main (string[] args) {
	Gtk.init (ref args);
	var indicator = new AppIndicator.Indicator ("org.my.app", "applications-system", AppIndicator.IndicatorCategory.APPLICATION_STATUS);
	indicator.title = "titre";
	var menu = new Gtk.Menu();
	var item1 = new Gtk.MenuItem.with_label ("item1");
	var item2 = new Gtk.MenuItem.with_label ("item2");
	menu.add (item1);
	menu.add (item2);
	indicator.set_menu (menu);
	menu.show_all();
	indicator.set_status (AppIndicator.IndicatorStatus.ACTIVE);
	Gtk.main();
}

Il faut que tu ais installé libappindicator3-dev . puis tu compiles avec 

 

Si tout ce passe bien, tu devrais avoir une roue dentée dans le panel  :D

 

 

 

Clair, concis, et surtout fonctionnelle, merci beaucoup pour cette réponse :D 

Je suis en train de faire un outil sympa pour Elementary, je vous en dirais plus lorsque ce sera terminé mais c'est surtout utile pour les dev web.

 

Merci encore beaucoup pour ces infos Breizh

A plus 

Link to comment
Share on other sites

Je suis en train de faire un outil sympa pour Elementary, je vous en dirais plus lorsque ce sera terminé mais c'est surtout utile pour les dev web.

 

Oh un outil pour le dev web ?

Tu peux nous en dire plus, j'ai hâte de voir ça ! :P

Link to comment
Share on other sites

  • 3 weeks later...

Oh un outil pour le dev web ?

Tu peux nous en dire plus, j'ai hâte de voir ça ! :P

 

Lol c'est rien de dingue, juste un outil pour avoir le statut d'apache et mysql dans le wingpanel, gérer les sites-enabled (ajouter supprimer des sites en créant le fichier conf nécéssaires etc..) 

 

Mais je trouve que ça manque un peu, Lamp est plutot complexe..

Link to comment
Share on other sites

Lol c'est rien de dingue, juste un outil pour avoir le statut d'apache et mysql dans le wingpanel, gérer les sites-enabled (ajouter supprimer des sites en créant le fichier conf nécéssaires etc..)

 

Mais je trouve que ça manque un peu, Lamp est plutot complexe..

Pas forcément, en fait le xampp like sous Linux est plutôt abordable lorsque tu commences à y mettre les mains dans la conf
Link to comment
Share on other sites

  • 9 months later...
  • 1 year later...
  • 3 weeks later...
  • 2 years later...
Le 18/08/2015 à 11:11, Nikos a dit :

Rien à voir avec le sujet, toutefois je me suis toujours posé la question d'avoir un repository avec des snippets de code vala genre une bibliothèque de codes ? Z'en pensez quoi ?

Je trouve que c'est une super idée, le code plus haut ne marche plus (ou alors j'ai fait une bêtise ? ) . C'est dommage toutes ces personnes qui savaient faire des trucs sympa et qui ne viennent plus sur le forum. Il me semble que le Wingpanel d' Elementary n'est plus tout à fait le panel de gnome , les développeurs ont travaillé dessus et je crois qu'il faut utiliser  maintenant Wingpanel.Indicator sauf que je ne sais pas trop où il y a un exemple simple à moins de se plonger dans le code d'Elementary.

Je vais chercher, en attendant si quelqu'un a une info, je prends ...

Link to comment
Share on other sites

  • 2 weeks later...
Je trouve que c'est une super idée, le code plus haut ne marche plus (ou alors j'ai fait une bêtise ? ) . C'est dommage toutes ces personnes qui savaient faire des trucs sympa et qui ne viennent plus sur le forum. Il me semble que le Wingpanel d' Elementary n'est plus tout à fait le panel de gnome , les développeurs ont travaillé dessus et je crois qu'il faut utiliser  maintenant Wingpanel.Indicator sauf que je ne sais pas trop où il y a un exemple simple à moins de se plonger dans le code d'Elementary.
Je vais chercher, en attendant si quelqu'un a une info, je prends ...
On peut creuser le sujet. Ce n'est pas lié à elementary mais c'est un bon sujet

Envoyé de mon HUAWEI NXT-L29 en utilisant Tapatalk

Link to comment
Share on other sites

Le 31/07/2019 à 10:50, lafy a dit :

Je trouve que c'est une super idée, le code plus haut ne marche plus (ou alors j'ai fait une bêtise ? ) . C'est dommage toutes ces personnes qui savaient faire des trucs sympa et qui ne viennent plus sur le forum. Il me semble que le Wingpanel d' Elementary n'est plus tout à fait le panel de gnome , les développeurs ont travaillé dessus et je crois qu'il faut utiliser  maintenant Wingpanel.Indicator sauf que je ne sais pas trop où il y a un exemple simple à moins de se plonger dans le code d'Elementary.

Je vais chercher, en attendant si quelqu'un a une info, je prends ...

Je vais pouvoir te donner une piste : il n'est plus possible d'ajouter des icones dans le tray bar : https://github.com/elementary/wingpanel/issues/96#issuecomment-401407354

A plus donc (sur une version out of the box).

Nikos

Link to comment
Share on other sites

Merci @Nikos, effectivement  c'est un choix d'Elementary et de gnome, je comprends leurs raisons, il ne veulent pas de bazar ajouté par les applications mais c'est vrai que je suis un peu déçue.

En tout cas merci beaucoup, je sais maintenant pourquoi ça ne marche plus.

Link to comment
Share on other sites

  • 9 months later...

Bon ça aurait été sympa aussi que je poursuive cette discussion, pour les futurs intéressés. Parce qu'on ne s'est pas arrêtés là.

Le code plus haut ne fonctionne pas tout seul c'est vrai, mais on peut le rétablir avec wingpanel-indicator-ayatana et ça c'est super sympa, @Wolf117Warrior a fait un post sur le sujet et aussi sur son cousin namarupa dans la rubrique tutoriels. Et puis on ne s'est toujours pas arrêté là parce que la version de wingpanel-indicator-ayatana était un peu obsolète, elle ne prenait pas les sous menus ni les cases à cocher et elle ne compilait plus ... On en a beaucoup parlé et j'ai beaucoup pesté ?

Donc il y a un gars très sympa quelque part au Canada qui l'avait déjà repassé sous meson parce que moi cmake je maîtrise pas, ça me rappelle des vieux souvenirs depuis longtemps envolés... Je raconte un peu ma vie là, désolée, mais ce Canadien eth-p me l'a gentiment retransmis après que j'aie pu faire quelques modifs donc maintenant il remarche du tonnerre et je l'adore. Alors si vous avez envie de programmer des trucs dans le panel, ou simplement de tester avec Skype, discord ou autres programmes qui se mettent dans le panel, c'est de nouveau possible.

Link to comment
Share on other sites

  • 2 weeks later...

Je me mets tout doucement au développement, en commençant par du python.

Mon soucis actuel : je pense mon script python comme un script bash. Une fois que j'aurai bien évolué sur python, je m'attaquerai au vala !
@lafy, j'avais commencé à lire ton dépôt git avec ton code vala, j'ai de grosse lacune en développement pour tout comprendre

Envoyé de mon VOG-L29 en utilisant Tapatalk

Link to comment
Share on other sites

Super, je me sentais un peu seule... Tu as raison de passer par python, il est mieux documenté que Vala, il te permet aussi faire des scripts système, mais aussi des applis graphiques avec Gtk qui fonctionnent très bien sur elementary (mais qui seront refusées par l'appcenter). Vala est difficile à aborder comme premier langage.

(Pour tout t'avouer j'ai aussi de grosses lacunes sur le système et beaucoup de mal à suivre quand tu parles technique, je suis sure que je ne suis pas la seule dans ce cas ?.)

Edited by lafy
Link to comment
Share on other sites

Pour la partie système, c'est mon travail au quotidien, je suis admin Linux :D (mes posts sont trop techniques ? je vais devoir modifier ma façon de faire, mon souhait est de pouvoir aider les personnes qui rencontrent des soucis, pas de les perdre :( )

Mais pour la partie dev, je débute totalement.

Niko

Link to comment
Share on other sites

  • 6 months later...

J'arrive un peu tard sur ce fil, mais moi aussi j'aimerais contribuer dans le développement de logiciels adaptés à eOS. Simplement, je ne m'y connais pas beaucoup en programmation. J'apprends petit à petit Python et j'espère  devenir un expert un jour. Je suis prêt à apprendre Vala, mais j'aimerais être guidé pour avoir un chemin d'apprentissage "facile" et qui a un but bien précis. Donc si quelqu'un peut me donner des pistes, je suis naturellement preneur.  S'il y a une communauté à rejoindre par exemple, je veux bien ?.

Link to comment
Share on other sites

C'est intéressant tout ça, justement il y avait bien une communauté, on en retrouve des traces sur ce forum, mais je ne sais pas du tout ce qu'ils sont devenus, est-ce qu'ils ont développé quelque chose ensemble et qu'ils travaillent encore dessus ? Je ne sais vraiment pas, en tout cas ils ne sont plus ici.

Python ça me semble un très bon chemin pour démarrer, dès que tu as les bases tu peux t'intéresser au côté graphisme avec Gtk.

Elementaryos est basé sur Vala/Gtk, mais l'appel des fonctions de Gtk est très similaire entre Python et Vala.

 

Link to comment
Share on other sites

Rectificatif : les applis Python, Ruby... sont acceptées sur l'Appcenter du moment que l'interface graphique est Gtk.

Citation récupérée sur le site officiel : "Your app may be written in any language, but the front-end must be a native Gtk3 app.

Web, Electron, Qt, Java, and other non-native app front-ends will be rejected during the review process. "

Pour ceux que ça intéresse, je sais que le sujet n'intéresse pas tout le monde, mais on est dans le bar des amis, je vous met le lien vers un template elementary  pour python : https://github.com/mirkobrombin/ElementaryPython

 

 

  • Like 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...