-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpreload.js
More file actions
85 lines (82 loc) · 5.07 KB
/
Copy pathpreload.js
File metadata and controls
85 lines (82 loc) · 5.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
'use strict';
const { contextBridge, ipcRenderer } = require('electron');
contextBridge.exposeInMainWorld('materia', {
winMin: () => ipcRenderer.send('win-min'),
winMax: () => ipcRenderer.send('win-max'),
winClose: () => ipcRenderer.send('win-close'),
toggleFullscreen: () => ipcRenderer.invoke('toggle-fullscreen'),
focusChrome: () => ipcRenderer.send('focus-chrome'),
chromeBounds: (d) => ipcRenderer.send('chrome-bounds', d),
onAIQuery: (cb) => ipcRenderer.on('ai-query', (e, d) => cb(d)),
onFullscreen: (cb) => ipcRenderer.on('fullscreen', (e, on) => cb(on)),
onWinState: (cb) => ipcRenderer.on('win-state', (e, max) => cb(max)),
onOpenTab: (cb) => ipcRenderer.on('open-tab', (e, data) => cb(data)),
onPopupBlocked: (cb) => ipcRenderer.on('popup-blocked', (e, url) => cb(url)),
onShortcut: (cb) => ipcRenderer.on('shortcut', (e, c) => cb(c)),
onZoomWheel: (cb) => ipcRenderer.on('zoom-wheel', (e, dir) => cb(dir)),
onDownload: (cb) => ipcRenderer.on('download', (e, d) => cb(d)),
openPath: (p) => ipcRenderer.invoke('open-path', p),
showItem: (p) => ipcRenderer.invoke('show-item', p),
getDlDirs: () => ipcRenderer.invoke('get-dl-dirs'),
pickDlDir: (cat) => ipcRenderer.invoke('pick-dl-dir', cat),
resetDlDir: (cat) => ipcRenderer.invoke('reset-dl-dir', cat),
ytdlpDownload: (url, quality) => ipcRenderer.invoke('ytdlp-download', url, quality),
onYtdlp: (cb) => ipcRenderer.on('ytdlp', (e, d) => cb(d)),
onYtdlpProgress: (cb) => ipcRenderer.on('ytdlp-progress', (e, p) => cb(p)),
copyText: (t) => ipcRenderer.invoke('copy-text', t),
clearData: (partition, keepLogins) => ipcRenderer.invoke('clear-data', partition, keepLogins),
ensurePartition: (partition) => ipcRenderer.invoke('ensure-partition', partition),
setBlockTrackers: (v) => ipcRenderer.invoke('set-block-trackers', v),
adblockStatus: () => ipcRenderer.invoke('adblock-status'),
defaultBrowserStatus: () => ipcRenderer.invoke('default-browser-status'),
setDefaultBrowser: () => ipcRenderer.invoke('set-default-browser'),
getTrusted: () => ipcRenderer.invoke('get-trusted'),
addTrusted: (host) => ipcRenderer.invoke('add-trusted', host),
removeTrusted: (host) => ipcRenderer.invoke('remove-trusted', host),
isTrusted: (url) => ipcRenderer.invoke('is-trusted', url),
getSettings: () => ipcRenderer.invoke('get-settings'),
setLanguage: (v) => ipcRenderer.invoke('set-language', v),
suggest: (q) => ipcRenderer.invoke('suggest', q),
getProvider: () => { try { return ipcRenderer.sendSync('mm-get-provider'); } catch (_) { return 'ddg'; } },
appVersion: (function () { try { return ipcRenderer.sendSync('mm-get-version'); } catch (_) { return ''; } })(),
setProvider: (id) => ipcRenderer.invoke('set-provider', id),
getCosmetics: (url) => ipcRenderer.invoke('get-cosmetics', url),
openExternal: (url) => ipcRenderer.invoke('open-external', url),
notify: (data) => ipcRenderer.send('notify', data),
copyWorkspaceCookies: (from, to) => ipcRenderer.invoke('copy-workspace-cookies', from, to),
onUpdateAvailable: (cb) => ipcRenderer.on('update-available', (e, d) => cb(d)),
downloadUpdate: (info) => ipcRenderer.invoke('download-update', info),
onUpdateProgress: (cb) => ipcRenderer.on('update-progress', (e, d) => cb(d)),
// WebContentsView tab engine
viewCreate: (o) => ipcRenderer.send('view-create', o),
viewBounds: (d) => ipcRenderer.send('view-bounds', d),
viewHide: (d) => ipcRenderer.send('view-hide', d),
viewDestroy: (d) => ipcRenderer.send('view-destroy', d),
viewNav: (d) => ipcRenderer.send('view-nav', d),
viewZoom: (d) => ipcRenderer.send('view-zoom', d),
viewMute: (d) => ipcRenderer.send('view-mute', d),
viewFind: (d) => ipcRenderer.send('view-find', d),
viewPrint: (d) => ipcRenderer.send('view-print', d),
viewCss: (d) => ipcRenderer.send('view-css', d),
viewExec: (d) => ipcRenderer.invoke('view-exec', d),
tabMoveOut: (d) => ipcRenderer.send('tab-move-out', d),
viewAdopt: (d) => ipcRenderer.send('view-adopt', d),
onAdoptTab: (cb) => ipcRenderer.on('adopt-tab', (e, d) => cb(d)),
onViewEvent: (cb) => ipcRenderer.on('view-event', (e, d) => cb(d)),
// AI panel (docked assistant)
aiToggle: (force) => ipcRenderer.invoke('mm-ai:toggle', force),
aiPanelBounds: (d) => ipcRenderer.send('mm-ai:panel-bounds', d),
aiPanelHide: () => ipcRenderer.send('mm-ai:panel-hide'),
aiActiveTab: (vid) => ipcRenderer.send('mm-ai:active-vid', vid),
onAiBookmark: (cb) => ipcRenderer.on('mm-ai:bookmark', (e, d) => cb(d)),
aiSettingsGet: () => ipcRenderer.invoke('settings:get'),
aiSettingsSet: (patch) => ipcRenderer.invoke('settings:set', patch),
importSources: () => ipcRenderer.invoke('import:sources'),
importBookmarks: (id) => ipcRenderer.invoke('import:bookmarks', id),
importPasswordSources: () => ipcRenderer.invoke('import:password-sources'),
importPasswords: (id) => ipcRenderer.invoke('import:passwords', id),
passwordsList: () => ipcRenderer.invoke('passwords:list'),
passwordReveal: (d) => ipcRenderer.invoke('passwords:reveal', d),
passwordDelete: (d) => ipcRenderer.invoke('passwords:delete', d),
passwordsClear: () => ipcRenderer.invoke('passwords:clear')
});