summarylogtreecommitdiffstats
path: root/rambox-os.js
diff options
context:
space:
mode:
Diffstat (limited to 'rambox-os.js')
-rw-r--r--rambox-os.js29
1 files changed, 29 insertions, 0 deletions
diff --git a/rambox-os.js b/rambox-os.js
new file mode 100644
index 000000000000..d14ad8e2f4db
--- /dev/null
+++ b/rambox-os.js
@@ -0,0 +1,29 @@
+#!/usr/bin/electron
+
+const name = 'rambox-os'
+
+const {app} = require('electron')
+const fs = require('fs')
+const path = require('path')
+
+// Change command name.
+const fd = fs.openSync('/proc/self/comm', fs.constants.O_WRONLY)
+fs.writeSync(fd, name)
+fs.closeSync(fd)
+
+// Remove first command line argument (/usr/bin/electron).
+process.argv.splice(0, 1)
+
+// Set application paths.
+const appPath = path.join(path.dirname(__dirname), 'lib', name)
+const packageJson = require(path.join(appPath, 'package.json'))
+const productName = packageJson.productName
+app.setAppPath(appPath)
+app.setDesktopName(name + '.desktop')
+app.setName(productName)
+app.setPath('userCache', path.join(app.getPath('cache'), productName))
+app.setPath('userData', path.join(app.getPath('appData'), productName))
+app.setVersion(packageJson.version)
+
+// Run the application.
+require('module')._load(appPath, module, true)