fix window controls

This commit is contained in:
Vendicated
2026-01-24 02:25:37 +01:00
parent 786c3cc196
commit 5befd967ba
9 changed files with 48 additions and 40 deletions
+1 -1
View File
@@ -38,7 +38,7 @@
"@stylistic/eslint-plugin": "^5.6.1", "@stylistic/eslint-plugin": "^5.6.1",
"@types/node": "^25.0.3", "@types/node": "^25.0.3",
"@types/react": "19.2.1", "@types/react": "19.2.1",
"@vencord/types": "^1.13.7", "@vencord/types": "^1.14.1",
"dotenv": "^17.2.3", "dotenv": "^17.2.3",
"electron": "^39.2.7", "electron": "^39.2.7",
"electron-builder": "^26.0.12", "electron-builder": "^26.0.12",
+37 -15
View File
@@ -36,8 +36,8 @@ importers:
specifier: 19.2.1 specifier: 19.2.1
version: 19.2.1 version: 19.2.1
'@vencord/types': '@vencord/types':
specifier: ^1.13.7 specifier: ^1.14.1
version: 1.13.7(@types/react-dom@18.3.1)(@types/react@19.2.1) version: 1.14.1(@types/react-dom@18.3.1)(@types/react@19.2.1)
dotenv: dotenv:
specifier: ^17.2.3 specifier: ^17.2.3
version: 17.2.3 version: 17.2.3
@@ -461,6 +461,9 @@ packages:
'@types/node@22.19.3': '@types/node@22.19.3':
resolution: {integrity: sha512-1N9SBnWYOJTrNZCdh/yJE+t910Y128BoyY+zBLWhL3r0TYzlTmFdXrPwHL9DyFZmlEXNQQolTZh3KHV31QDhyA==} resolution: {integrity: sha512-1N9SBnWYOJTrNZCdh/yJE+t910Y128BoyY+zBLWhL3r0TYzlTmFdXrPwHL9DyFZmlEXNQQolTZh3KHV31QDhyA==}
'@types/node@22.19.7':
resolution: {integrity: sha512-MciR4AKGHWl7xwxkBa6xUGxQJ4VBOmPTF7sL+iGzuahOFaO0jHCsuEfS80pan1ef4gWId1oWOweIhrDEYLuaOw==}
'@types/node@25.0.3': '@types/node@25.0.3':
resolution: {integrity: sha512-W609buLVRVmeW693xKfzHeIV6nJGGz98uCPfeXI1ELMLXVeKYZ9m15fAMSaUPBHYLGFsVRcMmSCksQOrZV9BYA==} resolution: {integrity: sha512-W609buLVRVmeW693xKfzHeIV6nJGGz98uCPfeXI1ELMLXVeKYZ9m15fAMSaUPBHYLGFsVRcMmSCksQOrZV9BYA==}
@@ -550,8 +553,8 @@ packages:
peerDependencies: peerDependencies:
'@types/react': ^19.0.10 '@types/react': ^19.0.10
'@vencord/types@1.13.7': '@vencord/types@1.14.1':
resolution: {integrity: sha512-MThrBwMEJ0CvKMrVgJC4cvJuDwwFXEhgSOJnmDZxmJeKOByVWLo7xxjn1suHkE1/euw9J5lGTfz1QTiYVXbLqA==} resolution: {integrity: sha512-P4eYl3IJKXLjAWH2Ejs2/z8eOS0LsuTNFqL9OHXQRXtOWoAEYNG6z9MXH25Thr/dIUH839IZCW872XjOSVIauQ==}
peerDependencies: peerDependencies:
'@types/react': 18.3.1 '@types/react': 18.3.1
'@types/react-dom': 18.3.1 '@types/react-dom': 18.3.1
@@ -2157,8 +2160,8 @@ packages:
resolution: {integrity: sha512-E2wEyrgX/CqvicaQYU3Ze1PFGjc4QYPGsjUrlYkqAE0WjHEZwgOsGMPMzkMse4LjJbDmaEuDX3CM036j5K2DSQ==} resolution: {integrity: sha512-E2wEyrgX/CqvicaQYU3Ze1PFGjc4QYPGsjUrlYkqAE0WjHEZwgOsGMPMzkMse4LjJbDmaEuDX3CM036j5K2DSQ==}
engines: {node: '>=10'} engines: {node: '>=10'}
node-abi@3.85.0: node-abi@3.87.0:
resolution: {integrity: sha512-zsFhmbkAzwhTft6nd3VxcG0cvJsT70rL+BIGHWVq5fi6MwGrHwzqKaxXE+Hl2GmnGItnDKPPkO5/LQqjVkIdFg==} resolution: {integrity: sha512-+CGM1L1CgmtheLcBuleyYOn7NWPVu0s0EJH2C4puxgEZb9h8QpR9G2dBfZJOAUhi7VQxuBPMd0hiISWcTyiYyQ==}
engines: {node: '>=10'} engines: {node: '>=10'}
node-addon-api@1.7.2: node-addon-api@1.7.2:
@@ -2512,8 +2515,9 @@ packages:
sax@1.4.1: sax@1.4.1:
resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==} resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==}
sax@1.4.3: sax@1.4.4:
resolution: {integrity: sha512-yqYn1JhPczigF94DMS+shiDMjDowYO6y9+wB/4WgO0Y19jWYk0lQ4tuG5KI7kj4FTp1wxPj5IFfcrz/s1c3jjQ==} resolution: {integrity: sha512-1n3r/tGXO6b6VXMdFT54SHzT9ytu9yr7TaELowdYpMqY/Ao7EnlQGmAQ1+RatX7Tkkdm6hONI2owqNx2aZj5Sw==}
engines: {node: '>=11.0.0'}
semver-compare@1.0.0: semver-compare@1.0.0:
resolution: {integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==} resolution: {integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==}
@@ -2911,6 +2915,10 @@ packages:
resolution: {integrity: sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==} resolution: {integrity: sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==}
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
which-typed-array@1.1.20:
resolution: {integrity: sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg==}
engines: {node: '>= 0.4'}
which@1.3.1: which@1.3.1:
resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==}
hasBin: true hasBin: true
@@ -3066,7 +3074,7 @@ snapshots:
detect-libc: 2.1.2 detect-libc: 2.1.2
fs-extra: 10.1.0 fs-extra: 10.1.0
got: 11.8.6 got: 11.8.6
node-abi: 3.85.0 node-abi: 3.87.0
node-api-version: 0.2.1 node-api-version: 0.2.1
node-gyp: 9.4.1 node-gyp: 9.4.1
ora: 5.4.1 ora: 5.4.1
@@ -3347,6 +3355,10 @@ snapshots:
dependencies: dependencies:
undici-types: 6.21.0 undici-types: 6.21.0
'@types/node@22.19.7':
dependencies:
undici-types: 6.21.0
'@types/node@25.0.3': '@types/node@25.0.3':
dependencies: dependencies:
undici-types: 7.16.0 undici-types: 7.16.0
@@ -3476,10 +3488,10 @@ snapshots:
moment: 2.30.1 moment: 2.30.1
type-fest: 4.41.0 type-fest: 4.41.0
'@vencord/types@1.13.7(@types/react-dom@18.3.1)(@types/react@19.2.1)': '@vencord/types@1.14.1(@types/react-dom@18.3.1)(@types/react@19.2.1)':
dependencies: dependencies:
'@types/lodash': 4.17.15 '@types/lodash': 4.17.15
'@types/node': 22.19.3 '@types/node': 22.19.7
'@types/react': 19.2.1 '@types/react': 19.2.1
'@types/react-dom': 18.3.1 '@types/react-dom': 18.3.1
'@vencord/discord-types': 1.0.0(@types/react@19.2.1) '@vencord/discord-types': 1.0.0(@types/react@19.2.1)
@@ -3838,7 +3850,7 @@ snapshots:
builder-util-runtime@9.2.10: builder-util-runtime@9.2.10:
dependencies: dependencies:
debug: 4.4.3 debug: 4.4.3
sax: 1.4.3 sax: 1.4.4
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@@ -4432,7 +4444,7 @@ snapshots:
typed-array-byte-offset: 1.0.4 typed-array-byte-offset: 1.0.4
typed-array-length: 1.0.7 typed-array-length: 1.0.7
unbox-primitive: 1.1.0 unbox-primitive: 1.1.0
which-typed-array: 1.1.19 which-typed-array: 1.1.20
es-define-property@1.0.1: {} es-define-property@1.0.1: {}
@@ -5575,7 +5587,7 @@ snapshots:
dependencies: dependencies:
semver: 7.7.2 semver: 7.7.2
node-abi@3.85.0: node-abi@3.87.0:
dependencies: dependencies:
semver: 7.7.3 semver: 7.7.3
@@ -5966,7 +5978,7 @@ snapshots:
sax@1.4.1: {} sax@1.4.1: {}
sax@1.4.3: {} sax@1.4.4: {}
semver-compare@1.0.0: semver-compare@1.0.0:
optional: true optional: true
@@ -6468,6 +6480,16 @@ snapshots:
gopd: 1.2.0 gopd: 1.2.0
has-tostringtag: 1.0.2 has-tostringtag: 1.0.2
which-typed-array@1.1.20:
dependencies:
available-typed-arrays: 1.0.7
call-bind: 1.0.8
call-bound: 1.0.4
for-each: 0.3.5
get-proto: 1.0.1
gopd: 1.2.0
has-tostringtag: 1.0.2
which@1.3.1: which@1.3.1:
dependencies: dependencies:
isexe: 2.0.0 isexe: 2.0.0
+2 -3
View File
@@ -6,15 +6,14 @@
import type arRpcPlugin from "@vencord/types/plugins/arRPC.web"; import type arRpcPlugin from "@vencord/types/plugins/arRPC.web";
import { Logger } from "@vencord/types/utils"; import { Logger } from "@vencord/types/utils";
import { findLazy, findStoreLazy, onceReady } from "@vencord/types/webpack"; import { findLazy, onceReady } from "@vencord/types/webpack";
import { FluxDispatcher, InviteActions } from "@vencord/types/webpack/common"; import { FluxDispatcher, InviteActions, StreamerModeStore } from "@vencord/types/webpack/common";
import { IpcCommands } from "shared/IpcEvents"; import { IpcCommands } from "shared/IpcEvents";
import { onIpcCommand } from "./ipcCommands"; import { onIpcCommand } from "./ipcCommands";
import { Settings } from "./settings"; import { Settings } from "./settings";
const logger = new Logger("VesktopRPC", "#5865f2"); const logger = new Logger("VesktopRPC", "#5865f2");
const StreamerModeStore = findStoreLazy("StreamerModeStore");
const arRPC = Vencord.Plugins.plugins["WebRichPresence (arRPC)"] as typeof arRpcPlugin; const arRPC = Vencord.Plugins.plugins["WebRichPresence (arRPC)"] as typeof arRpcPlugin;
-9
View File
@@ -1,9 +0,0 @@
/*
* Vesktop, a desktop app aiming to give you a snappier Discord Experience
* Copyright (c) 2025 Vendicated and Vesktop contributors
* SPDX-License-Identifier: GPL-3.0-or-later
*/
import { findStoreLazy } from "@vencord/types/webpack";
export const MediaEngineStore = findStoreLazy("MediaEngineStore");
@@ -31,10 +31,9 @@ import {
useForceUpdater useForceUpdater
} from "@vencord/types/utils"; } from "@vencord/types/utils";
import { onceReady } from "@vencord/types/webpack"; import { onceReady } from "@vencord/types/webpack";
import { FluxDispatcher, Select, UserStore, useState } from "@vencord/types/webpack/common"; import { FluxDispatcher, MediaEngineStore, Select, UserStore, useState } from "@vencord/types/webpack/common";
import { Node } from "@vencord/venmic"; import { Node } from "@vencord/venmic";
import type { Dispatch, SetStateAction } from "react"; import type { Dispatch, SetStateAction } from "react";
import { MediaEngineStore } from "renderer/common";
import { addPatch } from "renderer/patches/shared"; import { addPatch } from "renderer/patches/shared";
import { State, useSettings, useVesktopState } from "renderer/settings"; import { State, useSettings, useVesktopState } from "renderer/settings";
import { isLinux, isWindows } from "renderer/utils"; import { isLinux, isWindows } from "renderer/utils";
+1 -1
View File
@@ -5,7 +5,7 @@
*/ */
import { Logger } from "@vencord/types/utils"; import { Logger } from "@vencord/types/utils";
import { MediaEngineStore } from "renderer/common"; import { MediaEngineStore } from "@vencord/types/webpack/common";
const logger = new Logger("VesktopStreamFixes"); const logger = new Logger("VesktopStreamFixes");
+1 -4
View File
@@ -5,8 +5,7 @@
*/ */
import { addContextMenuPatch } from "@vencord/types/api/ContextMenu"; import { addContextMenuPatch } from "@vencord/types/api/ContextMenu";
import { findStoreLazy } from "@vencord/types/webpack"; import { FluxDispatcher, Menu, SpellCheckStore, useMemo, useStateFromStores } from "@vencord/types/webpack/common";
import { FluxDispatcher, Menu, useMemo, useStateFromStores } from "@vencord/types/webpack/common";
import { useSettings } from "renderer/settings"; import { useSettings } from "renderer/settings";
import { addPatch } from "./shared"; import { addPatch } from "./shared";
@@ -14,8 +13,6 @@ import { addPatch } from "./shared";
let word: string; let word: string;
let corrections: string[]; let corrections: string[];
const SpellCheckStore = findStoreLazy("SpellcheckStore");
// Make spellcheck suggestions work // Make spellcheck suggestions work
addPatch({ addPatch({
patches: [ patches: [
+3 -3
View File
@@ -9,11 +9,11 @@ import { addPatch } from "./shared";
addPatch({ addPatch({
patches: [ patches: [
{ {
find: ".STREAMER_MODE_ENABLE,", find: ".STREAMING_AUTO_STREAMER_MODE,",
replacement: { replacement: {
// remove if (platformEmbedded) check from streamer mode toggle // remove if (platformEmbedded) check from streamer mode toggle
match: /if\(\i\.\i\)(?=return.{0,200}?"autoToggle")/g, match: /(?<=usePredicate.{0,20}?return )\i\.\i/g,
replace: "" replace: "true"
} }
} }
] ]
+2 -2
View File
@@ -12,7 +12,7 @@ if (Settings.store.customTitleBar)
addPatch({ addPatch({
patches: [ patches: [
{ {
find: ".wordmarkWindows", find: ".USE_OSX_NATIVE_TRAFFIC_LIGHTS",
replacement: [ replacement: [
{ {
match: /case \i\.\i\.WINDOWS:/, match: /case \i\.\i\.WINDOWS:/,
@@ -22,7 +22,7 @@ if (Settings.store.customTitleBar)
}, },
// Visual Refresh // Visual Refresh
{ {
find: ".systemBar,", find: '"refresh-title-bar-small"',
replacement: [ replacement: [
{ {
match: /\i===\i\.PlatformTypes\.WINDOWS/g, match: /\i===\i\.PlatformTypes\.WINDOWS/g,