Gmail Screenlet
Conky
Score 76%
Description:

A screenlet that shows your unread gmail message count , click on the message number to go to gmail.com.

by Helder Fraga aka Whise

Instalation
Put it in your /usr/local/share/screenlets and run it from there
Last changelog:

9 years ago

v0.6 updated

version 5 has password encryption but is more laggy , delete your /home/***/.config/screenlets/gmail/default/ before intalling this one

fixed an error with the auto update

version 03 shows message count in the midle of the screenlet

iheartubuntu

6 years ago

I hope that you can get this to work again soon. I have created a new theme for this. You can check it out in my link provided (or contact me).

http://tinyurl.com/68vs2cp

Best Regards, iheartubuntu

Report

konsumer

8 years ago

I couldn't get it to work correctly.

I modified the Mail library, and made it work. I am not sure how to get this into the main screenlet repo, so here is the code:

/usr/lib/python2.6/dist-packages/screenlets/plugins/Mail.py

I replaced the wget line in get_GMail_Num() with this:

f = urllib.urlopen("https://" + login + ":" + password + "@mail.google.com/mail/feed/atom")

This is a more python way to do it, and it follows redirects, etc. Much better method.

Now it works! Thanks for this great screenlet.

Report

pearluck

8 years ago

Can you add the possibility to configure more than one gmail addresse?

Report

supernovahq

8 years ago

Could you add an option to allow you to open your email program (evolution, kmail, thunderbird) instead of the gmail website?

Report

MTGap

8 years ago

Is there anyway I could have it opened up with my Gmail Prism rather than through firefox?

Report

shawn87

8 years ago

yes there is..i just figured it out:

1) close all gmail screenlets

2) go to /usr/share/screenlets and remove the Gmail directory:
sudo rm -r /usr/share/screenlets/Gmail

3) now go back to gnome-look and download the gmail screenlet and save it and archive it to the desktop

4) go to terminal and into the Gmail directory on the desktop and type:
sudo gedit GmailScreenlet.py

5) go to the section in the file thats labeled "def on_mouse_down" and replace the original "system ('.... " with
system('xulrunner-1.9 /usr/share/prism/application.ini -webapp gmail@prism.app')

6) now move that whole Gmail directory to install it by putting it into the .screenlets folder


any questions just ask

Report

shawn87

8 years ago

oh and i forgot to mention...when you first reopen the gmail screenlet after editing the file, it may look all messed up, but just give it a few seconds, click on the funky image, and it should come into view.

Report

dkspook

8 years ago

Is there a way to make this screenlet remember my gmail password? ATM it only remembers my user name, so I have to enter the password every time I start it... :(

Report

elusivespoon

8 years ago

When coming out of hibernate a dialog box pops up saying I have the wrong password. If I go into the preferences, it shows a different password then I entered before entering hibernate. Some of the characters are, I assume, unrecognized Unicode characters (a squares with 4 letters or numbers in them).

Also it would be nice to have the password blocked out and not visible.

Report

manutortosa

9 years ago

1- install playsound libs - sudo apt-get install playsound

2- edit GmailScreenlet.py

sudo gedit /usr/share/screenlets/Gmail/GmailScreenlet.py
(if yuou use kde replace gedit with nano)

3. Search this line:

print str(self.msgs) + ' Unread Messages'

4. Add this lines below:

if int(self.msgs) == 0:
self.howmany = 0

if self.howmany > int(self.msgs):
self.howmany = int(self.msgs)

if int(self.msgs) > self.howmany:
system('playsound /usr/share/sounds/mail.wav')
self.howmany = self.howmany + 1

--------------------
and thats all !

Note: ypu must have a sound file for play the sound when you have new mail, called mail.wav in your /user/share/sound directory, in wav format.

Sorry for my english, y only speak spaish.

Report

manutortosa

9 years ago

1- install playsound libs - sudo apt-get install playsound

2- edit GmailScreenlet.py

sudo gedit /usr/share/Screenlets/Gmail/Gmail.py
(if yuou use kde replace gedit with nano)

3. Search this line:

print str(self.msgs) + ' Unread Messages'

4. Add this lines below:

if int(self.msgs) == 0:
self.howmany = 0

if self.howmany > int(self.msgs):
self.howmany = int(self.msgs)

if int(self.msgs) > self.howmany:
system('playsound /usr/share/sounds/mail.wav')
self.howmany = self.howmany + 1

--------------------
and thats all !

Note: ypu must have a sound file for play the sound when you have new mail, called mail.wav in your /user/share/sound directory, in wav format.

Sorry for my english, y only speak spaish.

Report

commonplace

9 years ago

Doesn't seem to work with Google Apps accounts. Any chance of adding this? Firefox add-ins (e.g. Gmail Manager, Gmail Notifier) work with it, so it should be do-able, I'd imagine (though I have no idea how!). Thanks. :)

