mirror of
https://github.com/vrcx-team/VRCX.git
synced 2026-04-06 00:32:02 +02:00
* fix: open folder and select item on linux * feat: linux wrist overlay * feat: linux hmd overlay * feat: replace unix sockets with shm on linux * fix: reduce linux wrist overlay fps * fix: hide electron offscreen windows * fix: destroy electron offscreen windows when not in use * fix: open folder and select item on linux * feat: cpu, uptime and device monitoring on linux * feat: native wayland gl context with x11 fallback on linux * fix: use platform agnostic wording for common folders * fix: crash dumps folder button on linux * fix: enable missing VR notification options on linux * fix: update cef, eslint config to include updated AppApiVr names * merge: rebase linux VR changes to upstream * Clean up * Load custom file contents rather than path Fixes loading custom file in debug mode * fix: call SetVR on linux as well * fix: AppApiVrElectron init, properly create and dispose of shm * Handle avatar history error * Lint * Change overlay dispose logic * macOS DOTNET_ROOT * Remove moving dotnet bin * Fix * fix: init overlay on SteamVR restart * Fix fetching empty instance, fix user dialog not fetching * Trim direct access inputs * Make icon higher res, because mac build would fail 😂 * macOS fixes * will it build? that's the question * fix: ensure offscreen windows are ready before vrinit * will it build? that's the question * will it build? that's the question * meow * one, more, time * Fix crash and overlay ellipsis * a --------- Co-authored-by: Natsumi <cmcooper123@hotmail.com>
38 lines
1.5 KiB
JavaScript
38 lines
1.5 KiB
JavaScript
/**
|
|
* The preload script runs before `index.html` is loaded
|
|
* in the renderer. It has access to web APIs as well as
|
|
* Electron's renderer process modules and some polyfilled
|
|
* Node.js functions.
|
|
*
|
|
* https://www.electronjs.org/docs/latest/tutorial/sandbox
|
|
*/
|
|
const { contextBridge, ipcRenderer, app } = require('electron');
|
|
|
|
contextBridge.exposeInMainWorld('interopApi', {
|
|
callDotNetMethod: (className, methodName, args) => {
|
|
return ipcRenderer.invoke(
|
|
'callDotNetMethod',
|
|
className,
|
|
methodName,
|
|
args
|
|
);
|
|
}
|
|
});
|
|
|
|
contextBridge.exposeInMainWorld('electron', {
|
|
openFileDialog: () => ipcRenderer.invoke('dialog:openFile'),
|
|
openDirectoryDialog: () => ipcRenderer.invoke('dialog:openDirectory'),
|
|
onWindowPositionChanged: (callback) =>
|
|
ipcRenderer.on('setWindowPosition', callback),
|
|
onWindowSizeChanged: (callback) =>
|
|
ipcRenderer.on('setWindowSize', callback),
|
|
onWindowStateChange: (callback) =>
|
|
ipcRenderer.on('setWindowState', callback),
|
|
desktopNotification: (title, body, icon) =>
|
|
ipcRenderer.invoke('notification:showNotification', title, body, icon),
|
|
restartApp: () => ipcRenderer.invoke('app:restart'),
|
|
getWristOverlayWindow: () => ipcRenderer.invoke('app:getWristOverlayWindow'),
|
|
getHmdOverlayWindow: () => ipcRenderer.invoke('app:getHmdOverlayWindow'),
|
|
updateVr: (active, hmdOverlay, wristOverlay, menuButton, overlayHand) =>
|
|
ipcRenderer.invoke('app:updateVr', active, hmdOverlay, wristOverlay, menuButton, overlayHand)
|
|
}); |