Skip to content

sidneys/pb-for-desktop

Repository files navigation

PB for Desktop travis appveyor npm

PB for Desktop is a lightweight open-source Desktop app for PushBullet.
Receive native push notifications on macOS, Windows and Linux.



Not affiliated with PushBullet Incorporated.


Screenshot: Pushbullet for Desktop (macOS)

Screenshot: Pushbullet for Desktop (Windows)

Screenshot: Pushbullet for Desktop (Linux)


Native Notifications

Uses the macOS Notification Center, the Windows 10 Action Center and libnotify for Linux.

Cross-Platform

Tested on macOS (10.11, 10.12), Windows 10 (Anniversary Update) and Debian Linux (Ubuntu 16.04, elementary OS 0.4)

Unobstrusive

Small resource footprint - runs as a macOS Menu Bar app or a Windows System Tray app.

Simple Setup

No wrestling with API-Keys or other technical knowledge required. Login to Pushbullet using Google or Facebook.

Channel Images

Channel-specific (e.g. IFTTT, Zapier, Chat) icon images for most notifications.

Push Previews

Preview thumbnails for pushes containing images.

Custom Sound Effects

Use the default Pushbullet sound or one of your choice.

Dedicated Push Target

Use the PB for Desktop PushBullet device to only send pushes to your desktop.

Mirroring

Mirror Android notifications (Android only).

SMS Feature Status: Beta

Send & receive SMS to Android devices.

Emoji Feature Status: Alpha

Use tags to add emoji to notifications, e.g.: add {video} to show a 📺 with every notification.

Contents

  1. Installation
  2. Developers
  3. Continuous Integration
  4. Up Next
  5. Contact
  6. Author

Installation

Standard Installation

Download the latest version of PB for Desktop on the Releases page.

Installation as Commandline Tool

npm install --global pb-for-desktop		# Installs the node CLI module
pb-for-desktop							# Runs it

Developers

Sources

Clone the repo and install dependencies.

git clone https://github.com/sidneys/pb-for-desktop.git pb-for-desktop
cd pb-for-desktop
npm install

Scripts

start

Runs the app in development mode.

Usage:

npm run start

Parameters:

  • --debug Start with development tools
  • --livereload Start with live reload

localsetup

Install the app in the System app folder and start it.

Usage:

npm run localsetup

Parameters:

  • --build Rebuild project before installation
  • --debug Start with development tools

build

Builds the application and creates platform-specific installation packages (see requirements). If no parameter is supplied, the current platform is built.

Usage:

npm run build

Parameters:

  • --macos Build & Package for macOS
  • --windows Build & Package for Windows
  • --linux Build & Package for Linux
  • --metadata Generate Auto-Updater metadata

Build Requirements

  • Building for Windows requires wine and mono (on macOS, Linux)
  • Building for Linux requires fakeroot and dpkg (on macOS, Windows)
  • Only macOS can build for other platforms.

macOS Build Setup

Install Homebrew, then run:

brew install wine mono fakeroot dpkg

Linux Build Setup

sudo apt-get install wine mono fakeroot dpkg

Continuous Integration

Turnkey build-in-the-cloud integration.

The CI deployment is managed by a custom layer of node scripts and Electron-optimized configuration templates. Completed Installation packages are deployed to GitHub Releases. Builds for all platforms and architectures take about 5 minutes. Backed by the open-source-friendly guys at Travis and AppVeyor](https://ci.appveyor.com/) and running electron-packager under the hood.

Setup

  1. Fork the repo
  2. Generate your GitHub Personal Access Token using "repo" as scope. Copy it to the clipboard.
  3. macOS + Linux
    1. Sign in to Travis using GitHub.
    2. Open your Travis Profile, click "Sync Account" and wait for the process to complete.
    3. Find this repository in the list, enable it and click "⚙" to open its settings.
    4. Create a new Environment Variable named GITHUB_TOKEN. Paste your Token from step 2 as value.
  4. Windows
    1. Sign in to AppVeyor using GitHub.
    2. Click on "New Project", select "GitHub", look up this repo in the list and click "Add".
    3. After import navigate to the Settings > Environment subsection
    4. Select "Add Variable", insert GITHUB_TOKEN for name, paste your Token as value. Save.

Triggering Builds

  1. Add a new Tag to start the build process:

    git tag -a v1.0.1
    git push --tags

    The builds are started in parallel and added to the "Releases" page of the GitHub repo (in draft mode).

  2. Use the editing feature to publish the new app version.

  3. There is no step 3

Roadmap

  • Signed binaries
  • End-To-End Tests (see Spectron)

Contact Contributions Wanted

Read the contribution documentation first.

  • Dev Chat: Talk about features and suggestions.
  • Issues File bugs and document issues.

Author

sidneys 2017