Report

d3br074

9 years ago

The internet goes on and off frequently with me, and with it goes the gmail screenlet. I hope you can change it so that when no connection is available it simply tells me the connection isn't available instead of slowing down everything and crashing.

Report

just-free-man

9 years ago

I found some bug: screenlet geometry 10-20 seconds after startup is not saved but default.

Report

Sunsparc

9 years ago

brandon@ubuntu:~/.screenlets/Gmail$ python GmailScreenlet.py
CachingBackend: Loading instances from cache
CachingBackend: Loading <Gmail1>
Found a running session of Gmail, adding new instance by service.
Error in screenlets.services.get_service_by_name: org.freedesktop.DBus.Error.ServiceUnknown: The name org.screenlets.Gmail was not provided by any .service files
Loading instances in: /home/brandon/.config/Screenlets/Gmail/default/
File: Gmail1.ini
Creating new instance:
UPDATING SHAPE
UPDATING SHAPE
Set options in GmailScreenlet
Traceback (most recent call last):
File "GmailScreenlet.py", line 296, in <module>
screenlets.session.create_session(GmailScreenlet)
File "/usr/lib/python2.5/site-packages/screenlets/session.py", line 392, in create_session
session.start()
File "/usr/lib/python2.5/site-packages/screenlets/session.py", line 177, in start
if self.__load_instances():
File "/usr/lib/python2.5/site-packages/screenlets/session.py", line 319, in __load_instances
self.__restore_options_from_backend(sl, self.path+filename)
File "/usr/lib/python2.5/site-packages/screenlets/session.py", line 345, in __restore_options_from_backend
setattr(screenlet, opt.name, opt.on_import(opts[o]))
File "GmailScreenlet.py", line 81, in __setattr__
self.update()
File "GmailScreenlet.py", line 95, in update
self.check()
File "GmailScreenlet.py", line 113, in check
self.msa = self.k.decrypt(self.pas, "*")
File "/home/brandon/.screenlets/Gmail/pyDes.py", line 643, in decrypt
data = self.__key3.decrypt(data)
File "/home/brandon/.screenlets/Gmail/pyDes.py", line 510, in decrypt
return self.crypt(data, des.DECRYPT)
File "/home/brandon/.screenlets/Gmail/pyDes.py", line 407, in crypt
raise ValueError("Invalid data length, data must be a multiple of " + str(self.block_size) + " bytes\n.")
ValueError: Invalid data length, data must be a multiple of 8 bytes
.


Doesnt seem that anyone else has gotten this.

Report

frigga

9 years ago

how about a screenlet, that ever works?

though Screenlets is installed, i get:

root@n1ck-desktop:/usr/local/share/screenlets/Gmail# . GmailScreenlet.pyfrom: can't read /var/mail/screenlets.options
from: can't read /var/mail/os
from: can't read /var/mail/urllib
from: can't read /var/mail/screenlets
bash: GmailScreenlet.py: line 22: syntax error near unexpected token `('
bash: GmailScreenlet.py: line 22: `class GmailScreenlet(screenlets.Screenlet):'
root@n1ck-desktop:/usr/local/share/screenlets/Gmail#

Report

udolf

9 years ago

how about a screenlet that works with a system mailbox?

Report

leeon

9 years ago

