Gtalk Logo

Google Invisibility Half Scan plugin for libpurple (Pidgin)


Find out if your (Gtalk) buddies are Invisible. To do that it sends a presence probe to the buddy. If there's no respose (before time out expires), then you can establish that the buddy have not active resources (and therefore it should be OFFLINE). If you get a presence of type 'unavailable' means that the buddy has at least an active resource (but we can't know what! It could be a Gmail or iGoogle page opened with chat turned off!) and therefore COULD be Invisible (at least you know he or she is connected).

*** UPDATE ***

I've added the possibility to filter passive online Google clients (such as Gmail, iGoogle and Google Talk Lab Edition). This clients, when the chat is disbled, send a presence with a vcard if the shared status is not invisible. A mere unavailable presence if shared status is invisible. See this page for more information.



Compiled on libpurple 2.7.1 (this means you have to use this version or newer!).

ARCH File Last Update Version
Win32 google-invisibility-half-scan.dll* 17/07/2010 0.2
Linux i386 17/07/2010 0.2
Linux amd64 (thanks to dbenux!) 17/07/2010 0.2
Source google-invisibility-half-scan.c 17/07/2010 0.2

* Tested on Windows XP and Windows 7 (not yet really but it should work! :))


Date Version Note
17/07/2010 0.2 Added possibility to filter Gmail, Gtalk, iGoogle page with chat disabled. We're sure that shared status of those buddies is not invisible.
12/06/2010 0.1 First


For bugs reports, hints, ... email me at federico.zanco ( at )       ...and maybe one day I'll answer...


How to compile (Debian):

1) Install pidgin-dev packet (and obviously gcc...):
    # apt-get install pidgin-dev

2) Compile the the plugin (you've to be in the plugin source file dir):
   $ gcc -shared -fPIC  -D_REENTRANT -pthread -I/usr/include/pidgin -I/usr/include/gtk-2.0 -I/usr/include/libpurple -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/directfb -I/usr/include/libpng12 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include  -pthread -lgtk-x11-2.0 -lpurple -lgdk-x11-2.0 -latk-1.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lcairo -lgio-2.0 -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 -o google-invisibility-half-scan.c -Wall

3) Copy in your purple home dir:
    (if ~/.purple/plugins/ does not exist:
    $ mkdir ~/.purple/plugins/ )
    $ cp ~/.purple/plugins/

4) Restart Pidgin and in Tools/Plugins you should see Google Invisibility Half Scan Plugin

How to use:

1) Compile or Download the plugin for your arch (see above).


Linux: Copy in your purple home dir:
    (if ~/.purple/plugins/ does not exist:
    $ mkdir ~/.purple/plugins/ )
    $ cp ~/.purple/plugins/

Windows: Move google-invisibility-half-scan.dll in Pidgin plugins dir (I suppose you can create C:\Documents and Settings\<user>\Applications data\.purple\plugins and move the plugin there too but I'm not sure). In Windows it should be somtething like C:\Programmi\Pidgin\plugins\

3) Restart Pidgin and in Tools/Plugins you should see Google Invisibility Half Scan Plugin

Once enabled, there'are two things you can do with this plugin:
You can set timeout values in Tools\Plugin, select Google Invisibility Half Scan Plugin and then Configure.


This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301, USA.