Skip to content
This repository was archived by the owner on Nov 21, 2019. It is now read-only.

Commit 1eb3658

Browse files
author
icymind
committed
add more app menu
1 parent db74592 commit 1eb3658

File tree

1 file changed

+85
-18
lines changed

1 file changed

+85
-18
lines changed

main.js

Lines changed: 85 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -26,32 +26,99 @@ function createWindow () {
2626
})
2727
}
2828

29-
function enableCopy () {
30-
if (process.platform !== 'darwin') {
31-
return
32-
}
33-
Menu.setApplicationMenu(
34-
Menu.buildFromTemplate([
29+
function setMenu () {
30+
const template = [
31+
{
32+
label: 'Edit',
33+
submenu: [
34+
{role: 'undo'},
35+
{role: 'redo'},
36+
{type: 'separator'},
37+
{role: 'cut'},
38+
{role: 'copy'},
39+
{role: 'paste'},
40+
{role: 'pasteandmatchstyle'},
41+
{role: 'delete'},
42+
{role: 'selectall'}
43+
]
44+
},
45+
{
46+
label: 'View',
47+
submenu: [
48+
{role: 'reload'},
49+
{role: 'forcereload'},
50+
{role: 'toggledevtools'},
51+
{type: 'separator'},
52+
{role: 'resetzoom'},
53+
{role: 'zoomin'},
54+
{role: 'zoomout'},
55+
{type: 'separator'},
56+
{role: 'togglefullscreen'}
57+
]
58+
},
59+
{
60+
role: 'window',
61+
submenu: [
62+
{role: 'minimize'},
63+
{role: 'close'}
64+
]
65+
},
66+
{
67+
role: 'help',
68+
submenu: [
69+
{
70+
label: 'Learn More',
71+
click () { require('electron').shell.openExternal('https://github.com/icymind/VRouter') }
72+
}
73+
]
74+
}
75+
]
76+
77+
if (process.platform === 'darwin') {
78+
template.unshift({
79+
label: app.getName(),
80+
submenu: [
81+
// {role: 'about'},
82+
// {type: 'separator'},
83+
{role: 'services', submenu: []},
84+
{type: 'separator'},
85+
{role: 'hide'},
86+
{role: 'hideothers'},
87+
{role: 'unhide'},
88+
{type: 'separator'},
89+
{role: 'quit'}
90+
]
91+
})
92+
93+
// Edit menu
94+
template[1].submenu.push(
95+
{type: 'separator'},
3596
{
36-
label: 'Edit',
97+
label: 'Speech',
3798
submenu: [
38-
{ role: 'undo' },
39-
{ role: 'redo' },
40-
{ type: 'separator' },
41-
{ role: 'cut' },
42-
{ role: 'copy' },
43-
{ role: 'paste' },
44-
{ role: 'delete' },
45-
{ role: 'selectall' }
99+
{role: 'startspeaking'},
100+
{role: 'stopspeaking'}
46101
]
47102
}
48-
])
49-
)
103+
)
104+
105+
// Window menu
106+
template[3].submenu = [
107+
{role: 'close'},
108+
{role: 'minimize'},
109+
{role: 'zoom'},
110+
{type: 'separator'},
111+
{role: 'front'}
112+
]
113+
}
114+
115+
const menu = Menu.buildFromTemplate(template)
116+
Menu.setApplicationMenu(menu)
50117
}
51118

52119
app.on('ready', () => {
53120
createWindow()
54-
enableCopy()
121+
setMenu()
55122
})
56123

57124
app.on('window-all-closed', () => {

0 commit comments

Comments
 (0)