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')) ) }; }
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: availableLanguages.map(lang => ({ type: 'radio', label: lang.name, langCode: lang.code, checked: spellCheckerLanguage === lang.code, click: $.all( $.ifTrue( $.pref('spell-checker-check'), $.sendToWebView('spell-checker', $.pref('spell-checker-check'), $.pref('spell-checker-auto-correct'), $.key('langCode')) ), $.setPref('spell-checker-language', $.key('langCode')) ) }))
accelerator: 'Cmd+R', needsWindow: true, click: $.reloadWindow() }, { label: 'Reset', 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')),
allow: !platform.isLinux && !global.options.portable, enabled: false, visible: false }, { 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), {
import platform from 'common/utils/platform'; import $ from 'browser/menus/expressions'; export default [{ label: 'Reset Window', click: $.resetWindow() }, { type: 'separator' }, { id: 'show-tray', type: 'checkbox', label: 'Show in Menu Bar', allow: platform.isDarwin, checked: true, 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')) ) }, { id: 'show-dock', type: 'checkbox', label: 'Show in Dock', allow: platform.isDarwin, checked: true, click: $.all( $.showInDock($.key('checked')),
accelerator: 'Cmd+V', role: 'paste' }, { label: 'Select All', allow: platform.isDarwin, accelerator: 'Cmd+A', 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'))
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')) ) }] };