Coder Social home page Coder Social logo

electron-context-menu's Introduction

electron-context-menu Build Status

Context menu for your Electron app

Electron doesn't have a built-in context menu. You're supposed to handle that yourself. But it's both tedious and hard to get right. This module gives you a nice extensible context menu with items like Cut/Copy/Paste for text, Save Image for images, and Copy Link for links. It also adds an Inspect Element menu item when in development to quickly view items in the inspector like in Chrome.

You can use this module directly in both the main and renderer process.

Install

$ npm install --save electron-context-menu

Usage

const {app, BrowserWindow} = require('electron');

require('electron-context-menu')({
	prepend: (params, browserWindow) => [{
		label: 'Rainbow',
		// only show it when right-clicking images
		visible: params.mediaType === 'image'
	}]
});

let win;

app.on('ready', () => {
	win = new BrowserWindow();
});

API

contextMenu([options])

options

window

Type: BrowserWindow WebView

Window or WebView to add the context menu to.

When not specified, the context menu will be added to all existing and new windows.

prepend

Type: Function

Should return an array of MenuItem's to be prepended to the context menu. The first argument is this params object. The second argument is the BrowserWindow the context menu was requested for.

append

Type: Function

Should return an array of MenuItem's to be appended to the context menu. The first argument is this params object. The second argument is the BrowserWindow the context menu was requested for.

showInspectElement

Type: boolean
Default: Only in development

Force enable or disable the Inspect Element menu item.

labels

Type: Object
Default: {}

Overwrite labels for the default menu items. Useful for i18n.

Format:

labels: {
	cut: 'Configured Cut',
	copy: 'Configured Copy',
	paste: 'Configured Paste',
	save: 'Configured Save Image',
	copyLink: 'Configured Copy Link',
	inspect: 'Configured Inspect'
}

Related

License

MIT © Sindre Sorhus

electron-context-menu's People

Contributors

coupej avatar eladams avatar jhen0409 avatar jnugh avatar jwheare avatar oxyno-zeta avatar paulmolluzzo avatar salomvary avatar serjn avatar sindresorhus avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.