Gambas-it

Gambas3 => Segnalazione bug => Topic aperto da: ivanpro - 01 Settembre 2019, 17:22:55

Titolo: [Risolto] Bug con la TrayIcon
Inserito da: ivanpro - 01 Settembre 2019, 17:22:55
Ho iniziato a programmare con Gambas e mi sono subito imbattuto in un bug con il componente TrayIcon (gb.gui.trayicon).
Vi spiego il problema:
- create un nuovo progetto di un'applicazione grafica;
- ed inserite nella Form un menu del tipo:
      Menu1
      Menu2
      Menu3
         Menu3.1
         Menu3.2
     Menu4
     Menu5
- aggiungete sempre nella Form il componente Trayicon ed associategli il Menu1 (TrayIcon1,PopupMenu=Menu1.Name) e rendete visibile la Trayicon (TrayIcon.Visible=True);
- lanciate in esecuzione l'applicazione e provate ad accedere ai sottomenu di Menu3, noterete che il Menu3 non si apre o meglio si apre in una frazione di secondo e si chiude immeditamente da solo.

Altro problema rilevato. Sempre nell'esempio sopra nella form inserite un bottone che al click si vuole rendere una qualsiasi voce del menu non visible, ad esemprio Menu4 (Menu4.Visible=False). Ebbene il menu rimane sempre lo stesso, cioè il Menu4 rimane ancora visibile mentre mi aspetto che non lo sia.

Sto programmando con la versione Gambas 3.12.2 in Ubuntu 19.04.
Titolo: Re:Bug con la TrayIcon
Inserito da: Gianluigi - 01 Settembre 2019, 19:12:54
 :ciao: ivanpro

non è che ci ho capito molto  :)

Potresti allegare il progetto, così semplifichiamo.
Nel progetto all'interno della IDE clicchi sul nenu Progetto > Crea > Pacchetto sorgenti ... e lo salvi dove credi.
Poi sotto all'editor del forum clicchi sul pulsante + Allegati e altre opzioni e sotto la voce Allega clicchi su Sfoglia.. navighi fino alla cartella dove hai salvato il tuo test e lo alleghi.

TrayIcon ha dei problemi dovuti principalmente al desktop Gnome ma credo che non sia questo il caso...
Titolo: Re:Bug con la TrayIcon
Inserito da: ivanpro - 01 Settembre 2019, 19:27:05
Ho allegato il progetto come richiesto.

Quando avviate il progetto compare la TrayIcon in alto a destra nella barra delle applicazioni (ha l'icona celeste di Gambas).
Cliccateci sopra, si aprirà il menu. Ora provate a cliccare Menu3 che si dovrebbe aprire rendendo visibili le voce Menu3_1 e Menu3_2 ma non lo fa (lo fa per una frazione di secondo).


Nella Form ho inserito anche il bottone che dovrebbe rendere non visibile la voce Menu4 dal menu della TrayIcon. Anche in questo caso non funziona.
Titolo: Re:Bug con la TrayIcon
Inserito da: Gianluigi - 01 Settembre 2019, 20:19:56
Come già ti ho anticipato TrayIcon funziona bene solo con il desktop KDE con Gnome funziona solo parzialmente il fatto è che Gnome non la vuole e pertanto la boicotta.
I sotto menu non funzionano, non funziona lo scroll orizzontale ecc.
Ti allego il tuo progetto modificato con quello che funziona.
Vedo che utilizzi le GTK con Gambas funzionano meglio le QT cerca sul forum troverai parecchie discussioni in merito.

Titolo: Re:Bug con la TrayIcon
Inserito da: ivanpro - 01 Settembre 2019, 21:37:17
Non capisco perché TrayIcon funziona bene solo con il desktop KDE e non con Gnome.
Sul mio Ubuntu, cioè nello stesso sistema operativo dove programmo con Gambas, tengo installato Skype che fa uso della TrayIcon che funziona benissimo anche con i sottomenu  :'(.

Comunque aldilà di questo la TrayIcon con Gambas ha parecchi problemi.

Allego un altro progetto.
Se provo a cancellare Menu4, mi cancella quello che sta sotto cioè Menu5  ??? ma poi se volessi ricrearlo nella stessa posizione in cui l'ho cancellato come faccio?

Per quanto riguarda i sottomenu ho trovato una mezza soluzione, quando apro il menu che contiene i sottomenu all'evento Show lo mando in loop fino a quando una variabile booleana cambia valore. Il problema è che rimane intrappolato lì dentro e non viene generato nessun altro evento... Avevo pensato di cambiare il valore alla variabile al click sul menu, ma niente non va. In Microsfot Visual Studio se si fosse presentato lo stesso problema e trovata la stessa soluzione del loop la cosa funzionerebbe inserendo nel ciclo while un Application.DoEvents() ma in Gambas DoEvents non c'è e Wait non fa al caso! Esiste una soluzione?

Scusatemi se insisto ma sto convertendo un progetto creato in ambiente Windows che fa uso esclusivamente della TrayIcon.
La TrayIcon se funziona con Skype deve funzionare necessariamente anche con Gambas.
Titolo: Re:Bug con la TrayIcon
Inserito da: Gianluigi - 01 Settembre 2019, 22:56:20
Ti conviene postare il tuo problema direttamente sul bugtracker (*) così esponi tutto direttamente a Minisini.

Io tutto quello che potevo dirti l'ho già detto  :-\

(*) http://gambaswiki.org/bugtracker
Titolo: Re:Bug con la TrayIcon
Inserito da: ivanpro - 01 Settembre 2019, 23:13:34
Grazie per tutte le info Gianluigi.
Pensavo che inoltrando i problemi di bug qui nel forum andassero automtaicamente anche a Minisini.
Mi sono iscritto anche al bugtracker, grazie ancora  ;)
Alla prossima
Titolo: Re:Bug con la TrayIcon
Inserito da: Gianluigi - 01 Settembre 2019, 23:58:36

