pidgin/plugins/perl/common/gtkmodule.h

Sat, 28 Apr 2007 02:33:40 +0000

author
Luke Schierer <lschiere@pidgin.im>
date
Sat, 28 Apr 2007 02:33:40 +0000
changeset 16621
616dc666cfb8
parent 15899
75f0041f72b8
child 18068
b6554e3c8224
child 24569
5dbd0617a27d
permissions
-rw-r--r--

Quoth Charkins:
This patch has two changes:

"This patch has two changes:

First is to slightly change the re-creation behavior of the docklet. Sadrul pointed out on gaim-devel that the x11 docklet re-creates itself when it is destroyed and thought this might be causing problems with fluxbox. This patch now distinguishes between initial creation and re-creation. When re-creating, the docklet no longer registers itself as a visibility manager until it successfully embeds.

Second is to change the timeout behavior for embedding. Because the notification area API is asynchronous, gaim assumes the docklet gets embeded for a certain timeout period, allowing the buddy list to start hidden before the docklet has been embeded in the notification area. If the timeout occurs, it is removed as a visibility manager and the buddy list will become visible. This timeout has been set at 5 seconds. There have been a few reports that indicate this timeout period is not long enough when starting gaim from a saved session upon login. I have been hesitant to increase the timeout, as it has the potential of delaying the startup of gaim for the timeout period if the buddy list was hidden when gaim last closed and there is not currently a notification area available. This patch makes the x11 docklet track whether it was successfully embedded and uses a longer timeout (15 seconds in this patch) only if it successfully embedded on the previous execution. Otherwise, it uses the shorter 5 second timeout. "

