summaryrefslogtreecommitdiffstats
path: root/extra
diff options
context:
space:
mode:
Diffstat (limited to 'extra')
-rw-r--r--extra/checkgmail/.footprint11
-rw-r--r--extra/checkgmail/.md5sum4
-rwxr-xr-xextra/checkgmail/Pkgfile21
-rw-r--r--extra/checkgmail/checkgmail.desktop550
-rw-r--r--extra/checkgmail/checkgmail.pngbin0 -> 449 bytes
-rw-r--r--extra/checkgmail/svn-33.patch327
6 files changed, 913 insertions, 0 deletions
diff --git a/extra/checkgmail/.footprint b/extra/checkgmail/.footprint
new file mode 100644
index 000000000..14f8bdd6a
--- /dev/null
+++ b/extra/checkgmail/.footprint
@@ -0,0 +1,11 @@
+drwxr-xr-x root/root usr/
+drwxr-xr-x root/root usr/bin/
+-rwxr-xr-x root/root usr/bin/checkgmail
+drwxr-xr-x root/root usr/share/
+drwxr-xr-x root/root usr/share/applications/
+-rw-r--r-- root/root usr/share/applications/checkgmail.desktop
+drwxr-xr-x root/root usr/share/man/
+drwxr-xr-x root/root usr/share/man/man1/
+-rw-r--r-- root/root usr/share/man/man1/checkgmail.1.gz
+drwxr-xr-x root/root usr/share/pixmaps/
+-rw-r--r-- root/root usr/share/pixmaps/checkgmail.png
diff --git a/extra/checkgmail/.md5sum b/extra/checkgmail/.md5sum
new file mode 100644
index 000000000..19bb3e409
--- /dev/null
+++ b/extra/checkgmail/.md5sum
@@ -0,0 +1,4 @@
+8f6742ba9c09f7b7b23a5be2e14708c7 checkgmail-1.13.tar.bz2
+8b5287c2a3468fc4ec6bbcb754b44144 checkgmail.desktop
+f551f6cefb06201b03f8cb41fc85edb3 checkgmail.png
+cd42ddddeb68e9f59e9b80836ff8ac31 svn-33.patch
diff --git a/extra/checkgmail/Pkgfile b/extra/checkgmail/Pkgfile
new file mode 100755
index 000000000..441e1d093
--- /dev/null
+++ b/extra/checkgmail/Pkgfile
@@ -0,0 +1,21 @@
+# Description: Notificateur de messages provenant gmail
+# URL: http://checkgmail.sourceforge.net/
+# Maintainer: NutyX core team
+# Packager: thierryn1 at hispeed dot ch
+# Depends on: p5-gtk, p5-gtk2-trayicon, p5-crypt-ssleay, p5-libwww, p5-xml-simple
+
+name=checkgmail
+version=1.13
+release=1
+source=(http://downloads.sourceforge.net/$name/$name-$version.tar.bz2 \
+ checkgmail.desktop checkgmail.png svn-33.patch)
+
+build() {
+ cd $name-$version
+ patch -Np1 -i ../svn-33.patch
+ install -D -m 755 $name $PKG/usr/bin/$name
+ install -D -m 644 man/$name.1.gz $PKG/usr/share/man/man1/$name.1.gz
+ install -D -m 644 ../$name.desktop $PKG/usr/share/applications/$name.desktop
+ install -D -m 644 ../$name.png $PKG/usr/share/pixmaps/$name.png
+
+}
diff --git a/extra/checkgmail/checkgmail.desktop b/extra/checkgmail/checkgmail.desktop
new file mode 100644
index 000000000..a05fe7d4b
--- /dev/null
+++ b/extra/checkgmail/checkgmail.desktop
@@ -0,0 +1,550 @@
+
+
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1-strict.dtd ">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<title>Arch Linux Repositories [community] Log of /community/network/checkgmail/checkgmail.desktop</title>
+<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+<link rel="stylesheet" href="http://archlinux.org/media/arch.css" />
+<link rel="stylesheet" href="/static/styles.css" type="text/css" />
+
+<link rel="icon" href="http://archlinux.org/media/favicon.ico" type="image/x-icon" />
+<link rel="shortcut icon" href="http://archlinux.org/media/favicon.ico" type="image/x-icon" />
+<style type="text/css">
+div.searchbar {
+font-size: 13px;
+font-weight: bold;
+position: absolute;
+right: 0.2em;
+top: 152px;
+}
+</style>
+</head>
+<body>
+<div id="head_container">
+<div id="title">
+<div id="logo"><h1 id="archtitle"><a href="/" title="Arch Linux (Home)">Arch Linux</a></h1></div>
+</div>
+<div id="main_nav">
+<ul>
+<li><a href="http://archlinux.org/download/">Get Arch</a></li>
+<li><a href="http://aur.archlinux.org">AUR</a></li>
+<li><a href="http://bugs.archlinux.org">Bugs</a></li>
+<li><a href="http://wiki.archlinux.org">Wiki</a></li>
+<li><a href="http://bbs.archlinux.org">Forums</a></li>
+<li><a href="http://archlinux.org">Home</a></li>
+</ul>
+</div>
+<div id="ads">
+<script type="text/javascript"><!--
+google_ad_client = "pub-3170555743375154";
+google_ad_width = 468;
+google_ad_height = 60;
+google_ad_format = "468x60_as";
+google_color_border = "ffffff";
+google_color_bg = "ffffff";
+google_color_link = "0771A6";
+google_color_url = "99AACC";
+google_color_text = "000000";
+//--></script>
+<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
+</div>
+</div>
+<div id="content">
+<div class="vc_navheader">
+
+<form method="get" action="/viewvc.cgi/">
+
+<div>
+<strong>
+
+<a href="/viewvc.cgi/?root=community&amp;pathrev=CURRENT">
+
+[community]</a>
+/
+
+<a href="/viewvc.cgi/community/?root=community&amp;pathrev=CURRENT">
+
+community</a>
+/
+
+<a href="/viewvc.cgi/community/network/?root=community&amp;pathrev=CURRENT">
+
+network</a>
+/
+
+<a href="/viewvc.cgi/community/network/checkgmail/?root=community&amp;pathrev=CURRENT">
+
+checkgmail</a>
+/
+
+
+
+checkgmail.desktop
+
+
+</strong>
+
+</div>
+<div class="searchbar">
+
+
+<strong>Repository:</strong>
+<select name="root" onchange="submit()">
+
+
+<option value="*viewroots*">Repository Listing</option>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<optgroup label="CVS Repositories"><option selected="selected">community</option><option>core</option><option>extra</option><option>unstable</option></optgroup>
+
+
+<optgroup label="Subversion Repositories"><option>packages</option></optgroup>
+
+</select>
+<input type="submit" value="Go" />
+
+</div>
+
+</form>
+
+</div>
+<h1>Log of /community/network/checkgmail/checkgmail.desktop</h1>
+
+<p style="margin:0;">
+
+<a href="/viewvc.cgi/community/network/checkgmail/?root=community&amp;pathrev=CURRENT"><img src="/static/images/back_small.png" width="16" height="16" alt="Parent Directory" /> Parent Directory</a>
+
+
+
+
+</p>
+
+<hr />
+<table class="auto">
+
+
+
+<tr>
+<td>Links to HEAD:</td>
+<td>
+(<a href="/viewvc.cgi/community/network/checkgmail/checkgmail.desktop?view=markup&amp;root=community">view</a>)
+(<a href="/viewvc.cgi/community/network/checkgmail/checkgmail.desktop?view=co&amp;root=community">download</a>)
+
+(<a href="/viewvc.cgi/community/network/checkgmail/checkgmail.desktop?view=annotate&amp;root=community">annotate</a>)
+</td>
+</tr>
+
+
+<tr>
+<td>Links to CURRENT:</td>
+<td>
+(<a href="/viewvc.cgi/community/network/checkgmail/checkgmail.desktop?view=markup&amp;root=community&amp;pathrev=CURRENT">view</a>)
+(<a href="/viewvc.cgi/community/network/checkgmail/checkgmail.desktop?view=co&amp;root=community&amp;pathrev=CURRENT">download</a>)
+
+(<a href="/viewvc.cgi/community/network/checkgmail/checkgmail.desktop?view=annotate&amp;root=community&amp;pathrev=CURRENT">annotate</a>)
+</td>
+</tr>
+
+
+<tr>
+<td>Sticky Tag:</td>
+<td><form method="get" action="/viewvc.cgi/community/network/checkgmail/checkgmail.desktop" style="display: inline">
+<div style="display: inline">
+<input type="hidden" name="view" value="log" /><input type="hidden" name="root" value="community" />
+
+
+<select name="pathrev" onchange="submit()">
+<option value=""></option>
+
+<optgroup label="Branches">
+
+
+<option>MAIN</option>
+
+
+</optgroup>
+
+<optgroup label="Non-branch tags">
+
+
+<option>HEAD</option>
+
+
+
+<option>CURRENT-64</option>
+
+
+
+<option selected>CURRENT</option>
+
+
+
+</optgroup>
+
+</select>
+
+<input type="submit" value="Set" />
+</div>
+</form>
+
+<form method="get" action="/viewvc.cgi/community/network/checkgmail/checkgmail.desktop" style="display: inline">
+<div style="display: inline">
+<input type="hidden" name="view" value="log" /><input type="hidden" name="root" value="community" />
+
+<input type="submit" value="Clear" />
+
+</div>
+</form>
+
+</td>
+</tr>
+</table>
+
+
+
+
+
+
+<hr />
+<table cellspacing="1" cellpadding="2">
+<thead>
+<tr>
+<th class="vc_header">Revision</th>
+<th class="vc_header">Tasks</th>
+
+<th class="vc_header">Diffs</th>
+
+
+<th class="vc_header">Branches/<br />Tags</th>
+
+<th class="vc_header_sort">Age</th>
+<th class="vc_header">Author</th>
+</tr>
+</thead>
+
+
+
+
+
+<tbody>
+<tr style="vertical-align: top;" class="vc_row_even">
+
+<td rowspan="2">
+<strong>1.2</strong>
+<a name="rev1.2"></a>
+</td>
+
+<td>
+
+<a href="/viewvc.cgi/community/network/checkgmail/checkgmail.desktop?view=markup&amp;revision=1.2&amp;root=community&amp;pathrev=CURRENT"><strong>View</strong></a><br />
+
+<a href="/viewvc.cgi/community/network/checkgmail/checkgmail.desktop?revision=1.2&amp;root=community&amp;pathrev=CURRENT"><strong>Download</strong></a><br />
+
+<a href="/viewvc.cgi/community/network/checkgmail/checkgmail.desktop?annotate=1.2&amp;root=community&amp;pathrev=CURRENT"><strong>Annotate</strong></a><br />
+</td>
+
+<td>
+
+
+
+
+<a href="/viewvc.cgi/community/network/checkgmail/checkgmail.desktop?view=log&amp;root=community&amp;r1=1.2&amp;pathrev=CURRENT"><strong>[select&nbsp;for&nbsp;diffs]</strong></a><br />
+
+
+
+<a href="/viewvc.cgi/community/network/checkgmail/checkgmail.desktop?root=community&amp;r1=1.1&amp;r2=1.2&amp;pathrev=CURRENT"><strong>Diff&nbsp;to&nbsp;previous&nbsp;1.1</strong></a>
+
+<br />
+
+
+</td>
+
+
+<td>
+
+
+
+
+<a href="/viewvc.cgi/community/network/checkgmail/checkgmail.desktop?view=log&amp;root=community&amp;pathrev=MAIN"><strong>MAIN</strong></a><br />
+
+
+
+
+
+
+
+<form method=get action="/viewvc.cgi/community/network/checkgmail/checkgmail.desktop" >
+<input type="hidden" name="view" value="log" /><input type="hidden" name="root" value="community" />
+<select name="pathrev" onChange="submit()">
+<option value="" >Show all tags</option>
+
+<option selected>CURRENT</option>
+
+<option >CURRENT-64</option>
+
+<option >HEAD</option>
+
+</select>
+</form>
+
+</td>
+
+
+<td>
+
+13 months, 3 weeks ago<br /><em>Thu Mar 20 14:45:07 2008 UTC</em>
+
+
+
+<br />Changes since <strong>1.1: +2 -2 lines</strong>
+
+
+
+</td>
+
+<td>
+BaSh
+</td>
+</tr>
+<tr class="vc_row_even">
+<td colspan=5>
+
+<strong>Log: </strong><pre class="vc_log">*** empty log message ***
+</pre>
+</td>
+</tr>
+</tbody>
+
+
+
+<tbody>
+<tr style="vertical-align: top;" class="vc_row_odd">
+
+<td rowspan="2">
+<strong>1.1</strong>
+<a name="rev1.1"></a>
+</td>
+
+<td>
+
+<a href="/viewvc.cgi/community/network/checkgmail/checkgmail.desktop?view=markup&amp;revision=1.1&amp;root=community&amp;pathrev=CURRENT"><strong>View</strong></a><br />
+
+<a href="/viewvc.cgi/community/network/checkgmail/checkgmail.desktop?revision=1.1&amp;root=community&amp;pathrev=CURRENT"><strong>Download</strong></a><br />
+
+<a href="/viewvc.cgi/community/network/checkgmail/checkgmail.desktop?annotate=1.1&amp;root=community&amp;pathrev=CURRENT"><strong>Annotate</strong></a><br />
+</td>
+
+<td>
+
+
+
+
+<a href="/viewvc.cgi/community/network/checkgmail/checkgmail.desktop?view=log&amp;root=community&amp;r1=1.1&amp;pathrev=CURRENT"><strong>[select&nbsp;for&nbsp;diffs]</strong></a><br />
+
+
+
+
+</td>
+
+
+<td>
+
+
+
+
+<a href="/viewvc.cgi/community/network/checkgmail/checkgmail.desktop?view=log&amp;root=community&amp;pathrev=MAIN"><strong>MAIN</strong></a><br />
+
+
+
+
+
+
+&nbsp;
+
+</td>
+
+
+<td>
+
+2 years, 1 month ago<br /><em>Thu Mar 22 21:23:36 2007 UTC</em>
+
+
+
+</td>
+
+<td>
+dtw
+</td>
+</tr>
+<tr class="vc_row_odd">
+<td colspan=5>
+
+<strong>Log: </strong><pre class="vc_log">whoops
+</pre>
+</td>
+</tr>
+</tbody>
+
+</table>
+
+
+
+
+
+
+ <div class="box">
+<p><a name="diff"></a>
+This form allows you to request diffs between any two revisions of this file.
+For each of the two "sides" of the diff,
+
+select a symbolic revision name using the selection box, or choose
+'Use Text Field' and enter a numeric revision.
+
+</p>
+<form method="get" action="/viewvc.cgi/community/network/checkgmail/checkgmail.desktop" id="diff_select">
+<table cellpadding="2" cellspacing="0" class="auto">
+<tr>
+<td>&nbsp;</td>
+<td>
+<input type="hidden" name="pathrev" value="CURRENT" /><input type="hidden" name="root" value="community" /><input type="hidden" name="view" value="diff" />
+Diffs between
+
+<select name="r1">
+<option value="text" selected="selected">Use Text Field</option>
+
+<option value="1.2:MAIN">MAIN</option>
+
+<option value="1.2:HEAD">HEAD</option>
+
+<option value="1.2:CURRENT-64">CURRENT-64</option>
+
+<option value="1.2:CURRENT">CURRENT</option>
+
+</select>
+<input type="text" size="12" name="tr1"
+value="1.2"
+onchange="document.getElementById('diff_select').r1.selectedIndex=0" />
+
+and
+
+<select name="r2">
+<option value="text" selected="selected">Use Text Field</option>
+
+<option value="1.2:MAIN">MAIN</option>
+
+<option value="1.2:HEAD">HEAD</option>
+
+<option value="1.2:CURRENT-64">CURRENT-64</option>
+
+<option value="1.2:CURRENT">CURRENT</option>
+
+</select>
+<input type="text" size="12" name="tr2"
+value="1.1"
+onchange="document.getElementById('diff_select').r2.selectedIndex=0" />
+
+</td>
+</tr>
+<tr>
+<td>&nbsp;</td>
+<td>
+Type of Diff should be a
+<select name="diff_format" onchange="submit()">
+<option value="h" selected="selected">Colored Diff</option>
+<option value="l" >Long Colored Diff</option>
+<option value="u" >Unidiff</option>
+<option value="c" >Context Diff</option>
+<option value="s" >Side by Side</option>
+</select>
+<input type="submit" value=" Get Diffs " />
+</td>
+</tr>
+</table>
+</form>
+</div>
+
+
+<form method="get" action="/viewvc.cgi/community/network/checkgmail/checkgmail.desktop">
+<div>
+<a name="logsort"></a>
+<input type="hidden" name="view" value="log" /><input type="hidden" name="root" value="community" /><input type="hidden" name="pathrev" value="CURRENT" />
+Sort log by:
+<select name="logsort" onchange="submit()">
+<option value="cvs" >Not sorted</option>
+<option value="date" selected="selected">Commit date</option>
+<option value="rev" >Revision</option>
+</select>
+<input type="submit" value=" Sort " />
+</div>
+</form>
+
+
+<hr />
+<div class="foot">
+Copyright &copy; 2002-2008
+<a href="mailto:jvinet@zeroflux.org" title="contact Judd Vinet">Judd Vinet</a> and
+<a href="mailto:aaron@archlinux.org" title="contact Aaron Griffin">Aaron Griffin</a>.
+<br />
+The Arch Linux name and logo are recognized trademarks. Some rights reserved.
+</div>
+<script type="text/javascript">
+var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+</script>
+<script type="text/javascript">
+var pageTracker = _gat._getTracker("UA-3589020-1");
+pageTracker._setDomainName("archlinux.org");
+pageTracker._initData();
+pageTracker._trackPageview();
+</script>
+</body>
+</html>
+
+
diff --git a/extra/checkgmail/checkgmail.png b/extra/checkgmail/checkgmail.png
new file mode 100644
index 000000000..fbd1c5d1d
--- /dev/null
+++ b/extra/checkgmail/checkgmail.png
Binary files differ
diff --git a/extra/checkgmail/svn-33.patch b/extra/checkgmail/svn-33.patch
new file mode 100644
index 000000000..5b1257355
--- /dev/null
+++ b/extra/checkgmail/svn-33.patch
@@ -0,0 +1,327 @@
+--- checkgmail-1.13/checkgmail 2008-01-17 07:30:23.000000000 +0100
++++ checkgmail/checkgmail 2008-07-22 21:57:51.000000000 +0200
+@@ -5,7 +5,7 @@
+ # system tray; optionally saves password in encrypted form using
+ # machine-unique passphrase
+
+-# version 1.12.1svn (25/6/2007)
++# version 1.13svn (14/2/2008)
+ # Copyright © 2005-7 Owen Marshall
+
+ # This program is free software; you can redistribute it and/or modify
+@@ -31,9 +31,12 @@
+ # Command-line processing
+ #
+
+-my ($version, $silent, $nocrypt, $update, $notsexy, $profile, $disable_monitors_check, $private, $cookies, $popup_size, $hosted_tmp, $show_popup_delay, $popup_persistence, $usekwallet, $libsexy);
++# global variables (can't be set global in the BEGIN block)
++my ($version, $silent, $nocrypt, $update, $notsexy, $profile, $disable_monitors_check,
++ $private, $cookies, $popup_size, $hosted_tmp, $show_popup_delay,
++ $popup_persistence, $usekwallet, $libsexy, $nologin, $mailno, $debug);
+ BEGIN {
+- $version = "1.12.1svn";
++ $version = "1.13svn";
+ $silent = 1;
+ $profile = "";
+ $cookies = 1;
+@@ -64,6 +67,10 @@
+ $notsexy = 1;
+ last };
+
++ /no-login/ && do {
++ $nologin = 1;
++ last };
++
+ /cookie_login/ && do {
+ $cookies = 1;
+ last };
+@@ -105,6 +112,18 @@
+ $update = 1;
+ last };
+
++
++ /numbers/ && do {
++ $mailno = 1;
++ last };
++
++ /debug/ && do {
++ $debug = 1;
++ $silent = 0;
++ last };
++
++
++
+ print "CheckGmail v$version\nCopyright © 2005-7 Owen Marshall\n\n";
+ print "usage: checkgmail [-profile=profile_name] [-popup_delay=millisecs] [-hosted=hosted_domain] [-no_cookies] [-popup_persistence=millisecs] [-private] [-v | -verbose] [-nocrypt] [-no-libsexy] [-disable-monitors-check] [-update] [-h]\n\n";
+ exit 1;
+@@ -158,6 +177,7 @@
+ my $failed_packages;
+
+ my $eval_sub = sub {
++ print "$_\n" if $debug;
+ eval $_;
+ if ($@) {
+ return unless m/(use|require)\s*([\w:-]+).*?\;/;
+@@ -176,6 +196,7 @@
+ use Thread::Queue;
+ use Thread::Semaphore;
+ use threads::shared;
++ use Encode;
+ use XML::Simple;
+ use FileHandle;
+ use LWP::UserAgent;
+@@ -355,14 +376,17 @@
+ my $fat_lady = new Thread::Semaphore(0);
+ my $child_exit : shared = 0; # to signal exit to child
+
++print "About to start new thread ...\n" if $debug;
+ # Start http checking thread ...
+ my $http_check = new threads(\&http_check);
++print "Parent: Process now continues ...\n" if $debug;
+
+
+ #######################
+ # Prefs and Variables
+ #
+
++print "Parent: Setting up global variables ...\n" if $debug;
+ # Prefs hash
+ my %pref_variables = (
+ user => \$user,
+@@ -430,6 +454,7 @@
+ my $status_label;
+ # my $message_flag;
+
++print "Parent: Checking the existence of ~/.checkgmail ...\n" if $debug;
+ # Create the default .checkgmail directory and migrate prefs from users of older versions
+ unless (-d $prefs_dir) {
+ if (-e "$prefs_dir") {
+@@ -452,6 +477,7 @@
+ # Icons
+ #
+
++print "Parent: Loading icon data ...\n" if $debug;
+ # we load the pixmaps as uuencoded data
+ my ($error_data, $no_mail_data, $mail_data, $compose_mail_data);
+ load_icon_data();
+@@ -462,10 +488,12 @@
+
+ my $image = Gtk2::Image->new_from_pixbuf($no_mail_pixbuf);
+
++
+ ##############
+ # Setup tray
+ #
+
++print "Parent: Setting up system tray ...\n" if $debug;
+ my $tray = Gtk2::TrayIcon->new("gmail");
+ my $eventbox = Gtk2::EventBox->new;
+ my $tray_hbox = Gtk2::HBox->new(0,0);
+@@ -488,14 +516,25 @@
+ $eventbox->add($tray_hbox);
+ $tray_hbox->pack_start($image,0,0,0);
+
++# number of new mail messages (use -numbers)
++my $number_label;
++if ($mailno) {
++ $number_label = Gtk2::Label->new;
++ $number_label->set_markup("0");
++ $tray_hbox->pack_start($number_label,0,0,0);
++ $number_label->hide;
++}
++
+
+ ########################
+ # Read prefs and login
+ #
+
++print "Parent: Reading translations ...\n" if $debug;
+ # Read translations if they exist ...
+ read_translations();
+
++print "Parent: Reading prefs ...\n" if $debug;
+ # First time configuration ...
+ unless (read_prefs()) {
+ show_prefs();
+@@ -532,7 +571,7 @@
+
+ $tray->add($eventbox);
+ $tray->show_all;
+-
++print "Parent: System tray now complete ...\n" if $debug;
+
+ ############################
+ # enter/leave notification
+@@ -603,6 +642,7 @@
+ # All set? Let's login ...
+ #
+
++print "Parent: Sending semaphore to child process ...\n" if $debug;
+ # She's singing ...
+ $fat_lady->up;
+
+@@ -675,6 +715,7 @@
+
+ sub http_check {
+ # Threaded process for sending HTTP requests ...
++ print "Child: Checking thread now starting ... waiting for semaphore to continue\n" if $debug;
+
+ # Variable initialisation isn't over until the fat lady sings ...
+ $fat_lady->down;
+@@ -716,14 +757,21 @@
+ unless ($hosted) {
+ # Normal Gmail login action ...
+ $error = http_get("https://www.google.com/accounts/ServiceLoginAuth?ltmpl=yj_wsad&ltmplcache=2&continue=https%3A%2F%2Fmail.google.com%2Fmail%3F&service=mail&rm=false&ltmpl=yj_wsad&Email=$URI_user&Passwd=$URI_passwd&rmShown=1&null=Sign+in", "LOGIN");
+- # $cookie_jar->scan(\&scan_at);
++
++ $cookie_jar->scan(\&scan_at);
++ unless ($error || !$gmail_sid || !$gmail_gausr) {
++ $error = http_get("https://mail.google.com/mail/?auth=$gmail_sid&gausr=$gmail_gausr", 'GET');
++ }
++
+ # $error = http_get("https://mail.google.com/mail?nsr=0&auth=$gmail_sid&gausr=$gmail_gausr", "LOGIN");
+
+ } else {
+ # hosted domains work differently ...
+ # First we POST a login
+- $error = http_get("https://www.google.com/a/$hosted/LoginAction|at=null&continue=http%3A%2F%2Fmail.google.com%2Fa%2F$hosted&service=mail&userName=$URI_user&password=$URI_passwd", "POST");
+-
++ # $error = http_get("https://www.google.com/a/$hosted/LoginAction|at=null&continue=http%3A%2F%2Fmail.google.com%2Fa%2F$hosted&service=mail&userName=$URI_user&password=$URI_passwd", "POST");
++ # thanks to Olinto Neto for this fix for hosted domains:
++ $error = http_get("https://www.google.com/a/$hosted/LoginAction2|at=null&continue=http%3A%2F%2Fmail.google.com%2Fa%2F$hosted&service=mail&Email=$URI_user&Passwd=$URI_passwd", "POST");
++
+ # Then we grab the HID ("Hosted ID"?) cookie
+ $cookie_jar->scan(\&scan_at);
+
+@@ -1045,9 +1093,9 @@
+ my $author = $author_name || $author_mail;
+
+ # clean text for Pango compatible display ...
+- $title = clean_text($title);
+- $author = clean_text($author);
+- $summary = clean_text($summary);
++ $title = clean_text_and_decode($title);
++ $author = clean_text_and_decode($author);
++ $summary = clean_text_and_decode($summary);
+
+ my ($year, $month, $day, $hour, $min, $sec) = ($issued =~ m/(\d+)-(\d+)-(\d+)T(\d+):(\d+):(\d+)Z/);
+ my $time_abs = $sec+$min*60+$hour*3600+$day*86400+$month*2678400+$year*32140800;
+@@ -1089,7 +1137,7 @@
+ # Create popup text
+ if ($popup_authors) {
+ $popup_authors =~ s/, ([\w\s-]+)$/ $trans{notify_and} $1/; # replace final comma with "and"
+- $popup_authors = clean_text($popup_authors);
++ $popup_authors = clean_text_and_decode($popup_authors);
+ $popup_text = "<span foreground=\"#000000\"><small>$trans{notify_new_mail}$popup_authors ...</small></span>";
+ }
+
+@@ -1111,6 +1159,32 @@
+ return 1;
+ }
+
++# Note -- for some reason (?? why ??) the title does not need decoding; all other data apparently does. Very strange ...
++sub clean_text_and_decode {
++ ($_) = @_;
++ # some basic replacements so that the text is readable ...
++ # (these aren't used by pango markup, unlike other HTML escapes)
++ s/&hellip;/\.\.\./g;
++ s/&\s/\&amp; /g;
++ s/\\u003c/</g;
++ # s/\\n//g;
++ s/<br\s*\/*\\*>/\n/g;
++ s/</\&lt;/g;
++ s/>/\&gt;/g;
++ s/&(?>([\w\d\,\.]+))(?!;)/\&amp;$1/g; #not a great fix, but at least it's simple (heavy irony ... :)
++ s/&nbsp;/ /g;
++ # s/\\n/\n/g;
++ # Encode::from_to($body, 'utf-8', 'iso-8859-15');
++ # eval { decode("utf8", $_, Encode::FB_CROAK); };
++ # my $body_decode = $@ ? $_ : decode("utf8", $_);
++ #my $body_decode= decode("utf-8", $_);
++
++ # I have no idea why this works ...
++ my $body_encode = encode("utf8", $_);
++ my $body_decode = decode("utf8", $body_encode);
++
++ return $body_decode;
++}
+
+ sub clean_text {
+ ($_) = @_;
+@@ -1129,6 +1203,7 @@
+ return $_;
+ }
+
++
+ sub clean_text_body {
+ ($_) = @_;
+ # some basic replacements so that the text is readable ...
+@@ -1164,9 +1239,13 @@
+ # s/&(?>([\w\d\,\.]+))(?!;)/\&amp;$1/g; #not a great fix, but at least it's simple (heavy irony ... :)
+ s/&nbsp;/ /g;
+ # s/\\n/\n/g;
+- use Encode;
+ # Encode::from_to($body, 'utf-8', 'iso-8859-15');
+- my $body_decode= decode("utf-8", $_);
++ # eval { decode("utf8", $_, Encode::FB_CROAK); };
++ # my $body_decode = $@ ? $_ : decode("utf8", $_);
++ # my $body_encode = encode("utf8", $_);
++
++ # I have no idea why this works either ...
++ my $body_decode = decode("utf8", $_);
+
+ return $body_decode;
+ }
+@@ -1335,6 +1414,14 @@
+ my ($status, $text) = @_;
+ my $new_mail = @messages;
+
++ # display number of messages
++ if ($mailno) {
++ print "setting \"$new_mail\"\n";
++ $number_label->set_markup("$new_mail");
++ $new_mail ? $number_label->show : $number_label->hide;
++ # $new_mail ? $number_label->set_markup("$new_mail") : $number_label->set_markup(" ")
++ }
++
+ my @sorted_messages = sort {$b->{time} <=> $a->{time}} @messages;
+ @messages = @sorted_messages;
+
+@@ -1497,8 +1584,7 @@
+ $title_l_ebox->signal_handler_disconnect($s2);
+ unless ($mb) {
+ # yep, here's the magic code. This accesses the datapack, which we read with a little hack in the check routine ...
+- $request->enqueue("GET:".gen_prefix_url()."/?ui=1&view=cv&search=all&th=$id&ww=1173&qt=&prf=1&pft=undefined&rq=xm&at=$gmail_at");
+- # $request->enqueue("GET:".gen_prefix_url()."/?ui=2&ik=b8bb7ca6af&view=cv&search=all&th=$id&rt=j&prf=1");
++ $request->enqueue("GET:".gen_prefix_url()."/?ui=1&view=cv&search=all&th=$id&qt=&prf=1&pft=undefined&rq=xm&at=$gmail_at");
+ } else {
+ # this allows the message text to be toggled ...
+ # oh yes, we're all about usability here, folks! :)
+@@ -1684,6 +1770,7 @@
+ show_notify($win_notify_temp);
+ } else {
+ $win_notify->destroy if $win_notify;
++ $win_notify="";
+ $win_notify = $win_notify_temp;
+ }
+ }
+@@ -1742,6 +1829,11 @@
+ sub get_login_href {
+ # Login directly to gmail ...
+ $_ = shift;
++
++ # The following is for people who like to stay permanently logged in ...
++ # (enable with -no-login on the command-line for now ...)
++ return $_ if $nologin;
++
+ my ($options) = m/.*?\?(.*)/;
+ my $options_uri = $options ? "?&$options" : "";
+
+@@ -1908,6 +2000,7 @@
+
+ if ($win_notify_temp) {
+ $win_notify->destroy;
++ $win_notify="";
+ $win_notify=$new_win;
+ }
+