diff --git a/src/main/mainWindow.ts b/src/main/mainWindow.ts index 4e115a1..92bbd32 100644 --- a/src/main/mainWindow.ts +++ b/src/main/mainWindow.ts @@ -262,6 +262,13 @@ function createMainWindow() { }, icon: ICON_PATH, frame: VencordSettings.store.frameless !== true, + ...(Settings.store.transparent + ? { + backgroundColor: "#00000000", + backgroundMaterial: Settings.store.transparencyOption, + transparent: true + } + : {}), ...(Settings.store.staticTitle ? { title: "Vencord" } : {}), ...(VencordSettings.store.macosTranslucency ? { diff --git a/src/renderer/components/Settings.tsx b/src/renderer/components/Settings.tsx index bf915b0..4880a6d 100644 --- a/src/renderer/components/Settings.tsx +++ b/src/renderer/components/Settings.tsx @@ -10,6 +10,7 @@ import { Margins } from "@vencord/types/utils"; import { Button, Forms, Select, Switch, Text, useState } from "@vencord/types/webpack/common"; import { setBadge } from "renderer/appBadge"; import { useSettings } from "renderer/settings"; +import { isWindows } from "renderer/utils"; export default function SettingsUi() { const Settings = useSettings(); @@ -46,7 +47,7 @@ export default function SettingsUi() { Vencord Desktop Settings - Discord Branch + Discord Branch (Settings.transparencyOption = v)} + isSelected={v => v === Settings.transparencyOption} + serialize={s => s} + isDisabled={!Settings.transparent} + /> + + + + } + Vencord Location Vencord files are loaded from{" "} diff --git a/src/shared/settings.d.ts b/src/shared/settings.d.ts index f2b6ced..843b001 100644 --- a/src/shared/settings.d.ts +++ b/src/shared/settings.d.ts @@ -7,6 +7,8 @@ import type { Rectangle } from "electron"; export interface Settings { + transparent?: boolean; + transparencyOption?: "mica" | "tabbed" | "acrylic"; maximized?: boolean; minimized?: boolean; windowBounds?: Rectangle;