export function appLaunchHidden (allow) { return { id: 'startup-hidden', type: 'checkbox', label: 'Start &Hidden on Startup', allow: allow, click: $.setPref('launch-startup-hidden', $.key('checked')), parse: $.setLocal('checked', $.pref('launch-startup-hidden')) }; }
submenu: global.manifest.themes.map(theme => ({ type: 'radio', label: theme, theme: theme.toLowerCase(), click: $.all( $.themeCss($.key('theme'), css => $.sendToWebView('apply-theme', $.val(css))), $.setPref('theme', $.key('theme')) ), parse: $.all( $.setLocal('checked', $.eq($.pref('theme'), $.key('theme'))) ) }))
submenu: ['Stable', 'Beta', 'Dev'].map(channelName => ({ type: 'radio', label: channelName, channel: channelName.toLowerCase(), click: $.all( $.setPref('updates-channel', $.key('channel')), $.resetAutoUpdaterUrl(), $.cfuCheckForUpdate(false) ), parse: $.all( $.setLocal('checked', $.eq($.pref('updates-channel'), $.key('channel'))) ) }))
submenu: Object.keys(global.manifest.themes).map((themeId, index) => ({ type: 'radio', label: global.manifest.themes[themeId], theme: themeId, accelerator: index < 10 ? 'CmdOrCtrl+Alt+' + index : undefined, needsWindow: true, click: $.all( $.themeCss($.key('theme'), (css) => $.sendToWebView('apply-theme', $.val(css))), $.setPref('theme', $.key('theme')) ), parse: $.all( $.setLocal('checked', $.eq($.pref('theme'), $.key('theme'))) ) }))
export function appLaunchOnStartup (allow) { return { type: 'checkbox', label: '&Launch on Startup', allow: allow, click: $.all( $.launchOnStartup($.key('checked')), $.updateSibling('startup-hidden', 'enabled', $.key('checked')), $.setPref('launch-startup', $.key('checked')) ), parse: $.all( $.setLocal('checked', $.pref('launch-startup')), $.updateSibling('startup-hidden', 'enabled', $.key('checked')) ) }; }
$.updateMenuItem('tray', 'show-dock')($.key('checked'))((checked) => $.all( $.setLocal('checked', $.val(checked)), $.updateSibling('show-tray', 'enabled', $.val(checked)) )),
accelerator: 'Cmd+Alt+R', needsWindow: true, click: $.resetWindow() }, { type: 'separator' }, { type: 'checkbox', label: 'Float on Top', accelerator: 'Cmd+Alt+T', needsWindow: true, click: $.floatOnTop($.key('checked')) }, { type: 'checkbox', label: 'Close with Escape Key', click: $.setPref('close-with-esc', $.key('checked')), parse: $.setLocal('checked', $.pref('close-with-esc')) }, { type: 'checkbox', label: 'Open Links in Browser', click: $.setPref('links-in-browser', $.key('checked')), parse: $.setLocal('checked', $.pref('links-in-browser')) }, { type: 'checkbox', label: 'Notifications Badge in Dock', click: $.all( $.setPref('show-notifications-badge', $.key('checked')), $.hideDockBadge($.key('checked')) ), parse: $.all( $.setLocal('checked', $.pref('show-notifications-badge')) )
}, { id: 'cfu-update-downloaded', label: 'Restart and Install &Update', visible: false, click: $.cfuUpdateDownloaded() }, g.separator(), g.appUpdatesReleaseChannel(), { type: 'checkbox', label: 'Check for Update Automatically', click: $.all( $.checkForUpdateAuto($.key('checked')), $.setPref('updates-auto-check', $.key('checked')) ), parse: $.setLocal('checked', $.pref('updates-auto-check')) }, { type: 'checkbox', label: '&Report Stats and Crashes', click: $.setPref('analytics-track', $.key('checked')), parse: $.setLocal('checked', $.pref('analytics-track')) }, { type: 'separator', allow: allowAutoLaunch }, g.appLaunchOnStartup(allowAutoLaunch), g.appLaunchHidden(allowAutoLaunch), { type: 'separator' }, { label: '&Quit',
role: 'selectall' }, { type: 'separator', allow: platform.isDarwin }, { type: 'checkbox', label: 'Check &Spelling While Typing', accelerator: 'CmdOrCtrl+Alt+S', click: $.all( $.sendToWebView('spell-checker', $.key('checked'), $.pref('spell-checker-auto-correct'), $.pref('spell-checker-language')), $.updateSibling('spell-checker-auto-correct', 'enabled', $.key('checked')), $.updateSibling('spell-checker-language', 'enabled', $.key('checked')), $.setPref('spell-checker-check', $.key('checked')) ), parse: $.all( $.setLocal('checked', $.pref('spell-checker-check')) ) }, { id: 'spell-checker-auto-correct', type: 'checkbox', label: '&Auto Correct Spelling Mistakes', allow: false, click: $.all( $.sendToWebView('spell-checker', $.pref('spell-checker-check'), $.key('checked'), $.pref('spell-checker-language')), $.setPref('spell-checker-auto-correct', $.key('checked')) ), parse: $.all( $.setLocal('enabled', $.pref('spell-checker-check')), $.setLocal('checked', $.pref('spell-checker-auto-correct')) ) }, {
import $ from 'browser/menus/expressions'; export default { label: 'Privacy', submenu: [{ type: 'checkbox', label: '&Report App Stats and Crashes', click: $.setPref('analytics-track', $.key('checked')), parse: $.setLocal('checked', $.pref('analytics-track')) }, { id: 'block-seen-typing', type: 'checkbox', label: '&Block Seen and Typing Indicators', click: $.all( $.setPref('block-seen-typing', $.key('checked')), $.blockSeenTyping($.key('checked')) ), parse: $.all( $.setLocal('checked', $.pref('block-seen-typing')) ) }] };
}, { id: 'show-tray', type: 'checkbox', label: 'Show in Menu Bar', allow: platform.isDarwin, click: $.all( $.showInTray($.key('checked')), $.updateSibling('show-dock', 'enabled', $.key('checked')), $.updateMenuItem('main', 'show-tray')($.key('checked'))((checked) => $.all( $.setLocal('checked', $.val(checked)), $.updateSibling('show-dock', 'enabled', $.val(checked)) )), $.setPref('show-tray', $.key('checked')) ), parse: $.all( $.setLocal('checked', $.pref('show-tray')), $.setLocal('enabled', $.pref('show-dock')) ) }, { id: 'show-dock', type: 'checkbox', label: 'Show in Dock', allow: platform.isDarwin, click: $.all( $.showInDock($.key('checked')), $.updateSibling('show-tray', 'enabled', $.key('checked')), $.updateMenuItem('main', 'show-dock')($.key('checked'))((checked) => $.all( $.setLocal('checked', $.val(checked)), $.updateSibling('show-tray', 'enabled', $.val(checked)) )), $.setPref('show-dock', $.key('checked'))