How to check gmail from the Xfce panel
Posted: 11. Dec 2012, 08:40
In Salix 14.0, the xfce mailwatch plugin is no more. It hasn't been updated for a while and it doesn't build against xfce 4.10.
A user in the greek subforum has asked for a way to check his gmail and I came up with this solution that involves the xfce4-genmon-plugin, that can display any kind of information in the panel. We only need to get that information from somewhere and it turns out that any gmail account has an RSS feed attached to it, so we can use feedparser to read that feed.
If you don't have them already, install the xfce4-mailwatch-plugin and feedparser packages.
Put the following code in a file, somewhere, anywhere you like, changing the account details at the top:
Now make that file executable:
And add a Generic Monitor applet in your Xfce panel. Enter the full path to the file you just saved, untick the label as you probably don't need one and change the time interval to the one you want (like 60 seconds for 1-minute intervals between checks). This should display a different icon when you have any unread emails and also a tooltip with the number of unread emails.
If you want the icon to launch your browser with gmail when you click on it, you can add something like this at the end of the script:
A user in the greek subforum has asked for a way to check his gmail and I came up with this solution that involves the xfce4-genmon-plugin, that can display any kind of information in the panel. We only need to get that information from somewhere and it turns out that any gmail account has an RSS feed attached to it, so we can use feedparser to read that feed.
If you don't have them already, install the xfce4-mailwatch-plugin and feedparser packages.
Put the following code in a file, somewhere, anywhere you like, changing the account details at the top:
Code: Select all
#!/usr/bin/env python
USERNAME = "yourgmailusername" # This is the part that is before @gmail.com
PASSWORD = "yourpassword"
# if you don't like the icons, change them to whichever you like
icon_unread = "/usr/share/icons/mate/16x16/status/mail-unread.png"
icon_read = "/usr/share/icons/mate/16x16/status/mail-read.png"
# you probably don't have to change anything below this part
import feedparser
unread = feedparser.parse("https://"+USERNAME+":"+PASSWORD+"@mail.google.com/gmail/feed/atom")["feed"]["fullcount"]
if int(unread) > 0:
icon = icon_unread
text = "Unread emails: "+unread
else:
icon = icon_read
text = "No unread emails."
print "<img>"+icon+"</img>"
print "<tool>"+text+"</tool>"
Code: Select all
chmod +x /path/to/file
If you want the icon to launch your browser with gmail when you click on it, you can add something like this at the end of the script:
Code: Select all
print "<click>midori https://www.gmail.com</click>"