feat(plugin): ClipboardImageFix (#173)
This commit is contained in:
		
							parent
							
								
									f6e0efe20a
								
							
						
					
					
						commit
						37105ac416
					
				
					 1 changed files with 39 additions and 0 deletions
				
			
		
							
								
								
									
										39
									
								
								src/plugins/clipboardImageFix.ts
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								src/plugins/clipboardImageFix.ts
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,39 @@ | |||
| /* | ||||
|  * 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 <https://www.gnu.org/licenses/>.
 | ||||
| */ | ||||
| 
 | ||||
| 
 | ||||
| import { Devs } from "../utils/constants"; | ||||
| import definePlugin from "../utils/types"; | ||||
| 
 | ||||
| export default definePlugin({ | ||||
|     name: "ClipboardImageFix", | ||||
|     description: "Fixes being unable to paste images under some circumstances (usually on Linux)", | ||||
|     authors: [Devs.Cyn], | ||||
|     required: true, | ||||
|     patches: [ | ||||
|         { | ||||
|             find: ".clipboardData.items[0].getAsString", | ||||
|             replacement: { | ||||
|                 match: /2===(.)\.clipboardData\.items\.length\?.\.clipboardData\.items\[0\]\.getAsString\((.+?)\):(.+?);/, | ||||
|                 replace: (_, event, getAsStringCallback, normalCallback) => | ||||
|                     `if(2===${event}.clipboardData.items.length){const clipboardItems=${event}.clipboardData.items;` + | ||||
|                     `for(let i = 0;i<clipboardItems.length;i++){const item = clipboardItems[i];if(item.type=="text/html"){item.getAsString(${getAsStringCallback});break;}}}else{${normalCallback}}`, | ||||
|             }, | ||||
|         }, | ||||
|     ], | ||||
| }); | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue