ℹ️ HackerTray is a minimalist Hacker News app for Linux
Go to file
2014-09-24 12:23:54 +05:30
hackertray Implements network error checking in. 2014-09-24 12:23:54 +05:30
test Don't try to import Appindicator on TRAVIS. 2014-06-07 10:57:48 +05:30
.gitignore Adds bin/hackertray to the repository. 2013-11-28 19:15:15 +05:30
.travis.yml Updates testing script 2014-06-07 10:58:36 +05:30
MANIFEST.in Excludes screenshot in the python package. 2013-12-07 21:49:10 +05:30
README.md Adds credits 2014-06-07 20:59:24 +05:30
screenshot.png Adds screenshot. 2013-11-28 13:19:19 +05:30
setup.py Bumps version to 2.0.1 2014-06-06 20:40:48 +05:30


HackerTray on PyPi HackerTray on PyPi Build Status for Chrom Branch

HackerTray is a simple Hacker News Linux application that lets you view top HN stories in your System Tray. It relies on appindicator, so it is not guaranteed to work on all systems. It also provides a Gtk StatusIcon fallback in case AppIndicator is not available.

The inspiration for this came from Hacker Bar, which is Mac-only. I tried to port it to node-webkit, but had to do it in Python instead because nw doesn't support AppIndicators yet.


HackerTray Screenshot in elementaryOS

##Installation HackerTray is distributed as a python package. Do the following to install:

sudo pip install hackertray
sudo easy_install hackertray
#Download Source and cd to it
sudo python setup.py install

After that, you can run hackertray from anywhere and it will run. You can now add it to your OS dependent session autostart method. In Ubuntu, you can access it via:

  1. System > Preferences > Sessions
  2. System > Preferences > Startup Applications

depending on your Ubuntu Version. Or put it in ~/.config/openbox/autostart if you are running OpenBox. Here is how the configuration should look like in Ubuntu and its derivatives.

###Upgrade The latest stable version is always the one available on pip. You can check which version you have installed with pip freeze | grep hackertray.

To upgrade, run pip install -U hackertray. In some cases (Ubuntu), you might need to clear the pip cache before upgrading:

sudo rm -rf /tmp/pip-build-root/hackertray

##Options HackerTray accepts its various options via the command line. Run hackertray -h to see all options. Currently the following switches are supported:

  1. -c: Enables comments support. Clicking on links will also open the comments page on HN. Can be switched off via the UI, but the setting is not remembered.
  2. --chrome PROFILE_PATH: Specifying a profile path to a chrome directory will make HackerTray read the Chrome History file to mark links as read. Links are checked once every 5 minutes, which is when the History file is copied (to override the lock in case Chrome is open), searched using sqlite and deleted. This feature is still experimental.

###Google Chrome Profile Path

Where your Profile is stored depends on which version of chrome you are using:

  • google-chrome-stable: ~/.config/google-chrome/Default/
  • google-chrome-unstable: ~/.config/google-chrome-unstable/Default/
  • chromium: ~/.config/chromium/Default/

Replace Default with Profile 1, Profile 2 or so on if you use multiple profiles on Chrome. Note that the --chrome option accepts a PROFILE_PATH, not the History file itself. Also note that sometimes ~ might not be set, so you might need to use the complete path (such as /home/nemo/.config/google-chrome/Default/).


  1. Minimalist Approach to HN
  2. Opens links in your default browser
  3. Remembers which links you opened
  4. Shows Points/Comment count in a simple format
  5. Reads your Google Chrome History file to determine which links you've already read (even if you may not have opened them via HackerTray) (Experimental)


If the app indicator fails to show in Ubuntu versions, consider installing python-appindicator with

sudo apt-get install python-appindicator


To develop on hackertray, or to test out experimental versions, do the following:

  • Clone the project
  • Run (sudo) python setup.py develop in the hackertray root directory
  • Run hackertray with the required command line options from anywhere.


##Author Information


Support this project and others by captn3m0 via gittip.

Support via Gittip

##Licence Licenced under the MIT Licence.