https://foro.gambas-es.org/viewtopic.php?f=1&t=5801
-----------------------------------
jsbsan
Domingo, 18 Septiembre 2016, 09:16

Aplicacion Con Icono En La Barra
-----------------------------------
Hola, buenas

Me gustaria hacer una aplicación que tuviera un icono en la barra:

 [img]https://foro.gambas-es.org/files/images/6/icono_de_aplicaciones.png[/img] 

¿como se crea en gambas eso? ¿es algun componente especial?


-----------------------------------
shordi
Domingo, 18 Septiembre 2016, 09:56

Re: Aplicacion Con Icono En La Barra
-----------------------------------
Hay un componente el gb.gui.tryicon o algo así. Nunca lo he usado.


-----------------------------------
jsbsan
Domingo, 18 Septiembre 2016, 12:55

Re: Aplicacion Con Icono En La Barra
-----------------------------------
Shordi:

Gracias, con tu comentario, ya he podido empezar a hacer lo que quiero.

Pero tengo un problema, cuando hago click en el icono que he puesto, no hace nada... es como si no "escuchara el evento":

[code linenumbers=false syntax=gambas]' Gambas module file

Public tray As New TrayIcon

Public obs As Observer


Public Sub Main()



  tray.Icon = Picture["escuchando.png"]

  tray.show()

  obs = New Observer(tray)


End

Public Sub Observer_click()

  Print "has hecho click"

End
[/code]

Nota:
Probé antes con 
[quote]public sub tray_click()

  Print "has hecho click"

End
[/quote]

Pero tampoco... ¿alquien sabe porque no "reconoce" el evente click?

Saludos


-----------------------------------
jsbsan
Domingo, 18 Septiembre 2016, 13:05

Re: Aplicacion Con Icono En La Barra
-----------------------------------
Vaya, parece que el compañero  [b]whisper[/b] tuvo problemas parecidos:

https://foro.gambas-es.org/viewtopic.php?f=4&t=4817&highlight=trayicon

 :cry:   :cry:


-----------------------------------
jsbsan
Domingo, 18 Septiembre 2016, 13:16

Re: Aplicacion Con Icono En La Barra
-----------------------------------
En python ( :twisted:  :twisted:  :twisted:  :twisted: ), he encontrado esto, y el ejemplo  funciona:

https://wiki.ubuntu.com/DesktopExperienceTeam/ApplicationIndicators#Python_version

[code linenumbers=false syntax=gambas]#!/usr/bin/env python
#
# Copyright 2009-2012 Canonical Ltd.
#
# Authors: Neil Jagdish Patel <neil>
#          Jono Bacon <jono>
#          David Planella <david>
#
# This program is free software: you can redistribute it and/or modify it 
# under the terms of either or both of the following licenses:
#
# 1) the GNU Lesser General Public License version 3, as published by the 
# Free Software Foundation; and/or
# 2) the GNU Lesser General Public License version 2.1, as published by 
# the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful, but 
# WITHOUT ANY WARRANTY; without even the implied warranties of 
# MERCHANTABILITY, SATISFACTORY QUALITY or FITNESS FOR A PARTICULAR 
# PURPOSE.  See the applicable version of the GNU Lesser General Public 
# License for more details.
#
# You should have received a copy of both the GNU Lesser General Public 
# License version 3 and version 2.1 along with this program.  If not, see 
# <http>
#

from gi.repository import Gtk
from gi.repository import AppIndicator3 as appindicator


def menuitem_response(w, buf):
  print buf

if __name__ == "__main__":
  ind = appindicator.Indicator.new (
                        "example-simple-client",
                        "indicator-messages",
                        appindicator.IndicatorCategory.APPLICATION_STATUS)
  ind.set_status (appindicator.IndicatorStatus.ACTIVE)
  ind.set_attention_icon ("indicator-messages-new")

  # create a menu
  menu = Gtk.Menu()

  # create some 
  for i in range(3):
    buf = "Test-undermenu - %d" % i

    menu_items = Gtk.MenuItem(buf)

    menu.append(menu_items)

    # this is where you would connect your menu item up with a function:
    
    # menu_items.connect("activate", menuitem_response, buf)

    # show the items
    menu_items.show()

  ind.set_menu(menu)

  Gtk.main()[/code]

