qTox  Version: nightly | Commit: bc751c8e1cac455f9690654fcfe0f560d2d7dfdd
statusnotifier.h
Go to the documentation of this file.
1 /*
2  * statusnotifier - Copyright (C) 2014 Olivier Brunel
3  *
4  * statusnotifier.h
5  * Copyright (C) 2014 Olivier Brunel <jjk@jjacky.com>
6  *
7  * This file is part of statusnotifier.
8  *
9  * statusnotifier is free software: you can redistribute it and/or modify it
10  * under the terms of the GNU General Public License as published by the Free
11  * Software Foundation, either version 3 of the License, or (at your option) any
12  * later version.
13  *
14  * statusnotifier is distributed in the hope that it will be useful, but WITHOUT
15  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
16  * FOR A PARTICULAR PURPOSE.
17  * See the GNU General Public License for more details.
18  *
19  * You should have received a copy of the GNU General Public License along with
20  * statusnotifier. If not, see http://www.gnu.org/licenses/
21  */
22 
23 #pragma once
24 
25 #include <gdk-pixbuf/gdk-pixbuf.h>
26 #include <gio/gio.h>
27 #include <glib-object.h>
28 #include <glib.h>
29 
30 G_BEGIN_DECLS
31 
33 typedef struct _StatusNotifierPrivate StatusNotifierPrivate;
35 
36 #define TYPE_STATUS_NOTIFIER (status_notifier_get_type())
37 #define STATUS_NOTIFIER(obj) \
38  (G_TYPE_CHECK_INSTANCE_CAST((obj), TYPE_STATUS_NOTIFIER, StatusNotifier))
39 #define STATUS_NOTIFIER_CLASS(klass) \
40  (G_TYPE_CHECK_CLASS_CAST((klass), TYPE_STATUS_NOTIFIER, StatusNotiferClass))
41 #define IS_STATUS_NOTIFIER(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), TYPE_STATUS_NOTIFIER))
42 #define IS_STATUS_NOTIFIER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((obj), TYPE_STATUS_NOTIFIER))
43 #define STATUS_NOTIFIER_GET_CLASS(obj) \
44  (G_TYPE_INSTANCE_GET_CLASS((obj), TYPE_STATUS_NOTIFIER, StatusNotifierClass))
45 
46 GType status_notifier_get_type(void) G_GNUC_CONST;
47 
48 #define STATUS_NOTIFIER_ERROR g_quark_from_static_string("StatusNotifier error")
49 
63 typedef enum {
69 
86 typedef enum {
92 
108 typedef enum {
113  /*< private >*/
116 
136 typedef enum {
142 
157 typedef enum {
162 
172 typedef enum {
176 
178 {
179  /*< private >*/
180  GObject parent;
182 };
183 
204 {
205  GObjectClass parent_class;
206 
207  /* signals */
208  void (*registration_failed)(StatusNotifier* sn, GError* error);
209 
210  gboolean (*context_menu)(StatusNotifier* sn, gint x, gint y);
211  gboolean (*activate)(StatusNotifier* sn, gint x, gint y);
212  gboolean (*secondary_activate)(StatusNotifier* sn, gint x, gint y);
213  gboolean (*scroll)(StatusNotifier* sn, gint delta, StatusNotifierScrollOrientation orientation);
214 };
215 
217  GdkPixbuf* pixbuf);
219  const gchar* icon_name);
220 const gchar* status_notifier_get_id(StatusNotifier* sn);
222 void status_notifier_set_from_pixbuf(StatusNotifier* sn, StatusNotifierIcon icon, GdkPixbuf* pixbuf);
224  const gchar* icon_name);
228 void status_notifier_set_attention_movie_name(StatusNotifier* sn, const gchar* movie_name);
230 void status_notifier_set_title(StatusNotifier* sn, const gchar* title);
234 void status_notifier_set_window_id(StatusNotifier* sn, guint32 window_id);
238 void status_notifier_set_tooltip(StatusNotifier* sn, const gchar* icon_name, const gchar* title,
239  const gchar* body);
240 void status_notifier_set_tooltip_title(StatusNotifier* sn, const gchar* title);
242 void status_notifier_set_tooltip_body(StatusNotifier* sn, const gchar* body);
246 
247 G_END_DECLS
status_notifier_get_icon_name
gchar * status_notifier_get_icon_name(StatusNotifier *sn, StatusNotifierIcon icon)
status_notifier_get_type
GType status_notifier_get_type(void) G_GNUC_CONST
STATUS_NOTIFIER_STATUS_NEEDS_ATTENTION
@ STATUS_NOTIFIER_STATUS_NEEDS_ATTENTION
Definition: statusnotifier.h:160
_StatusNotifierClass::context_menu
gboolean(* context_menu)(StatusNotifier *sn, gint x, gint y)
Definition: statusnotifier.h:210
STATUS_NOTIFIER_ATTENTION_ICON
@ STATUS_NOTIFIER_ATTENTION_ICON
Definition: statusnotifier.h:110
status_notifier_set_tooltip_title
void status_notifier_set_tooltip_title(StatusNotifier *sn, const gchar *title)
_NB_STATUS_NOTIFIER_ICONS
@ _NB_STATUS_NOTIFIER_ICONS
Definition: statusnotifier.h:114
STATUS_NOTIFIER_CATEGORY_HARDWARE
@ STATUS_NOTIFIER_CATEGORY_HARDWARE
Definition: statusnotifier.h:140
status_notifier_register
void status_notifier_register(StatusNotifier *sn)
_StatusNotifier::parent
GObject parent
Definition: statusnotifier.h:180
status_notifier_set_from_icon_name
void status_notifier_set_from_icon_name(StatusNotifier *sn, StatusNotifierIcon icon, const gchar *icon_name)
STATUS_NOTIFIER_STATUS_ACTIVE
@ STATUS_NOTIFIER_STATUS_ACTIVE
Definition: statusnotifier.h:159
status_notifier_set_window_id
void status_notifier_set_window_id(StatusNotifier *sn, guint32 window_id)
status_notifier_get_tooltip_title
gchar * status_notifier_get_tooltip_title(StatusNotifier *sn)
_StatusNotifierClass
Definition: statusnotifier.h:203
status_notifier_thaw_tooltip
void status_notifier_thaw_tooltip(StatusNotifier *sn)
StatusNotifierState
StatusNotifierState
Definition: statusnotifier.h:86
STATUS_NOTIFIER_ICON
@ STATUS_NOTIFIER_ICON
Definition: statusnotifier.h:109
_StatusNotifierClass::activate
gboolean(* activate)(StatusNotifier *sn, gint x, gint y)
Definition: statusnotifier.h:211
status_notifier_set_tooltip
void status_notifier_set_tooltip(StatusNotifier *sn, const gchar *icon_name, const gchar *title, const gchar *body)
status_notifier_get_title
gchar * status_notifier_get_title(StatusNotifier *sn)
status_notifier_new_from_icon_name
StatusNotifier * status_notifier_new_from_icon_name(const gchar *id, StatusNotifierCategory category, const gchar *icon_name)
_StatusNotifier::priv
StatusNotifierPrivate * priv
Definition: statusnotifier.h:181
STATUS_NOTIFIER_SCROLL_ORIENTATION_VERTICAL
@ STATUS_NOTIFIER_SCROLL_ORIENTATION_VERTICAL
Definition: statusnotifier.h:174
status_notifier_has_pixbuf
gboolean status_notifier_has_pixbuf(StatusNotifier *sn, StatusNotifierIcon icon)
status_notifier_get_tooltip_body
gchar * status_notifier_get_tooltip_body(StatusNotifier *sn)
STATUS_NOTIFIER_ERROR_NO_CONNECTION
@ STATUS_NOTIFIER_ERROR_NO_CONNECTION
Definition: statusnotifier.h:64
status_notifier_set_status
void status_notifier_set_status(StatusNotifier *sn, StatusNotifierStatus status)
STATUS_NOTIFIER_STATE_REGISTERED
@ STATUS_NOTIFIER_STATE_REGISTERED
Definition: statusnotifier.h:89
status_notifier_get_id
const gchar * status_notifier_get_id(StatusNotifier *sn)
STATUS_NOTIFIER_CATEGORY_COMMUNICATIONS
@ STATUS_NOTIFIER_CATEGORY_COMMUNICATIONS
Definition: statusnotifier.h:138
STATUS_NOTIFIER_STATE_REGISTERING
@ STATUS_NOTIFIER_STATE_REGISTERING
Definition: statusnotifier.h:88
status_notifier_get_status
StatusNotifierStatus status_notifier_get_status(StatusNotifier *sn)
STATUS_NOTIFIER_ERROR_NO_HOST
@ STATUS_NOTIFIER_ERROR_NO_HOST
Definition: statusnotifier.h:67
STATUS_NOTIFIER_STATUS_PASSIVE
@ STATUS_NOTIFIER_STATUS_PASSIVE
Definition: statusnotifier.h:158
_StatusNotifierClass::scroll
gboolean(* scroll)(StatusNotifier *sn, gint delta, StatusNotifierScrollOrientation orientation)
Definition: statusnotifier.h:213
status_notifier_get_attention_movie_name
gchar * status_notifier_get_attention_movie_name(StatusNotifier *sn)
StatusNotifierError
StatusNotifierError
Definition: statusnotifier.h:63
status_notifier_set_from_pixbuf
void status_notifier_set_from_pixbuf(StatusNotifier *sn, StatusNotifierIcon icon, GdkPixbuf *pixbuf)
STATUS_NOTIFIER_CATEGORY_SYSTEM_SERVICES
@ STATUS_NOTIFIER_CATEGORY_SYSTEM_SERVICES
Definition: statusnotifier.h:139
status_notifier_get_category
StatusNotifierCategory status_notifier_get_category(StatusNotifier *sn)
STATUS_NOTIFIER_SCROLL_ORIENTATION_HORIZONTAL
@ STATUS_NOTIFIER_SCROLL_ORIENTATION_HORIZONTAL
Definition: statusnotifier.h:173
_StatusNotifierClass::secondary_activate
gboolean(* secondary_activate)(StatusNotifier *sn, gint x, gint y)
Definition: statusnotifier.h:212
status_notifier_new_from_pixbuf
StatusNotifier * status_notifier_new_from_pixbuf(const gchar *id, StatusNotifierCategory category, GdkPixbuf *pixbuf)
STATUS_NOTIFIER_OVERLAY_ICON
@ STATUS_NOTIFIER_OVERLAY_ICON
Definition: statusnotifier.h:111
_StatusNotifierClass::parent_class
GObjectClass parent_class
Definition: statusnotifier.h:205
STATUS_NOTIFIER_STATE_NOT_REGISTERED
@ STATUS_NOTIFIER_STATE_NOT_REGISTERED
Definition: statusnotifier.h:87
status_notifier_set_title
void status_notifier_set_title(StatusNotifier *sn, const gchar *title)
status_notifier_get_pixbuf
GdkPixbuf * status_notifier_get_pixbuf(StatusNotifier *sn, StatusNotifierIcon icon)
StatusNotifier
typedefG_BEGIN_DECLS struct _StatusNotifier StatusNotifier
Definition: statusnotifier.h:32
StatusNotifierIcon
StatusNotifierIcon
Definition: statusnotifier.h:108
StatusNotifierStatus
StatusNotifierStatus
Definition: statusnotifier.h:157
STATUS_NOTIFIER_CATEGORY_APPLICATION_STATUS
@ STATUS_NOTIFIER_CATEGORY_APPLICATION_STATUS
Definition: statusnotifier.h:137
StatusNotifierScrollOrientation
StatusNotifierScrollOrientation
Definition: statusnotifier.h:172
status_notifier_freeze_tooltip
void status_notifier_freeze_tooltip(StatusNotifier *sn)
STATUS_NOTIFIER_STATE_FAILED
@ STATUS_NOTIFIER_STATE_FAILED
Definition: statusnotifier.h:90
status_notifier_get_state
StatusNotifierState status_notifier_get_state(StatusNotifier *sn)
_StatusNotifier
Definition: statusnotifier.h:177
STATUS_NOTIFIER_TOOLTIP_ICON
@ STATUS_NOTIFIER_TOOLTIP_ICON
Definition: statusnotifier.h:112
_StatusNotifierClass::registration_failed
void(* registration_failed)(StatusNotifier *sn, GError *error)
Definition: statusnotifier.h:208
StatusNotifierCategory
StatusNotifierCategory
Definition: statusnotifier.h:136
STATUS_NOTIFIER_ERROR_NO_NAME
@ STATUS_NOTIFIER_ERROR_NO_NAME
Definition: statusnotifier.h:65
StatusNotifierPrivate
struct _StatusNotifierPrivate StatusNotifierPrivate
Definition: statusnotifier.h:33
status_notifier_set_tooltip_body
void status_notifier_set_tooltip_body(StatusNotifier *sn, const gchar *body)
status_notifier_get_window_id
guint32 status_notifier_get_window_id(StatusNotifier *sn)
status_notifier_set_attention_movie_name
void status_notifier_set_attention_movie_name(StatusNotifier *sn, const gchar *movie_name)
STATUS_NOTIFIER_ERROR_NO_WATCHER
@ STATUS_NOTIFIER_ERROR_NO_WATCHER
Definition: statusnotifier.h:66