diff --git a/.config/BetterDiscord/data/betterdiscord.asar b/.config/BetterDiscord/data/betterdiscord.asar index 57c9af9..5708b87 100644 Binary files a/.config/BetterDiscord/data/betterdiscord.asar and b/.config/BetterDiscord/data/betterdiscord.asar differ diff --git a/.config/BetterDiscord/data/stable/misc.json b/.config/BetterDiscord/data/stable/misc.json index dc7e331..7d0c42d 100644 --- a/.config/BetterDiscord/data/stable/misc.json +++ b/.config/BetterDiscord/data/stable/misc.json @@ -1,5 +1,5 @@ { - "version": "1.12.8", + "version": "1.13.0", "addonlistControls": { "plugin": { "view": "grid" @@ -10,11 +10,11 @@ }, "drawerStates": { "settings": { - "customcss": true, + "customcss": false, "window": true, - "addons": true, - "store": true, - "editor": false, + "addons": false, + "store": false, + "editor": true, "developer": true } } diff --git a/.config/BetterDiscord/data/stable/settings.json b/.config/BetterDiscord/data/stable/settings.json index a00afe6..4ca16d9 100644 --- a/.config/BetterDiscord/data/stable/settings.json +++ b/.config/BetterDiscord/data/stable/settings.json @@ -4,7 +4,9 @@ "showToasts": true, "mediaKeys": false, "bdContextMenu": true, - "themeAttributes": true + "themeAttributes": true, + "notificationPosition": "top-right", + "notificationEnabled": true }, "addons": { "addonErrors": false, @@ -23,10 +25,13 @@ "openAction": "settings" }, "editor": { + "theme": "system", "lineNumbers": true, "minimap": true, "hover": true, "quickSuggestions": true, + "insertSpaces": false, + "tabSize": 4, "fontSize": 14, "renderWhitespace": "selection" }, @@ -43,6 +48,7 @@ "reactDevTools": false, "inspectElement": false, "devToolsWarning": false, - "recovery": true + "recovery": true, + "canary": false } } \ No newline at end of file diff --git a/.config/BetterDiscord/plugins/0BDFDB.config.json b/.config/BetterDiscord/plugins/0BDFDB.config.json index bc595ba..e1c54a3 100644 --- a/.config/BetterDiscord/plugins/0BDFDB.config.json +++ b/.config/BetterDiscord/plugins/0BDFDB.config.json @@ -1,10 +1,10 @@ { "all": { "changeLogs": { - "BDFDB": "4.3.6", + "BDFDB": "4.3.7", "BetterFriendList": "1.6.3", "EditUsers": "5.0.7", - "ImageUtilities": "5.6.3", + "ImageUtilities": "5.6.4", "StaffTag": "1.6.9" }, "choices": { @@ -18,8 +18,8 @@ "useChromium": false }, "hashes": { - "0BDFDB.data.json": "58a58732f32aa581fda80294aa968d3a06a1d78d", - "0BDFDB.raw.css": "92b08d02d2935f9afc99b54b04ab3e11ea6aa012" + "0BDFDB.data.json": "e457aff7138c8ec583370e2b164833640e27f91b", + "0BDFDB.raw.css": "709588842bae720d3d97c81e785af1adcbfb5a37" } } } \ No newline at end of file diff --git a/.config/BetterDiscord/plugins/0BDFDB.data.json b/.config/BetterDiscord/plugins/0BDFDB.data.json index 58a5873..e457aff 100644 --- a/.config/BetterDiscord/plugins/0BDFDB.data.json +++ b/.config/BetterDiscord/plugins/0BDFDB.data.json @@ -282,7 +282,7 @@ "KeybindRecorder": {"strings": [".RECORDING", ".DEFAULT", "toggleRecordMode"]}, "PopoutContainer": {"strings": ["Unsupported animation config"]}, "RadioGroup": {"strings": ["itemInfoClassName", "hasSelection", ".radioItemIconClassName"], "funcStrings": ["\"description\""]}, - "SearchBar": {"strings": ["this.inputRef", ".containerRef", ".handleOnChange"]}, + "SearchBar": {"strings": ["onClear", "query", "inputRef"]}, "SearchableSelect": {"strings": ["\"SingleSelect\""]}, "Slider": {"strings": [".stickToMarkers", "sortedMarkers"]}, "TabBar": {"props": ["Item", "Header", "Panel"]}, @@ -355,7 +355,7 @@ "Paginator": {"strings": ["totalPageCount", "selectedPage", "endButtonInner"]}, "PanelButton": {"strings": ["Masks.PANEL_BUTTON"], "funcStrings": ["{}"]}, "PopoutFocusLock": {"strings": ["impressionName", "useImperativeHandle"], "funcStrings": ["impressionName"]}, - "PrivateChannelItems": {"strings": ["getRecipientId", "isStatusIndicatorEnabled", "avatarWithText"], "exported": false, "value": "exports", "map": { + "PrivateChannelItems": {"strings": ["getRecipientId", "avatarWithText"], "exported": false, "value": "exports", "map": { "DirectMessage": ["getUser", "getRecipientId"], "LinkButton": [".apply(this"] }}, @@ -465,7 +465,7 @@ "GuildIcon": {"strings": [",animate:", ",size:", "{active:!0"], "noSearch": true}, "GuildIconWrapper": {"strings": ["badgeStrokeColor:", "textScale:"]}, "GuildInvitationRow": {"strings": [".getSelectedInviteMetadata", ".getSuggestedProps", "inviteKey:"], "noSearch": true}, - "GuildItem": {"strings": ["listItemTooltip", "includeActivity", "tooltipClassName"]}, + "GuildItem": {"strings": ["listItemTooltip", "guild:", "tooltipClassName"]}, "GuildItemWrapper": {"strings": ["guildNode:", "lowerBadge:", "isUnavailable"]}, "GuildItemIcon": {"strings": ["\"always\"", ".acronym", "width:48,height:48"], "noSearch": true}, "GuildItemWrapper": {"strings": [".pauseBackground", ".isUnavailable", "guildJoinRequestStatus"]}, @@ -473,7 +473,6 @@ "GuildsBarHeader": {"strings": ["GUILD_MEMBER_VERIFICATION_FOR_HUB", "isCurrentUserGuest", "hideDms"], "noSearch": true}, "GuildsBarTree": {"strings": ["guildDiscoveryButton", "disableAppDownload", "getGuildsTree"], "noSearch": true}, "GuildSidebar": {"strings": ["\"guildsnav\"", "unreadMentionsIndicatorBottom"]}, - "GuildTooltip": {"strings": ["tooltipClassName", "includeActivity", "listItemTooltip"]}, "HeaderBar": {"strings": [".hamburger", "scrollable", "themed"]}, "HeaderBarChannelName": {"strings": ["onDoubleClick", ".setName", "maxLen:"]}, "HeaderBarContainer": {"strings": ["isAuthenticated", ".HEADER_BAR"]}, @@ -1382,6 +1381,7 @@ "Badge": {"props": ["numberBadge", "textBadge", "iconBadge"]}, "BotTag": {"props": ["botTagRegular", "botTagInvert"]}, "Button": {"props": ["colorBrand", "lookBlank"]}, + "ButtonRevamp": {"props": ["expressive", "buttonChildren"]}, "CallCurrent": {"props": ["wrapper", "fullScreen"]}, "CallIncoming": {"props": ["wrapper", "mainChannelInfo"]}, "CallScreenshare": {"props": ["videoControls", "topControls", "gradientTop"]}, @@ -1509,7 +1509,7 @@ "MessageReactionsModal": {"props": ["reactors", "reactionSelected"]}, "MessageReply": {"props": ["container", "text", "closeButton"]}, "Messages": {"props": ["messages", "divider", "jumpButton"]}, - "MessagesPopout": {"props": ["messagesPopoutWrap", "jumpButton"]}, + "MessagesPopout": {"props": ["messagesPopoutWrap", "actionButtons"]}, "MessagesPopoutButtons": {"props": ["secondary", "size32", "button"]}, "MessagesPopoutExtras": {"props": ["control", "statusMessageContainer"]}, "MessagesPopoutHeader": {"props": ["threadIcon", "title", "divider"]}, @@ -1550,7 +1550,7 @@ "Peoples": {"props": ["peopleColumn", "tabBar"]}, "PeoplesNowPlayingMember": {"props": ["memberItem", "unknown"]}, "PictureInPicture": {"props": ["pictureInPicture", "pictureInPictureWindow"]}, - "PillWrapper": {"props": ["item", "wrapper", "dimmed"]}, + "PillWrapper": {"props": ["item", "wrapper"]}, "PollModal": {"props": ["voters", "emoji", "close"]}, "PopoutActivity": {"props": ["ellipsis", "activityActivityFeed"]}, "PrivateChannel": {"props": ["channel", "closeButton"]}, @@ -1915,6 +1915,16 @@ "buttonlookfilled": ["Button", "lookFilled"], "buttonlooklink": ["Button", "lookLink"], "buttonlookoutlined": ["Button", "lookOutlined"], + "buttonrevamp": ["ButtonRevamp", "button"], + "buttonrevampchildren": ["ButtonRevamp", "buttonChildren"], + "buttonrevampchildrenwrapper": ["ButtonRevamp", "buttonChildrenWrapper"], + "buttonrevamphastext": ["ButtonRevamp", "hasText"], + "buttonrevampicon": ["ButtonRevamp", "icon"], + "buttonrevampoverlayprimary": ["ButtonRevamp", "overlay-primary"], + "buttonrevampoverlaysecondary": ["ButtonRevamp", "overlay-secondary"], + "buttonrevampmd": ["ButtonRevamp", "md"], + "buttonrevampsm": ["ButtonRevamp", "sm"], + "buttonrevampxs": ["ButtonRevamp", "xs"], "buttonsizeicon": ["Button", "sizeIcon"], "buttonsizelarge": ["Button", "sizeLarge"], "buttonsizemax": ["Button", "sizeMax"], @@ -2658,7 +2668,6 @@ "messagespopoutbuttontertiary": ["MessagesPopoutButtons", "tertiary"], "messagespopoutchannelname": ["MessagesPopoutInfo", "channelName"], "messagespopoutchannelseparator": ["BDFDB", "messagesPopoutChannelSeparator"], - "messagespopoutclosebutton": ["MessagesPopout", "closeIcon"], "messagespopoutcontrols": ["MessagesPopoutTabBar", "controls"], "messagespopoutemptyplaceholder": ["MessagesPopout", "emptyPlaceholder"], "messagespopoutfooter": ["MessagesPopout", "footer"], @@ -2669,8 +2678,6 @@ "messagespopoutheader": ["MessagesPopout", "header"], "messagespopoutheaderdivider": ["MessagesPopoutHeader", "divider"], "messagespopoutimage": ["MessagesPopout", "image"], - "messagespopoutjumpbutton": ["MessagesPopout", "jumpButton"], - "messagespopoutloading": ["MessagesPopout", "loading"], "messagespopoutloadingmore": ["MessagesPopout", "loadingMore"], "messagespopoutloadingplaceholder": ["MessagesPopout", "loadingPlaceholder"], "messagespopoutscrollingfooterwrap": ["MessagesPopout", "scrollingFooterWrap"], @@ -2680,7 +2687,6 @@ "messagespopouttabbarinner": ["MessagesPopoutTabBar", "tabBar"], "messagespopouttabbartab": ["MessagesPopoutTabBar", "tab"], "messagespopouttitle": ["MessagesPopoutHeader", "title"], - "messagespopoutvisible": ["MessagesPopout", "visible"], "messagespopoutwrap": ["MessagesPopout", "messagesPopoutWrap"], "messagesscroller": ["MessagesWrap", "scroller"], "messagesscrollercontent": ["MessagesWrap", "scrollerContent"], diff --git a/.config/BetterDiscord/plugins/0BDFDB.plugin.js b/.config/BetterDiscord/plugins/0BDFDB.plugin.js index 98eb41a..30e7fca 100644 --- a/.config/BetterDiscord/plugins/0BDFDB.plugin.js +++ b/.config/BetterDiscord/plugins/0BDFDB.plugin.js @@ -2,7 +2,7 @@ * @name BDFDB * @author DevilBro * @authorId 278543574059057154 - * @version 4.3.6 + * @version 4.3.7 * @description Required Library for DevilBro's Plugins * @invite Jx3TjNS * @donate https://www.paypal.me/MircoWittrien @@ -2690,7 +2690,7 @@ module.exports = (_ => { }; MyReact.findDOMNode = function (instance, onlyChildren) { if (Node.prototype.isPrototypeOf(instance)) return instance; - if (!instance || !instance.updater || typeof instance.updater.isMounted !== "function" || !instance.updater.isMounted(instance)) return null; + if (!instance || !instance.updater) return null; let node = Internal.LibraryModules.ReactDOM.findDOMNode && Internal.LibraryModules.ReactDOM.findDOMNode(instance); for (let path of ["child.stateNode", "child.ref.current", !onlyChildren && "return.stateNode", !onlyChildren && "return.return.stateNode"]) if (!node && path) { node = BDFDB.ObjectUtils.get(instance[BDFDB.ReactUtils.instanceKey] || instance, path); @@ -3017,7 +3017,7 @@ module.exports = (_ => { } }; MyReact.forceUpdate = function (...instances) { - for (let ins of instances.flat(10).filter(n => n)) if (ins.updater && typeof ins.updater.isMounted == "function" && ins.updater.isMounted(ins)) ins.forceUpdate(); + for (let ins of instances.flat(10).filter(n => n)) if (ins.updater) ins.forceUpdate(); }; MyReact.getInstance = function (node) { if (!BDFDB.ObjectUtils.is(node)) return null; diff --git a/.config/BetterDiscord/plugins/0BDFDB.raw.css b/.config/BetterDiscord/plugins/0BDFDB.raw.css index 92b08d0..7095888 100644 --- a/.config/BetterDiscord/plugins/0BDFDB.raw.css +++ b/.config/BetterDiscord/plugins/0BDFDB.raw.css @@ -88,8 +88,13 @@ img:not([src]), img[src=""], img[src="null"] { margin-bottom: 40px; } [REPLACE_CLASS_settingsrowcontainer] [REPLACE_CLASS_settingsrow] { + display: flex; + flex-grow: 1; align-items: center; } +[REPLACE_CLASS_settingsrowcontainer] [REPLACE_CLASS_settingsrowlabel] { + flex-grow: 1; +} [REPLACE_CLASS_settingsrowcontainer] [REPLACE_CLASS_settingsrowcontrol] { margin-left: 8px; } diff --git a/.config/BetterDiscord/plugins/ViewProfilePicture.plugin.js b/.config/BetterDiscord/plugins/ViewProfilePicture.plugin.js index 446af6a..ab1c69c 100644 --- a/.config/BetterDiscord/plugins/ViewProfilePicture.plugin.js +++ b/.config/BetterDiscord/plugins/ViewProfilePicture.plugin.js @@ -1,7 +1,7 @@ /** * @name ViewProfilePicture * @description Adds a button to the user popout and profile that allows you to view the Avatar and banner. - * @version 1.3.1 + * @version 1.3.2 * @author Skamt * @website https://github.com/Skamt/BDAddons/tree/main/ViewProfilePicture * @source https://raw.githubusercontent.com/Skamt/BDAddons/main/ViewProfilePicture/ViewProfilePicture.plugin.js @@ -11,7 +11,7 @@ var Config_default = { "info": { "name": "ViewProfilePicture", - "version": "1.3.1", + "version": "1.3.2", "description": "Adds a button to the user popout and profile that allows you to view the Avatar and banner.", "source": "https://raw.githubusercontent.com/Skamt/BDAddons/main/ViewProfilePicture/ViewProfilePicture.plugin.js", "github": "https://github.com/Skamt/BDAddons/tree/main/ViewProfilePicture", @@ -170,11 +170,19 @@ StylesLoader_default.push(`/* View Profile Button */ margin: auto; } -.VPP-carousel button { +.VPP-carousel > div[role="button"] { margin: 0 15px; - opacity: 0.8; - background: var(--background-base-low); + background: var(--background-surface-high); + color: var(--interactive-normal); border-radius: 50%; + display: flex; + align-items: center; + justify-content: center; +} + +.VPP-carousel > div[role="button"]:hover { + background: var(--background-surface-highest); + color: var(--interactive-hover); } /* Copy color button */ @@ -352,45 +360,37 @@ var { zustand } = getMangled(Filters.bySource("useSyncExternalStoreWithSelector" zustand: () => true }); var subscribeWithSelector = getModule(Filters.byStrings("equalityFn", "fireImmediately"), { searchExports: true }); -var zustand_default = zustand; + +function create(initialState) { + const Store = zustand(initialState); + Object.defineProperty(Store, "state", { + configurable: false, + get: () => Store.getState() + }); + return Store; +} // common/Utils/Settings.js -var SettingsStoreSelectors = {}; -var persistMiddleware = (config) => (set, get, api) => config((args) => (set(args), Data.save("settings", get().getRawState())), get, api); -var SettingsStore = Object.assign( - zustand_default( - persistMiddleware( - subscribeWithSelector((set, get) => { - const settingsObj = /* @__PURE__ */ Object.create(null); - for (const [key, value] of Object.entries({ - ...Config_default.settings, - ...Data.load("settings") - })) { - settingsObj[key] = value; - settingsObj[`set${key}`] = (newValue) => set({ - [key]: newValue }); - SettingsStoreSelectors[key] = (state) => state[key]; - } - settingsObj.getRawState = () => { - return Object.entries(get()).filter(([, val]) => typeof val !== "function").reduce((acc, [key, val]) => { - acc[key] = val; - return acc; - }, {}); - }; - return settingsObj; - }) - ) - ), { - useSetting: function(key) { - return this((state) => [state[key], state[`set${key}`]]); - }, - selectors: SettingsStoreSelectors +var SettingsStore = create(subscribeWithSelector(() => Object.assign(Config_default.settings, Data.load("settings") || {}))); +((state) => { + const selectors = {}; + const actions = {}; + for (const [key, value] of Object.entries(state)) { + actions[`set${key}`] = (newValue) => SettingsStore.setState({ + [key]: newValue }); + selectors[key] = (state2) => state2[key]; } + Object.defineProperty(SettingsStore, "selectors", { value: Object.assign(selectors) }); + Object.assign(SettingsStore, actions); +})(SettingsStore.getInitialState()); +SettingsStore.subscribe( + (state) => state, + () => Data.save("settings", SettingsStore.state) ); -Object.defineProperty(SettingsStore, "state", { - configurable: false, - get() { - return this.getState(); +Object.assign(SettingsStore, { + useSetting: (key) => { + const val = SettingsStore((state) => state[key]); + return [val, SettingsStore[`set${key}`]]; } }); var Settings_default = SettingsStore; @@ -404,7 +404,8 @@ StylesLoader_default.push(`.transparent-background.transparent-background{ // common/Utils/Modals/index.jsx var ModalActions = /* @__PURE__ */ getMangled("onCloseRequest:null!=", { openModal: /* @__PURE__ */ Filters.byStrings("onCloseRequest:null!="), - closeModal: /* @__PURE__ */ Filters.byStrings(".setState", ".getState()[") + closeModal: /* @__PURE__ */ Filters.byStrings(".setState", ".getState()["), + ModalStore: /* @__PURE__ */ Filters.byKeys("getState") }); var Modals = /* @__PURE__ */ getMangled( /* @__PURE__ */ Filters.bySource("root", "headerIdIsManaged"), { ModalRoot: /* @__PURE__ */ Filters.byStrings("rootWithShadow"), diff --git a/.gitignore b/.gitignore index e69de29..4f10b55 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +.zshrc diff --git a/.script/discord-pywalsync.sh b/.script/discord-pywalsync.sh index 646f2b6..2c876db 100755 --- a/.script/discord-pywalsync.sh +++ b/.script/discord-pywalsync.sh @@ -11,4 +11,28 @@ cat "$HEADER" > "$BDCSS" echo "" >> "$BDCSS" cat "$WALCSS" >> "$BDCSS" echo "" >> "$BDCSS" + +# Extract current wallpaper from gsettings and generate URL variable +CURRENT_WALLPAPER=$(gsettings get org.gnome.desktop.background picture-uri-dark 2>/dev/null || echo "") +if [ -n "$CURRENT_WALLPAPER" ] && [ "$CURRENT_WALLPAPER" != "''" ]; then + # Remove 'file://' prefix and quotes + WALLPAPER_PATH=${CURRENT_WALLPAPER#"'file://"} + WALLPAPER_PATH=${WALLPAPER_PATH%"'"} + + # Extract filename only + WALLPAPER_NAME=$(basename "$WALLPAPER_PATH") + + # Generate GitHub URL and inject to CSS + GITHUB_WALLPAPER_URL="https://raw.githubusercontent.com/SeraphimeZelel/rion-ricing/refs/heads/main/Wallpaper/$WALLPAPER_NAME" + + cat >> "$BDCSS" << EOF + +/* Wallpaper URL - Generated by discord-pywalsync.sh */ +:root { + --wallpaper: url('$GITHUB_WALLPAPER_URL'); +} +EOF + echo "" >> "$BDCSS" +fi + cat "$TEMPLATE" >> "$BDCSS" \ No newline at end of file diff --git a/.zshrc b/.zshrc.example similarity index 96% rename from .zshrc rename to .zshrc.example index 2c82ec5..9061d37 100644 --- a/.zshrc +++ b/.zshrc.example @@ -118,7 +118,3 @@ source $ZSH/oh-my-zsh.sh alias ffa='~/.local/bin/fastfetch_auto.sh' alias reales='~/.realesrgan/realesrgan-ncnn-vulkan' - -export NVM_DIR="$HOME/.nvm" -[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm -[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion