abiczo / github-notifier

Github updates notifier for Linux
57 stars 8 forks source link

Github-notifier

This is a Linux/Python port of miyagawa's github-growler.

It fetches your Github dashboard feeds and displays a notification for new items. There is additional features like filtering only notifications from important authors and/or projects. The GitHub blog entries can also be seen in the notifications if desired.

Requirements

Install

First install the package dependencies (using Ubuntu)

sudo apt-get install python-setuptools python-gtk2 python-feedparser python-simplejson python-notify

Then clone the repository and install the module:

git clone git://github.com/abiczo/github-notifier.git
cd github-notifier
python setup.py install

Now you can run github-notifier like this:

github-notifier

github-notifier will read the github.token from your git config. Make sure that it matches the token found on at the bottom of your github main page, Subscribe to your news feed link. You can see your config via git config -l and git config --get github.token.

Use --help for a list of available command line options.

Packages

An Arch Linux package is available here.

Screenshot

Screenshot using notify-osd:

Screenshot

Organizations Feeds Feature

The user's organizations are monitored by default. But you can use the filtering feature to blacklist some organizations.

Filtering Feature

Authors are filtered when using the -a flag. Projects are filtered when using the -p flag. -k to blacklist organizations. A config.cfg file is present within your ~/.githubnotifier/ directory. The file will be generated if it is not present at run-time.

The config.cfg format is as follows:

[important]
authors=bob,fred,mary
projects=github-notifier,rails,bob/my-project
[blacklist]
authors=james
projects=bad_project
organizations=LogicalBricks

This configuration will only show notifications that have bob, fred or mary as the authors. The projects can either be in a general format (ex: github-notifier or rails) to only show notifications that deal with either of those projects. The general format will show notifications that match the project name, regardless of who is the owner of the repository. The stricter format (ex: bob/my-project) will only show notifications of the my-project repository if the owner if bob.

It is also possible to completely blacklist notifications from certain authors and/or projects. This is configured the same way as for important projects, but now the configuration falls under the blacklist category, the organizations can be filtered using the login (ex: LogicalBricks,Github), comma separated.

Filters for important authors/projects will override filters for blacklisted authors/projects if they both are enabled.

TODO

Notes

The Octocat logo is taken from http://github.com/mojombo/github-media.