diff --git a/package-lock.json b/package-lock.json
index b077abd..f49863b 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -10,13 +10,12 @@
"hasInstallScript": true,
"license": "OSL-3.0",
"dependencies": {
+ "easy-auto-launch": "^6.0.2",
"electron-context-menu": "https://github.com/ArmCord/electron-context-menu.git",
- "electron-editor-context-menu": "^1.1.1",
"v8-compile-cache": "^2.3.0",
"ws": "^8.6.0"
},
"devDependencies": {
- "@types/electron-json-storage": "^4.5.0",
"@types/node": "^17.0.33",
"@types/ws": "^8.5.3",
"copyfiles": "^2.4.1",
@@ -232,12 +231,6 @@
"@types/ms": "*"
}
},
- "node_modules/@types/electron-json-storage": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/@types/electron-json-storage/-/electron-json-storage-4.5.0.tgz",
- "integrity": "sha512-wzDtkJHEENo4yLARfPjdYD6Foa7IORXFiNYLacZ6lJThkrGUWh5vlSSMu925ov5zv8tQHtajn2O7BpHcBtqU3g==",
- "dev": true
- },
"node_modules/@types/fs-extra": {
"version": "9.0.13",
"resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.13.tgz",
@@ -485,6 +478,11 @@
"node": ">= 10.0.0"
}
},
+ "node_modules/applescript": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/applescript/-/applescript-1.0.0.tgz",
+ "integrity": "sha1-u4evVoytA0pOSMS9r2Bno6JwExc="
+ },
"node_modules/argparse": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
@@ -1311,6 +1309,20 @@
"integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=",
"dev": true
},
+ "node_modules/easy-auto-launch": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/easy-auto-launch/-/easy-auto-launch-6.0.2.tgz",
+ "integrity": "sha512-UhrWpPlPB2YKQXU+hw2kIfQzVecDnYsLUiFdLkKv3eCUtxmCcfEcAjxk8P6RMc8IjCoW8N9ALpJh5n0R1h/z1A==",
+ "dependencies": {
+ "applescript": "^1.0.0",
+ "mkdirp": "^1.0.4",
+ "untildify": "^4.0.0",
+ "winreg": "^1.2.4"
+ },
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
"node_modules/ejs": {
"version": "3.1.8",
"resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.8.tgz",
@@ -1459,18 +1471,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/electron-editor-context-menu": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/electron-editor-context-menu/-/electron-editor-context-menu-1.1.1.tgz",
- "integrity": "sha1-3DAJjg37N/YmKOQzAxJMfzN5Vy0=",
- "dependencies": {
- "lodash.clonedeep": "^4.3.0",
- "lodash.defaults": "^4.0.1",
- "lodash.isarray": "^4.0.0",
- "lodash.isempty": "^4.1.2",
- "lodash.isfunction": "^3.0.8"
- }
- },
"node_modules/electron-is-dev": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/electron-is-dev/-/electron-is-dev-2.0.0.tgz",
@@ -2359,32 +2359,6 @@
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
"dev": true
},
- "node_modules/lodash.clonedeep": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
- "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8="
- },
- "node_modules/lodash.defaults": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz",
- "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw="
- },
- "node_modules/lodash.isarray": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-4.0.0.tgz",
- "integrity": "sha1-KspJayjEym1yZxUxNZDALm6jRAM=",
- "deprecated": "This package is deprecated. Use Array.isArray."
- },
- "node_modules/lodash.isempty": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/lodash.isempty/-/lodash.isempty-4.4.0.tgz",
- "integrity": "sha1-b4bL7di+TsmHvpqvM8loTbGzHn4="
- },
- "node_modules/lodash.isfunction": {
- "version": "3.0.9",
- "resolved": "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz",
- "integrity": "sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw=="
- },
"node_modules/lowercase-keys": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz",
@@ -2497,7 +2471,6 @@
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
"integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
- "dev": true,
"bin": {
"mkdirp": "bin/cmd.js"
},
@@ -3302,7 +3275,6 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz",
"integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==",
- "dev": true,
"engines": {
"node": ">=8"
}
@@ -3467,6 +3439,11 @@
"node": ">=8"
}
},
+ "node_modules/winreg": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/winreg/-/winreg-1.2.4.tgz",
+ "integrity": "sha1-ugZWKbepJRMOFXeRCM9UCZDpjRs="
+ },
"node_modules/wrap-ansi": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
@@ -3757,12 +3734,6 @@
"@types/ms": "*"
}
},
- "@types/electron-json-storage": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/@types/electron-json-storage/-/electron-json-storage-4.5.0.tgz",
- "integrity": "sha512-wzDtkJHEENo4yLARfPjdYD6Foa7IORXFiNYLacZ6lJThkrGUWh5vlSSMu925ov5zv8tQHtajn2O7BpHcBtqU3g==",
- "dev": true
- },
"@types/fs-extra": {
"version": "9.0.13",
"resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.13.tgz",
@@ -3977,6 +3948,11 @@
}
}
},
+ "applescript": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/applescript/-/applescript-1.0.0.tgz",
+ "integrity": "sha1-u4evVoytA0pOSMS9r2Bno6JwExc="
+ },
"argparse": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
@@ -4614,6 +4590,17 @@
"integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=",
"dev": true
},
+ "easy-auto-launch": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/easy-auto-launch/-/easy-auto-launch-6.0.2.tgz",
+ "integrity": "sha512-UhrWpPlPB2YKQXU+hw2kIfQzVecDnYsLUiFdLkKv3eCUtxmCcfEcAjxk8P6RMc8IjCoW8N9ALpJh5n0R1h/z1A==",
+ "requires": {
+ "applescript": "^1.0.0",
+ "mkdirp": "^1.0.4",
+ "untildify": "^4.0.0",
+ "winreg": "^1.2.4"
+ }
+ },
"ejs": {
"version": "3.1.8",
"resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.8.tgz",
@@ -4731,18 +4718,6 @@
"unused-filename": "^2.1.0"
}
},
- "electron-editor-context-menu": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/electron-editor-context-menu/-/electron-editor-context-menu-1.1.1.tgz",
- "integrity": "sha1-3DAJjg37N/YmKOQzAxJMfzN5Vy0=",
- "requires": {
- "lodash.clonedeep": "^4.3.0",
- "lodash.defaults": "^4.0.1",
- "lodash.isarray": "^4.0.0",
- "lodash.isempty": "^4.1.2",
- "lodash.isfunction": "^3.0.8"
- }
- },
"electron-is-dev": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/electron-is-dev/-/electron-is-dev-2.0.0.tgz",
@@ -5428,31 +5403,6 @@
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
"dev": true
},
- "lodash.clonedeep": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
- "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8="
- },
- "lodash.defaults": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz",
- "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw="
- },
- "lodash.isarray": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-4.0.0.tgz",
- "integrity": "sha1-KspJayjEym1yZxUxNZDALm6jRAM="
- },
- "lodash.isempty": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/lodash.isempty/-/lodash.isempty-4.4.0.tgz",
- "integrity": "sha1-b4bL7di+TsmHvpqvM8loTbGzHn4="
- },
- "lodash.isfunction": {
- "version": "3.0.9",
- "resolved": "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz",
- "integrity": "sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw=="
- },
"lowercase-keys": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz",
@@ -5531,8 +5481,7 @@
"mkdirp": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
- "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
- "dev": true
+ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw=="
},
"modify-filename": {
"version": "1.1.0",
@@ -6167,8 +6116,7 @@
"untildify": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz",
- "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==",
- "dev": true
+ "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw=="
},
"unused-filename": {
"version": "2.1.0",
@@ -6301,6 +6249,11 @@
"string-width": "^4.0.0"
}
},
+ "winreg": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/winreg/-/winreg-1.2.4.tgz",
+ "integrity": "sha1-ugZWKbepJRMOFXeRCM9UCZDpjRs="
+ },
"wrap-ansi": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
diff --git a/package.json b/package.json
index 48bde48..fb80931 100644
--- a/package.json
+++ b/package.json
@@ -33,6 +33,7 @@
"typescript": "^4.6.3"
},
"dependencies": {
+ "easy-auto-launch": "^6.0.2",
"electron-context-menu": "https://github.com/ArmCord/electron-context-menu.git",
"v8-compile-cache": "^2.3.0",
"ws": "^8.6.0"
diff --git a/src/content/setup.html b/src/content/setup.html
index 5e45b06..e02c49e 100644
--- a/src/content/setup.html
+++ b/src/content/setup.html
@@ -96,6 +96,7 @@
windowStyle: "default",
channel: "stable",
armcordCSP: true,
+ autoLaunch: true,
minimizeToTray: true,
automaticPatches: false,
mods: "cumcord",
@@ -126,6 +127,7 @@
windowStyle: "default",
channel: options.channel,
armcordCSP: true,
+ autoLaunch: true,
minimizeToTray: true,
automaticPatches: false,
mods: options.mod,
@@ -141,6 +143,7 @@
armcordCSP: true,
minimizeToTray: true,
automaticPatches: false,
+ autoLaunch: true,
mods: "none",
inviteWebsocket: true,
blurType: "acrylic"
diff --git a/src/main.ts b/src/main.ts
index 38dfa46..2d37d3c 100644
--- a/src/main.ts
+++ b/src/main.ts
@@ -7,6 +7,7 @@ import "./extensions/plugin";
import "./tray";
import {createCustomWindow, createNativeWindow, createTabsHost} from "./window";
import "./shortcuts";
+import AutoLaunch from "easy-auto-launch";
export var settings: any;
export var customTitlebar: boolean;
@@ -25,7 +26,17 @@ if (process.platform == "linux") {
}
checkIfConfigExists();
+var AutoLauncher = new AutoLaunch({
+ name: 'ArmCord',
+ path: '/Applications/ArmCord.app',
+});
+
app.whenReady().then(async () => {
+ if (await getConfig("autoLaunch") == "true") {
+ AutoLauncher.enable()
+ } else {
+ AutoLauncher.disable()
+ }
switch (await getConfig("windowStyle")) {
case "default":
createCustomWindow();
diff --git a/src/settings/main.ts b/src/settings/main.ts
index 77c7e02..53a46d4 100644
--- a/src/settings/main.ts
+++ b/src/settings/main.ts
@@ -15,7 +15,7 @@ export function createSettingsWindow() {
} else {
settingsWindow = new BrowserWindow({
width: 500,
- height: 500,
+ height: 555,
title: "ArmCord Settings",
darkTheme: true,
frame: true,
diff --git a/src/settings/settings.html b/src/settings/settings.html
index 7d723c5..93eaa9b 100644
--- a/src/settings/settings.html
+++ b/src/settings/settings.html
@@ -40,6 +40,12 @@
+
+