From 676bc612d96c3d1d7c7a80e62bf8e50a2a6fb74b Mon Sep 17 00:00:00 2001 From: Vendicated Date: Wed, 5 Apr 2023 04:09:42 +0200 Subject: VencordDesktop: Include web plugins & use proper showItemInFolder --- src/plugins/apiContextMenu.ts | 2 +- src/plugins/noRPC.desktop.ts | 37 ------------- src/plugins/noRPC.discordDesktop.ts | 37 +++++++++++++ src/plugins/noSystemBadge.desktop.ts | 41 -------------- src/plugins/noSystemBadge.discordDesktop.ts | 41 ++++++++++++++ src/plugins/volumeBooster.desktop.ts | 86 ----------------------------- src/plugins/volumeBooster.discordDesktop.ts | 86 +++++++++++++++++++++++++++++ 7 files changed, 165 insertions(+), 165 deletions(-) delete mode 100644 src/plugins/noRPC.desktop.ts create mode 100644 src/plugins/noRPC.discordDesktop.ts delete mode 100644 src/plugins/noSystemBadge.desktop.ts create mode 100644 src/plugins/noSystemBadge.discordDesktop.ts delete mode 100644 src/plugins/volumeBooster.desktop.ts create mode 100644 src/plugins/volumeBooster.discordDesktop.ts (limited to 'src/plugins') diff --git a/src/plugins/apiContextMenu.ts b/src/plugins/apiContextMenu.ts index aeaa0c4..cb85c4f 100644 --- a/src/plugins/apiContextMenu.ts +++ b/src/plugins/apiContextMenu.ts @@ -35,7 +35,7 @@ export default definePlugin({ find: ".Menu,{", all: true, replacement: { - match: /(?<=\.jsxs?\)\(\i\.Menu,)\{/, + match: /(?<=\.jsxs?\)\(\i\.Menu,)\{/g, replace: "{contextMenuApiArguments:typeof arguments!=='undefined'?arguments:[]," } } diff --git a/src/plugins/noRPC.desktop.ts b/src/plugins/noRPC.desktop.ts deleted file mode 100644 index ebd7b1a..0000000 --- a/src/plugins/noRPC.desktop.ts +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Vencord, a modification for Discord's desktop app - * Copyright (c) 2022 Vendicated and contributors - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . -*/ - -import { migratePluginSettings } from "@api/settings"; -import { Devs } from "@utils/constants"; -import definePlugin from "@utils/types"; - -migratePluginSettings("NoRPC", "No RPC"); -export default definePlugin({ - name: "NoRPC", - description: "Disables Discord's RPC server.", - authors: [Devs.Cyn], - patches: [ - { - find: '.ensureModule("discord_rpc")', - replacement: { - match: /\.ensureModule\("discord_rpc"\)\.then\(\(.+?\)\)}/, - replace: '.ensureModule("discord_rpc")}', - }, - }, - ], -}); diff --git a/src/plugins/noRPC.discordDesktop.ts b/src/plugins/noRPC.discordDesktop.ts new file mode 100644 index 0000000..ebd7b1a --- /dev/null +++ b/src/plugins/noRPC.discordDesktop.ts @@ -0,0 +1,37 @@ +/* + * Vencord, a modification for Discord's desktop app + * Copyright (c) 2022 Vendicated and contributors + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . +*/ + +import { migratePluginSettings } from "@api/settings"; +import { Devs } from "@utils/constants"; +import definePlugin from "@utils/types"; + +migratePluginSettings("NoRPC", "No RPC"); +export default definePlugin({ + name: "NoRPC", + description: "Disables Discord's RPC server.", + authors: [Devs.Cyn], + patches: [ + { + find: '.ensureModule("discord_rpc")', + replacement: { + match: /\.ensureModule\("discord_rpc"\)\.then\(\(.+?\)\)}/, + replace: '.ensureModule("discord_rpc")}', + }, + }, + ], +}); diff --git a/src/plugins/noSystemBadge.desktop.ts b/src/plugins/noSystemBadge.desktop.ts deleted file mode 100644 index 591a0be..0000000 --- a/src/plugins/noSystemBadge.desktop.ts +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Vencord, a modification for Discord's desktop app - * Copyright (c) 2022 Vendicated and contributors - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . -*/ - -import { Devs } from "@utils/constants"; -import definePlugin from "@utils/types"; - -export default definePlugin({ - name: "NoSystemBadge", - description: "Disables the taskbar and system tray unread count badge.", - authors: [Devs.rushii], - patches: [ - { - find: "setSystemTrayApplications:function", - replacement: [ - { - match: /setBadge:function.+?},/, - replace: "setBadge:function(){}," - }, - { - match: /setSystemTrayIcon:function.+?},/, - replace: "setSystemTrayIcon:function(){}," - } - ] - } - ] -}); diff --git a/src/plugins/noSystemBadge.discordDesktop.ts b/src/plugins/noSystemBadge.discordDesktop.ts new file mode 100644 index 0000000..591a0be --- /dev/null +++ b/src/plugins/noSystemBadge.discordDesktop.ts @@ -0,0 +1,41 @@ +/* + * Vencord, a modification for Discord's desktop app + * Copyright (c) 2022 Vendicated and contributors + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . +*/ + +import { Devs } from "@utils/constants"; +import definePlugin from "@utils/types"; + +export default definePlugin({ + name: "NoSystemBadge", + description: "Disables the taskbar and system tray unread count badge.", + authors: [Devs.rushii], + patches: [ + { + find: "setSystemTrayApplications:function", + replacement: [ + { + match: /setBadge:function.+?},/, + replace: "setBadge:function(){}," + }, + { + match: /setSystemTrayIcon:function.+?},/, + replace: "setSystemTrayIcon:function(){}," + } + ] + } + ] +}); diff --git a/src/plugins/volumeBooster.desktop.ts b/src/plugins/volumeBooster.desktop.ts deleted file mode 100644 index b77af57..0000000 --- a/src/plugins/volumeBooster.desktop.ts +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Vencord, a modification for Discord's desktop app - * Copyright (c) 2022 Vendicated and contributors - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . -*/ - -import { definePluginSettings } from "@api/settings"; -import { makeRange } from "@components/PluginSettings/components"; -import { Devs } from "@utils/constants"; -import definePlugin, { OptionType } from "@utils/types"; - -const settings = definePluginSettings({ - multiplier: { - description: "Volume Multiplier", - type: OptionType.SLIDER, - markers: makeRange(1, 5, 1), - default: 2, - stickToMarkers: true, - } -}); - -export default definePlugin({ - name: "VolumeBooster", - authors: [Devs.Nuckyz], - description: "Allows you to set the user and stream volume above the default maximum.", - settings, - - patches: [ - // Change the max volume for sliders to allow for values above 200 - ...[ - ".Messages.USER_VOLUME", - "currentVolume:" - ].map(find => ({ - find, - replacement: { - match: /(?<=maxValue:\i\.\i)\?(\d+?):(\d+?)(?=,)/, - replace: (_, higherMaxVolume, minorMaxVolume) => "" - + `?${higherMaxVolume}*$self.settings.store.multiplier` - + `:${minorMaxVolume}*$self.settings.store.multiplier` - } - })), - // Prevent Audio Context Settings sync from trying to sync with values above 200, changing them to 200 before we send to Discord - { - find: "AudioContextSettingsMigrated", - replacement: [ - { - match: /(?<=updateAsync\("audioContextSettings".{0,350}return \i\.volume=)\i(?=})/, - replace: "$&>200?200:$&" - }, - { - match: /(?<=Object\.entries\(\i\.localMutes\).+?volume:).+?(?=,)/, - replace: "$&>200?200:$&" - }, - { - match: /(?<=Object\.entries\(\i\.localVolumes\).+?volume:).+?(?=})/, - replace: "$&>200?200:$&" - } - ] - }, - // Prevent the MediaEngineStore from overwriting our LocalVolumes above 200 with the ones the Discord Audio Context Settings sync sends - { - find: '.displayName="MediaEngineStore"', - replacement: [ - { - match: /(\.settings\.audioContextSettings.+?)(\i\[\i\])=(\i\.volume)(.+?setLocalVolume\(\i,).+?\)/, - replace: (_, rest1, localVolume, syncVolume, rest2) => rest1 - + `(${localVolume}>200?void 0:${localVolume}=${syncVolume})` - + rest2 - + `${localVolume}??${syncVolume})` - } - ] - } - ], -}); diff --git a/src/plugins/volumeBooster.discordDesktop.ts b/src/plugins/volumeBooster.discordDesktop.ts new file mode 100644 index 0000000..b77af57 --- /dev/null +++ b/src/plugins/volumeBooster.discordDesktop.ts @@ -0,0 +1,86 @@ +/* + * Vencord, a modification for Discord's desktop app + * Copyright (c) 2022 Vendicated and contributors + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . +*/ + +import { definePluginSettings } from "@api/settings"; +import { makeRange } from "@components/PluginSettings/components"; +import { Devs } from "@utils/constants"; +import definePlugin, { OptionType } from "@utils/types"; + +const settings = definePluginSettings({ + multiplier: { + description: "Volume Multiplier", + type: OptionType.SLIDER, + markers: makeRange(1, 5, 1), + default: 2, + stickToMarkers: true, + } +}); + +export default definePlugin({ + name: "VolumeBooster", + authors: [Devs.Nuckyz], + description: "Allows you to set the user and stream volume above the default maximum.", + settings, + + patches: [ + // Change the max volume for sliders to allow for values above 200 + ...[ + ".Messages.USER_VOLUME", + "currentVolume:" + ].map(find => ({ + find, + replacement: { + match: /(?<=maxValue:\i\.\i)\?(\d+?):(\d+?)(?=,)/, + replace: (_, higherMaxVolume, minorMaxVolume) => "" + + `?${higherMaxVolume}*$self.settings.store.multiplier` + + `:${minorMaxVolume}*$self.settings.store.multiplier` + } + })), + // Prevent Audio Context Settings sync from trying to sync with values above 200, changing them to 200 before we send to Discord + { + find: "AudioContextSettingsMigrated", + replacement: [ + { + match: /(?<=updateAsync\("audioContextSettings".{0,350}return \i\.volume=)\i(?=})/, + replace: "$&>200?200:$&" + }, + { + match: /(?<=Object\.entries\(\i\.localMutes\).+?volume:).+?(?=,)/, + replace: "$&>200?200:$&" + }, + { + match: /(?<=Object\.entries\(\i\.localVolumes\).+?volume:).+?(?=})/, + replace: "$&>200?200:$&" + } + ] + }, + // Prevent the MediaEngineStore from overwriting our LocalVolumes above 200 with the ones the Discord Audio Context Settings sync sends + { + find: '.displayName="MediaEngineStore"', + replacement: [ + { + match: /(\.settings\.audioContextSettings.+?)(\i\[\i\])=(\i\.volume)(.+?setLocalVolume\(\i,).+?\)/, + replace: (_, rest1, localVolume, syncVolume, rest2) => rest1 + + `(${localVolume}>200?void 0:${localVolume}=${syncVolume})` + + rest2 + + `${localVolume}??${syncVolume})` + } + ] + } + ], +}); -- cgit