feat: Add option to disable the window frame (#400)
Co-authored-by: Ven <vendicated@riseup.net>
This commit is contained in:
		
							parent
							
								
									e70abc57b6
								
							
						
					
					
						commit
						10fd51071e
					
				
					 3 changed files with 15 additions and 2 deletions
				
			
		|  | @ -30,6 +30,7 @@ export interface Settings { | |||
|     useQuickCss: boolean; | ||||
|     enableReactDevtools: boolean; | ||||
|     themeLinks: string[]; | ||||
|     frameless: boolean; | ||||
|     plugins: { | ||||
|         [plugin: string]: { | ||||
|             enabled: boolean; | ||||
|  | @ -43,6 +44,7 @@ const DefaultSettings: Settings = { | |||
|     useQuickCss: true, | ||||
|     themeLinks: [], | ||||
|     enableReactDevtools: false, | ||||
|     frameless: false, | ||||
|     plugins: {} | ||||
| }; | ||||
| 
 | ||||
|  |  | |||
|  | @ -106,6 +106,12 @@ function VencordSettings() { | |||
|                             note="Shows a toast on startup"> | ||||
|                             Get notified about new updates | ||||
|                         </Switch> | ||||
|                         <Switch | ||||
|                             value={settings.frameless} | ||||
|                             onChange={(v: boolean) => settings.frameless = v} | ||||
|                             note="Requires a full restart"> | ||||
|                             Disable the window frame | ||||
|                         </Switch> | ||||
|                     </React.Fragment> | ||||
|                 )} | ||||
| 
 | ||||
|  |  | |||
|  | @ -65,12 +65,18 @@ if (!process.argv.includes("--vanilla")) { | |||
|         }; | ||||
|     } | ||||
| 
 | ||||
|     let settings = {} as any; | ||||
|     try { | ||||
|         settings = JSON.parse(readSettings()); | ||||
|     } catch { } | ||||
| 
 | ||||
|     class BrowserWindow extends electron.BrowserWindow { | ||||
|         constructor(options: BrowserWindowConstructorOptions) { | ||||
|             if (options?.webPreferences?.preload && options.title) { | ||||
|                 const original = options.webPreferences.preload; | ||||
|                 options.webPreferences.preload = join(__dirname, "preload.js"); | ||||
|                 options.webPreferences.sandbox = false; | ||||
|                 options.frame = settings.frameless; | ||||
| 
 | ||||
|                 process.env.DISCORD_PRELOAD = original; | ||||
| 
 | ||||
|  | @ -118,8 +124,7 @@ if (!process.argv.includes("--vanilla")) { | |||
|         }); | ||||
| 
 | ||||
|         try { | ||||
|             const settings = JSON.parse(readSettings()); | ||||
|             if (settings.enableReactDevtools) | ||||
|             if (settings?.enableReactDevtools) | ||||
|                 installExt("fmkadmapgofadopljbjfkapdkoienihi") | ||||
|                     .then(() => console.info("[Vencord] Installed React Developer Tools")) | ||||
|                     .catch(err => console.error("[Vencord] Failed to install React Developer Tools", err)); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue