| 1 /* |
|
| 2 * System tray icon (aka docklet) plugin for Gaim |
|
| 3 * |
|
| 4 * Copyright (C) 2002-3 Robert McQueen <robot101@debian.org> |
|
| 5 * Copyright (C) 2003 Herman Bloggs <hermanator12002@yahoo.com> |
|
| 6 * Inspired by a similar plugin by: |
|
| 7 * John (J5) Palmieri <johnp@martianrock.com> |
|
| 8 * |
|
| 9 * This program is free software; you can redistribute it and/or |
|
| 10 * modify it under the terms of the GNU General Public License as |
|
| 11 * published by the Free Software Foundation; either version 2 of the |
|
| 12 * License, or (at your option) any later version. |
|
| 13 * |
|
| 14 * This program is distributed in the hope that it will be useful, but |
|
| 15 * WITHOUT ANY WARRANTY; without even the implied warranty of |
|
| 16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
|
| 17 * General Public License for more details. |
|
| 18 * |
|
| 19 * You should have received a copy of the GNU General Public License |
|
| 20 * along with this program; if not, write to the Free Software |
|
| 21 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA |
|
| 22 * 02111-1307, USA. |
|
| 23 */ |
|
| 24 |
|
| 25 #ifndef _DOCKLET_H_ |
|
| 26 #define _DOCKLET_H_ |
|
| 27 |
|
| 28 typedef enum |
|
| 29 { |
|
| 30 DOCKLET_STATUS_OFFLINE, |
|
| 31 DOCKLET_STATUS_ONLINE, |
|
| 32 DOCKLET_STATUS_ONLINE_PENDING, |
|
| 33 DOCKLET_STATUS_AWAY, |
|
| 34 DOCKLET_STATUS_AWAY_PENDING, |
|
| 35 DOCKLET_STATUS_CONNECTING |
|
| 36 } DockletStatus; |
|
| 37 |
|
| 38 struct docklet_ui_ops |
|
| 39 { |
|
| 40 void (*create)(void); |
|
| 41 void (*destroy)(void); |
|
| 42 void (*update_icon)(DockletStatus); |
|
| 43 void (*blank_icon)(void); |
|
| 44 void (*set_tooltip)(gchar *); |
|
| 45 GtkMenuPositionFunc position_menu; |
|
| 46 }; |
|
| 47 |
|
| 48 /* useful for setting idle callbacks that will be cleaned up */ |
|
| 49 extern GaimPlugin *handle; |
|
| 50 |
|
| 51 /* functions in docklet.c */ |
|
| 52 void docklet_clicked(int); |
|
| 53 void docklet_embedded(void); |
|
| 54 void docklet_remove(void); |
|
| 55 void docklet_set_ui_ops(struct docklet_ui_ops *); |
|
| 56 void docklet_unload(void); |
|
| 57 |
|
| 58 /* function in docklet-{x11,win32}.c */ |
|
| 59 void docklet_ui_init(void); |
|
| 60 |
|
| 61 #endif /* _DOCKLET_H_ */ |
|