11

Windows tiene la "bandeja del sistema" que alberga los servicios del reloj y todos los días de marcha como MSN, vapor, etc.¿Cómo se podría lograr una aplicación de bandeja del sistema en otras plataformas?

me gustaría desarrollar una aplicación de la bandeja wxPython pero me pregunto qué tan bien este puerto a voluntad otras plataformas. ¿Cuál es el equivalente de la bandeja en cada plataforma, y ​​cuánto trabajo manual se requeriría para soportar Windows, OSX y Linux (qué shells en particular sería más amigable).

Respuesta

1

En Linux realmente depende: tienes diferentes entornos de programación allí, y algunos administradores de ventanas ni siquiera tienen un área de bandeja. Sin embargo, si usas Gtk (y wx es realmente Gtk), el gtk.StatusIcon es tu amigo.

Here son algunos ejemplos de eso (no han comprobado si realmente funcionan, pero deberían mostrarle la ruta).

Para wx Encontré un código de ejemplo here.

2

Para muchos sistemas de escritorio Linux (Gnome, KDE, etc.) se implementa un SysTray Protocol de Freedesktop. Puede intentarlo si falla cualquier otra solución.

3

En OS X tiene la barra de menú de estado: los elementos de la derecha son a menudo cosas relacionadas con el estado (como el estado de la batería, las conexiones WiFi, etc.).

Intente buscar NSStatusBar y NSMenuExtra. Es casi trivial convertir una aplicación en una que tiene un menú NSStatusBar y no aparece en el Dock. Hay tutorialsaround sobre cómo hacerlo.

+0

Mi preocupación es que MSN aparece en el dock y hace sus notificaciones al rebotar. Creo que así es como probablemente debería implementar el mío ya que es principalmente un servicio de notificación. – Soviut

+0

Eche un vistazo a Growl para las notificaciones, también. Esto es super. [http://growl.info]. –

1

uso de Qt: Qt Systray Example

Eso va a mostrar un icono de la bandeja del sistema en todas las plataformas que se ejecuta en Qt y que el apoyo tales iconos. Sin embargo, tendrás que idear una estrategia cuando la funcionalidad de la bandeja del sistema no sea compatible.

Cuestiones relacionadas