15590
c07dd12bf3f4 Partial fix for pidgin perl support. Fixing fully is going to require a decision on splitting from some of the core perl support - more than I want to deal with right now.
Daniel Atallah <datallah@pidgin.im>
parents: 15577
diff changeset
1 typedef struct group *Pidgin__Group;
14478
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
2
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
3 #define group perl_group
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
4
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
5 #include <glib.h>
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
6 #include <gtk/gtk.h>
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
7 #ifdef _WIN32
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
8 #undef pipe
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
9 #endif
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
10 #include <EXTERN.h>
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
11 #include <perl.h>
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
12 #include <XSUB.h>
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
13
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
14 #undef group
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
15
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
16 #include <plugins/perl/common/module.h>
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
17
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
18 #include "gtkaccount.h"
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
19 #include "gtkblist.h"
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
20 #include "gtkconn.h"
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
21 #include "gtkconv.h"
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
22 #include "gtkconvwin.h"
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
23 #include "gtkdebug.h"
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
24 #include "gtkdialogs.h"
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
25 #include "gtkft.h"
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
26 #include "gtkimhtml.h"
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
27 #include "gtkimhtmltoolbar.h"
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
28 #include "gtklog.h"
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
29 #include "gtkmenutray.h"
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
30 #include "gtkplugin.h"
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
31 #include "gtkpluginpref.h"
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
32 #include "gtkpounce.h"
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
33 #include "gtkprefs.h"
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
34 #include "gtkprivacy.h"
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
35 #include "gtkroomlist.h"
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
36 #include "gtksavedstatuses.h"
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
37 #include "gtksession.h"
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
38 #include "gtksound.h"
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
39 #include "gtkstatusbox.h"
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
40 #include "gtkthemes.h"
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
41 #include "gtkutils.h"
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
42
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
43 /* gtkaccount.h */
15590
c07dd12bf3f4 Partial fix for pidgin perl support. Fixing fully is going to require a decision on splitting from some of the core perl support - more than I want to deal with right now.
Daniel Atallah <datallah@pidgin.im>
parents: 15577
diff changeset
44 typedef PidginAccountDialogType Pidgin__Account__Dialog__Type;
14478
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
45
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
46 /* gtkblist.h */
15590
c07dd12bf3f4 Partial fix for pidgin perl support. Fixing fully is going to require a decision on splitting from some of the core perl support - more than I want to deal with right now.
Daniel Atallah <datallah@pidgin.im>
parents: 15577
diff changeset
47 typedef PidginBuddyList * Pidgin__BuddyList;
c07dd12bf3f4 Partial fix for pidgin perl support. Fixing fully is going to require a decision on splitting from some of the core perl support - more than I want to deal with right now.
Daniel Atallah <datallah@pidgin.im>
parents: 15577
diff changeset
48 typedef pidgin_blist_sort_function Pidgin__BuddyList__SortFunction;
14478
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
49
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
50 /* gtkconv.h */
15590
c07dd12bf3f4 Partial fix for pidgin perl support. Fixing fully is going to require a decision on splitting from some of the core perl support - more than I want to deal with right now.
Daniel Atallah <datallah@pidgin.im>
parents: 15577
diff changeset
51 typedef PidginConversation * Pidgin__Conversation;
15899
75f0041f72b8 Pidgin perl fixes for s/gaim/purple/.
Daniel Atallah <datallah@pidgin.im>
parents: 15884
diff changeset
52 typedef PidginUnseenState Pidgin__UnseenState;
14478
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
53
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
54 /* gtkconvwin.h */
15590
c07dd12bf3f4 Partial fix for pidgin perl support. Fixing fully is going to require a decision on splitting from some of the core perl support - more than I want to deal with right now.
Daniel Atallah <datallah@pidgin.im>
parents: 15577
diff changeset
55 typedef PidginWindow * Pidgin__Conversation__Window;
15899
75f0041f72b8 Pidgin perl fixes for s/gaim/purple/.
Daniel Atallah <datallah@pidgin.im>
parents: 15884
diff changeset
56 typedef PidginConvPlacementFunc Pidgin__Conversation__PlacementFunc;
14478
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
57
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
58 /* gtkft.h */
15590
c07dd12bf3f4 Partial fix for pidgin perl support. Fixing fully is going to require a decision on splitting from some of the core perl support - more than I want to deal with right now.
Daniel Atallah <datallah@pidgin.im>
parents: 15577
diff changeset
59 typedef PidginXferDialog * Pidgin__Xfer__Dialog;
14478
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
60
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
61 /* gtkimhtml.h */
15590
c07dd12bf3f4 Partial fix for pidgin perl support. Fixing fully is going to require a decision on splitting from some of the core perl support - more than I want to deal with right now.
Daniel Atallah <datallah@pidgin.im>
parents: 15577
diff changeset
62 typedef GtkIMHtml * Pidgin__IMHtml;
c07dd12bf3f4 Partial fix for pidgin perl support. Fixing fully is going to require a decision on splitting from some of the core perl support - more than I want to deal with right now.
Daniel Atallah <datallah@pidgin.im>
parents: 15577
diff changeset
63 typedef GtkIMHtmlButtons Pidgin__IMHtml__Buttons;
c07dd12bf3f4 Partial fix for pidgin perl support. Fixing fully is going to require a decision on splitting from some of the core perl support - more than I want to deal with right now.
Daniel Atallah <datallah@pidgin.im>
parents: 15577
diff changeset
64 typedef GtkIMHtmlFuncs * Pidgin__IMHtml__Funcs;
c07dd12bf3f4 Partial fix for pidgin perl support. Fixing fully is going to require a decision on splitting from some of the core perl support - more than I want to deal with right now.
Daniel Atallah <datallah@pidgin.im>
parents: 15577
diff changeset
65 typedef GtkIMHtmlScalable * Pidgin__IMHtml__Scalable;
c07dd12bf3f4 Partial fix for pidgin perl support. Fixing fully is going to require a decision on splitting from some of the core perl support - more than I want to deal with right now.
Daniel Atallah <datallah@pidgin.im>
parents: 15577
diff changeset
66 typedef GtkIMHtmlSmiley * Pidgin__IMHtml__Smiley;
c07dd12bf3f4 Partial fix for pidgin perl support. Fixing fully is going to require a decision on splitting from some of the core perl support - more than I want to deal with right now.
Daniel Atallah <datallah@pidgin.im>
parents: 15577
diff changeset
67 typedef GtkIMHtmlOptions Pidgin__IMHtml__Options;
14478
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
68
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
69 /* gtkimhtmltoolbar.h */
15590
c07dd12bf3f4 Partial fix for pidgin perl support. Fixing fully is going to require a decision on splitting from some of the core perl support - more than I want to deal with right now.
Daniel Atallah <datallah@pidgin.im>
parents: 15577
diff changeset
70 typedef GtkIMHtmlToolbar * Pidgin__IMHtmlToolbar;
14478
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
71
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
72 /* gtkmenutray.h */
15590
c07dd12bf3f4 Partial fix for pidgin perl support. Fixing fully is going to require a decision on splitting from some of the core perl support - more than I want to deal with right now.
Daniel Atallah <datallah@pidgin.im>
parents: 15577
diff changeset
73 typedef PidginMenuTray * Pidgin__MenuTray;
14478
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
74
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
75 /* gtkstatusbox.h */
15590
c07dd12bf3f4 Partial fix for pidgin perl support. Fixing fully is going to require a decision on splitting from some of the core perl support - more than I want to deal with right now.
Daniel Atallah <datallah@pidgin.im>
parents: 15577
diff changeset
76 typedef PidginStatusBox * Pidgin__StatusBox;

mercurial