55 lines
1 KiB
C
55 lines
1 KiB
C
|
|
#include "gm-tray.h"
|
|
#include "eggtrayicon.h"
|
|
|
|
#define GM_TRAY_GET_PRIVATE(object)(G_TYPE_INSTANCE_GET_PRIVATE((object), GM_TYPE_TRAY, GmTrayPrivate))
|
|
|
|
typedef enum _tray_type {
|
|
TRAY_ICON_DEFAULT,
|
|
TRAY_ICON_ACTIVE,
|
|
TRAY_ICON_NOTIFY
|
|
} tray_type;
|
|
|
|
struct _GmTrayPrivate {
|
|
GtkWidget *event_box;
|
|
GtkWidget *image;
|
|
GtkTooltips *tooltips;
|
|
|
|
GtkWidget *popup_menu;
|
|
GtkWidget *show_popup_item;
|
|
GtkWidget *hide_popup_item;
|
|
|
|
guint flash_timeout;
|
|
tray_type iconnr;
|
|
};
|
|
|
|
/* Signals */
|
|
|
|
enum {
|
|
NUM_SIGNALS
|
|
};
|
|
|
|
static guint tray_signals[NUM_SIGNALS] = {0};
|
|
|
|
G_DEFINE_TYPE(GmTray, gm_tray, EGG_TYPE_TRAY_ICON)
|
|
|
|
static void
|
|
gm_tray_finalize(GObject *object) {
|
|
GmTray *view = GM_TRAY(object);
|
|
|
|
G_OBJECT_CLASS(gm_tray_parent_class)->finalize(object);
|
|
}
|
|
|
|
static void
|
|
gm_tray_class_init(GmTrayClass *klass) {
|
|
GObjectClass *object_class = G_OBJECT_CLASS(klass);
|
|
|
|
object_class->finalize = gm_tray_finalize;
|
|
|
|
g_type_class_add_private(object_class, sizeof(GmTrayPrivate));
|
|
}
|
|
|
|
static void
|
|
gm_tray_init(GmTray *tray) {
|
|
tray->private = GM_TRAY_GET_PRIVATE(tray);
|
|
}
|