diff --git a/cloud.mithraic.sanctum.desktop b/cloud.mithraic.sanctum.desktop new file mode 100644 index 0000000..d6b1d03 --- /dev/null +++ b/cloud.mithraic.sanctum.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Name=Sanctum +Comment=Open source, user-first chat platform +Exec=sanctum +Terminal=false +Type=Application +Icon=cloud.mithraic.sanctum +Categories=Network;InstantMessaging +StartupWMClass=sanctum +X-Desktop-File-Install-Version=0.26 diff --git a/cloud.mithraic.sanctum.metainfo.xml b/cloud.mithraic.sanctum.metainfo.xml new file mode 100644 index 0000000..c14ca83 --- /dev/null +++ b/cloud.mithraic.sanctum.metainfo.xml @@ -0,0 +1,29 @@ + + + cloud.mithraic.sanctum + cloud.mithraic.sanctum.desktop + Sanctum + + izzy + + Open source, user-first chat platform + CC0-1.0 + AGPL-3.0 + +

Sanctum is a self-hosted Stoat client with Avia Client mod support.

+
+ + intense + intense + intense + intense + + + 940 + always + + + keyboard + pointing + +
diff --git a/forge.config.ts b/forge.config.ts index 66d8555..890432b 100644 --- a/forge.config.ts +++ b/forge.config.ts @@ -7,15 +7,14 @@ import { MakerZIP } from "@electron-forge/maker-zip"; import { FusesPlugin } from "@electron-forge/plugin-fuses"; import { VitePlugin } from "@electron-forge/plugin-vite"; import { VitePluginBuildConfig } from "@electron-forge/plugin-vite/dist/Config"; -import { PublisherGithub } from "@electron-forge/publisher-github"; import type { ForgeConfig } from "@electron-forge/shared-types"; import { FuseV1Options, FuseVersion } from "@electron/fuses"; import * as fs from "fs"; const STRINGS = { - author: "Revolt Platforms LTD", - name: "AviaClient", - execName: "aviaclient-desktop", + author: "izzy", + name: "Sanctum", + execName: "sanctum", description: "Open source user-first chat platform.", }; @@ -45,7 +44,7 @@ if (!process.env.PLATFORM) { }), new MakerFlatpak({ options: { - id: "chat.stoat.stoat-desktop", + id: "cloud.mithraic.sanctum", description: STRINGS.description, productName: STRINGS.name, productDescription: STRINGS.description, @@ -157,14 +156,6 @@ const config: ForgeConfig = { [FuseV1Options.OnlyLoadAppFromAsar]: true, }), ], - publishers: [ - new PublisherGithub({ - repository: { - owner: "AvaLilac", - name: "for-desktop", - }, - }), - ], }; export default config; diff --git a/package.json b/package.json index 11d474a..d468043 100644 --- a/package.json +++ b/package.json @@ -1,10 +1,10 @@ { - "name": "stoat-desktop", - "productName": "stoat-desktop", + "name": "sanctum", + "productName": "Sanctum", "version": "1.3.0", "aviaVersion": "1.6.0", "main": ".vite/build/main.js", - "repository": "stoatchat/desktop", + "repository": "https://git.mithraic.cloud/ad3laid3/sanctum", "scripts": { "start": "electron-forge start", "package": "electron-forge package", diff --git a/src/main.ts b/src/main.ts index 2f323ac..013f47a 100644 --- a/src/main.ts +++ b/src/main.ts @@ -14,12 +14,18 @@ import { initDiscordRpc } from "./native/discordRpc"; import { initTray } from "./native/tray"; import { BUILD_URL, createMainWindow, mainWindow } from "./native/window"; +if (process.platform === "linux") { + app.commandLine.appendSwitch("disable-gpu-sandbox"); + app.commandLine.appendSwitch("no-zygote"); + app.commandLine.appendSwitch("use-gl", "desktop"); +} + const applyAppName = () => { try { - app.setName("AviaClient"); - app.name = "AviaClient"; + app.setName("Sanctum"); + app.name = "Sanctum"; if (process.platform === "win32") { - app.setAppUserModelId("AviaClient"); + app.setAppUserModelId("cloud.mithraic.sanctum"); } } catch { /* empty */ @@ -87,10 +93,10 @@ if (acquiredLock) { applyAppName(); createMainWindow(); if (mainWindow) { - mainWindow.setTitle("AviaClient"); + mainWindow.setTitle("Sanctum"); mainWindow.on("page-title-updated", (e) => { e.preventDefault(); - mainWindow.setTitle("AviaClient"); + mainWindow.setTitle("Sanctum"); }); } loadInject(); @@ -107,7 +113,7 @@ if (acquiredLock) { setBadgeCount(0); if (process.platform === "win32") { - app.setAppUserModelId("AviaClient"); + app.setAppUserModelId("cloud.mithraic.sanctum"); } if (process.platform === "darwin") { @@ -133,10 +139,10 @@ if (acquiredLock) { if (BrowserWindow.getAllWindows().length === 0) { createMainWindow(); if (mainWindow) { - mainWindow.setTitle("AviaClient"); + mainWindow.setTitle("Sanctum"); mainWindow.on("page-title-updated", (e) => { e.preventDefault(); - mainWindow.setTitle("AviaClient"); + mainWindow.setTitle("Sanctum"); }); } loadInject(); diff --git a/src/native/discordRpc.ts b/src/native/discordRpc.ts index 43ea475..9a00663 100644 --- a/src/native/discordRpc.ts +++ b/src/native/discordRpc.ts @@ -16,7 +16,7 @@ export async function initDiscordRpc() { rpc.on("ready", () => rpc.setActivity({ - details: "Chatting with others on AviaClient", + details: "Chatting with others on Sanctum", state: "stoat.chat", largeImageKey: "qr", largeImageText: "Join Stoat!", diff --git a/src/native/tray.ts b/src/native/tray.ts index 79cfa87..0840e28 100644 --- a/src/native/tray.ts +++ b/src/native/tray.ts @@ -27,7 +27,7 @@ export function initTray() { const trayIcon = createTrayIcon(); tray = new Tray(trayIcon); updateTrayMenu(); - tray.setToolTip("AviaClient for Desktop"); + tray.setToolTip("Sanctum for Desktop"); tray.setImage(trayIcon); tray.on("click", () => { config.sync(); @@ -46,7 +46,7 @@ export function initTray() { export function updateTrayMenu() { tray.setContextMenu( Menu.buildFromTemplate([ - { label: "AviaClient for Desktop", type: "normal", enabled: false }, + { label: "Sanctum for Desktop", type: "normal", enabled: false }, { label: "Versions", type: "submenu", @@ -57,7 +57,7 @@ export function updateTrayMenu() { enabled: false, }, { - label: `AviaClient: ${aviaVersion}`, + label: `Sanctum: ${aviaVersion}`, type: "normal", enabled: false, },