Pensavo che inoltrando i problemi di bug qui nel forum andassero automtaicamente anche a Minisini.


Se uno ha difficoltà con l'inglese lo supportiamo, ma è sempre meglio, dove possibile, scrivere direttamente per esporre più compiutamente e con maggiore cognizione.

Comunque, nel dubbio, conviene chiedere prima qui per evitare di porre questioni sul bugtracker che in realtà non sono bug.
Titolo: Re:Bug con la TrayIcon
Inserito da: Gianluigi - 02 Settembre 2019, 16:30:02
Su Mint 19 funziona bene, vedi filmato allegato

 :ciao:
Titolo: Re:Bug con la TrayIcon
Inserito da: ivanpro - 02 Settembre 2019, 17:12:09
Eh  :o un bel casino. Ho scritto a Minisini specificando che sto programmando in Ubuntu 19.04 ma non mi ha ancora risposto.
Quello dei sottomenu e della visibilità non sono gli unici problemi.
Sto facendo i salti mortali per far funzionare la TrayIcon  :rolleyes: Spesso quando clicco su una voce non lancia le procedure ad esse associate. Per farle funzionare devo attivare un Timer con Dealy=1 che si disabilita al primo lancio  :hatecomputer:.
Titolo: Re:Bug con la TrayIcon
Inserito da: ivanpro - 03 Settembre 2019, 11:20:08
Minisini mi ha risposto e mi ha chiesto altre informazioni a cui non so rispondere:
Please fill your system information, especially which desktop you are using! AFAIK, only KDE correctly manage tray icons.
Non ne so molto di Ubuntu ma dopo l'installazione non ho modificato nessuna impostazione quindi sto usando l'ambiente di default.
Help!
Titolo: Re:Bug con la TrayIcon
Inserito da: Gianluigi - 03 Settembre 2019, 11:56:15
Devi inviare le tue System information che ottieni dal menu help (?), leggi qui:
https://www.gambas-it.org/smf/index.php?topic=5963.msg42389#msg42389
Titolo: Re:Bug con la TrayIcon
Inserito da: Gianluigi - 03 Settembre 2019, 23:28:45
Mi è venuto in mente che potresti provare con l'estensione di Gnome TopIcons Redux, forse può aiutare.  :-\
Io non l'ho mai provata, non so se funziona...
Titolo: Re:Bug con la TrayIcon
Inserito da: ivanpro - 04 Settembre 2019, 11:23:04
Non è che sia la soluzione migliore. Aspettiamo che dice Minisini e poi vediamo.
Titolo: Re:Bug con la TrayIcon
Inserito da: Gianluigi - 04 Settembre 2019, 11:42:33
Secondo me, dicendoti che funziona bene solo con KDE ti ha già risposto...
Potresti pensare a qualcosa del genere (vedi allegato), più o meno, magari facendola partire dalla trayicon con una sola voce... un'immagine con una migliore risoluzione...una barra che dica clicca col tasto destro...
Titolo: Re:Bug con la TrayIcon
Inserito da: ivanpro - 04 Settembre 2019, 13:04:32
Si è una soluzione, non ottimale ma è una soluzione. Il problema è che bisogna mettere la falsa trayicon sempre in primo piano e può dar fastidio ad un utente.
La risposta di Minisini che funziona bene solo con KDE con tutto il rispetto per lui (ha fatto e sta facendo un lavoro enorme) non l'accetto. La TrayIcon di Skype in GNOME funziona bene.
Ora non so quali problemi abbia incontrato ma bisogna stare al passo altrimenti si ha già perso. Che poi sta trayicon non è che debba fare cose trascendentali: mostrare/nascondere delle voci di menu.
Titolo: Re:Bug con la TrayIcon
Inserito da: Gianluigi - 04 Settembre 2019, 13:26:38
... La TrayIcon di Skype in GNOME funziona bene.
Ora non so quali problemi abbia incontrato ma bisogna stare al passo altrimenti si ha già perso. Che poi sta trayicon non è che debba fare cose trascendentali: mostrare/nascondere delle voci di menu.
Skype è un software proprietario, cosa centra con l'open source?
Sai assai cosa ti inietta nel computer e quali escamotage usa con a disposizione frotte di programmatori.
Se giri un po nei forum vedrai parecchie lamentele con quelli di Gnome per software che ha smesso di funzionare a causa dei cambiamenti sulla trayicon.
Quei genii hanno anche tolto la barra dei menu a Gedit così ora ti devi ricordare tutte le shortcut...
Nel mondo Linux vige un assioma, se una cosa non c'è non lamentarti, creala.
Se non sei capace trova un escamotage, e poi prima di sostenere che una cosa non funziona almeno provala.
Titolo: Re:Bug con la TrayIcon
Inserito da: Gianluigi - 04 Settembre 2019, 13:42:17
Citazione
Il problema è che bisogna mettere la falsa trayicon sempre in primo piano e può dar fastidio ad un utente.

