Ermöglicht die Ausführung einer Callback-Funktion beim Linksklick auf das Tray-Icon. Dies bietet erweiterte Interaktionsmöglichkeiten mit der Anwendung über das Tray-Icon. Zusätzlich wird das Problem behoben, dass das Icon nicht freigegeben wird und somit nicht korrekt zerstört wird.
46 lines
643 B
C
46 lines
643 B
C
#ifndef TRAY_H
|
|
#define TRAY_H
|
|
|
|
#ifdef __cplusplus
|
|
extern "C"
|
|
{
|
|
#endif
|
|
|
|
struct tray_menu;
|
|
|
|
struct tray {
|
|
const char *icon;
|
|
char *tooltip;
|
|
struct tray_menu *menu;
|
|
void *icon_handle;
|
|
int icon_is_shared;
|
|
void (*left_click_cb)(void *context);
|
|
void *left_click_context;
|
|
};
|
|
|
|
struct tray_menu {
|
|
const char *text;
|
|
int disabled;
|
|
int checked;
|
|
int checkbox;
|
|
|
|
void (*cb)(struct tray_menu *);
|
|
void *context;
|
|
|
|
struct tray_menu *submenu;
|
|
};
|
|
|
|
int tray_init(struct tray *tray);
|
|
|
|
int tray_loop(int blocking);
|
|
|
|
void tray_update(struct tray *tray);
|
|
|
|
void tray_exit(void);
|
|
|
|
#ifdef __cplusplus
|
|
} // extern "C"
|
|
#endif
|
|
|
|
#endif /* TRAY_H */
|