Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/sirbrillig/gitnews-menubar

Display GitHub notifications in your menu bar
https://github.com/sirbrillig/gitnews-menubar

github github-notifications menubar nodejs notifications

Last synced: 1 day ago
JSON representation

Display GitHub notifications in your menu bar

Awesome Lists containing this project

README

        

# Gitnews



An app to display GitHub notifications in your Mac OS menu bar.

https://user-images.githubusercontent.com/2036909/212501847-f298251e-ab6e-4439-88f8-696a5b0d2edd.mov

## Why not use another app?

There are several other apps that are similar to this one. Notably, you might want to check out:

- [Octobox](https://octobox.io/)
- [DevHub](https://devhubapp.com/)
- [Gitify](https://www.gitify.io/)
- [Trailer](http://ptsochantaris.github.io/trailer/)

However, Gitnews has several unique features that I love and I hope you'll like them too:

- Supports light and dark modes.
- Supports notifications on private repos.
- Shows read notifications as well as unread ones.
- Allows marking notifications as unread.
- Allows temporarily muting notifications from repos that you want to exclude.
- Allows holding down the Command key to open multiple notifications at once.
- The menubar icon is different when there are notifications that you've seen but not read.

## Icons

Gitnews has three icons that you'll normally see:

read No unread notifications.

unread Unread notifications that you've already seen. This means there are unread notifications but nothing new since the last time you clicked.

unseen-unread Unseen notifications. This means that there are notifications that probably just arrived.

## ✨ Download ✨

Currently the packaged version of Gitnews is only built for Mac OS but the app could work on any platform. If anyone wants to try running it in Windows or Linux I'd be happy to discuss adding support; please [create an issue](https://github.com/sirbrillig/gitnews-menubar/issues/new).

💡 **Note:** I don't have a paid Apple developer account, so the package will warn you that the app is from an "Unidentified developer". The first time you open the app you will need to right-click on it and select "Open" from the context menu. [This Apple support doc](https://support.apple.com/kb/ph18657?locale=en_US) explains how to do this in more detail.

👉 Visit [the releases page](https://github.com/sirbrillig/gitnews-menubar/releases) to download an image of the latest release.

When you run Gitnews, you will need to generate an API key from your GitHub account. The app will guide you through creating one.

## Bug reports

💣 If you have any trouble with Gitnews, please [create an issue](https://github.com/sirbrillig/gitnews-menubar/issues/new) to describe what happened.

## Attributions

App icons based on images from Iconoir ( MIT).

## Development

gitnews-menubar is built using [Electron](https://electron.atom.io/), [React](https://facebook.github.io/react/), and [gitnews](https://github.com/sirbrillig/gitnews).

To run the development version from the source, first install all dependencies by running `yarn` (you must have [yarn](https://yarnpkg.com/en/) installed for this to work). Next run the command `yarn start`.

The app uses [debug](https://github.com/visionmedia/debug), so you can enable all sorts of debug output in the console by typing

```js
localStorage.setItem('debug', 'gitnews-menubar')
```

Rather than use real data, you can use mock data by enabling demo mode. This also disables network side effects (like marking a notification as read). To do this, create a `.env` file in the source directory and include the following:

```
GITNEWS_DEMO_MODE=y
```

### Logging

The app logs its activity to a file on the local machine using the library [electon-log](https://github.com/megahertz/electron-log). On the Mac OS this produces a file in `~/Library/Logs/Gitnews/main.log`.

### Building a package

To create a packaged Mac OS App, first install dependencies by running `yarn` (you must have [yarn](https://yarnpkg.com/en/) installed for this to work).

Next run the following command: `yarn run build`.

You will then find an executable application in the `out` directory.