• Stars
    star
    247
  • Rank 164,117 (Top 4 %)
  • Language
    Python
  • License
    MIT License
  • Created about 11 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

ℹ️ HackerTray is a minimalist Hacker News app for Linux

HackerTray

HackerTray on PyPi HackerTray on PyPi Build Status Coverage Status

HackerTray is a simple Hacker News Linux application that lets you view top HN stories in your System Tray. It uses appindicator where available, but provides a Gtk StatusIcon fallback in case AppIndicator is not available.

The inspiration for this came from Hacker Bar, which is Mac-only.

Screenshot

HackerTray Screenshot in elementaryOS

Installation

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

sudo pip install hackertray
OR
sudo easy_install hackertray
OR
#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 (OR)
  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 the one on PyPi

You can check which version you have installed with hackertray --version.

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

HackerTray will automatically check the latest version on startup, and inform you if there is an update available.

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.
  3. --firefox PROFILE-PATH: Specify path to a firefox profile directory. HackerTray will read your firefox history from this profile, and use it to mark links as read. Pass auto as PROFILE-PATH to automatically read the default profile and use that.
  4. --reverse (or -r). Switches the order for the elements in the menu, so Quit is at top. Use this if your system bar is at the bottom of the screen.

Note that the --chrome and --firefox options are independent, and can be used together. However, they cannot be specified multiple times (so reading from 2 chrome profiles is not possible).

Google Chrome Profile Path

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

  • [Chrome Stable] ~/.config/google-chrome/Default
  • [Chrome Beta] ~/.config/google-chrome-beta/Default
  • [Chrome Dev] ~/.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/).

Firefox Profile Path

