MCPcopy Index your code
hub / github.com/wavetermdev/waveterm / callWithOriginalXdgCurrentDesktopAsync

Function callWithOriginalXdgCurrentDesktopAsync

emain/emain-platform.ts:252–267  ·  view source on GitHub ↗

* Calls the given async callback with the value of the XDG_CURRENT_DESKTOP environment variable set to ORIGINAL_XDG_CURRENT_DESKTOP if it is set. * @see https://www.electronjs.org/docs/latest/api/environment-variables#original_xdg_current_desktop * @param callback The async callback to call.

(callback: () => Promise<void>)

Source from the content-addressed store, hash-verified

250 * @param callback The async callback to call.
251 */
252async function callWithOriginalXdgCurrentDesktopAsync(callback: () => Promise<void>) {
253 const currXdgCurrentDesktopDefined = "XDG_CURRENT_DESKTOP" in process.env;
254 const currXdgCurrentDesktop = process.env.XDG_CURRENT_DESKTOP;
255 const originalXdgCurrentDesktop = getXdgCurrentDesktop();
256 if (originalXdgCurrentDesktop) {
257 process.env.XDG_CURRENT_DESKTOP = originalXdgCurrentDesktop;
258 }
259 await callback();
260 if (originalXdgCurrentDesktop) {
261 if (currXdgCurrentDesktopDefined) {
262 process.env.XDG_CURRENT_DESKTOP = currXdgCurrentDesktop;
263 } else {
264 delete process.env.XDG_CURRENT_DESKTOP;
265 }
266 }
267}
268
269export {
270 callWithOriginalXdgCurrentDesktop,

Callers 1

initIpcHandlersFunction · 0.90

Calls 1

getXdgCurrentDesktopFunction · 0.85

Tested by

no test coverage detected