when i try to copy this gmail screenlet to my .screenlet folder it says that i don`t have permission. how do i give myself permision to copy there?

Report

elizabethsarah

9 years ago

Open your terminal
type in sudo nautilus
you will be prompted for your password
Copy from there

Report

Ace2016

9 years ago

I tried the second download link and it told me this:

Invalid Quickkey. This error has been forwarded to MediaFire's development team.

The quickkey you provided for file download was invalid. This is usually caused because the file is no longer stored on Mediafire. This occurs when the file is removed by the originating user or Mediafire.

Report

sunmanXII

9 years ago

OK

What am I doing wrong?

I download the tar into usr/local/share/screelets

Untar it right there

then use python GmailScreenlet.py in terminal

and get the following error

___
Traceback (most recent call last):
File "GmailScreenlet.py", line 296, in <module>
screenlets.session.create_session(GmailScreenlet)
File "/usr/lib/python2.5/site-packages/screenlets/session.py", line 389, in create_session
session = ScreenletSession(classobj)
File "/usr/lib/python2.5/site-packages/screenlets/session.py", line 70, in __init__
self.path = BaseDirectory.save_config_path('Screenlets/' + p)
File "/var/lib/python-support/python2.5/xdg/BaseDirectory.py", line 59, in save_config_path
os.makedirs(path, 0700)
File "/usr/lib/python2.5/os.py", line 172, in makedirs
mkdir(name, mode)
OSError: [Errno 13] Permission denied: '/home/mattk/.config/Screenlets/Gmail/default/'
mattk@mattk-laptop:/usr/local/share/screenlets/Gmail$ sudo python GmailScreenlet.py
CachingBackend: Loading instances from cache
Traceback (most recent call last):
File "GmailScreenlet.py", line 296, in <module>
screenlets.session.create_session(GmailScreenlet)
File "/usr/lib/python2.5/site-packages/screenlets/session.py", line 389, in create_session
session = ScreenletSession(classobj)
File "/usr/lib/python2.5/site-packages/screenlets/session.py", line 79, in __init__
self.connect_daemon()
File "/usr/lib/python2.5/site-packages/screenlets/session.py", line 84, in connect_daemon
bus = dbus.SessionBus()
File "/var/lib/python-support/python2.5/dbus/_dbus.py", line 218, in __new__
mainloop=mainloop)
File "/var/lib/python-support/python2.5/dbus/_dbus.py", line 107, in __new__
bus = BusConnection.__new__(subclass, bus_type, mainloop=mainloop)
File "/var/lib/python-support/python2.5/dbus/bus.py", line 121, in __new__
bus = cls._new_for_bus(address_or_type, mainloop=mainloop)
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
___

help?

Report

sunmanXII

9 years ago

OK

What am I doing wrong?

I download the tar into usr/local/share/screelets

Untar it right there

then use python GmailScreenlet.py in terminal

and get the following error

___
Traceback (most recent call last):
File "GmailScreenlet.py", line 296, in <module>
screenlets.session.create_session(GmailScreenlet)
File "/usr/lib/python2.5/site-packages/screenlets/session.py", line 389, in create_session
session = ScreenletSession(classobj)
File "/usr/lib/python2.5/site-packages/screenlets/session.py", line 70, in __init__
self.path = BaseDirectory.save_config_path('Screenlets/' + p)
File "/var/lib/python-support/python2.5/xdg/BaseDirectory.py", line 59, in save_config_path
os.makedirs(path, 0700)
File "/usr/lib/python2.5/os.py", line 172, in makedirs
mkdir(name, mode)
OSError: [Errno 13] Permission denied: '/home/mattk/.config/Screenlets/Gmail/default/'
mattk@mattk-laptop:/usr/local/share/screenlets/Gmail$ sudo python GmailScreenlet.py
CachingBackend: Loading instances from cache
Traceback (most recent call last):
File "GmailScreenlet.py", line 296, in <module>
screenlets.session.create_session(GmailScreenlet)
File "/usr/lib/python2.5/site-packages/screenlets/session.py", line 389, in create_session
session = ScreenletSession(classobj)
File "/usr/lib/python2.5/site-packages/screenlets/session.py", line 79, in __init__
self.connect_daemon()
File "/usr/lib/python2.5/site-packages/screenlets/session.py", line 84, in connect_daemon
bus = dbus.SessionBus()
File "/var/lib/python-support/python2.5/dbus/_dbus.py", line 218, in __new__
mainloop=mainloop)
File "/var/lib/python-support/python2.5/dbus/_dbus.py", line 107, in __new__
bus = BusConnection.__new__(subclass, bus_type, mainloop=mainloop)
File "/var/lib/python-support/python2.5/dbus/bus.py", line 121, in __new__
bus = cls._new_for_bus(address_or_type, mainloop=mainloop)
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
___

help?

Report

yaraju

9 years ago

First, make sure you have "screenlets" installed.

Then, just untar the download, and put the resulting folder into ~/.screenlets.

Report

someguydude

9 years ago

How am I supposed to login with this thing? I don't get any place to put my credentials in.

Also, I use Swiftweasel, but this thing opens up Firefox no matter what my default browser is.

Report

Whise

9 years ago

theres a box that says username and password... hard to miss...

Report

9 years ago

v0.6 updated

version 5 has password encryption but is more laggy , delete your /home/***/.config/screenlets/gmail/default/ before intalling this one

fixed an error with the auto update

version 03 shows message count in the midle of the screenlet

product-maker 39 133

File (click to download) Version Description Filetype Packagetype License Downloads Date Filesize OCS-Install DL
Details
version
0.6
updated Feb 22 2008
added Sep 01 2007
downloads today
0
page views today 0