A comprehensive Pushbullet client for GNU Emacs that allows you to send and manage pushes directly from your editor.
- 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
- Clone this repository:
git clone https://github.com/sav/emacs-pushbullet.git - Add the following to your
~/.emacs.d/init.el:(add-to-list 'load-path "~/path/to/emacs-pushbullet") (require 'pushbullet)
(use-package pushbullet
:straight (:type git :host github :repo "sav/emacs-pushbullet"))(package! pushbullet :recipe (:host github :repo "sav/emacs-pushbullet"))- Get your Pushbullet API token:
- Go to https://www.pushbullet.com/#settings/account
- Copy your “Access Token”
- Configure the token in Emacs:
(setq pushbullet-token "your-api-token-here")
Or use
M-x customize-variable RET pushbullet-token - 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
;; 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)| Command | Description | Key Binding |
|---|---|---|
M-x pushbullet | Open the Pushbullet Buffer | - |
M-x pushbullet-send | Send a note with prompted title and text | - |
| =M-x pushbullet-send-text= | Send a note with prompted text | - |
M-x pushbullet-region | Send the current region | - |
M-x pushbullet-yank | Send clipboard contents | - |
M-x pushbullet-update | Update the Pushbullet buffer | C-c C-u |
| Key | Function |
|---|---|
| =C-c C-c= | Send a new push |
| =C-c C-u= | Update/refresh the buffer |
q | Quit the buffer |
(pushbullet-send "Meeting Reminder" "Don't forget the team meeting at 3 PM")- Select a region in any buffer
- Run
M-x pushbullet-region - The selected text will be sent with the buffer name as the title
(pushbullet-yank) ; Sends current kill-ring contents(pushbullet) ; Opens the main Pushbullet bufferSend a note to Pushbullet with the specified title and body text.
Send a note with the default title and specified text.
Push the selected region to Pushbullet. The buffer name is used as the title.
Push the current kill-ring (clipboard) contents to Pushbullet.
Open the interactive Pushbullet UI buffer.
Fetch and display the latest pushes in the current buffer.
Your Pushbullet API access token (required).
Number of pushes to fetch per request (default: 50).
Default title for pushes (default: “GNU Emacs <version>”).
Maximum columns for text wrapping (default: 108).
Enable debug logging (default: nil).
This package requires the following Emacs packages:
emacs(>= 29.1)request(>= 0.3.3)all-the-icons(>= 5.0.0)auth-source(>= 23.1)
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.
Current version: 1.0.0
- Initial release
- Basic push sending functionality
- Interactive Buffer
- Region and clipboard integration
- Pagination support