This repository has been archived on 2020-04-11. You can view files and clone it, but cannot push or open issues or pull requests.
gnoemoe/gnoemoe/gm-tray.c

56 lines
1.0 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);
}