From 5893f5bea945b7d168f86cdbc72e61194b021764 Mon Sep 17 00:00:00 2001 From: smartfrigde <37928912+smartfrigde@users.noreply.github.com> Date: Sat, 14 May 2022 21:02:09 +0200 Subject: [PATCH] Add auto-launch and bunch of other things --- package-lock.json | 143 +++++++++++++------------------------ package.json | 1 + src/content/setup.html | 3 + src/main.ts | 11 +++ src/settings/main.ts | 2 +- src/settings/settings.html | 8 +++ src/utils.ts | 26 +++++-- src/window.ts | 12 +++- 8 files changed, 101 insertions(+), 105 deletions(-) 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 @@ +
+
+ + + +