docs: add Menu
module tutorials (#47761)
* docs: add `Menu` module tutorials * link API docs to new tutorials * removed unreferenced fiddles * add wording for new types * fix import sort errors * delete accelerator.md * fixes Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com> Co-authored-by: Erick Zhao <ezhao@slack-corp.com>
This commit is contained in:
parent
e2689400aa
commit
280f643862
39 changed files with 1240 additions and 1472 deletions
60
docs/fiddles/menus/tray-menu/main.js
Normal file
60
docs/fiddles/menus/tray-menu/main.js
Normal file
|
@ -0,0 +1,60 @@
|
|||
const { app, BrowserWindow, Menu, Tray } = require('electron/main')
|
||||
const { nativeImage } = require('electron/common')
|
||||
|
||||
// save a reference to the Tray object globally to avoid garbage collection
|
||||
let tray = null
|
||||
|
||||
function createWindow () {
|
||||
const mainWindow = new BrowserWindow()
|
||||
mainWindow.loadFile('index.html')
|
||||
}
|
||||
|
||||
// The Tray object can only be instantiated after the 'ready' event is fired
|
||||
app.whenReady().then(() => {
|
||||
createWindow()
|
||||
|
||||
const red = nativeImage.createFromDataURL('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAACTSURBVHgBpZKBCYAgEEV/TeAIjuIIbdQIuUGt0CS1gW1iZ2jIVaTnhw+Cvs8/OYDJA4Y8kR3ZR2/kmazxJbpUEfQ/Dm/UG7wVwHkjlQdMFfDdJMFaACebnjJGyDWgcnZu1/lrCrl6NCoEHJBrDwEr5NrT6ko/UV8xdLAC2N49mlc5CylpYh8wCwqrvbBGLoKGvz8Bfq0QPWEUo/EAAAAASUVORK5CYII=')
|
||||
const green = nativeImage.createFromDataURL('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAACOSURBVHgBpZLRDYAgEEOrEzgCozCCGzkCbKArOIlugJvgoRAUNcLRpvGH19TkgFQWkqIohhK8UEaKwKcsOg/+WR1vX+AlA74u6q4FqgCOSzwsGHCwbKliAF89Cv89tWmOT4VaVMoVbOBrdQUz+FrD6XItzh4LzYB1HFJ9yrEkZ4l+wvcid9pTssh4UKbPd+4vED2Nd54iAAAAAElFTkSuQmCC')
|
||||
|
||||
tray = new Tray(red)
|
||||
tray.setToolTip('Tray Icon Demo')
|
||||
|
||||
const contextMenu = Menu.buildFromTemplate([
|
||||
{
|
||||
label: 'Open App',
|
||||
click: () => {
|
||||
const wins = BrowserWindow.getAllWindows()
|
||||
if (wins.length === 0) {
|
||||
createWindow()
|
||||
} else {
|
||||
wins[0].focus()
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'Set Green Icon',
|
||||
type: 'checkbox',
|
||||
click: ({ checked }) => {
|
||||
checked ? tray.setImage(green) : tray.setImage(red)
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'Set Title',
|
||||
type: 'checkbox',
|
||||
click: ({ checked }) => {
|
||||
checked ? tray.setTitle('Title') : tray.setTitle('')
|
||||
}
|
||||
},
|
||||
{ role: 'quit' }
|
||||
])
|
||||
|
||||
tray.setContextMenu(contextMenu)
|
||||
})
|
||||
|
||||
app.on('window-all-closed', function () {
|
||||
// This will prevent the app from closing when windows close
|
||||
})
|
||||
|
||||
app.on('activate', function () {
|
||||
if (BrowserWindow.getAllWindows().length === 0) createWindow()
|
||||
})
|
Loading…
Add table
Add a link
Reference in a new issue