Haga que sniqt reconozca todas las capacidades de la bandeja (o cree un indicador de trabajo en Qt)


9

Existe este viejo hilo mío: ¿Cómo creo un indicador de trabajo con Qt / C ++? donde me sugirieron usar la biblioteca QSystemTray para hacer un icono de bandeja en Ubuntu para mi aplicación.

Sniqt es un programa que se encarga del resto. Como se sabe, Ubuntu se ha librado de los iconos de la bandeja. En cambio, ahora usa indicadores y solo indicadores. Sniqt convierte los iconos de la bandeja Qt en indicadores de trabajo.

El problema es que no hace una conversión muy decente. Las acciones como un solo clic, clic medio, etc. no funcionan, mientras que lo hacen en sistemas que admiten iconos de bandeja.

¿Hay alguna manera de recuperar estas acciones? ¿Puedo usar el ícono QSystemTray y aún tener estas acciones interesantes (y muy útiles, en mi ocasión) en Ubuntu?

También me gustaría saber la respuesta al otro hilo del que hablé anteriormente (cómo hacer un indicador de trabajo usando las bibliotecas GTK y evitar el bloqueo).

Enlace para error de Sniqt: https://bugs.launchpad.net/sni-qt/+bug/1027652


¿No es este comportamiento normal para todos los indicadores? Solo aceptan eventos de clic izquierdo y desplazamiento.
Timo

No! Si, por ejemplo, hace clic con el botón central en el icono de sonido, silenciará / activará el sonido. En mi aplicación, quiero que se cierre.
hytromo

@mateo_salta, compárelo con askubuntu.com/questions/158323/…
hytromo

Respuestas:


0

Parece que Qt no es compatible con esta cosa, al menos en Ubuntu Unity, incluso si tiene una señal 'activada'. Por lo tanto, le recomendaría usar GTK y un icono de bandeja normal, no veo otra alternativa con Qt. Puede ponerse en contacto con los desarrolladores de Qt para aclarar esto.


1
Lo sentimos, pero Qt tiene esta funcionalidad en sus iconos de bandeja. La acción de mi bandeja funciona perfectamente en otros sistemas. Es el problema de Ubuntu y su terquedad con los indicadores. Sniqt puede resolver el problema
hytromo

2
Puedo confirmar que esto no es culpa de Qt. También dudo que el problema radica en sniqt. No estoy al tanto de que los indicadores de aplicaciones tengan la capacidad de diferenciar entre clics izquierdo y derecho. Esto también ha sido una fuente constante de frustración para mí.
Nathan Osman

1

Unity, por elección, no admite lo que se refiere como "iconos de bandeja decentes". Son indicadores o nada. Desde allí tienes varias opciones:

  • Conformarse con las capacidades limitadas del indicador. Puede configurar el menú que utilizará su indicador con el método estándar QSystemTray.setContextMenu ().

  • Separe su aplicación de la bandeja del sistema por completo. Como en, conviértalo en un icono flotante en el escritorio, que podrá aceptar clics medios y derechos como Dios y Matthias Ettrich pretendían. Puede encontrar un ejemplo simple de cómo hacer esto aquí: http://kde-apps.org/content/show.php/KEyes?content=51493 (Opcionalmente, haga esto solo cuando detecte que se está ejecutando en Unity, es decir, si $ DESKTOP_SESSION está configurado en 'ubuntu'.)

  • Declarar la unidad sin soporte. Esta no es una muy buena opción.

El que quieras ir con la opción 1 o 2 depende principalmente de lo que haga tu aplicación.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.