A lightweight wrapper for creating new panes within Atom
JavaScript
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
LICENSE.md
README.md
index.js
package.json

README.md

atom-pane Flattr this!stable

A lightweight wrapper for creating new panes within Atom.

Usage

atom-pane

atom-pane is packaged as an npm module, so you can simply install it like you would your other package dependencies.

uri = createPane([opts], ready, [closed])

Create a new pane, calling ready(err, pane) when complete. The returned pane is an instance of ScrollView, but you can easily append standard DOM elements like so:

var createPane = require('atom-pane')

exports.activate = function() {
  atom.workspaceView.command('atom-plugin:open', function() {
    // create a div, any div
    var div = document.createElement('div')
    div.innerHTML = 'hello world!'
    div.style.color = '#fff'

    createPane(function(err, pane) {
      if (err) throw err
      // append the dive to your new pane
      pane.append(div)
    }, function() {
      div.parentNode.removeChild(div)
    })
  })
}

You'll need to clean up after yourself too – use the closed callback function, which will get called when the pane has been closed.

Takes the following options:

  • opts.searchAllPanes passed onto atom.workspace.open, defaults to false.

  • opts.uri may be one of the following:

    • undefined, in which case a unique value will be genrated for you.
    • A unique string, e.g. markdown-preview-pane.
    • A full URI, e.g. markdown-preview://Users/hughsk/README.md.

    Note that the latter two approaches are recommended, to prevent creating a bunch of one-off openers each time a user opens a pane.

  • opts.changeFocus passed onto atom.workspace.open, defaults to true.

  • opts.split passed onto atom.workspace.open, defaults to undefined.

License

MIT. See LICENSE.md for details.