Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Improved pbcopy/pbpaste
JavaScript Makefile
Branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
bin
.flowconfig
.gitignore
.jscs.json
.jshintrc
LICENSE
Makefile
README.md
package.json
pb.js

README.md

pb

Improved pbcopy/pbpaste for OSX

The standard pbcopy and pbpaste utilities can manipulate the plaintext clipboard but have no easy way of accessing the HTML pasteboard. This module and CLI tool provide a more convenient way to access the pasteboard from node.

Installation

With npm, global installation is easiest:

$ npm install -g pb

Depending on your system configuration, you may need to run as root:

$ sudo npm install -g pb

Command-Line Tool Usage

To get data from a specific pasteboard:

$ pb [type]
$ pb -m <type>

To set a specific pasteboard, be sure to pipe data into pb:

$ get_data | pb -s [type]

To list available pasteboards:

$ pb -l

For example, to grab the contents of the HTML pasteboard and put it on the plaintext pasteboard:

$ pb -m html | pb -s

Library Usage

From node, pb exposes:

  • get(type): get pasteboard data from specified pasteboard
  • set(type, data): set pasteboard data (overwrites other pasteboards)
  • gettypes(): enumerate available pasteboards

For example, to grab the contents of the HTML pasteboard and put it on the plaintext pasteboard:

var pb = require('pb');
var HTMLOutput = pb.get('html');
var textOutput = pb.get();

Supported Pasteboards

  • NSStringPboardType (plaintext)
  • NSHTMLPboardType (HTML)

License

Please consult the attached LICENSE file for details. All rights not explicitly granted by the Apache 2.0 license are reserved by the Original Author.

Analytics

Something went wrong with that request. Please try again.