pidgin/plugins/perl/common/GtkUI.pm

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 20478
46933dc62880
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. "

15899
75f0041f72b8 Pidgin perl fixes for s/gaim/purple/.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
1 package Purple::GtkUI;
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 use 5.008;
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
4 use strict;
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
5 use warnings;
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
6 use Carp;
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
7
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
8 our $VERSION = '0.01';
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
9
15899
75f0041f72b8 Pidgin perl fixes for s/gaim/purple/.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
10 use Purple;
14478
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
11
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
12 require XSLoader;
15899
75f0041f72b8 Pidgin perl fixes for s/gaim/purple/.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
13 XSLoader::load('Purple::GtkUI', $VERSION);
14478
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
14
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
15 1;
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
16 __END__
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 =head1 NAME
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
19
15899
75f0041f72b8 Pidgin perl fixes for s/gaim/purple/.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
20 Purple::GtkUI - Perl extension for the Pidgin instant messenger.
14478
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
21
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
22 =head1 SYNOPSIS
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
23
15899
75f0041f72b8 Pidgin perl fixes for s/gaim/purple/.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
24 use Purple::GtkUI;
14478
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
25
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
26 =head1 ABSTRACT
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
27
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
28 This module provides the interface for using perl scripts as plugins in
15899
75f0041f72b8 Pidgin perl fixes for s/gaim/purple/.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
29 Pidgin, with access to the Pidgin Gtk interface functions.
14478
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
30
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
31 =head1 DESCRIPTION
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
32
15899
75f0041f72b8 Pidgin perl fixes for s/gaim/purple/.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
33 This module provides the interface for using perl scripts as plugins in Pidgin,
75f0041f72b8 Pidgin perl fixes for s/gaim/purple/.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
34 with access to the Pidgin Gtk interface functions. With this, developers can
75f0041f72b8 Pidgin perl fixes for s/gaim/purple/.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
35 write perl scripts that can be loaded in Pidgin as plugins. The script can
75f0041f72b8 Pidgin perl fixes for s/gaim/purple/.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
36 interact with IMs, chats, accounts, the buddy list, pidgin signals, and more.
14478
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
37
15899
75f0041f72b8 Pidgin perl fixes for s/gaim/purple/.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
38 The API for the perl interface is very similar to that of the Pidgin C API,
75f0041f72b8 Pidgin perl fixes for s/gaim/purple/.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
39 which can be viewed at http://developer.pidgin.im/doxygen/ or in the header files
75f0041f72b8 Pidgin perl fixes for s/gaim/purple/.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
40 in the Pidgin source tree.
14478
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
41
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
42 =head1 FUNCTIONS
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
43
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
44 =over
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 =back
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
47
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
48 =head1 SEE ALSO
15899
75f0041f72b8 Pidgin perl fixes for s/gaim/purple/.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
49 Pidgin C API documentation - http://developer.pidgin.im/doxygen/
14478
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
50
15899
75f0041f72b8 Pidgin perl fixes for s/gaim/purple/.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
51 The Pidgin perl module.
14478
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
52
15899
75f0041f72b8 Pidgin perl fixes for s/gaim/purple/.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
53 Pidgin website - http://pidgin.im/
14478
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
54
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
55 =head1 AUTHOR
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
56
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
57 Etan Reisner, E<lt>deryni@gmail.comE<gt>
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
58
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
59 =head1 COPYRIGHT AND LICENSE
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 Copyright 2006 by Etan Reisner

mercurial