diff --git a/package.json b/package.json index 9ae640b..3deb972 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ArmCord", - "version": "3.0.2", + "version": "3.0.0", "description": "ArmCord is a custom client designed to enhance your Discord experience while keeping everything lightweight.", "main": "ts-out/main.js", "scripts": { diff --git a/src/main.ts b/src/main.ts index e46374c..842fa6a 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,22 +1,17 @@ // Modules to control application life and create native browser window -import { - app, - BrowserWindow, - ipcMain, - shell, - desktopCapturer, - session, -} from "electron"; +import { app, BrowserWindow, ipcMain, shell, desktopCapturer, session } from "electron"; import * as path from "path"; import "v8-compile-cache"; import * as storage from "electron-json-storage"; -import { saveSettings, getVersion, setup, getConfigUnsafe } from "./utils"; +import { saveSettings, getVersion, setup } from "./utils"; import "./extensions/mods"; import "./extensions/plugin"; import "./tray"; import "./shortcuts"; -var contentPath: string; +var contentPath: string = "null"; +var frame: boolean; var channel: string; +var titlebar: boolean; export var mainWindow: BrowserWindow; var settings: any; @@ -35,21 +30,22 @@ storage.has("settings", function (error, hasKey) { storage.get("settings", function (error, data: any) { if (error) throw error; console.log(data); + titlebar = data.customTitlebar; channel = data.channel; settings = data; - + if ((titlebar = true)) { + frame = false; + } else { + frame = true; + } }); -var titlebar:any = getConfigUnsafe("customTitlebar") -console.log(!titlebar) function createWindow() { mainWindow = new BrowserWindow({ width: 300, height: 350, title: "ArmCord", - darkTheme: true, - icon: path.join(__dirname, "/assets/icon_transparent.png"), - frame: !titlebar, - autoHideMenuBar: true, + icon: "./assets/ac_icon_transparent.png", + frame: frame, webPreferences: { preload: path.join(__dirname, "preload/preload.js"), }, @@ -85,8 +81,9 @@ function createWindow() { mainWindow.setSize(800, 600); }); ipcMain.on("restart", (event, arg) => { - app.relaunch(); - app.exit(); + app.relaunch(); + app.exit(); + }); ipcMain.on("saveSettings", (event, ...args) => { @@ -119,43 +116,38 @@ function createWindow() { shell.openExternal(url); return { action: "deny" }; }); - console.log(contentPath) - try { - mainWindow.loadFile(contentPath); - } catch(e) { - console.log("Major error detected while starting up. User is most likely on Windows platform. Fallback to alternative startup.") - mainWindow.loadURL(`file://${__dirname}/content/splash.html`); - } + + mainWindow.loadFile(contentPath); } app.whenReady().then(() => { createWindow(); - session - .fromPartition("some-partition") - .setPermissionRequestHandler((webContents, permission, callback) => { - const url = webContents.getURL(); //unused? +session + .fromPartition("some-partition") + .setPermissionRequestHandler((webContents, permission, callback) => { + const url = webContents.getURL(); //unused? - if (permission === "notifications") { - // Approves the permissions request - callback(true); - } - if (permission === "media") { - // Approves the permissions request - callback(true); - } - if (url.startsWith("discord://")) { - // Denies the permissions request - return callback(false); - } - if (url.startsWith("discord.com/science")) { - // Denies the permissions request - return callback(false); - } - if (url.startsWith("discord.com/tracing")) { - // Denies the permissions request - return callback(false); - } - }); + if (permission === "notifications") { + // Approves the permissions request + callback(true); + } + if (permission === "media") { + // Approves the permissions request + callback(true); + } + if (url.startsWith("discord://")) { + // Denies the permissions request + return callback(false); + } + if (url.startsWith("discord.com/science")) { + // Denies the permissions request + return callback(false); + } + if (url.startsWith("discord.com/tracing")) { + // Denies the permissions request + return callback(false); + } + }); app.on("activate", function () { if (BrowserWindow.getAllWindows().length === 0) createWindow(); }); diff --git a/src/preload/bridge.ts b/src/preload/bridge.ts index 5916881..f932325 100644 --- a/src/preload/bridge.ts +++ b/src/preload/bridge.ts @@ -1,6 +1,6 @@ import { contextBridge, ipcRenderer } from "electron"; import { getDisplayMediaSelector } from "./capturer"; -import { injectTitlebar } from "./titlebar"; + contextBridge.exposeInMainWorld("armcord", { window: { @@ -9,9 +9,6 @@ contextBridge.exposeInMainWorld("armcord", { minimize: () => ipcRenderer.send("win-minimize"), maximize: () => ipcRenderer.send("win-maximize"), }, - titlebar: { - injectTitlebar: () => injectTitlebar(), - }, electron: process.versions.electron, channel: ipcRenderer.sendSync("channel"), version: ipcRenderer.sendSync("get-app-version", "app-version"), diff --git a/src/tray.ts b/src/tray.ts index 8bd4057..e84ee85 100644 --- a/src/tray.ts +++ b/src/tray.ts @@ -1,9 +1,8 @@ import { app, Menu, Tray } from 'electron'; import {mainWindow} from './main'; -import * as path from 'path' let tray = null app.whenReady().then(() => { - tray = new Tray(path.join(__dirname, "../", "/assets/ac_plug.png")) + tray = new Tray('./assets/ac_plug.png') const contextMenu = Menu.buildFromTemplate([ { label: "Open ArmCord", @@ -26,6 +25,6 @@ app.whenReady().then(() => { }, ]); - tray.setToolTip('ArmCord ' + process.env.npm_package_version) + tray.setToolTip('ArmCord' + process.env.npm_package_version) tray.setContextMenu(contextMenu) }) \ No newline at end of file diff --git a/src/utils.ts b/src/utils.ts index 902a2d1..f59a220 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -1,7 +1,5 @@ -import * as storage from "electron-json-storage"; import * as fs from "fs"; -import { app } from "electron"; - +import * as storage from "electron-json-storage"; //utillity functions that are used all over the codebase or just too obscure to be put in the file used in export function addStyle(styleString: string) { const style = document.createElement("style"); @@ -23,7 +21,6 @@ export function setup() { channel: "stable", firstRun: "done", armcordCSP: true, - mods: "cumcord" }, function (error) { if (error) throw error; @@ -54,16 +51,8 @@ export function saveSettings( } ); } -export async function getConfigUnsafe(object: string) { - const userDataPath = app.getPath("userData"); - const storagePath = userDataPath + "/storage/"; - let rawdata = fs.readFileSync(storagePath + "settings.json", "utf-8"); - let returndata = JSON.parse(rawdata); - console.log(returndata[object]); - return returndata[object] -} + export function getVersion() { - //to-do better way of doing this - return '3.0.1'; + const pkgjson = fs.readFileSync("./package.json", "utf8"); + return JSON.parse(pkgjson).version; } - \ No newline at end of file