A unas malas, intento combinar este script de python con gambas  :oops:


-----------------------------------
vuott
Domingo, 18 Septiembre 2016, 14:16

Re: Aplicacion Con Icono En La Barra
-----------------------------------
[quote user="jsbsan" post="34453"]En python ( :twisted:  :twisted:  :twisted:  :twisted: ), he encontrado esto[/quote]

[i]Tu quoque, jsbsan ![/i]    :sad: 

  [img]http://www.mortalkombatunited.com/public/style_emoticons/default//images/smilies2/SmileySuicide.gif[/img]


-----------------------------------
v3ctor
Domingo, 18 Septiembre 2016, 14:24

Re: Aplicacion Con Icono En La Barra
-----------------------------------
[code linenumbers=false syntax=gambas] obs = New Observer(tray) As "esto"


End

Public Sub esto_click()

  Print "has hecho click"

End[/code]


-----------------------------------
vuott
Domingo, 18 Septiembre 2016, 15:59

Re: Aplicacion Con Icono En La Barra
-----------------------------------
[quote user="v3ctor" post="34456"][code linenumbers=false syntax=gambas] obs = New Observer(tray) As "esto"[/code][/quote]
Sì, esta es la manera exacta para asignar un objecto a un Grupo mediante [i]Observer[/i], pero el evento [i]_Click( )[/i] a mi sigue no funcionando.    :neutral:


-----------------------------------
Shell
Domingo, 18 Septiembre 2016, 19:02

Re: Aplicacion Con Icono En La Barra
-----------------------------------
Hola!.

Pues a mí esto me funciona. 

[code linenumbers=false syntax=gambas]
Private icono As TrayIcon 

Public Sub Main()

icono = New TrayIcon As "Manejador"

icono.Show


End

Public Sub Manejador_Click()
  
  Print "Has hecho click!"
  
End
[/code]

Aunque no sé por qué se muestra este mensaje en la consola.

[quote]
"sni-qt/3204" WARN  19:58:51.280 void StatusNotifierItemFactory::connectToSnw() Invali
d interface to SNW_SERVICE 
[/quote]

"Ubi concordia, ibi victoria – Publius"

Saludos


-----------------------------------
v3ctor
Domingo, 18 Septiembre 2016, 19:39

Re: Aplicacion Con Icono En La Barra
-----------------------------------
[quote user="vuott" post="34457"]Sì, esta es la manera exacta para asignar un objecto a un Grupo mediante [i]Observer[/i][/quote]

por tu comentario se puede entender que la propiedad Group de muchas de las clases comunes en realidad es un observador interno de cada clase?

esto es así?


-----------------------------------
jsbsan
Domingo, 18 Septiembre 2016, 20:23

Re: Aplicacion Con Icono En La Barra
-----------------------------------
Shell:

Efectivamente .... funciona !!!   :mryellow:  :mryellow: 

Gracias !!!


-----------------------------------
vuott
Domingo, 18 Septiembre 2016, 23:17

Re: Aplicacion Con Icono En La Barra
-----------------------------------
[quote user="v3ctor" post="34459"]se puede entender que la propiedad Group de muchas de las clases comunes en realidad es un observador interno de cada clase?
[/quote]
No soy capáz de responder con certeza a esta tu pregunta; pero puede ser lo que tu dices.


[quote user="Shell" post="34458"]
Pues a mí esto me funciona. 
[/quote]
A mi no.     :neutral: 


[quote user="Shell" post="34458"]
"Ubi concordia, ibi victoria – Publius"

[/quote]
[i]...animo in consulendo, sed sine serpentibus, Consul ![/i]


