Skip to content

sav/emacs-pushbullet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

emacs-pushbullet

A comprehensive Pushbullet client for GNU Emacs that allows you to send and manage pushes directly from your editor.

Features

  • Send Notes: Send text notes to Pushbullet with custom titles
  • Region Pushing: Push selected text regions to your devices
  • Clipboard Integration: Send clipboard contents to Pushbullet
  • Interactive UI: Browse and manage your pushes in a dedicated Emacs buffer
  • Modern Interface: Beautiful formatting with icons and proper typography
  • Pagination Support: Load multiple pages of pushes efficiently

Installation

Manual Installation

  1. Clone this repository:
    git clone https://github.com/sav/emacs-pushbullet.git
        
  2. Add the following to your ~/.emacs.d/init.el:
    (add-to-list 'load-path "~/path/to/emacs-pushbullet")
    (require 'pushbullet)
        

Using straight.el

(use-package pushbullet
  :straight (:type git :host github :repo "sav/emacs-pushbullet"))

Using Doom Emacs

(package! pushbullet :recipe (:host github :repo "sav/emacs-pushbullet"))

Configuration

Required Setup

  1. Get your Pushbullet API token:
  2. Configure the token in Emacs:
    (setq pushbullet-token "your-api-token-here")
        

    Or use M-x customize-variable RET pushbullet-token

  3. Alternatively, just add an entry for `pushbullet.com` (lower-case) in your `.authinfo.gpg`: #BEGIN_SRC authinfo machine pushbullet.com password “your-api-token-here” #END_SRC

Optional Configuration

;; Number of pushes to fetch per request (default: 20)
(setq pushbullet-limit 20)

;; Default title for pushes (default: "GNU Emacs <version>")
(setq pushbullet-default-title "My Emacs")

;; Maximum columns for text wrapping (default: 108)
(setq pushbullet-columns 80)

;; Enable debug logging (default: nil)
(setq pushbullet-debug t)

Usage

Interactive Commands

CommandDescriptionKey Binding
M-x pushbulletOpen the Pushbullet Buffer-
M-x pushbullet-sendSend a note with prompted title and text-
=M-x pushbullet-send-text=Send a note with prompted text-
M-x pushbullet-regionSend the current region-
M-x pushbullet-yankSend clipboard contents-
M-x pushbullet-updateUpdate the Pushbullet bufferC-c C-u

Key Bindings in Pushbullet Buffer

KeyFunction
=C-c C-c=Send a new push
=C-c C-u=Update/refresh the buffer
qQuit the buffer

Examples

Send a Quick Note

(pushbullet-send "Meeting Reminder" "Don't forget the team meeting at 3 PM")

Send Selected Text

  1. Select a region in any buffer
  2. Run M-x pushbullet-region
  3. The selected text will be sent with the buffer name as the title

Send Clipboard Contents

(pushbullet-yank)  ; Sends current kill-ring contents

Open the Interactive UI

(pushbullet)  ; Opens the main Pushbullet buffer

API Reference

Functions

pushbullet-send (title body)

Send a note to Pushbullet with the specified title and body text.

pushbullet-send-text (text)

Send a note with the default title and specified text.

pushbullet-region (start end)

Push the selected region to Pushbullet. The buffer name is used as the title.

pushbullet-yank ()

Push the current kill-ring (clipboard) contents to Pushbullet.

pushbullet ()

Open the interactive Pushbullet UI buffer.

pushbullet-update ()

Fetch and display the latest pushes in the current buffer.

Customization Variables

pushbullet-token

Your Pushbullet API access token (required).

pushbullet-limit

Number of pushes to fetch per request (default: 50).

pushbullet-default-title

Default title for pushes (default: “GNU Emacs <version>”).

pushbullet-columns

Maximum columns for text wrapping (default: 108).

pushbullet-debug

Enable debug logging (default: nil).

Dependencies

This package requires the following Emacs packages:

  • emacs (>= 29.1)
  • request (>= 0.3.3)
  • all-the-icons (>= 5.0.0)
  • auth-source (>= 23.1)

License

This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.

Version

Current version: 1.0.0

Changelog

1.0.0

  • Initial release
  • Basic push sending functionality
  • Interactive Buffer
  • Region and clipboard integration
  • Pagination support

About

Pushbullet client for Emacs: send notes, regions, clipboard and browse/manage pushes

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published