Browse Source

fix: leave behind the unmodified XDG_CURRENT_DESKTOP variable (#23554)

Co-authored-by: Samuel Attard <[email protected]>
trop[bot] 5 years ago
parent
commit
a3256facea
2 changed files with 12 additions and 0 deletions
  1. 11 0
      docs/api/environment-variables.md
  2. 1 0
      lib/browser/init.ts

+ 11 - 0
docs/api/environment-variables.md

@@ -135,3 +135,14 @@ the one downloaded by `npm install`. Usage:
 ```sh
 export ELECTRON_OVERRIDE_DIST_PATH=/Users/username/projects/electron/out/Testing
 ```
+
+## Set By Electron
+
+Electron sets some variables in your environment at runtime.
+
+### `ORIGINAL_XDG_CURRENT_DESKTOP`
+
+This variable is set to the value of `XDG_CURRENT_DESKTOP` that your application
+originally launched with.  Electron sometimes modifies the value of `XDG_CURRENT_DESKTOP`
+to affect other logic within Chromium so if you want access to the _original_ value
+you should look up this environment variable instead.

+ 1 - 0
lib/browser/init.ts

@@ -188,6 +188,7 @@ function currentPlatformSupportsAppIndicator () {
 }
 
 // Workaround for electron/electron#5050 and electron/electron#9046
+process.env.ORIGINAL_XDG_CURRENT_DESKTOP = process.env.XDG_CURRENT_DESKTOP;
 if (currentPlatformSupportsAppIndicator()) {
   process.env.XDG_CURRENT_DESKTOP = 'Unity';
 }