-----------------------------------
Shell
Domingo, 18 Septiembre 2016, 23:57

Re: Aplicacion Con Icono En La Barra
-----------------------------------
Vuott:

[quote]
[quote user="Shell" post="34458"]
Pues a mí esto me funciona. 
[/quote]
A mi no.     :neutral: 
[/quote]

La forma de instanciar un trayicon puedes encontrarlo aquí:

[url=http://gambaswiki.org/wiki/comp/gb.gui.trayicon/trayicon/_new]Instanciar un icono en la barra

De todas formas. ¿ Llegaste  a ver esto ?.

[url=http://gambaswiki.org/wiki/comp/gb.gui.trayicon]gb.gui.trayicon

Según la wiki esto da soporte a:

[quote]
The old X11 freedesktop system tray specification.
The KDE DBus system tray protocol.
The Unity DBus system tray protocol.
[/quote]

En cambio, dice esto:

[quote]
The DBus system protocol should be standard, but, alas, KDE and Ubuntu implementations are mutually incompatible! Well done guys.
[/quote]

 :shock:

Saludos


-----------------------------------
vuott
Lunes, 19 Septiembre 2016, 00:16

Re: Aplicacion Con Icono En La Barra
-----------------------------------
[i]Shell[/i], más precisamente el evento [i][color=#990000]_Click( )[/color][/i] de la Clase [i]TrayIcon[/i] no me funciona.    :neutral:


-----------------------------------
Shell
Lunes, 19 Septiembre 2016, 08:18

Re: Aplicacion Con Icono En La Barra
-----------------------------------
[quote user="vuott" post="34467"][i]Shell[/i], más precisamente el evento [i][color=#990000]_Click( )[/color][/i] de la Clase [i]TrayIcon[/i] no me funciona.    :neutral:[/quote]

¿ Solo ese evento ?.

Si no me equivoco estás usando Linux Mint de 64b. Actualmente Julio supongo que es la que debe estar usando,
ya que amplió la memora cuestión de hace un mes.

Ahora mismo estoy usando la Mint de 32b. 

¿ Qué escritorio usas ?. ¿ Mate ?.
Es cuestión de que prueben el ejemplo más usuarios.

Saludos


-----------------------------------
vuott
Lunes, 19 Septiembre 2016, 10:04

Re: Aplicacion Con Icono En La Barra
-----------------------------------
[quote user="Shell" post="34468"]¿ Qué escritorio usas ?. ¿ Mate ?.
[/quote]
Tampoco con el mi portátil no funciona.
Aquí el mi sistema del portátil:
[i][System]
Gambas=3.9.90 r7914
OperatingSystem=Linux
Kernel=4.4.0-36-generic
Architecture=x86_64
Distribution=Linux Mint 17.3 Rosa
Desktop=CINNAMON
Theme=Cleanlooks
Language=it_IT.UTF-8
Memory=1244M[/i]


-----------------------------------
jsbsan
Lunes, 19 Septiembre 2016, 10:05

Re: Aplicacion Con Icono En La Barra
-----------------------------------
Shell:

[quote]Actualmente Julio supongo que es la que debe estar usando[/quote]
Si, estoy usando linux mint. y gambas3.9.0


-----------------------------------
vicr
Lunes, 19 Septiembre 2016, 16:38

Re: Aplicacion Con Icono En La Barra
-----------------------------------
Hola a todos...

A mi no me funciona el evento click. En un proyecto de consola puse:

[code linenumbers=false syntax=gambas]
Private icono As TrayIcon

Public Sub Main()

icono = New TrayIcon As "Manejador"

icono.Show


End

Public Sub Manejador_Click()

Print "Has hecho click!"

End
[/code]

Aún tengo Ubuntu 15.10 (+Unity) y Gambas 3.8.4

Según lo que encontré la diferencia entre KDE y Unity se resolvía de manera interna por gb.Dbus.TrayIcon

Saludos...


