Mon, 12 Dec 2005 20:38:10 +0000
[gaim-migrate @ 14782]
SF Patch #1373967 from charkins
"This patch requires #1372898 to be applied first. It
adds two 3-way preferences to the docklet plugin to
determine when the tray icon should blink. One pref is
for unread IM messages, the other for unread chat
messages. The options for each:
im: never, when hidden, always
chat: never, when nick said, always
I've set the defaults to match the 1.x behavior (when
hidden for im, never for chat)."
This patch provided a function used by a previous patch. I undid my (now incorrect) changes there. I modified this to have a limit to the number of tooltips to display. I also tweaked the preference strings a bit. So, blame me if those things are wrong. ;)
committer: Richard Laager <rlaager@pidgin.im>
|
6208
46464ee45f48
[gaim-migrate @ 6694]
Robert McQueen <robot101@debian.org>
parents:
6077
diff
changeset
|
1 | /* |
|
46464ee45f48
[gaim-migrate @ 6694]
Robert McQueen <robot101@debian.org>
parents:
6077
diff
changeset
|
2 | * System tray icon (aka docklet) plugin for Gaim |
|
46464ee45f48
[gaim-migrate @ 6694]
Robert McQueen <robot101@debian.org>
parents:
6077
diff
changeset
|
3 | * |
|
46464ee45f48
[gaim-migrate @ 6694]
Robert McQueen <robot101@debian.org>
parents:
6077
diff
changeset
|
4 | * Copyright (C) 2002-3 Robert McQueen <robot101@debian.org> |
| 6077 | 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 | */ | |
|
6208
46464ee45f48
[gaim-migrate @ 6694]
Robert McQueen <robot101@debian.org>
parents:
6077
diff
changeset
|
24 | |
| 6077 | 25 | #ifndef _DOCKLET_H_ |
| 26 | #define _DOCKLET_H_ | |
| 27 | ||
|
11709
da6e9cd5f6d9
[gaim-migrate @ 14000]
Casey Harkins <charkins@pidgin.im>
parents:
10504
diff
changeset
|
28 | typedef enum |
|
6208
46464ee45f48
[gaim-migrate @ 6694]
Robert McQueen <robot101@debian.org>
parents:
6077
diff
changeset
|
29 | { |
|
11709
da6e9cd5f6d9
[gaim-migrate @ 14000]
Casey Harkins <charkins@pidgin.im>
parents:
10504
diff
changeset
|
30 | DOCKLET_STATUS_OFFLINE, |
|
da6e9cd5f6d9
[gaim-migrate @ 14000]
Casey Harkins <charkins@pidgin.im>
parents:
10504
diff
changeset
|
31 | DOCKLET_STATUS_ONLINE, |
|
da6e9cd5f6d9
[gaim-migrate @ 14000]
Casey Harkins <charkins@pidgin.im>
parents:
10504
diff
changeset
|
32 | DOCKLET_STATUS_ONLINE_PENDING, |
|
da6e9cd5f6d9
[gaim-migrate @ 14000]
Casey Harkins <charkins@pidgin.im>
parents:
10504
diff
changeset
|
33 | DOCKLET_STATUS_AWAY, |
|
da6e9cd5f6d9
[gaim-migrate @ 14000]
Casey Harkins <charkins@pidgin.im>
parents:
10504
diff
changeset
|
34 | DOCKLET_STATUS_AWAY_PENDING, |
|
da6e9cd5f6d9
[gaim-migrate @ 14000]
Casey Harkins <charkins@pidgin.im>
parents:
10504
diff
changeset
|
35 | DOCKLET_STATUS_CONNECTING |
|
da6e9cd5f6d9
[gaim-migrate @ 14000]
Casey Harkins <charkins@pidgin.im>
parents:
10504
diff
changeset
|
36 | } DockletStatus; |
| 6077 | 37 | |
|
6208
46464ee45f48
[gaim-migrate @ 6694]
Robert McQueen <robot101@debian.org>
parents:
6077
diff
changeset
|
38 | struct docklet_ui_ops |
| 6077 | 39 | { |
|
12323
f52908fb23b0
[gaim-migrate @ 14627]
Richard Laager <rlaager@pidgin.im>
parents:
12016
diff
changeset
|
40 | void (*create)(void); |
|
f52908fb23b0
[gaim-migrate @ 14627]
Richard Laager <rlaager@pidgin.im>
parents:
12016
diff
changeset
|
41 | void (*destroy)(void); |
|
11709
da6e9cd5f6d9
[gaim-migrate @ 14000]
Casey Harkins <charkins@pidgin.im>
parents:
10504
diff
changeset
|
42 | void (*update_icon)(DockletStatus); |
|
12323
f52908fb23b0
[gaim-migrate @ 14627]
Richard Laager <rlaager@pidgin.im>
parents:
12016
diff
changeset
|
43 | void (*blank_icon)(void); |
|
12471
5d7c12d525ed
[gaim-migrate @ 14781]
Casey Harkins <charkins@pidgin.im>
parents:
12323
diff
changeset
|
44 | void (*set_tooltip)(gchar *); |
|
10268
862ed5d3f227
[gaim-migrate @ 11414]
Christian Hammond <chipx86@chipx86.com>
parents:
6894
diff
changeset
|
45 | GtkMenuPositionFunc position_menu; |
| 6077 | 46 | }; |
| 47 | ||
|
6208
46464ee45f48
[gaim-migrate @ 6694]
Robert McQueen <robot101@debian.org>
parents:
6077
diff
changeset
|
48 | /* useful for setting idle callbacks that will be cleaned up */ |
|
46464ee45f48
[gaim-migrate @ 6694]
Robert McQueen <robot101@debian.org>
parents:
6077
diff
changeset
|
49 | extern GaimPlugin *handle; |
|
46464ee45f48
[gaim-migrate @ 6694]
Robert McQueen <robot101@debian.org>
parents:
6077
diff
changeset
|
50 | |
|
46464ee45f48
[gaim-migrate @ 6694]
Robert McQueen <robot101@debian.org>
parents:
6077
diff
changeset
|
51 | /* functions in docklet.c */ |
|
46464ee45f48
[gaim-migrate @ 6694]
Robert McQueen <robot101@debian.org>
parents:
6077
diff
changeset
|
52 | extern void docklet_clicked(int); |
|
12323
f52908fb23b0
[gaim-migrate @ 14627]
Richard Laager <rlaager@pidgin.im>
parents:
12016
diff
changeset
|
53 | extern void docklet_embedded(void); |
|
6208
46464ee45f48
[gaim-migrate @ 6694]
Robert McQueen <robot101@debian.org>
parents:
6077
diff
changeset
|
54 | extern void docklet_remove(gboolean); |
|
46464ee45f48
[gaim-migrate @ 6694]
Robert McQueen <robot101@debian.org>
parents:
6077
diff
changeset
|
55 | extern void docklet_set_ui_ops(struct docklet_ui_ops *); |
|
12323
f52908fb23b0
[gaim-migrate @ 14627]
Richard Laager <rlaager@pidgin.im>
parents:
12016
diff
changeset
|
56 | extern void docklet_unload(void); |
|
6208
46464ee45f48
[gaim-migrate @ 6694]
Robert McQueen <robot101@debian.org>
parents:
6077
diff
changeset
|
57 | |
|
46464ee45f48
[gaim-migrate @ 6694]
Robert McQueen <robot101@debian.org>
parents:
6077
diff
changeset
|
58 | /* function in docklet-{x11,win32}.c */ |
|
12323
f52908fb23b0
[gaim-migrate @ 14627]
Richard Laager <rlaager@pidgin.im>
parents:
12016
diff
changeset
|
59 | extern void docklet_ui_init(void); |
| 6077 | 60 | |
| 61 | #endif /* _DOCKLET_H_ */ |