diff --git a/src/main/mainWindow.ts b/src/main/mainWindow.ts index 62a2559..0699652 100644 --- a/src/main/mainWindow.ts +++ b/src/main/mainWindow.ts @@ -379,7 +379,8 @@ function createMainWindow() { contextIsolation: true, devTools: true, preload: join(__dirname, "preload.js"), - spellcheck: true + spellcheck: true, + ...(Settings.store.middleClickAutoscroll && {enableBlinkFeatures: 'MiddleClickAutoscroll'}) }, icon: ICON_PATH, frame: !noFrame, diff --git a/src/renderer/components/Settings.tsx b/src/renderer/components/Settings.tsx index eb0387f..16988a0 100644 --- a/src/renderer/components/Settings.tsx +++ b/src/renderer/components/Settings.tsx @@ -10,7 +10,7 @@ import { Margins } from "@vencord/types/utils"; import { Button, Forms, Select, Switch, Text, Toasts, useState } from "@vencord/types/webpack/common"; import { setBadge } from "renderer/appBadge"; import { useSettings } from "renderer/settings"; -import { isMac } from "renderer/utils"; +import { isMac, isLinux } from "renderer/utils"; import { isTruthy } from "shared/utils/guards"; export default function SettingsUi() { @@ -34,6 +34,7 @@ export default function SettingsUi() { true, () => Settings.tray ?? true ], + !isLinux && ["middleClickAutoscroll", "Middle Click Autoscroll", "Enables middle-click scrolling (Requires a full restart)", false], ["arRPC", "Rich Presence", "Enables Rich Presence via arRPC", false], [ "disableMinSize", diff --git a/src/shared/settings.d.ts b/src/shared/settings.d.ts index d796e4b..a13adae 100644 --- a/src/shared/settings.d.ts +++ b/src/shared/settings.d.ts @@ -12,6 +12,7 @@ export interface Settings { transparencyOption?: "none" | "mica" | "tabbed" | "acrylic"; tray?: boolean; minimizeToTray?: boolean; + middleClickAutoscroll?: boolean; openLinksWithElectron?: boolean; staticTitle?: boolean; enableMenu?: boolean;