A cross-platform desktop notifier of GitHub activity, built using JavaFX and Groovy.
This app periodically queries the GitHub API for new notifications that your GitHub user has received. For example, you can receive notifications of pushes, branch creation, pull requests, issues, etc.
The app is not very pretty right now, it's just functional. I'm open to suggestions for the UI, just open an issue to let me know.
- JDK 1.8.0_31+ (to build from source, until I do an actual release)
- Linux, Mac, or Windows
- If Linux and using Gnome or Cinnamon, the tray icon does not work. Please disable it in the preferences.
If you just want to fire it up to play around with it, use the run
task.
- Clone/update the repo.
./gradlew clean run
- By default, the user and token are not set. Click on Edit -> Preferences to do so. Note that the preferences will not be stored until issue #6 is resolved.
- Warning: if you do not set an OAuth token, then GitHub will start rejecting requests above 60 per hour.
- Clone/update the repo.
./gradlew clean jfxDeploy
- This builds a self-contained application, with an executable for your platform.
- On Ubuntu, the
fakeroot
package is required to build the.deb
- The executable is located in the directory:
./build/distributions/github-desktop-notifier/
- There are also two subdirectories:
runtime
which holds the JRE, andapp
which holds the jars.
- Either run the application directly from this directory, or copy the
github-desktop-notifier
directory tree somewhere else and run it from there.
- Note: on Windows, the executable is ignoring all command line arguments, for some reason.
Run with -h
to see the available arguments. Currently they are:
- -h,--help Show usage information
- -n,--hostname GitHub Enterprise hostname (Optional)
- -t,--token GitHub OAuth token (Optional)
- -u,--user GitHub username to be queried (Required)
The app is setup to talk to GitHub.com, as long as the username is entered.
- Get an OAuth token for your GitHub.com account. It does not require any special permissions/scopes, so it is recommended that you uncheck all of the scopes.
- Open
GitHub Desktop Notifier
, click onEdit -> Preferences
, and put in the user name and OAuth token, then click OK.
- Or,
./gradlew run -Parguments=-u,jhegg,-t,12345
- Get an OAuth token for your GitHub Enterprise account. It does not require any special permissions/scopes, so it is recommended that you uncheck all of the scopes.
- Open
GitHub Desktop Notifier
, click onEdit -> Preferences
, and put in the user name and OAuth token and GitHub Enterprise hostname, then click OK.
- Or,
./gradlew run -Parguments=-u,jhegg,-t,12345,-n,localhost
- If you get an
SSLPeerUnverifiedException
, then the most likely cause is that the SSL certificate presented by the GitHub Enterprise server is not trusted by the JRE'scacerts
keystore. The keystore of the JRE needs to have the certificate imported. If you are using./gradlew run
, then the keystore is$JAVA_HOME/jre/lib/security/cacerts
; but if you use thejfxDeploy
task, it will be thebuild/distributions/github-desktop-notifier/runtime/jre/lib/security/cacerts
file. If you don't know what to do, look up the documentation for Java'skeytool
regarding importing certificates into a keystore.