Sai quale è il problema, è che non si sa cosa vuoi fare e quindi uno spara a caso.
Tranquillo era l'ultima cartuccia  ;D
Titolo: Re:Bug con la TrayIcon
Inserito da: ivanpro - 04 Settembre 2019, 14:30:51
Skype è un software proprietario, cosa centra con l'open source?
Ora perché tiri in ballo l'open source  :-\? L'open source non centra proprio niente! Hanno sviluppato Skype per Ubuntu e le trayicon funzionano benissimo quindi per forza di cose devo funzionare anche con Gambas. Non vedo altre vie! Non è un problema di KDE o GNOME.
Se inietta nel computer chissà cosa non è inerente all'oggetto del topic!

Nel mondo Linux vige un assioma, se una cosa non c'è non lamentarti, creala.
Se non sei capace trova un escamotage, e poi prima di sostenere che una cosa non funziona almeno provala.
1. La cosa c'è e funziona male!
2. Non mi sto lamentando ma sto facendo presente un problema. Se se ne prende atto si va anti e si cerca di risolverlo altrimenti ci si attacca tutti al tram. La trayicon non è solo un mio problema ma di chiunque ha intenzione di usarla.
3. Ho adottato tutti gli escamotage che mi sono venuti in mente ma non ho trovato una soluzione (ho segnalato nei post precedenti anche i tentativi che ho fatto) e non venirmi a dire che non l'ho provata perché hai constato tu stesso che le trayicon non funzionano.
4. Se sapessi come e dove mettere le mani nella libreria gb.gui.trayicon proverei io stesso a trovare una soluzione. Problemi non ne ho!

Umuntu ngumuntu ngabantu
"io sono ciò che sono in virtù di ciò che tutti siamo"

Sai quale è il problema, è che non si sa cosa vuoi fare e quindi uno spara a caso.
Voglio semplicemente usare la trayicon.
Titolo: Re:Bug con la TrayIcon
Inserito da: Gianluigi - 04 Settembre 2019, 16:20:05

1. La cosa c'è e funziona male!
Non mi riferivo alla trayicon
Citazione
"io sono ciò che sono in virtù di ciò che tutti siamo"
Spero proprio che non sia così
Titolo: Re:Bug con la TrayIcon
Inserito da: ivanpro - 09 Settembre 2019, 03:31:27
Ho trovato un altro problema con la TrayIcon.
Se voglio cambiare da codice l'immagine di una voce del menu associato alla TrayIcon o l'icona della TrayIcon Gambas non me lo fa fare  :hard:. Si riesce a farlo solo nell'Open della Form ma non ad esempio cliccando un bottone.
Con un menu non associato alla TrayIcon invece funziona tutto correttamente.
Almeno questo in Ubuntu 19.04  :rolleyes:.
Allego il codice sorgente.
Titolo: Re:Bug con la TrayIcon
Inserito da: Gianluigi - 29 Luglio 2020, 23:45:48
Con l'ultima master la a3ee481 la trayicon è ritornata a funzionare correttamente anche con Ubuntu Gnome.
Allego programmino dimostrativo.