aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorLibravatar Vijay A <avijayr@protonmail.com>2021-09-13 11:44:22 +0530
committerLibravatar Vijay A <avijayr@protonmail.com>2021-09-13 11:50:17 +0530
commitaf56a07359400e53cb3096e321bf6ee1bae12068 (patch)
tree10aeed9aa2650d45c81cff9930ad36b7cac86c3b /src
parentBetter implementation of confirmation while quitting Ferdi (#1919) (diff)
downloadferdium-app-af56a07359400e53cb3096e321bf6ee1bae12068.tar.gz
ferdium-app-af56a07359400e53cb3096e321bf6ee1bae12068.tar.zst
ferdium-app-af56a07359400e53cb3096e321bf6ee1bae12068.zip
refactor: reuse method from the core electron framework for the 'About' dialog.
Diffstat (limited to 'src')
-rw-r--r--src/environment.js16
-rw-r--r--src/i18n/locales/defaultMessages.json280
-rw-r--r--src/i18n/messages/src/lib/Menu.json280
-rw-r--r--src/index.js19
-rw-r--r--src/lib/Menu.js10
5 files changed, 299 insertions, 306 deletions
diff --git a/src/environment.js b/src/environment.js
index b30e3778d..9d7ffaf78 100644
--- a/src/environment.js
+++ b/src/environment.js
@@ -5,7 +5,6 @@ import { is, api as electronApi } from 'electron-util';
5 5
6import { DEFAULT_ACCENT_COLOR } from '@meetfranz/theme'; 6import { DEFAULT_ACCENT_COLOR } from '@meetfranz/theme';
7 7
8import osName from 'os-name';
9import { 8import {
10 LIVE_FERDI_API, 9 LIVE_FERDI_API,
11 DEV_FRANZ_API, 10 DEV_FRANZ_API,
@@ -24,7 +23,6 @@ import {
24} from './config'; 23} from './config';
25 24
26import { asarPath } from './helpers/asar-helpers'; 25import { asarPath } from './helpers/asar-helpers';
27import * as buildInfo from './buildInfo.json'; // eslint-disable-line import/no-unresolved
28 26
29export const { app } = electronApi; 27export const { app } = electronApi;
30export const ferdiVersion = app.getVersion(); 28export const ferdiVersion = app.getVersion();
@@ -173,17 +171,3 @@ export const DEFAULT_APP_SETTINGS = {
173 alwaysShowWorkspaces: false, 171 alwaysShowWorkspaces: false,
174 liftSingleInstanceLock: false, 172 liftSingleInstanceLock: false,
175}; 173};
176
177export function aboutAppDetails() {
178 return [
179 `Version: ${ferdiVersion}`,
180 `Electron: ${electronVersion}`,
181 `Chrome: ${chromeVersion}`,
182 `Node.js: ${nodeVersion}`,
183 `Platform: ${osName()}`,
184 `Arch: ${process.arch}`,
185 `Build date: ${new Date(Number(buildInfo.timestamp))}`,
186 `Git SHA: ${buildInfo.gitHashShort}`,
187 `Git branch: ${buildInfo.gitBranch}`,
188 ].join('\n');
189}
diff --git a/src/i18n/locales/defaultMessages.json b/src/i18n/locales/defaultMessages.json
index 7624168ba..3a41c66f6 100644
--- a/src/i18n/locales/defaultMessages.json
+++ b/src/i18n/locales/defaultMessages.json
@@ -5950,910 +5950,910 @@
5950 "defaultMessage": "!!!Edit", 5950 "defaultMessage": "!!!Edit",
5951 "end": { 5951 "end": {
5952 "column": 3, 5952 "column": 3,
5953 "line": 36 5953 "line": 35
5954 }, 5954 },
5955 "file": "src/lib/Menu.js", 5955 "file": "src/lib/Menu.js",
5956 "id": "menu.edit", 5956 "id": "menu.edit",
5957 "start": { 5957 "start": {
5958 "column": 8, 5958 "column": 8,
5959 "line": 33 5959 "line": 32
5960 } 5960 }
5961 }, 5961 },
5962 { 5962 {
5963 "defaultMessage": "!!!Undo", 5963 "defaultMessage": "!!!Undo",
5964 "end": { 5964 "end": {
5965 "column": 3, 5965 "column": 3,
5966 "line": 40 5966 "line": 39
5967 }, 5967 },
5968 "file": "src/lib/Menu.js", 5968 "file": "src/lib/Menu.js",
5969 "id": "menu.edit.undo", 5969 "id": "menu.edit.undo",
5970 "start": { 5970 "start": {
5971 "column": 8, 5971 "column": 8,
5972 "line": 37 5972 "line": 36
5973 } 5973 }
5974 }, 5974 },
5975 { 5975 {
5976 "defaultMessage": "!!!Redo", 5976 "defaultMessage": "!!!Redo",
5977 "end": { 5977 "end": {
5978 "column": 3, 5978 "column": 3,
5979 "line": 44 5979 "line": 43
5980 }, 5980 },
5981 "file": "src/lib/Menu.js", 5981 "file": "src/lib/Menu.js",
5982 "id": "menu.edit.redo", 5982 "id": "menu.edit.redo",
5983 "start": { 5983 "start": {
5984 "column": 8, 5984 "column": 8,
5985 "line": 41 5985 "line": 40
5986 } 5986 }
5987 }, 5987 },
5988 { 5988 {
5989 "defaultMessage": "!!!Cut", 5989 "defaultMessage": "!!!Cut",
5990 "end": { 5990 "end": {
5991 "column": 3, 5991 "column": 3,
5992 "line": 48 5992 "line": 47
5993 }, 5993 },
5994 "file": "src/lib/Menu.js", 5994 "file": "src/lib/Menu.js",
5995 "id": "menu.edit.cut", 5995 "id": "menu.edit.cut",
5996 "start": { 5996 "start": {
5997 "column": 7, 5997 "column": 7,
5998 "line": 45 5998 "line": 44
5999 } 5999 }
6000 }, 6000 },
6001 { 6001 {
6002 "defaultMessage": "!!!Copy", 6002 "defaultMessage": "!!!Copy",
6003 "end": { 6003 "end": {
6004 "column": 3, 6004 "column": 3,
6005 "line": 52 6005 "line": 51
6006 }, 6006 },
6007 "file": "src/lib/Menu.js", 6007 "file": "src/lib/Menu.js",
6008 "id": "menu.edit.copy", 6008 "id": "menu.edit.copy",
6009 "start": { 6009 "start": {
6010 "column": 8, 6010 "column": 8,
6011 "line": 49 6011 "line": 48
6012 } 6012 }
6013 }, 6013 },
6014 { 6014 {
6015 "defaultMessage": "!!!Paste", 6015 "defaultMessage": "!!!Paste",
6016 "end": { 6016 "end": {
6017 "column": 3, 6017 "column": 3,
6018 "line": 56 6018 "line": 55
6019 }, 6019 },
6020 "file": "src/lib/Menu.js", 6020 "file": "src/lib/Menu.js",
6021 "id": "menu.edit.paste", 6021 "id": "menu.edit.paste",
6022 "start": { 6022 "start": {
6023 "column": 9, 6023 "column": 9,
6024 "line": 53 6024 "line": 52
6025 } 6025 }
6026 }, 6026 },
6027 { 6027 {
6028 "defaultMessage": "!!!Paste And Match Style", 6028 "defaultMessage": "!!!Paste And Match Style",
6029 "end": { 6029 "end": {
6030 "column": 3, 6030 "column": 3,
6031 "line": 60 6031 "line": 59
6032 }, 6032 },
6033 "file": "src/lib/Menu.js", 6033 "file": "src/lib/Menu.js",
6034 "id": "menu.edit.pasteAndMatchStyle", 6034 "id": "menu.edit.pasteAndMatchStyle",
6035 "start": { 6035 "start": {
6036 "column": 22, 6036 "column": 22,
6037 "line": 57 6037 "line": 56
6038 } 6038 }
6039 }, 6039 },
6040 { 6040 {
6041 "defaultMessage": "!!!Delete", 6041 "defaultMessage": "!!!Delete",
6042 "end": { 6042 "end": {
6043 "column": 3, 6043 "column": 3,
6044 "line": 64 6044 "line": 63
6045 }, 6045 },
6046 "file": "src/lib/Menu.js", 6046 "file": "src/lib/Menu.js",
6047 "id": "menu.edit.delete", 6047 "id": "menu.edit.delete",
6048 "start": { 6048 "start": {
6049 "column": 10, 6049 "column": 10,
6050 "line": 61 6050 "line": 60
6051 } 6051 }
6052 }, 6052 },
6053 { 6053 {
6054 "defaultMessage": "!!!Select All", 6054 "defaultMessage": "!!!Select All",
6055 "end": { 6055 "end": {
6056 "column": 3, 6056 "column": 3,
6057 "line": 68 6057 "line": 67
6058 }, 6058 },
6059 "file": "src/lib/Menu.js", 6059 "file": "src/lib/Menu.js",
6060 "id": "menu.edit.selectAll", 6060 "id": "menu.edit.selectAll",
6061 "start": { 6061 "start": {
6062 "column": 13, 6062 "column": 13,
6063 "line": 65 6063 "line": 64
6064 } 6064 }
6065 }, 6065 },
6066 { 6066 {
6067 "defaultMessage": "!!!Find in Page", 6067 "defaultMessage": "!!!Find in Page",
6068 "end": { 6068 "end": {
6069 "column": 3, 6069 "column": 3,
6070 "line": 72 6070 "line": 71
6071 }, 6071 },
6072 "file": "src/lib/Menu.js", 6072 "file": "src/lib/Menu.js",
6073 "id": "menu.edit.findInPage", 6073 "id": "menu.edit.findInPage",
6074 "start": { 6074 "start": {
6075 "column": 14, 6075 "column": 14,
6076 "line": 69 6076 "line": 68
6077 } 6077 }
6078 }, 6078 },
6079 { 6079 {
6080 "defaultMessage": "!!!Speech", 6080 "defaultMessage": "!!!Speech",
6081 "end": { 6081 "end": {
6082 "column": 3, 6082 "column": 3,
6083 "line": 76 6083 "line": 75
6084 }, 6084 },
6085 "file": "src/lib/Menu.js", 6085 "file": "src/lib/Menu.js",
6086 "id": "menu.edit.speech", 6086 "id": "menu.edit.speech",
6087 "start": { 6087 "start": {
6088 "column": 10, 6088 "column": 10,
6089 "line": 73 6089 "line": 72
6090 } 6090 }
6091 }, 6091 },
6092 { 6092 {
6093 "defaultMessage": "!!!Start Speaking", 6093 "defaultMessage": "!!!Start Speaking",
6094 "end": { 6094 "end": {
6095 "column": 3, 6095 "column": 3,
6096 "line": 80 6096 "line": 79
6097 }, 6097 },
6098 "file": "src/lib/Menu.js", 6098 "file": "src/lib/Menu.js",
6099 "id": "menu.edit.startSpeaking", 6099 "id": "menu.edit.startSpeaking",
6100 "start": { 6100 "start": {
6101 "column": 17, 6101 "column": 17,
6102 "line": 77 6102 "line": 76
6103 } 6103 }
6104 }, 6104 },
6105 { 6105 {
6106 "defaultMessage": "!!!Stop Speaking", 6106 "defaultMessage": "!!!Stop Speaking",
6107 "end": { 6107 "end": {
6108 "column": 3, 6108 "column": 3,
6109 "line": 84 6109 "line": 83
6110 }, 6110 },
6111 "file": "src/lib/Menu.js", 6111 "file": "src/lib/Menu.js",
6112 "id": "menu.edit.stopSpeaking", 6112 "id": "menu.edit.stopSpeaking",
6113 "start": { 6113 "start": {
6114 "column": 16, 6114 "column": 16,
6115 "line": 81 6115 "line": 80
6116 } 6116 }
6117 }, 6117 },
6118 { 6118 {
6119 "defaultMessage": "!!!Start Dictation", 6119 "defaultMessage": "!!!Start Dictation",
6120 "end": { 6120 "end": {
6121 "column": 3, 6121 "column": 3,
6122 "line": 88 6122 "line": 87
6123 }, 6123 },
6124 "file": "src/lib/Menu.js", 6124 "file": "src/lib/Menu.js",
6125 "id": "menu.edit.startDictation", 6125 "id": "menu.edit.startDictation",
6126 "start": { 6126 "start": {
6127 "column": 18, 6127 "column": 18,
6128 "line": 85 6128 "line": 84
6129 } 6129 }
6130 }, 6130 },
6131 { 6131 {
6132 "defaultMessage": "!!!Emoji & Symbols", 6132 "defaultMessage": "!!!Emoji & Symbols",
6133 "end": { 6133 "end": {
6134 "column": 3, 6134 "column": 3,
6135 "line": 92 6135 "line": 91
6136 }, 6136 },
6137 "file": "src/lib/Menu.js", 6137 "file": "src/lib/Menu.js",
6138 "id": "menu.edit.emojiSymbols", 6138 "id": "menu.edit.emojiSymbols",
6139 "start": { 6139 "start": {
6140 "column": 16, 6140 "column": 16,
6141 "line": 89 6141 "line": 88
6142 } 6142 }
6143 }, 6143 },
6144 { 6144 {
6145 "defaultMessage": "!!!Open Quick Switch", 6145 "defaultMessage": "!!!Open Quick Switch",
6146 "end": { 6146 "end": {
6147 "column": 3, 6147 "column": 3,
6148 "line": 96 6148 "line": 95
6149 }, 6149 },
6150 "file": "src/lib/Menu.js", 6150 "file": "src/lib/Menu.js",
6151 "id": "menu.view.openQuickSwitch", 6151 "id": "menu.view.openQuickSwitch",
6152 "start": { 6152 "start": {
6153 "column": 19, 6153 "column": 19,
6154 "line": 93 6154 "line": 92
6155 } 6155 }
6156 }, 6156 },
6157 { 6157 {
6158 "defaultMessage": "!!!Back", 6158 "defaultMessage": "!!!Back",
6159 "end": { 6159 "end": {
6160 "column": 3, 6160 "column": 3,
6161 "line": 100 6161 "line": 99
6162 }, 6162 },
6163 "file": "src/lib/Menu.js", 6163 "file": "src/lib/Menu.js",
6164 "id": "menu.view.back", 6164 "id": "menu.view.back",
6165 "start": { 6165 "start": {
6166 "column": 8, 6166 "column": 8,
6167 "line": 97 6167 "line": 96
6168 } 6168 }
6169 }, 6169 },
6170 { 6170 {
6171 "defaultMessage": "!!!Forward", 6171 "defaultMessage": "!!!Forward",
6172 "end": { 6172 "end": {
6173 "column": 3, 6173 "column": 3,
6174 "line": 104 6174 "line": 103
6175 }, 6175 },
6176 "file": "src/lib/Menu.js", 6176 "file": "src/lib/Menu.js",
6177 "id": "menu.view.forward", 6177 "id": "menu.view.forward",
6178 "start": { 6178 "start": {
6179 "column": 11, 6179 "column": 11,
6180 "line": 101 6180 "line": 100
6181 } 6181 }
6182 }, 6182 },
6183 { 6183 {
6184 "defaultMessage": "!!!Actual Size", 6184 "defaultMessage": "!!!Actual Size",
6185 "end": { 6185 "end": {
6186 "column": 3, 6186 "column": 3,
6187 "line": 108 6187 "line": 107
6188 }, 6188 },
6189 "file": "src/lib/Menu.js", 6189 "file": "src/lib/Menu.js",
6190 "id": "menu.view.resetZoom", 6190 "id": "menu.view.resetZoom",
6191 "start": { 6191 "start": {
6192 "column": 13, 6192 "column": 13,
6193 "line": 105 6193 "line": 104
6194 } 6194 }
6195 }, 6195 },
6196 { 6196 {
6197 "defaultMessage": "!!!Zoom In", 6197 "defaultMessage": "!!!Zoom In",
6198 "end": { 6198 "end": {
6199 "column": 3, 6199 "column": 3,
6200 "line": 112 6200 "line": 111
6201 }, 6201 },
6202 "file": "src/lib/Menu.js", 6202 "file": "src/lib/Menu.js",
6203 "id": "menu.view.zoomIn", 6203 "id": "menu.view.zoomIn",
6204 "start": { 6204 "start": {
6205 "column": 10, 6205 "column": 10,
6206 "line": 109 6206 "line": 108
6207 } 6207 }
6208 }, 6208 },
6209 { 6209 {
6210 "defaultMessage": "!!!Zoom Out", 6210 "defaultMessage": "!!!Zoom Out",
6211 "end": { 6211 "end": {
6212 "column": 3, 6212 "column": 3,
6213 "line": 116 6213 "line": 115
6214 }, 6214 },
6215 "file": "src/lib/Menu.js", 6215 "file": "src/lib/Menu.js",
6216 "id": "menu.view.zoomOut", 6216 "id": "menu.view.zoomOut",
6217 "start": { 6217 "start": {
6218 "column": 11, 6218 "column": 11,
6219 "line": 113 6219 "line": 112
6220 } 6220 }
6221 }, 6221 },
6222 { 6222 {
6223 "defaultMessage": "!!!Toggle Full Screen", 6223 "defaultMessage": "!!!Toggle Full Screen",
6224 "end": { 6224 "end": {
6225 "column": 3, 6225 "column": 3,
6226 "line": 120 6226 "line": 119
6227 }, 6227 },
6228 "file": "src/lib/Menu.js", 6228 "file": "src/lib/Menu.js",
6229 "id": "menu.view.toggleFullScreen", 6229 "id": "menu.view.toggleFullScreen",
6230 "start": { 6230 "start": {
6231 "column": 20, 6231 "column": 20,
6232 "line": 117 6232 "line": 116
6233 } 6233 }
6234 }, 6234 },
6235 { 6235 {
6236 "defaultMessage": "!!!Toggle Dark Mode", 6236 "defaultMessage": "!!!Toggle Dark Mode",
6237 "end": { 6237 "end": {
6238 "column": 3, 6238 "column": 3,
6239 "line": 124 6239 "line": 123
6240 }, 6240 },
6241 "file": "src/lib/Menu.js", 6241 "file": "src/lib/Menu.js",
6242 "id": "menu.view.toggleDarkMode", 6242 "id": "menu.view.toggleDarkMode",
6243 "start": { 6243 "start": {
6244 "column": 18, 6244 "column": 18,
6245 "line": 121 6245 "line": 120
6246 } 6246 }
6247 }, 6247 },
6248 { 6248 {
6249 "defaultMessage": "!!!Toggle Developer Tools", 6249 "defaultMessage": "!!!Toggle Developer Tools",
6250 "end": { 6250 "end": {
6251 "column": 3, 6251 "column": 3,
6252 "line": 128 6252 "line": 127
6253 }, 6253 },
6254 "file": "src/lib/Menu.js", 6254 "file": "src/lib/Menu.js",
6255 "id": "menu.view.toggleDevTools", 6255 "id": "menu.view.toggleDevTools",
6256 "start": { 6256 "start": {
6257 "column": 18, 6257 "column": 18,
6258 "line": 125 6258 "line": 124
6259 } 6259 }
6260 }, 6260 },
6261 { 6261 {
6262 "defaultMessage": "!!!Toggle Todos Developer Tools", 6262 "defaultMessage": "!!!Toggle Todos Developer Tools",
6263 "end": { 6263 "end": {
6264 "column": 3, 6264 "column": 3,
6265 "line": 132 6265 "line": 131
6266 }, 6266 },
6267 "file": "src/lib/Menu.js", 6267 "file": "src/lib/Menu.js",
6268 "id": "menu.view.toggleTodosDevTools", 6268 "id": "menu.view.toggleTodosDevTools",
6269 "start": { 6269 "start": {
6270 "column": 23, 6270 "column": 23,
6271 "line": 129 6271 "line": 128
6272 } 6272 }
6273 }, 6273 },
6274 { 6274 {
6275 "defaultMessage": "!!!Toggle Service Developer Tools", 6275 "defaultMessage": "!!!Toggle Service Developer Tools",
6276 "end": { 6276 "end": {
6277 "column": 3, 6277 "column": 3,
6278 "line": 136 6278 "line": 135
6279 }, 6279 },
6280 "file": "src/lib/Menu.js", 6280 "file": "src/lib/Menu.js",
6281 "id": "menu.view.toggleServiceDevTools", 6281 "id": "menu.view.toggleServiceDevTools",
6282 "start": { 6282 "start": {
6283 "column": 25, 6283 "column": 25,
6284 "line": 133 6284 "line": 132
6285 } 6285 }
6286 }, 6286 },
6287 { 6287 {
6288 "defaultMessage": "!!!Reload Service", 6288 "defaultMessage": "!!!Reload Service",
6289 "end": { 6289 "end": {
6290 "column": 3, 6290 "column": 3,
6291 "line": 140 6291 "line": 139
6292 }, 6292 },
6293 "file": "src/lib/Menu.js", 6293 "file": "src/lib/Menu.js",
6294 "id": "menu.view.reloadService", 6294 "id": "menu.view.reloadService",
6295 "start": { 6295 "start": {
6296 "column": 17, 6296 "column": 17,
6297 "line": 137 6297 "line": 136
6298 } 6298 }
6299 }, 6299 },
6300 { 6300 {
6301 "defaultMessage": "!!!Reload Ferdi", 6301 "defaultMessage": "!!!Reload Ferdi",
6302 "end": { 6302 "end": {
6303 "column": 3, 6303 "column": 3,
6304 "line": 144 6304 "line": 143
6305 }, 6305 },
6306 "file": "src/lib/Menu.js", 6306 "file": "src/lib/Menu.js",
6307 "id": "menu.view.reloadFerdi", 6307 "id": "menu.view.reloadFerdi",
6308 "start": { 6308 "start": {
6309 "column": 15, 6309 "column": 15,
6310 "line": 141 6310 "line": 140
6311 } 6311 }
6312 }, 6312 },
6313 { 6313 {
6314 "defaultMessage": "!!!Lock Ferdi", 6314 "defaultMessage": "!!!Lock Ferdi",
6315 "end": { 6315 "end": {
6316 "column": 3, 6316 "column": 3,
6317 "line": 148 6317 "line": 147
6318 }, 6318 },
6319 "file": "src/lib/Menu.js", 6319 "file": "src/lib/Menu.js",
6320 "id": "menu.view.lockFerdi", 6320 "id": "menu.view.lockFerdi",
6321 "start": { 6321 "start": {
6322 "column": 13, 6322 "column": 13,
6323 "line": 145 6323 "line": 144
6324 } 6324 }
6325 }, 6325 },
6326 { 6326 {
6327 "defaultMessage": "!!!Reload ToDos", 6327 "defaultMessage": "!!!Reload ToDos",
6328 "end": { 6328 "end": {
6329 "column": 3, 6329 "column": 3,
6330 "line": 152 6330 "line": 151
6331 }, 6331 },
6332 "file": "src/lib/Menu.js", 6332 "file": "src/lib/Menu.js",
6333 "id": "menu.view.reloadTodos", 6333 "id": "menu.view.reloadTodos",
6334 "start": { 6334 "start": {
6335 "column": 15, 6335 "column": 15,
6336 "line": 149 6336 "line": 148
6337 } 6337 }
6338 }, 6338 },
6339 { 6339 {
6340 "defaultMessage": "!!!Minimize", 6340 "defaultMessage": "!!!Minimize",
6341 "end": { 6341 "end": {
6342 "column": 3, 6342 "column": 3,
6343 "line": 156 6343 "line": 155
6344 }, 6344 },
6345 "file": "src/lib/Menu.js", 6345 "file": "src/lib/Menu.js",
6346 "id": "menu.window.minimize", 6346 "id": "menu.window.minimize",
6347 "start": { 6347 "start": {
6348 "column": 12, 6348 "column": 12,
6349 "line": 153 6349 "line": 152
6350 } 6350 }
6351 }, 6351 },
6352 { 6352 {
6353 "defaultMessage": "!!!Close", 6353 "defaultMessage": "!!!Close",
6354 "end": { 6354 "end": {
6355 "column": 3, 6355 "column": 3,
6356 "line": 160 6356 "line": 159
6357 }, 6357 },
6358 "file": "src/lib/Menu.js", 6358 "file": "src/lib/Menu.js",
6359 "id": "menu.window.close", 6359 "id": "menu.window.close",
6360 "start": { 6360 "start": {
6361 "column": 9, 6361 "column": 9,
6362 "line": 157 6362 "line": 156
6363 } 6363 }
6364 }, 6364 },
6365 { 6365 {
6366 "defaultMessage": "!!!Learn More", 6366 "defaultMessage": "!!!Learn More",
6367 "end": { 6367 "end": {
6368 "column": 3, 6368 "column": 3,
6369 "line": 164 6369 "line": 163
6370 }, 6370 },
6371 "file": "src/lib/Menu.js", 6371 "file": "src/lib/Menu.js",
6372 "id": "menu.help.learnMore", 6372 "id": "menu.help.learnMore",
6373 "start": { 6373 "start": {
6374 "column": 13, 6374 "column": 13,
6375 "line": 161 6375 "line": 160
6376 } 6376 }
6377 }, 6377 },
6378 { 6378 {
6379 "defaultMessage": "!!!Changelog", 6379 "defaultMessage": "!!!Changelog",
6380 "end": { 6380 "end": {
6381 "column": 3, 6381 "column": 3,
6382 "line": 168 6382 "line": 167
6383 }, 6383 },
6384 "file": "src/lib/Menu.js", 6384 "file": "src/lib/Menu.js",
6385 "id": "menu.help.changelog", 6385 "id": "menu.help.changelog",
6386 "start": { 6386 "start": {
6387 "column": 13, 6387 "column": 13,
6388 "line": 165 6388 "line": 164
6389 } 6389 }
6390 }, 6390 },
6391 { 6391 {
6392 "defaultMessage": "!!!Import/Export Configuration Data", 6392 "defaultMessage": "!!!Import/Export Configuration Data",
6393 "end": { 6393 "end": {
6394 "column": 3, 6394 "column": 3,
6395 "line": 172 6395 "line": 171
6396 }, 6396 },
6397 "file": "src/lib/Menu.js", 6397 "file": "src/lib/Menu.js",
6398 "id": "menu.help.importExportData", 6398 "id": "menu.help.importExportData",
6399 "start": { 6399 "start": {
6400 "column": 20, 6400 "column": 20,
6401 "line": 169 6401 "line": 168
6402 } 6402 }
6403 }, 6403 },
6404 { 6404 {
6405 "defaultMessage": "!!!Support", 6405 "defaultMessage": "!!!Support",
6406 "end": { 6406 "end": {
6407 "column": 3, 6407 "column": 3,
6408 "line": 176 6408 "line": 175
6409 }, 6409 },
6410 "file": "src/lib/Menu.js", 6410 "file": "src/lib/Menu.js",
6411 "id": "menu.help.support", 6411 "id": "menu.help.support",
6412 "start": { 6412 "start": {
6413 "column": 11, 6413 "column": 11,
6414 "line": 173 6414 "line": 172
6415 } 6415 }
6416 }, 6416 },
6417 { 6417 {
6418 "defaultMessage": "!!!Copy Debug Information", 6418 "defaultMessage": "!!!Copy Debug Information",
6419 "end": { 6419 "end": {
6420 "column": 3, 6420 "column": 3,
6421 "line": 180 6421 "line": 179
6422 }, 6422 },
6423 "file": "src/lib/Menu.js", 6423 "file": "src/lib/Menu.js",
6424 "id": "menu.help.debugInfo", 6424 "id": "menu.help.debugInfo",
6425 "start": { 6425 "start": {
6426 "column": 13, 6426 "column": 13,
6427 "line": 177 6427 "line": 176
6428 } 6428 }
6429 }, 6429 },
6430 { 6430 {
6431 "defaultMessage": "!!!Publish Debug Information", 6431 "defaultMessage": "!!!Publish Debug Information",
6432 "end": { 6432 "end": {
6433 "column": 3, 6433 "column": 3,
6434 "line": 184 6434 "line": 183
6435 }, 6435 },
6436 "file": "src/lib/Menu.js", 6436 "file": "src/lib/Menu.js",
6437 "id": "menu.help.publishDebugInfo", 6437 "id": "menu.help.publishDebugInfo",
6438 "start": { 6438 "start": {
6439 "column": 20, 6439 "column": 20,
6440 "line": 181 6440 "line": 180
6441 } 6441 }
6442 }, 6442 },
6443 { 6443 {
6444 "defaultMessage": "!!!Ferdi Debug Information", 6444 "defaultMessage": "!!!Ferdi Debug Information",
6445 "end": { 6445 "end": {
6446 "column": 3, 6446 "column": 3,
6447 "line": 188 6447 "line": 187
6448 }, 6448 },
6449 "file": "src/lib/Menu.js", 6449 "file": "src/lib/Menu.js",
6450 "id": "menu.help.debugInfoCopiedHeadline", 6450 "id": "menu.help.debugInfoCopiedHeadline",
6451 "start": { 6451 "start": {
6452 "column": 27, 6452 "column": 27,
6453 "line": 185 6453 "line": 184
6454 } 6454 }
6455 }, 6455 },
6456 { 6456 {
6457 "defaultMessage": "!!!Your Debug Information has been copied to your clipboard.", 6457 "defaultMessage": "!!!Your Debug Information has been copied to your clipboard.",
6458 "end": { 6458 "end": {
6459 "column": 3, 6459 "column": 3,
6460 "line": 193 6460 "line": 192
6461 }, 6461 },
6462 "file": "src/lib/Menu.js", 6462 "file": "src/lib/Menu.js",
6463 "id": "menu.help.debugInfoCopiedBody", 6463 "id": "menu.help.debugInfoCopiedBody",
6464 "start": { 6464 "start": {
6465 "column": 23, 6465 "column": 23,
6466 "line": 189 6466 "line": 188
6467 } 6467 }
6468 }, 6468 },
6469 { 6469 {
6470 "defaultMessage": "!!!Unlock with Touch ID", 6470 "defaultMessage": "!!!Unlock with Touch ID",
6471 "end": { 6471 "end": {
6472 "column": 3, 6472 "column": 3,
6473 "line": 197 6473 "line": 196
6474 }, 6474 },
6475 "file": "src/lib/Menu.js", 6475 "file": "src/lib/Menu.js",
6476 "id": "locked.touchId", 6476 "id": "locked.touchId",
6477 "start": { 6477 "start": {
6478 "column": 11, 6478 "column": 11,
6479 "line": 194 6479 "line": 193
6480 } 6480 }
6481 }, 6481 },
6482 { 6482 {
6483 "defaultMessage": "!!!unlock via Touch ID", 6483 "defaultMessage": "!!!unlock via Touch ID",
6484 "end": { 6484 "end": {
6485 "column": 3, 6485 "column": 3,
6486 "line": 201 6486 "line": 200
6487 }, 6487 },
6488 "file": "src/lib/Menu.js", 6488 "file": "src/lib/Menu.js",
6489 "id": "locked.touchIdPrompt", 6489 "id": "locked.touchIdPrompt",
6490 "start": { 6490 "start": {
6491 "column": 17, 6491 "column": 17,
6492 "line": 198 6492 "line": 197
6493 } 6493 }
6494 }, 6494 },
6495 { 6495 {
6496 "defaultMessage": "!!!Terms of Service", 6496 "defaultMessage": "!!!Terms of Service",
6497 "end": { 6497 "end": {
6498 "column": 3, 6498 "column": 3,
6499 "line": 205 6499 "line": 204
6500 }, 6500 },
6501 "file": "src/lib/Menu.js", 6501 "file": "src/lib/Menu.js",
6502 "id": "menu.help.tos", 6502 "id": "menu.help.tos",
6503 "start": { 6503 "start": {
6504 "column": 7, 6504 "column": 7,
6505 "line": 202 6505 "line": 201
6506 } 6506 }
6507 }, 6507 },
6508 { 6508 {
6509 "defaultMessage": "!!!Privacy Statement", 6509 "defaultMessage": "!!!Privacy Statement",
6510 "end": { 6510 "end": {
6511 "column": 3, 6511 "column": 3,
6512 "line": 209 6512 "line": 208
6513 }, 6513 },
6514 "file": "src/lib/Menu.js", 6514 "file": "src/lib/Menu.js",
6515 "id": "menu.help.privacy", 6515 "id": "menu.help.privacy",
6516 "start": { 6516 "start": {
6517 "column": 11, 6517 "column": 11,
6518 "line": 206 6518 "line": 205
6519 } 6519 }
6520 }, 6520 },
6521 { 6521 {
6522 "defaultMessage": "!!!File", 6522 "defaultMessage": "!!!File",
6523 "end": { 6523 "end": {
6524 "column": 3, 6524 "column": 3,
6525 "line": 213 6525 "line": 212
6526 }, 6526 },
6527 "file": "src/lib/Menu.js", 6527 "file": "src/lib/Menu.js",
6528 "id": "menu.file", 6528 "id": "menu.file",
6529 "start": { 6529 "start": {
6530 "column": 8, 6530 "column": 8,
6531 "line": 210 6531 "line": 209
6532 } 6532 }
6533 }, 6533 },
6534 { 6534 {
6535 "defaultMessage": "!!!View", 6535 "defaultMessage": "!!!View",
6536 "end": { 6536 "end": {
6537 "column": 3, 6537 "column": 3,
6538 "line": 217 6538 "line": 216
6539 }, 6539 },
6540 "file": "src/lib/Menu.js", 6540 "file": "src/lib/Menu.js",
6541 "id": "menu.view", 6541 "id": "menu.view",
6542 "start": { 6542 "start": {
6543 "column": 8, 6543 "column": 8,
6544 "line": 214 6544 "line": 213
6545 } 6545 }
6546 }, 6546 },
6547 { 6547 {
6548 "defaultMessage": "!!!Services", 6548 "defaultMessage": "!!!Services",
6549 "end": { 6549 "end": {
6550 "column": 3, 6550 "column": 3,
6551 "line": 221 6551 "line": 220
6552 }, 6552 },
6553 "file": "src/lib/Menu.js", 6553 "file": "src/lib/Menu.js",
6554 "id": "menu.services", 6554 "id": "menu.services",
6555 "start": { 6555 "start": {
6556 "column": 12, 6556 "column": 12,
6557 "line": 218 6557 "line": 217
6558 } 6558 }
6559 }, 6559 },
6560 { 6560 {
6561 "defaultMessage": "!!!Window", 6561 "defaultMessage": "!!!Window",
6562 "end": { 6562 "end": {
6563 "column": 3, 6563 "column": 3,
6564 "line": 225 6564 "line": 224
6565 }, 6565 },
6566 "file": "src/lib/Menu.js", 6566 "file": "src/lib/Menu.js",
6567 "id": "menu.window", 6567 "id": "menu.window",
6568 "start": { 6568 "start": {
6569 "column": 10, 6569 "column": 10,
6570 "line": 222 6570 "line": 221
6571 } 6571 }
6572 }, 6572 },
6573 { 6573 {
6574 "defaultMessage": "!!!Help", 6574 "defaultMessage": "!!!Help",
6575 "end": { 6575 "end": {
6576 "column": 3, 6576 "column": 3,
6577 "line": 229 6577 "line": 228
6578 }, 6578 },
6579 "file": "src/lib/Menu.js", 6579 "file": "src/lib/Menu.js",
6580 "id": "menu.help", 6580 "id": "menu.help",
6581 "start": { 6581 "start": {
6582 "column": 8, 6582 "column": 8,
6583 "line": 226 6583 "line": 225
6584 } 6584 }
6585 }, 6585 },
6586 { 6586 {
6587 "defaultMessage": "!!!About Ferdi", 6587 "defaultMessage": "!!!About Ferdi",
6588 "end": { 6588 "end": {
6589 "column": 3, 6589 "column": 3,
6590 "line": 233 6590 "line": 232
6591 }, 6591 },
6592 "file": "src/lib/Menu.js", 6592 "file": "src/lib/Menu.js",
6593 "id": "menu.app.about", 6593 "id": "menu.app.about",
6594 "start": { 6594 "start": {
6595 "column": 9, 6595 "column": 9,
6596 "line": 230 6596 "line": 229
6597 } 6597 }
6598 }, 6598 },
6599 { 6599 {
6600 "defaultMessage": "!!!Check for updates", 6600 "defaultMessage": "!!!Check for updates",
6601 "end": { 6601 "end": {
6602 "column": 3, 6602 "column": 3,
6603 "line": 237 6603 "line": 236
6604 }, 6604 },
6605 "file": "src/lib/Menu.js", 6605 "file": "src/lib/Menu.js",
6606 "id": "menu.app.checkForUpdates", 6606 "id": "menu.app.checkForUpdates",
6607 "start": { 6607 "start": {
6608 "column": 19, 6608 "column": 19,
6609 "line": 234 6609 "line": 233
6610 } 6610 }
6611 }, 6611 },
6612 { 6612 {
6613 "defaultMessage": "!!!Hide", 6613 "defaultMessage": "!!!Hide",
6614 "end": { 6614 "end": {
6615 "column": 3, 6615 "column": 3,
6616 "line": 241 6616 "line": 240
6617 }, 6617 },
6618 "file": "src/lib/Menu.js", 6618 "file": "src/lib/Menu.js",
6619 "id": "menu.app.hide", 6619 "id": "menu.app.hide",
6620 "start": { 6620 "start": {
6621 "column": 8, 6621 "column": 8,
6622 "line": 238 6622 "line": 237
6623 } 6623 }
6624 }, 6624 },
6625 { 6625 {
6626 "defaultMessage": "!!!Hide Others", 6626 "defaultMessage": "!!!Hide Others",
6627 "end": { 6627 "end": {
6628 "column": 3, 6628 "column": 3,
6629 "line": 245 6629 "line": 244
6630 }, 6630 },
6631 "file": "src/lib/Menu.js", 6631 "file": "src/lib/Menu.js",
6632 "id": "menu.app.hideOthers", 6632 "id": "menu.app.hideOthers",
6633 "start": { 6633 "start": {
6634 "column": 14, 6634 "column": 14,
6635 "line": 242 6635 "line": 241
6636 } 6636 }
6637 }, 6637 },
6638 { 6638 {
6639 "defaultMessage": "!!!Unhide", 6639 "defaultMessage": "!!!Unhide",
6640 "end": { 6640 "end": {
6641 "column": 3, 6641 "column": 3,
6642 "line": 249 6642 "line": 248
6643 }, 6643 },
6644 "file": "src/lib/Menu.js", 6644 "file": "src/lib/Menu.js",
6645 "id": "menu.app.unhide", 6645 "id": "menu.app.unhide",
6646 "start": { 6646 "start": {
6647 "column": 10, 6647 "column": 10,
6648 "line": 246 6648 "line": 245
6649 } 6649 }
6650 }, 6650 },
6651 { 6651 {
6652 "defaultMessage": "!!!Auto-hide menu bar", 6652 "defaultMessage": "!!!Auto-hide menu bar",
6653 "end": { 6653 "end": {
6654 "column": 3, 6654 "column": 3,
6655 "line": 253 6655 "line": 252
6656 }, 6656 },
6657 "file": "src/lib/Menu.js", 6657 "file": "src/lib/Menu.js",
6658 "id": "menu.app.autohideMenuBar", 6658 "id": "menu.app.autohideMenuBar",
6659 "start": { 6659 "start": {
6660 "column": 19, 6660 "column": 19,
6661 "line": 250 6661 "line": 249
6662 } 6662 }
6663 }, 6663 },
6664 { 6664 {
6665 "defaultMessage": "!!!Add New Service...", 6665 "defaultMessage": "!!!Add New Service...",
6666 "end": { 6666 "end": {
6667 "column": 3, 6667 "column": 3,
6668 "line": 257 6668 "line": 256
6669 }, 6669 },
6670 "file": "src/lib/Menu.js", 6670 "file": "src/lib/Menu.js",
6671 "id": "menu.services.addNewService", 6671 "id": "menu.services.addNewService",
6672 "start": { 6672 "start": {
6673 "column": 17, 6673 "column": 17,
6674 "line": 254 6674 "line": 253
6675 } 6675 }
6676 }, 6676 },
6677 { 6677 {
6678 "defaultMessage": "!!!Add New Workspace...", 6678 "defaultMessage": "!!!Add New Workspace...",
6679 "end": { 6679 "end": {
6680 "column": 3, 6680 "column": 3,
6681 "line": 261 6681 "line": 260
6682 }, 6682 },
6683 "file": "src/lib/Menu.js", 6683 "file": "src/lib/Menu.js",
6684 "id": "menu.workspaces.addNewWorkspace", 6684 "id": "menu.workspaces.addNewWorkspace",
6685 "start": { 6685 "start": {
6686 "column": 19, 6686 "column": 19,
6687 "line": 258 6687 "line": 257
6688 } 6688 }
6689 }, 6689 },
6690 { 6690 {
6691 "defaultMessage": "!!!Open workspace drawer", 6691 "defaultMessage": "!!!Open workspace drawer",
6692 "end": { 6692 "end": {
6693 "column": 3, 6693 "column": 3,
6694 "line": 265 6694 "line": 264
6695 }, 6695 },
6696 "file": "src/lib/Menu.js", 6696 "file": "src/lib/Menu.js",
6697 "id": "menu.workspaces.openWorkspaceDrawer", 6697 "id": "menu.workspaces.openWorkspaceDrawer",
6698 "start": { 6698 "start": {
6699 "column": 23, 6699 "column": 23,
6700 "line": 262 6700 "line": 261
6701 } 6701 }
6702 }, 6702 },
6703 { 6703 {
6704 "defaultMessage": "!!!Close workspace drawer", 6704 "defaultMessage": "!!!Close workspace drawer",
6705 "end": { 6705 "end": {
6706 "column": 3, 6706 "column": 3,
6707 "line": 269 6707 "line": 268
6708 }, 6708 },
6709 "file": "src/lib/Menu.js", 6709 "file": "src/lib/Menu.js",
6710 "id": "menu.workspaces.closeWorkspaceDrawer", 6710 "id": "menu.workspaces.closeWorkspaceDrawer",
6711 "start": { 6711 "start": {
6712 "column": 24, 6712 "column": 24,
6713 "line": 266 6713 "line": 265
6714 } 6714 }
6715 }, 6715 },
6716 { 6716 {
6717 "defaultMessage": "!!!Activate next service...", 6717 "defaultMessage": "!!!Activate next service...",
6718 "end": { 6718 "end": {
6719 "column": 3, 6719 "column": 3,
6720 "line": 273 6720 "line": 272
6721 }, 6721 },
6722 "file": "src/lib/Menu.js", 6722 "file": "src/lib/Menu.js",
6723 "id": "menu.services.setNextServiceActive", 6723 "id": "menu.services.setNextServiceActive",
6724 "start": { 6724 "start": {
6725 "column": 23, 6725 "column": 23,
6726 "line": 270 6726 "line": 269
6727 } 6727 }
6728 }, 6728 },
6729 { 6729 {
6730 "defaultMessage": "!!!Activate previous service...", 6730 "defaultMessage": "!!!Activate previous service...",
6731 "end": { 6731 "end": {
6732 "column": 3, 6732 "column": 3,
6733 "line": 277 6733 "line": 276
6734 }, 6734 },
6735 "file": "src/lib/Menu.js", 6735 "file": "src/lib/Menu.js",
6736 "id": "menu.services.activatePreviousService", 6736 "id": "menu.services.activatePreviousService",
6737 "start": { 6737 "start": {
6738 "column": 27, 6738 "column": 27,
6739 "line": 274 6739 "line": 273
6740 } 6740 }
6741 }, 6741 },
6742 { 6742 {
6743 "defaultMessage": "!!!Disable notifications & audio", 6743 "defaultMessage": "!!!Disable notifications & audio",
6744 "end": { 6744 "end": {
6745 "column": 3, 6745 "column": 3,
6746 "line": 281 6746 "line": 280
6747 }, 6747 },
6748 "file": "src/lib/Menu.js", 6748 "file": "src/lib/Menu.js",
6749 "id": "sidebar.muteApp", 6749 "id": "sidebar.muteApp",
6750 "start": { 6750 "start": {
6751 "column": 11, 6751 "column": 11,
6752 "line": 278 6752 "line": 277
6753 } 6753 }
6754 }, 6754 },
6755 { 6755 {
6756 "defaultMessage": "!!!Enable notifications & audio", 6756 "defaultMessage": "!!!Enable notifications & audio",
6757 "end": { 6757 "end": {
6758 "column": 3, 6758 "column": 3,
6759 "line": 285 6759 "line": 284
6760 }, 6760 },
6761 "file": "src/lib/Menu.js", 6761 "file": "src/lib/Menu.js",
6762 "id": "sidebar.unmuteApp", 6762 "id": "sidebar.unmuteApp",
6763 "start": { 6763 "start": {
6764 "column": 13, 6764 "column": 13,
6765 "line": 282 6765 "line": 281
6766 } 6766 }
6767 }, 6767 },
6768 { 6768 {
6769 "defaultMessage": "!!!Workspaces", 6769 "defaultMessage": "!!!Workspaces",
6770 "end": { 6770 "end": {
6771 "column": 3, 6771 "column": 3,
6772 "line": 289 6772 "line": 288
6773 }, 6773 },
6774 "file": "src/lib/Menu.js", 6774 "file": "src/lib/Menu.js",
6775 "id": "menu.workspaces", 6775 "id": "menu.workspaces",
6776 "start": { 6776 "start": {
6777 "column": 14, 6777 "column": 14,
6778 "line": 286 6778 "line": 285
6779 } 6779 }
6780 }, 6780 },
6781 { 6781 {
6782 "defaultMessage": "!!!Default", 6782 "defaultMessage": "!!!Default",
6783 "end": { 6783 "end": {
6784 "column": 3, 6784 "column": 3,
6785 "line": 293 6785 "line": 292
6786 }, 6786 },
6787 "file": "src/lib/Menu.js", 6787 "file": "src/lib/Menu.js",
6788 "id": "menu.workspaces.defaultWorkspace", 6788 "id": "menu.workspaces.defaultWorkspace",
6789 "start": { 6789 "start": {
6790 "column": 20, 6790 "column": 20,
6791 "line": 290 6791 "line": 289
6792 } 6792 }
6793 }, 6793 },
6794 { 6794 {
6795 "defaultMessage": "!!!Todos", 6795 "defaultMessage": "!!!Todos",
6796 "end": { 6796 "end": {
6797 "column": 3, 6797 "column": 3,
6798 "line": 297 6798 "line": 296
6799 }, 6799 },
6800 "file": "src/lib/Menu.js", 6800 "file": "src/lib/Menu.js",
6801 "id": "menu.todos", 6801 "id": "menu.todos",
6802 "start": { 6802 "start": {
6803 "column": 9, 6803 "column": 9,
6804 "line": 294 6804 "line": 293
6805 } 6805 }
6806 }, 6806 },
6807 { 6807 {
6808 "defaultMessage": "!!!Open Todos drawer", 6808 "defaultMessage": "!!!Open Todos drawer",
6809 "end": { 6809 "end": {
6810 "column": 3, 6810 "column": 3,
6811 "line": 301 6811 "line": 300
6812 }, 6812 },
6813 "file": "src/lib/Menu.js", 6813 "file": "src/lib/Menu.js",
6814 "id": "menu.Todoss.openTodosDrawer", 6814 "id": "menu.Todoss.openTodosDrawer",
6815 "start": { 6815 "start": {
6816 "column": 19, 6816 "column": 19,
6817 "line": 298 6817 "line": 297
6818 } 6818 }
6819 }, 6819 },
6820 { 6820 {
6821 "defaultMessage": "!!!Close Todos drawer", 6821 "defaultMessage": "!!!Close Todos drawer",
6822 "end": { 6822 "end": {
6823 "column": 3, 6823 "column": 3,
6824 "line": 305 6824 "line": 304
6825 }, 6825 },
6826 "file": "src/lib/Menu.js", 6826 "file": "src/lib/Menu.js",
6827 "id": "menu.Todoss.closeTodosDrawer", 6827 "id": "menu.Todoss.closeTodosDrawer",
6828 "start": { 6828 "start": {
6829 "column": 20, 6829 "column": 20,
6830 "line": 302 6830 "line": 301
6831 } 6831 }
6832 }, 6832 },
6833 { 6833 {
6834 "defaultMessage": "!!!Enable Todos", 6834 "defaultMessage": "!!!Enable Todos",
6835 "end": { 6835 "end": {
6836 "column": 3, 6836 "column": 3,
6837 "line": 309 6837 "line": 308
6838 }, 6838 },
6839 "file": "src/lib/Menu.js", 6839 "file": "src/lib/Menu.js",
6840 "id": "menu.todos.enableTodos", 6840 "id": "menu.todos.enableTodos",
6841 "start": { 6841 "start": {
6842 "column": 15, 6842 "column": 15,
6843 "line": 306 6843 "line": 305
6844 } 6844 }
6845 }, 6845 },
6846 { 6846 {
6847 "defaultMessage": "!!!Home", 6847 "defaultMessage": "!!!Home",
6848 "end": { 6848 "end": {
6849 "column": 3, 6849 "column": 3,
6850 "line": 313 6850 "line": 312
6851 }, 6851 },
6852 "file": "src/lib/Menu.js", 6852 "file": "src/lib/Menu.js",
6853 "id": "menu.services.goHome", 6853 "id": "menu.services.goHome",
6854 "start": { 6854 "start": {
6855 "column": 17, 6855 "column": 17,
6856 "line": 310 6856 "line": 309
6857 } 6857 }
6858 } 6858 }
6859 ], 6859 ],
diff --git a/src/i18n/messages/src/lib/Menu.json b/src/i18n/messages/src/lib/Menu.json
index 947ce8b6a..35f2e3b7b 100644
--- a/src/i18n/messages/src/lib/Menu.json
+++ b/src/i18n/messages/src/lib/Menu.json
@@ -4,11 +4,11 @@
4 "defaultMessage": "!!!Edit", 4 "defaultMessage": "!!!Edit",
5 "file": "src/lib/Menu.js", 5 "file": "src/lib/Menu.js",
6 "start": { 6 "start": {
7 "line": 33, 7 "line": 32,
8 "column": 8 8 "column": 8
9 }, 9 },
10 "end": { 10 "end": {
11 "line": 36, 11 "line": 35,
12 "column": 3 12 "column": 3
13 } 13 }
14 }, 14 },
@@ -17,11 +17,11 @@
17 "defaultMessage": "!!!Undo", 17 "defaultMessage": "!!!Undo",
18 "file": "src/lib/Menu.js", 18 "file": "src/lib/Menu.js",
19 "start": { 19 "start": {
20 "line": 37, 20 "line": 36,
21 "column": 8 21 "column": 8
22 }, 22 },
23 "end": { 23 "end": {
24 "line": 40, 24 "line": 39,
25 "column": 3 25 "column": 3
26 } 26 }
27 }, 27 },
@@ -30,11 +30,11 @@
30 "defaultMessage": "!!!Redo", 30 "defaultMessage": "!!!Redo",
31 "file": "src/lib/Menu.js", 31 "file": "src/lib/Menu.js",
32 "start": { 32 "start": {
33 "line": 41, 33 "line": 40,
34 "column": 8 34 "column": 8
35 }, 35 },
36 "end": { 36 "end": {
37 "line": 44, 37 "line": 43,
38 "column": 3 38 "column": 3
39 } 39 }
40 }, 40 },
@@ -43,11 +43,11 @@
43 "defaultMessage": "!!!Cut", 43 "defaultMessage": "!!!Cut",
44 "file": "src/lib/Menu.js", 44 "file": "src/lib/Menu.js",
45 "start": { 45 "start": {
46 "line": 45, 46 "line": 44,
47 "column": 7 47 "column": 7
48 }, 48 },
49 "end": { 49 "end": {
50 "line": 48, 50 "line": 47,
51 "column": 3 51 "column": 3
52 } 52 }
53 }, 53 },
@@ -56,11 +56,11 @@
56 "defaultMessage": "!!!Copy", 56 "defaultMessage": "!!!Copy",
57 "file": "src/lib/Menu.js", 57 "file": "src/lib/Menu.js",
58 "start": { 58 "start": {
59 "line": 49, 59 "line": 48,
60 "column": 8 60 "column": 8
61 }, 61 },
62 "end": { 62 "end": {
63 "line": 52, 63 "line": 51,
64 "column": 3 64 "column": 3
65 } 65 }
66 }, 66 },
@@ -69,11 +69,11 @@
69 "defaultMessage": "!!!Paste", 69 "defaultMessage": "!!!Paste",
70 "file": "src/lib/Menu.js", 70 "file": "src/lib/Menu.js",
71 "start": { 71 "start": {
72 "line": 53, 72 "line": 52,
73 "column": 9 73 "column": 9
74 }, 74 },
75 "end": { 75 "end": {
76 "line": 56, 76 "line": 55,
77 "column": 3 77 "column": 3
78 } 78 }
79 }, 79 },
@@ -82,11 +82,11 @@
82 "defaultMessage": "!!!Paste And Match Style", 82 "defaultMessage": "!!!Paste And Match Style",
83 "file": "src/lib/Menu.js", 83 "file": "src/lib/Menu.js",
84 "start": { 84 "start": {
85 "line": 57, 85 "line": 56,
86 "column": 22 86 "column": 22
87 }, 87 },
88 "end": { 88 "end": {
89 "line": 60, 89 "line": 59,
90 "column": 3 90 "column": 3
91 } 91 }
92 }, 92 },
@@ -95,11 +95,11 @@
95 "defaultMessage": "!!!Delete", 95 "defaultMessage": "!!!Delete",
96 "file": "src/lib/Menu.js", 96 "file": "src/lib/Menu.js",
97 "start": { 97 "start": {
98 "line": 61, 98 "line": 60,
99 "column": 10 99 "column": 10
100 }, 100 },
101 "end": { 101 "end": {
102 "line": 64, 102 "line": 63,
103 "column": 3 103 "column": 3
104 } 104 }
105 }, 105 },
@@ -108,11 +108,11 @@
108 "defaultMessage": "!!!Select All", 108 "defaultMessage": "!!!Select All",
109 "file": "src/lib/Menu.js", 109 "file": "src/lib/Menu.js",
110 "start": { 110 "start": {
111 "line": 65, 111 "line": 64,
112 "column": 13 112 "column": 13
113 }, 113 },
114 "end": { 114 "end": {
115 "line": 68, 115 "line": 67,
116 "column": 3 116 "column": 3
117 } 117 }
118 }, 118 },
@@ -121,11 +121,11 @@
121 "defaultMessage": "!!!Find in Page", 121 "defaultMessage": "!!!Find in Page",
122 "file": "src/lib/Menu.js", 122 "file": "src/lib/Menu.js",
123 "start": { 123 "start": {
124 "line": 69, 124 "line": 68,
125 "column": 14 125 "column": 14
126 }, 126 },
127 "end": { 127 "end": {
128 "line": 72, 128 "line": 71,
129 "column": 3 129 "column": 3
130 } 130 }
131 }, 131 },
@@ -134,11 +134,11 @@
134 "defaultMessage": "!!!Speech", 134 "defaultMessage": "!!!Speech",
135 "file": "src/lib/Menu.js", 135 "file": "src/lib/Menu.js",
136 "start": { 136 "start": {
137 "line": 73, 137 "line": 72,
138 "column": 10 138 "column": 10
139 }, 139 },
140 "end": { 140 "end": {
141 "line": 76, 141 "line": 75,
142 "column": 3 142 "column": 3
143 } 143 }
144 }, 144 },
@@ -147,11 +147,11 @@
147 "defaultMessage": "!!!Start Speaking", 147 "defaultMessage": "!!!Start Speaking",
148 "file": "src/lib/Menu.js", 148 "file": "src/lib/Menu.js",
149 "start": { 149 "start": {
150 "line": 77, 150 "line": 76,
151 "column": 17 151 "column": 17
152 }, 152 },
153 "end": { 153 "end": {
154 "line": 80, 154 "line": 79,
155 "column": 3 155 "column": 3
156 } 156 }
157 }, 157 },
@@ -160,11 +160,11 @@
160 "defaultMessage": "!!!Stop Speaking", 160 "defaultMessage": "!!!Stop Speaking",
161 "file": "src/lib/Menu.js", 161 "file": "src/lib/Menu.js",
162 "start": { 162 "start": {
163 "line": 81, 163 "line": 80,
164 "column": 16 164 "column": 16
165 }, 165 },
166 "end": { 166 "end": {
167 "line": 84, 167 "line": 83,
168 "column": 3 168 "column": 3
169 } 169 }
170 }, 170 },
@@ -173,11 +173,11 @@
173 "defaultMessage": "!!!Start Dictation", 173 "defaultMessage": "!!!Start Dictation",
174 "file": "src/lib/Menu.js", 174 "file": "src/lib/Menu.js",
175 "start": { 175 "start": {
176 "line": 85, 176 "line": 84,
177 "column": 18 177 "column": 18
178 }, 178 },
179 "end": { 179 "end": {
180 "line": 88, 180 "line": 87,
181 "column": 3 181 "column": 3
182 } 182 }
183 }, 183 },
@@ -186,11 +186,11 @@
186 "defaultMessage": "!!!Emoji & Symbols", 186 "defaultMessage": "!!!Emoji & Symbols",
187 "file": "src/lib/Menu.js", 187 "file": "src/lib/Menu.js",
188 "start": { 188 "start": {
189 "line": 89, 189 "line": 88,
190 "column": 16 190 "column": 16
191 }, 191 },
192 "end": { 192 "end": {
193 "line": 92, 193 "line": 91,
194 "column": 3 194 "column": 3
195 } 195 }
196 }, 196 },
@@ -199,11 +199,11 @@
199 "defaultMessage": "!!!Open Quick Switch", 199 "defaultMessage": "!!!Open Quick Switch",
200 "file": "src/lib/Menu.js", 200 "file": "src/lib/Menu.js",
201 "start": { 201 "start": {
202 "line": 93, 202 "line": 92,
203 "column": 19 203 "column": 19
204 }, 204 },
205 "end": { 205 "end": {
206 "line": 96, 206 "line": 95,
207 "column": 3 207 "column": 3
208 } 208 }
209 }, 209 },
@@ -212,11 +212,11 @@
212 "defaultMessage": "!!!Back", 212 "defaultMessage": "!!!Back",
213 "file": "src/lib/Menu.js", 213 "file": "src/lib/Menu.js",
214 "start": { 214 "start": {
215 "line": 97, 215 "line": 96,
216 "column": 8 216 "column": 8
217 }, 217 },
218 "end": { 218 "end": {
219 "line": 100, 219 "line": 99,
220 "column": 3 220 "column": 3
221 } 221 }
222 }, 222 },
@@ -225,11 +225,11 @@
225 "defaultMessage": "!!!Forward", 225 "defaultMessage": "!!!Forward",
226 "file": "src/lib/Menu.js", 226 "file": "src/lib/Menu.js",
227 "start": { 227 "start": {
228 "line": 101, 228 "line": 100,
229 "column": 11 229 "column": 11
230 }, 230 },
231 "end": { 231 "end": {
232 "line": 104, 232 "line": 103,
233 "column": 3 233 "column": 3
234 } 234 }
235 }, 235 },
@@ -238,11 +238,11 @@
238 "defaultMessage": "!!!Actual Size", 238 "defaultMessage": "!!!Actual Size",
239 "file": "src/lib/Menu.js", 239 "file": "src/lib/Menu.js",
240 "start": { 240 "start": {
241 "line": 105, 241 "line": 104,
242 "column": 13 242 "column": 13
243 }, 243 },
244 "end": { 244 "end": {
245 "line": 108, 245 "line": 107,
246 "column": 3 246 "column": 3
247 } 247 }
248 }, 248 },
@@ -251,11 +251,11 @@
251 "defaultMessage": "!!!Zoom In", 251 "defaultMessage": "!!!Zoom In",
252 "file": "src/lib/Menu.js", 252 "file": "src/lib/Menu.js",
253 "start": { 253 "start": {
254 "line": 109, 254 "line": 108,
255 "column": 10 255 "column": 10
256 }, 256 },
257 "end": { 257 "end": {
258 "line": 112, 258 "line": 111,
259 "column": 3 259 "column": 3
260 } 260 }
261 }, 261 },
@@ -264,11 +264,11 @@
264 "defaultMessage": "!!!Zoom Out", 264 "defaultMessage": "!!!Zoom Out",
265 "file": "src/lib/Menu.js", 265 "file": "src/lib/Menu.js",
266 "start": { 266 "start": {
267 "line": 113, 267 "line": 112,
268 "column": 11 268 "column": 11
269 }, 269 },
270 "end": { 270 "end": {
271 "line": 116, 271 "line": 115,
272 "column": 3 272 "column": 3
273 } 273 }
274 }, 274 },
@@ -277,11 +277,11 @@
277 "defaultMessage": "!!!Toggle Full Screen", 277 "defaultMessage": "!!!Toggle Full Screen",
278 "file": "src/lib/Menu.js", 278 "file": "src/lib/Menu.js",
279 "start": { 279 "start": {
280 "line": 117, 280 "line": 116,
281 "column": 20 281 "column": 20
282 }, 282 },
283 "end": { 283 "end": {
284 "line": 120, 284 "line": 119,
285 "column": 3 285 "column": 3
286 } 286 }
287 }, 287 },
@@ -290,11 +290,11 @@
290 "defaultMessage": "!!!Toggle Dark Mode", 290 "defaultMessage": "!!!Toggle Dark Mode",
291 "file": "src/lib/Menu.js", 291 "file": "src/lib/Menu.js",
292 "start": { 292 "start": {
293 "line": 121, 293 "line": 120,
294 "column": 18 294 "column": 18
295 }, 295 },
296 "end": { 296 "end": {
297 "line": 124, 297 "line": 123,
298 "column": 3 298 "column": 3
299 } 299 }
300 }, 300 },
@@ -303,11 +303,11 @@
303 "defaultMessage": "!!!Toggle Developer Tools", 303 "defaultMessage": "!!!Toggle Developer Tools",
304 "file": "src/lib/Menu.js", 304 "file": "src/lib/Menu.js",
305 "start": { 305 "start": {
306 "line": 125, 306 "line": 124,
307 "column": 18 307 "column": 18
308 }, 308 },
309 "end": { 309 "end": {
310 "line": 128, 310 "line": 127,
311 "column": 3 311 "column": 3
312 } 312 }
313 }, 313 },
@@ -316,11 +316,11 @@
316 "defaultMessage": "!!!Toggle Todos Developer Tools", 316 "defaultMessage": "!!!Toggle Todos Developer Tools",
317 "file": "src/lib/Menu.js", 317 "file": "src/lib/Menu.js",
318 "start": { 318 "start": {
319 "line": 129, 319 "line": 128,
320 "column": 23 320 "column": 23
321 }, 321 },
322 "end": { 322 "end": {
323 "line": 132, 323 "line": 131,
324 "column": 3 324 "column": 3
325 } 325 }
326 }, 326 },
@@ -329,11 +329,11 @@
329 "defaultMessage": "!!!Toggle Service Developer Tools", 329 "defaultMessage": "!!!Toggle Service Developer Tools",
330 "file": "src/lib/Menu.js", 330 "file": "src/lib/Menu.js",
331 "start": { 331 "start": {
332 "line": 133, 332 "line": 132,
333 "column": 25 333 "column": 25
334 }, 334 },
335 "end": { 335 "end": {
336 "line": 136, 336 "line": 135,
337 "column": 3 337 "column": 3
338 } 338 }
339 }, 339 },
@@ -342,11 +342,11 @@
342 "defaultMessage": "!!!Reload Service", 342 "defaultMessage": "!!!Reload Service",
343 "file": "src/lib/Menu.js", 343 "file": "src/lib/Menu.js",
344 "start": { 344 "start": {
345 "line": 137, 345 "line": 136,
346 "column": 17 346 "column": 17
347 }, 347 },
348 "end": { 348 "end": {
349 "line": 140, 349 "line": 139,
350 "column": 3 350 "column": 3
351 } 351 }
352 }, 352 },
@@ -355,11 +355,11 @@
355 "defaultMessage": "!!!Reload Ferdi", 355 "defaultMessage": "!!!Reload Ferdi",
356 "file": "src/lib/Menu.js", 356 "file": "src/lib/Menu.js",
357 "start": { 357 "start": {
358 "line": 141, 358 "line": 140,
359 "column": 15 359 "column": 15
360 }, 360 },
361 "end": { 361 "end": {
362 "line": 144, 362 "line": 143,
363 "column": 3 363 "column": 3
364 } 364 }
365 }, 365 },
@@ -368,11 +368,11 @@
368 "defaultMessage": "!!!Lock Ferdi", 368 "defaultMessage": "!!!Lock Ferdi",
369 "file": "src/lib/Menu.js", 369 "file": "src/lib/Menu.js",
370 "start": { 370 "start": {
371 "line": 145, 371 "line": 144,
372 "column": 13 372 "column": 13
373 }, 373 },
374 "end": { 374 "end": {
375 "line": 148, 375 "line": 147,
376 "column": 3 376 "column": 3
377 } 377 }
378 }, 378 },
@@ -381,11 +381,11 @@
381 "defaultMessage": "!!!Reload ToDos", 381 "defaultMessage": "!!!Reload ToDos",
382 "file": "src/lib/Menu.js", 382 "file": "src/lib/Menu.js",
383 "start": { 383 "start": {
384 "line": 149, 384 "line": 148,
385 "column": 15 385 "column": 15
386 }, 386 },
387 "end": { 387 "end": {
388 "line": 152, 388 "line": 151,
389 "column": 3 389 "column": 3
390 } 390 }
391 }, 391 },
@@ -394,11 +394,11 @@
394 "defaultMessage": "!!!Minimize", 394 "defaultMessage": "!!!Minimize",
395 "file": "src/lib/Menu.js", 395 "file": "src/lib/Menu.js",
396 "start": { 396 "start": {
397 "line": 153, 397 "line": 152,
398 "column": 12 398 "column": 12
399 }, 399 },
400 "end": { 400 "end": {
401 "line": 156, 401 "line": 155,
402 "column": 3 402 "column": 3
403 } 403 }
404 }, 404 },
@@ -407,11 +407,11 @@
407 "defaultMessage": "!!!Close", 407 "defaultMessage": "!!!Close",
408 "file": "src/lib/Menu.js", 408 "file": "src/lib/Menu.js",
409 "start": { 409 "start": {
410 "line": 157, 410 "line": 156,
411 "column": 9 411 "column": 9
412 }, 412 },
413 "end": { 413 "end": {
414 "line": 160, 414 "line": 159,
415 "column": 3 415 "column": 3
416 } 416 }
417 }, 417 },
@@ -420,11 +420,11 @@
420 "defaultMessage": "!!!Learn More", 420 "defaultMessage": "!!!Learn More",
421 "file": "src/lib/Menu.js", 421 "file": "src/lib/Menu.js",
422 "start": { 422 "start": {
423 "line": 161, 423 "line": 160,
424 "column": 13 424 "column": 13
425 }, 425 },
426 "end": { 426 "end": {
427 "line": 164, 427 "line": 163,
428 "column": 3 428 "column": 3
429 } 429 }
430 }, 430 },
@@ -433,11 +433,11 @@
433 "defaultMessage": "!!!Changelog", 433 "defaultMessage": "!!!Changelog",
434 "file": "src/lib/Menu.js", 434 "file": "src/lib/Menu.js",
435 "start": { 435 "start": {
436 "line": 165, 436 "line": 164,
437 "column": 13 437 "column": 13
438 }, 438 },
439 "end": { 439 "end": {
440 "line": 168, 440 "line": 167,
441 "column": 3 441 "column": 3
442 } 442 }
443 }, 443 },
@@ -446,11 +446,11 @@
446 "defaultMessage": "!!!Import/Export Configuration Data", 446 "defaultMessage": "!!!Import/Export Configuration Data",
447 "file": "src/lib/Menu.js", 447 "file": "src/lib/Menu.js",
448 "start": { 448 "start": {
449 "line": 169, 449 "line": 168,
450 "column": 20 450 "column": 20
451 }, 451 },
452 "end": { 452 "end": {
453 "line": 172, 453 "line": 171,
454 "column": 3 454 "column": 3
455 } 455 }
456 }, 456 },
@@ -459,11 +459,11 @@
459 "defaultMessage": "!!!Support", 459 "defaultMessage": "!!!Support",
460 "file": "src/lib/Menu.js", 460 "file": "src/lib/Menu.js",
461 "start": { 461 "start": {
462 "line": 173, 462 "line": 172,
463 "column": 11 463 "column": 11
464 }, 464 },
465 "end": { 465 "end": {
466 "line": 176, 466 "line": 175,
467 "column": 3 467 "column": 3
468 } 468 }
469 }, 469 },
@@ -472,11 +472,11 @@
472 "defaultMessage": "!!!Copy Debug Information", 472 "defaultMessage": "!!!Copy Debug Information",
473 "file": "src/lib/Menu.js", 473 "file": "src/lib/Menu.js",
474 "start": { 474 "start": {
475 "line": 177, 475 "line": 176,
476 "column": 13 476 "column": 13
477 }, 477 },
478 "end": { 478 "end": {
479 "line": 180, 479 "line": 179,
480 "column": 3 480 "column": 3
481 } 481 }
482 }, 482 },
@@ -485,11 +485,11 @@
485 "defaultMessage": "!!!Publish Debug Information", 485 "defaultMessage": "!!!Publish Debug Information",
486 "file": "src/lib/Menu.js", 486 "file": "src/lib/Menu.js",
487 "start": { 487 "start": {
488 "line": 181, 488 "line": 180,
489 "column": 20 489 "column": 20
490 }, 490 },
491 "end": { 491 "end": {
492 "line": 184, 492 "line": 183,
493 "column": 3 493 "column": 3
494 } 494 }
495 }, 495 },
@@ -498,11 +498,11 @@
498 "defaultMessage": "!!!Ferdi Debug Information", 498 "defaultMessage": "!!!Ferdi Debug Information",
499 "file": "src/lib/Menu.js", 499 "file": "src/lib/Menu.js",
500 "start": { 500 "start": {
501 "line": 185, 501 "line": 184,
502 "column": 27 502 "column": 27
503 }, 503 },
504 "end": { 504 "end": {
505 "line": 188, 505 "line": 187,
506 "column": 3 506 "column": 3
507 } 507 }
508 }, 508 },
@@ -511,11 +511,11 @@
511 "defaultMessage": "!!!Your Debug Information has been copied to your clipboard.", 511 "defaultMessage": "!!!Your Debug Information has been copied to your clipboard.",
512 "file": "src/lib/Menu.js", 512 "file": "src/lib/Menu.js",
513 "start": { 513 "start": {
514 "line": 189, 514 "line": 188,
515 "column": 23 515 "column": 23
516 }, 516 },
517 "end": { 517 "end": {
518 "line": 193, 518 "line": 192,
519 "column": 3 519 "column": 3
520 } 520 }
521 }, 521 },
@@ -524,11 +524,11 @@
524 "defaultMessage": "!!!Unlock with Touch ID", 524 "defaultMessage": "!!!Unlock with Touch ID",
525 "file": "src/lib/Menu.js", 525 "file": "src/lib/Menu.js",
526 "start": { 526 "start": {
527 "line": 194, 527 "line": 193,
528 "column": 11 528 "column": 11
529 }, 529 },
530 "end": { 530 "end": {
531 "line": 197, 531 "line": 196,
532 "column": 3 532 "column": 3
533 } 533 }
534 }, 534 },
@@ -537,11 +537,11 @@
537 "defaultMessage": "!!!unlock via Touch ID", 537 "defaultMessage": "!!!unlock via Touch ID",
538 "file": "src/lib/Menu.js", 538 "file": "src/lib/Menu.js",
539 "start": { 539 "start": {
540 "line": 198, 540 "line": 197,
541 "column": 17 541 "column": 17
542 }, 542 },
543 "end": { 543 "end": {
544 "line": 201, 544 "line": 200,
545 "column": 3 545 "column": 3
546 } 546 }
547 }, 547 },
@@ -550,11 +550,11 @@
550 "defaultMessage": "!!!Terms of Service", 550 "defaultMessage": "!!!Terms of Service",
551 "file": "src/lib/Menu.js", 551 "file": "src/lib/Menu.js",
552 "start": { 552 "start": {
553 "line": 202, 553 "line": 201,
554 "column": 7 554 "column": 7
555 }, 555 },
556 "end": { 556 "end": {
557 "line": 205, 557 "line": 204,
558 "column": 3 558 "column": 3
559 } 559 }
560 }, 560 },
@@ -563,11 +563,11 @@
563 "defaultMessage": "!!!Privacy Statement", 563 "defaultMessage": "!!!Privacy Statement",
564 "file": "src/lib/Menu.js", 564 "file": "src/lib/Menu.js",
565 "start": { 565 "start": {
566 "line": 206, 566 "line": 205,
567 "column": 11 567 "column": 11
568 }, 568 },
569 "end": { 569 "end": {
570 "line": 209, 570 "line": 208,
571 "column": 3 571 "column": 3
572 } 572 }
573 }, 573 },
@@ -576,11 +576,11 @@
576 "defaultMessage": "!!!File", 576 "defaultMessage": "!!!File",
577 "file": "src/lib/Menu.js", 577 "file": "src/lib/Menu.js",
578 "start": { 578 "start": {
579 "line": 210, 579 "line": 209,
580 "column": 8 580 "column": 8
581 }, 581 },
582 "end": { 582 "end": {
583 "line": 213, 583 "line": 212,
584 "column": 3 584 "column": 3
585 } 585 }
586 }, 586 },
@@ -589,11 +589,11 @@
589 "defaultMessage": "!!!View", 589 "defaultMessage": "!!!View",
590 "file": "src/lib/Menu.js", 590 "file": "src/lib/Menu.js",
591 "start": { 591 "start": {
592 "line": 214, 592 "line": 213,
593 "column": 8 593 "column": 8
594 }, 594 },
595 "end": { 595 "end": {
596 "line": 217, 596 "line": 216,
597 "column": 3 597 "column": 3
598 } 598 }
599 }, 599 },
@@ -602,11 +602,11 @@
602 "defaultMessage": "!!!Services", 602 "defaultMessage": "!!!Services",
603 "file": "src/lib/Menu.js", 603 "file": "src/lib/Menu.js",
604 "start": { 604 "start": {
605 "line": 218, 605 "line": 217,
606 "column": 12 606 "column": 12
607 }, 607 },
608 "end": { 608 "end": {
609 "line": 221, 609 "line": 220,
610 "column": 3 610 "column": 3
611 } 611 }
612 }, 612 },
@@ -615,11 +615,11 @@
615 "defaultMessage": "!!!Window", 615 "defaultMessage": "!!!Window",
616 "file": "src/lib/Menu.js", 616 "file": "src/lib/Menu.js",
617 "start": { 617 "start": {
618 "line": 222, 618 "line": 221,
619 "column": 10 619 "column": 10
620 }, 620 },
621 "end": { 621 "end": {
622 "line": 225, 622 "line": 224,
623 "column": 3 623 "column": 3
624 } 624 }
625 }, 625 },
@@ -628,11 +628,11 @@
628 "defaultMessage": "!!!Help", 628 "defaultMessage": "!!!Help",
629 "file": "src/lib/Menu.js", 629 "file": "src/lib/Menu.js",
630 "start": { 630 "start": {
631 "line": 226, 631 "line": 225,
632 "column": 8 632 "column": 8
633 }, 633 },
634 "end": { 634 "end": {
635 "line": 229, 635 "line": 228,
636 "column": 3 636 "column": 3
637 } 637 }
638 }, 638 },
@@ -641,11 +641,11 @@
641 "defaultMessage": "!!!About Ferdi", 641 "defaultMessage": "!!!About Ferdi",
642 "file": "src/lib/Menu.js", 642 "file": "src/lib/Menu.js",
643 "start": { 643 "start": {
644 "line": 230, 644 "line": 229,
645 "column": 9 645 "column": 9
646 }, 646 },
647 "end": { 647 "end": {
648 "line": 233, 648 "line": 232,
649 "column": 3 649 "column": 3
650 } 650 }
651 }, 651 },
@@ -654,11 +654,11 @@
654 "defaultMessage": "!!!Check for updates", 654 "defaultMessage": "!!!Check for updates",
655 "file": "src/lib/Menu.js", 655 "file": "src/lib/Menu.js",
656 "start": { 656 "start": {
657 "line": 234, 657 "line": 233,
658 "column": 19 658 "column": 19
659 }, 659 },
660 "end": { 660 "end": {
661 "line": 237, 661 "line": 236,
662 "column": 3 662 "column": 3
663 } 663 }
664 }, 664 },
@@ -667,11 +667,11 @@
667 "defaultMessage": "!!!Hide", 667 "defaultMessage": "!!!Hide",
668 "file": "src/lib/Menu.js", 668 "file": "src/lib/Menu.js",
669 "start": { 669 "start": {
670 "line": 238, 670 "line": 237,
671 "column": 8 671 "column": 8
672 }, 672 },
673 "end": { 673 "end": {
674 "line": 241, 674 "line": 240,
675 "column": 3 675 "column": 3
676 } 676 }
677 }, 677 },
@@ -680,11 +680,11 @@
680 "defaultMessage": "!!!Hide Others", 680 "defaultMessage": "!!!Hide Others",
681 "file": "src/lib/Menu.js", 681 "file": "src/lib/Menu.js",
682 "start": { 682 "start": {
683 "line": 242, 683 "line": 241,
684 "column": 14 684 "column": 14
685 }, 685 },
686 "end": { 686 "end": {
687 "line": 245, 687 "line": 244,
688 "column": 3 688 "column": 3
689 } 689 }
690 }, 690 },
@@ -693,11 +693,11 @@
693 "defaultMessage": "!!!Unhide", 693 "defaultMessage": "!!!Unhide",
694 "file": "src/lib/Menu.js", 694 "file": "src/lib/Menu.js",
695 "start": { 695 "start": {
696 "line": 246, 696 "line": 245,
697 "column": 10 697 "column": 10
698 }, 698 },
699 "end": { 699 "end": {
700 "line": 249, 700 "line": 248,
701 "column": 3 701 "column": 3
702 } 702 }
703 }, 703 },
@@ -706,11 +706,11 @@
706 "defaultMessage": "!!!Auto-hide menu bar", 706 "defaultMessage": "!!!Auto-hide menu bar",
707 "file": "src/lib/Menu.js", 707 "file": "src/lib/Menu.js",
708 "start": { 708 "start": {
709 "line": 250, 709 "line": 249,
710 "column": 19 710 "column": 19
711 }, 711 },
712 "end": { 712 "end": {
713 "line": 253, 713 "line": 252,
714 "column": 3 714 "column": 3
715 } 715 }
716 }, 716 },
@@ -719,11 +719,11 @@
719 "defaultMessage": "!!!Add New Service...", 719 "defaultMessage": "!!!Add New Service...",
720 "file": "src/lib/Menu.js", 720 "file": "src/lib/Menu.js",
721 "start": { 721 "start": {
722 "line": 254, 722 "line": 253,
723 "column": 17 723 "column": 17
724 }, 724 },
725 "end": { 725 "end": {
726 "line": 257, 726 "line": 256,
727 "column": 3 727 "column": 3
728 } 728 }
729 }, 729 },
@@ -732,11 +732,11 @@
732 "defaultMessage": "!!!Add New Workspace...", 732 "defaultMessage": "!!!Add New Workspace...",
733 "file": "src/lib/Menu.js", 733 "file": "src/lib/Menu.js",
734 "start": { 734 "start": {
735 "line": 258, 735 "line": 257,
736 "column": 19 736 "column": 19
737 }, 737 },
738 "end": { 738 "end": {
739 "line": 261, 739 "line": 260,
740 "column": 3 740 "column": 3
741 } 741 }
742 }, 742 },
@@ -745,11 +745,11 @@
745 "defaultMessage": "!!!Open workspace drawer", 745 "defaultMessage": "!!!Open workspace drawer",
746 "file": "src/lib/Menu.js", 746 "file": "src/lib/Menu.js",
747 "start": { 747 "start": {
748 "line": 262, 748 "line": 261,
749 "column": 23 749 "column": 23
750 }, 750 },
751 "end": { 751 "end": {
752 "line": 265, 752 "line": 264,
753 "column": 3 753 "column": 3
754 } 754 }
755 }, 755 },
@@ -758,11 +758,11 @@
758 "defaultMessage": "!!!Close workspace drawer", 758 "defaultMessage": "!!!Close workspace drawer",
759 "file": "src/lib/Menu.js", 759 "file": "src/lib/Menu.js",
760 "start": { 760 "start": {
761 "line": 266, 761 "line": 265,
762 "column": 24 762 "column": 24
763 }, 763 },
764 "end": { 764 "end": {
765 "line": 269, 765 "line": 268,
766 "column": 3 766 "column": 3
767 } 767 }
768 }, 768 },
@@ -771,11 +771,11 @@
771 "defaultMessage": "!!!Activate next service...", 771 "defaultMessage": "!!!Activate next service...",
772 "file": "src/lib/Menu.js", 772 "file": "src/lib/Menu.js",
773 "start": { 773 "start": {
774 "line": 270, 774 "line": 269,
775 "column": 23 775 "column": 23
776 }, 776 },
777 "end": { 777 "end": {
778 "line": 273, 778 "line": 272,
779 "column": 3 779 "column": 3
780 } 780 }
781 }, 781 },
@@ -784,11 +784,11 @@
784 "defaultMessage": "!!!Activate previous service...", 784 "defaultMessage": "!!!Activate previous service...",
785 "file": "src/lib/Menu.js", 785 "file": "src/lib/Menu.js",
786 "start": { 786 "start": {
787 "line": 274, 787 "line": 273,
788 "column": 27 788 "column": 27
789 }, 789 },
790 "end": { 790 "end": {
791 "line": 277, 791 "line": 276,
792 "column": 3 792 "column": 3
793 } 793 }
794 }, 794 },
@@ -797,11 +797,11 @@
797 "defaultMessage": "!!!Disable notifications & audio", 797 "defaultMessage": "!!!Disable notifications & audio",
798 "file": "src/lib/Menu.js", 798 "file": "src/lib/Menu.js",
799 "start": { 799 "start": {
800 "line": 278, 800 "line": 277,
801 "column": 11 801 "column": 11
802 }, 802 },
803 "end": { 803 "end": {
804 "line": 281, 804 "line": 280,
805 "column": 3 805 "column": 3
806 } 806 }
807 }, 807 },
@@ -810,11 +810,11 @@
810 "defaultMessage": "!!!Enable notifications & audio", 810 "defaultMessage": "!!!Enable notifications & audio",
811 "file": "src/lib/Menu.js", 811 "file": "src/lib/Menu.js",
812 "start": { 812 "start": {
813 "line": 282, 813 "line": 281,
814 "column": 13 814 "column": 13
815 }, 815 },
816 "end": { 816 "end": {
817 "line": 285, 817 "line": 284,
818 "column": 3 818 "column": 3
819 } 819 }
820 }, 820 },
@@ -823,11 +823,11 @@
823 "defaultMessage": "!!!Workspaces", 823 "defaultMessage": "!!!Workspaces",
824 "file": "src/lib/Menu.js", 824 "file": "src/lib/Menu.js",
825 "start": { 825 "start": {
826 "line": 286, 826 "line": 285,
827 "column": 14 827 "column": 14
828 }, 828 },
829 "end": { 829 "end": {
830 "line": 289, 830 "line": 288,
831 "column": 3 831 "column": 3
832 } 832 }
833 }, 833 },
@@ -836,11 +836,11 @@
836 "defaultMessage": "!!!Default", 836 "defaultMessage": "!!!Default",
837 "file": "src/lib/Menu.js", 837 "file": "src/lib/Menu.js",
838 "start": { 838 "start": {
839 "line": 290, 839 "line": 289,
840 "column": 20 840 "column": 20
841 }, 841 },
842 "end": { 842 "end": {
843 "line": 293, 843 "line": 292,
844 "column": 3 844 "column": 3
845 } 845 }
846 }, 846 },
@@ -849,11 +849,11 @@
849 "defaultMessage": "!!!Todos", 849 "defaultMessage": "!!!Todos",
850 "file": "src/lib/Menu.js", 850 "file": "src/lib/Menu.js",
851 "start": { 851 "start": {
852 "line": 294, 852 "line": 293,
853 "column": 9 853 "column": 9
854 }, 854 },
855 "end": { 855 "end": {
856 "line": 297, 856 "line": 296,
857 "column": 3 857 "column": 3
858 } 858 }
859 }, 859 },
@@ -862,11 +862,11 @@
862 "defaultMessage": "!!!Open Todos drawer", 862 "defaultMessage": "!!!Open Todos drawer",
863 "file": "src/lib/Menu.js", 863 "file": "src/lib/Menu.js",
864 "start": { 864 "start": {
865 "line": 298, 865 "line": 297,
866 "column": 19 866 "column": 19
867 }, 867 },
868 "end": { 868 "end": {
869 "line": 301, 869 "line": 300,
870 "column": 3 870 "column": 3
871 } 871 }
872 }, 872 },
@@ -875,11 +875,11 @@
875 "defaultMessage": "!!!Close Todos drawer", 875 "defaultMessage": "!!!Close Todos drawer",
876 "file": "src/lib/Menu.js", 876 "file": "src/lib/Menu.js",
877 "start": { 877 "start": {
878 "line": 302, 878 "line": 301,
879 "column": 20 879 "column": 20
880 }, 880 },
881 "end": { 881 "end": {
882 "line": 305, 882 "line": 304,
883 "column": 3 883 "column": 3
884 } 884 }
885 }, 885 },
@@ -888,11 +888,11 @@
888 "defaultMessage": "!!!Enable Todos", 888 "defaultMessage": "!!!Enable Todos",
889 "file": "src/lib/Menu.js", 889 "file": "src/lib/Menu.js",
890 "start": { 890 "start": {
891 "line": 306, 891 "line": 305,
892 "column": 15 892 "column": 15
893 }, 893 },
894 "end": { 894 "end": {
895 "line": 309, 895 "line": 308,
896 "column": 3 896 "column": 3
897 } 897 }
898 }, 898 },
@@ -901,11 +901,11 @@
901 "defaultMessage": "!!!Home", 901 "defaultMessage": "!!!Home",
902 "file": "src/lib/Menu.js", 902 "file": "src/lib/Menu.js",
903 "start": { 903 "start": {
904 "line": 310, 904 "line": 309,
905 "column": 17 905 "column": 17
906 }, 906 },
907 "end": { 907 "end": {
908 "line": 313, 908 "line": 312,
909 "column": 3 909 "column": 3
910 } 910 }
911 } 911 }
diff --git a/src/index.js b/src/index.js
index 7f1f77b4e..1f3510361 100644
--- a/src/index.js
+++ b/src/index.js
@@ -10,6 +10,7 @@ import ms from 'ms';
10 10
11require('@electron/remote/main').initialize(); 11require('@electron/remote/main').initialize();
12 12
13import osName from 'os-name';
13import { DEFAULT_WINDOW_OPTIONS } from './config'; 14import { DEFAULT_WINDOW_OPTIONS } from './config';
14 15
15import { 16import {
@@ -18,9 +19,12 @@ import {
18 isMac, 19 isMac,
19 isWindows, 20 isWindows,
20 isLinux, 21 isLinux,
21 aboutAppDetails,
22 userDataRecipesPath, 22 userDataRecipesPath,
23 userDataPath, 23 userDataPath,
24 ferdiVersion,
25 electronVersion,
26 chromeVersion,
27 nodeVersion,
24} from './environment'; 28} from './environment';
25import { ifUndefinedBoolean } from './jsUtils'; 29import { ifUndefinedBoolean } from './jsUtils';
26 30
@@ -37,6 +41,7 @@ import './electron/exception';
37import { asarPath } from './helpers/asar-helpers'; 41import { asarPath } from './helpers/asar-helpers';
38import { openExternalUrl } from './helpers/url-helpers'; 42import { openExternalUrl } from './helpers/url-helpers';
39import userAgent from './helpers/userAgent-helpers'; 43import userAgent from './helpers/userAgent-helpers';
44import * as buildInfo from './buildInfo.json'; // eslint-disable-line import/no-unresolved
40 45
41const debug = require('debug')('Ferdi:App'); 46const debug = require('debug')('Ferdi:App');
42 47
@@ -155,7 +160,17 @@ if (!retrieveSettingValue('enableGPUAcceleration', false)) {
155} 160}
156 161
157app.setAboutPanelOptions({ 162app.setAboutPanelOptions({
158 applicationVersion: aboutAppDetails(), 163 applicationVersion: [
164 `Version: ${ferdiVersion}`,
165 `Electron: ${electronVersion}`,
166 `Chrome: ${chromeVersion}`,
167 `Node.js: ${nodeVersion}`,
168 `Platform: ${osName()}`,
169 `Arch: ${process.arch}`,
170 `Build date: ${new Date(Number(buildInfo.timestamp))}`,
171 `Git SHA: ${buildInfo.gitHashShort}`,
172 `Git branch: ${buildInfo.gitBranch}`,
173 ].join('\n'),
159 version: '', 174 version: '',
160}); 175});
161 176
diff --git a/src/lib/Menu.js b/src/lib/Menu.js
index 5aa575df7..5dae56544 100644
--- a/src/lib/Menu.js
+++ b/src/lib/Menu.js
@@ -1,5 +1,5 @@
1import { clipboard } from 'electron'; 1import { clipboard } from 'electron';
2import { app, Menu, dialog, systemPreferences } from '@electron/remote'; 2import { app, Menu, systemPreferences } from '@electron/remote';
3import { autorun, observable } from 'mobx'; 3import { autorun, observable } from 'mobx';
4import { defineMessages } from 'react-intl'; 4import { defineMessages } from 'react-intl';
5import { 5import {
@@ -14,7 +14,6 @@ import {
14 settingsShortcutKey, 14 settingsShortcutKey,
15 isLinux, 15 isLinux,
16 isMac, 16 isMac,
17 aboutAppDetails,
18 lockFerdiShortcutKey, 17 lockFerdiShortcutKey,
19 todosToggleShortcutKey, 18 todosToggleShortcutKey,
20 workspaceToggleShortcutKey, 19 workspaceToggleShortcutKey,
@@ -806,12 +805,7 @@ export default class FranzMenu {
806 const about = { 805 const about = {
807 label: intl.formatMessage(menuItems.about), 806 label: intl.formatMessage(menuItems.about),
808 click: () => { 807 click: () => {
809 dialog.showMessageBox({ 808 app.showAboutPanel();
810 type: 'info',
811 title: 'Franz Ferdinand',
812 message: 'Ferdi',
813 detail: aboutAppDetails(),
814 });
815 }, 809 },
816 }; 810 };
817 811