The default firefox profile path is ~/.mozilla/firefox/*.default, where * denotes a random 8 digit string. You can also read ~/.mozilla/firefox/profiles.ini to get a list of profiles. Alternatively, just pass auto and HackerTray will pick the default profile automatically.

Features

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

Troubleshooting

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

sudo apt-get install python-appindicator

Note that appindicator is no longer supported in non-Ubuntu distros, because it only works on Python2.

Development

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.

Analytics

On every launch, a request is made to https://pypi.python.org/pypi/hackertray/json to check the latest version.

No more tracking. All data every collected for this project has been deleted. You can see the wiki for what all was collected earlier (Version < 4.0.0).

Credits

Licence

Licenced under the MIT Licence. See the LICENSE file for complete license text.

More Repositories

1

google-sre-ebook

Google SRE Book Generator (EPUB/MOBI/PDF).
Shell
1,208
star
2

ideas

πŸš€ Ideas for everyone under a CC licence. Feel free to use. I'll send you a postcard if you build anything on this list.
418
star
3

pystitcher

pystitcher stitches your PDF files together, generating nice customizable bookmarks for you using a declarative markdown file as input
Python
389
star
4

boardgame-research

List of research around modern boardgames.
XSLT
357
star
5

ifttt-webhook

♻️ A webhook middleware for the ifttt.com service
PHP
302
star
6

hello-cloudflare

A public letter to Cloudflare to fix their snoopy vendor
242
star
7

plaintext-everything

πŸ“ A list of tools and articles helpful for keeping everything under plaintext.
118
star
8

the-joy-of-software-development

πŸ“˜ A book for Software Developers who want to expand their knowledge. Encompassing various languages, tools, frameworks and technologies, it aims to improve your understanding of Software Development.
Shell
96
star
9

nebula

Source Code for the Home Server setup.
HCL
56
star
10

constitution

Constitution of India, in plain text (with git history)
40
star
11

cosmere-books

Script to build EPUB/MOBI/PDF versions of various books by Brandon Sanderson
HTML
39
star
12

jqaas

jq as a service
PHP
32
star
13

indiapost-tracker

India Post tracker API
Python
31
star
14

sanskari-proxy

A proxy for security researchers outside India to access Indian government websites without resorting to shady VPNs.
29
star
15

potion

Potion is github-pages compatible editor for jekyll blogs.
JavaScript
26
star
16

security-engineering-ebook

Script to generate a combined PDF for the Security Engineering 3rd edition book from the publicly available chapters under review.
Shell
25
star
17

Scripts

πŸƒ I keep lots of small scripts in the ~/scripts directory. Added it to path as well
Perl
20
star
18

india-isin-data

International Securities Identification Numbers for various Indian Securities
Shell
20
star
19

dotfiles

My dotfiles, managed using GNU stow
Perl
20
star
20

codechef

Codechef Problems viewer with an offline copy of all practice problems from codechef
PHP
20
star
21

amon

amon is a hacking tool for maintaining access to accounts using oauth tokens, instead of passwords.
Ruby
17
star
22

sympathy

Local File Editor for Chrome using NPAPI
JavaScript
17
star
23

disable-web-fonts

Disables Custom Fonts across all website. Saves Bandwidth. Blocks Trackers
JavaScript
17
star
24

configurator

Javascript configuration library to handle an application's configuration. Stores config to localstorage.
JavaScript
13
star
25

mf.captnemo.in

Get information about Indian Mutual Funds from their ISIN numbers.
Ruby
13
star
26

muse-dl

Download and stitch books from Project MUSE
Crystal
12
star
27

url-to-epub

A simple script that generates an EPUB from a single URL, zero-config
JavaScript
12
star
28

cctc3-solutions

Solutions to Round 1 of the CCTC Wave III Contest (Jeopardy style CTF)
PHP
11
star
29

youtube-cue

Generate CUE sheet from timestamps in youtube video description
JavaScript
11
star
30

nullcon2014

Source code for my talk on browser extension security
Ruby
11
star
31

uservoice

Clone of uservoice based on Kohana
PHP
10
star
32

outliner

A simple HTTParty based wrapper for the Outline API. Comes with ready scripts to import|export content from Outline.
Ruby
10
star
33

multiplayerchess.com

MultiplayerChess.com Source Code
JavaScript
10
star
34

tls.wtf

A hands-on workshop on using OpenSSL for TLS
Dockerfile
9
star
35

eteled

@eteled is a github bot that auto-deletes future comments from a discussion
Ruby
9
star
36

india-mutual-fund-ter-tracker

Tracking Total Expense Ratios of Indian Mutual Funds. Automatically updated daily.
HTML
9
star
37

what-to-read

Peppers your goodreads to-read list with amazon links
Ruby
8
star
38

epub-metadata-generator

Generates a metadata.xml file for an EPUB from various online sources, can be used with pandoc
JavaScript
7
star
39

gringotts

Personal expenses tracker over Ecommerce applications
Ruby
7
star
40

quick-list-select

Ever had a long list that needed to be marked Yes / No and you wanted to do it faster than Excel?
HTML
6
star
41

ickabog-ebook

Script to generate PDF and EPUB for "The Ickabog" by J.K Rowling
Shell
6
star
42

lightsaber

DNS - 30x Redirect hosted service
Ruby
6
star
43

historical-mf-data

Historical Mutual Funds data
Python
5
star
44

opml-gen

Ruby
5
star
45

magicmuggle

Script to build EPUB/MOBI/PDF versions of "Magic Muggle" book
Ruby
5
star
46

sushigo

Ruby
5
star
47

kerala-it-policy-draft

A markdown version of the Kerala State Information Technology Policy (Draft)
5
star
48

modernart

This is a MiniZinc based attempt to solve the Modern Art: Masters Gallery game.
PHP
4
star
49

obtvse-editor

DEPRECATED REPOSITORY See Potion
JavaScript
4
star
50

musicfellas-downloader

Simple Downloader for musicfellas.com
Shell
4
star
51

india-pincode-regex

A simple regex based exhaustive validator for PIN codes in India
JavaScript
4
star
52

jekyll-sqlite

A Jekyll plugin that lets you use SQLite database instead of data files as a data source.
Ruby
4
star
53

crypto.koans

crypto.koans are koans to help you learn openssl/tls/curl practical usage
PHP
4
star
54

prometheus-act-exporter

Exposes your current ACT Fibernet Internet usage as prometheus metrics. Scrapes the data from the ACT Portal website by using puppeteer.
JavaScript
4
star
55

tabcoin

Ruby
3
star
56

pget

Download Manger using PyGTK with multi-threaded download support
Python
3
star
57

suntime

Crystal library for calculating sunrise and sunset times.
Crystal
3
star
58

goosh

Fork of the original goosh shell (goosh.org). Modified with my own extensions for specific purposes
JavaScript
3
star
59

news

Plain-Text India-focused News
HTML
3
star
60

hackertray-win

Port of captn3m0/hackertray to Windows using node-webkit
JavaScript
3
star
61

forteller-dl

Downloads MP3 files from Foreteller Games, without using the app. You must purchase the media first from https://www.fortellergames.com/.
PHP
3
star
62

channeli-notice-fixer

This extension fixes the broken links in Channel I notices
JavaScript
2
star
63

muse-ebook-downloader

Archived. See muse-dl instead
Shell
2
star
64

npci-rss-feeds

RSS Feeds for various NPCI Circulars and Notifications.
Smarty
2
star
65

elibsrv

GitHub mirror for elibsrv
C
2
star
66

wona

WoNA Archives (IITR News Magazine)
HTML
2
star
67

pdp-book

HTML
2
star
68

ics-to-html

Script to publish an ICS calendar as HTML
Ruby
2
star
69

avatars

This repository contains the various avatars, and wallpapers that I use.
2
star
70

nand2tetris

The Elements of Computing Systems, My Workbook for the NAND to Tetris course.
Assembly
2
star
71

never-say-you-cant-survive

Script to generate an ebook for "Never Say You Can't Survive" - book by Charlie Jane Anders.
Ruby
2
star
72

Minerva

Minerva is a simple ebook scanning system, which uses amazon's Product Search API along with google book search to generate metadata for each book. It does full text indexing using Zend_Lucene in PHP.
PHP
2
star
73

ifttt-evernote

ifttt-webhook plugin for adding articles to evernote. Uses the readability API
PHP
2
star
74

pocket-channel-i

@IMGIITRoorkee's pocket-channel-i chrome extension without the "tabs" privilege.
JavaScript
2
star
75

ariel

Ariel is a real time collaborative code editor
JavaScript
2
star
76

gothok

A Game of Thrones: Hand of the King
Python
2
star
77

kuvera-unofficial-api-specification

Unofficial Specification for the Kuvera read APIs
HTML
2
star
78

akira-backend

Akira backend written using Limonade
PHP
2
star
79

hoshruba

Script to build EPUB/MOBI/PDF versions of "Hoshruba: The Land and the Tilism" book
CSS
1
star
80

msgboy

Msgboy pushes your web to your browser!
JavaScript
1
star
81

talks

Some Talks...
HTML
1
star
82

find-my-constituency

Python
1
star
83

terraform-docker-kayak

HCL
1
star
84

terraform-http-setcronjob-whitelist

Terraform Module that returns the latest SetCronJob IP Whitelist: https://support.setcronjob.com/hc/en-us/articles/219802207-SetCronJob-IP-addresses-list
HCL
1
star
85

tld-a-record

CSS
1
star
86

opengram

Elixir
1
star
87

dorycms

Little, simple, and made for developers who want their designs to be quickly integrated into the website.
JavaScript
1
star
88

google-swe-ebook

Google SWE EBook Generator (PDF/EPUB)
Python
1
star
89

cneditor

PHP
1
star
90

projecteuler.net

My solutions of Project Euler problems
C++
1
star
91

electron-fingerprints

Generates fingerprints for electron version detection by downloading electron releases and generating checksums of the files contained in each release.
PHP
1
star
92

thesetup

Analysis of hardware/software used by people featured on The Setup (usesthis.com)
Shell
1
star
93

asmodee-owns-it

List of boardgames showing Asmodee's dominance in the boardgame industry
PHP
1
star
94

captn3m0

GitHub Profile page
1
star
95

frakjs

JavaScript
1
star
96

js-guard

Source code for the JS-Guard extension by CDAC.
JavaScript
1
star
97

hacker

Hacker was a text-based game I wrote long time ago in my 8th grade. Compiles only in Turbo C++
1
star
98

chrome-pin-keyboard-shortcut

Creates a keyboard shortcut (Ctrl+Shift+A) to toggle the pinned state of the current tab.
JavaScript
1
star
99

okiya

JavaScript
1
star
100

playtube

Music player that runs on top of youtube for my raspberry pi
Python
1
star