mirror of
				https://github.com/smartfrigde/armcord.git
				synced 2024-08-14 23:56:58 +00:00 
			
		
		
		
	Redo the Wayland checks for Linux (#327)
* Redo the Wayland checks for Linux * Update the Wayland window decorations comments * Nit: don't nest if checks, update some comments * Nit: stricter env var checks * toLowerCase() on Wayland/Linux string checks * Use toLowerCase() properly Co-authored-by: Ven <vendicated@riseup.net> * Don't use toLowerCase() on XDG_SESSION_TYPE * Null safety for XDG_SESSION_TYPE and toLowerCase Co-authored-by: Ven <vendicated@riseup.net>
This commit is contained in:
		
							parent
							
								
									dfe3e2acc8
								
							
						
					
					
						commit
						a66f477af6
					
				
					 1 changed files with 15 additions and 14 deletions
				
			
		
							
								
								
									
										29
									
								
								src/main.ts
									
										
									
									
									
								
							
							
						
						
									
										29
									
								
								src/main.ts
									
										
									
									
									
								
							|  | @ -25,21 +25,22 @@ if (!app.requestSingleInstanceLock()) { | |||
| } else { | ||||
|     // Your data now belongs to CCP
 | ||||
|     crashReporter.start({uploadToServer: false}); | ||||
|     if (process.env.USE_WAYLAND == "0") { | ||||
|         console.log("Wayland patches disabled."); | ||||
|     } else { | ||||
|         if (process.platform == "linux") { | ||||
|             if (process.env.XDG_SESSION_TYPE == "wayland") { | ||||
|                 console.log("Wayland specific patches applied."); | ||||
|                 app.commandLine.appendSwitch("ozone-platform=wayland"); | ||||
|                 if (process.env.XDG_CURRENT_DESKTOP == "GNOME") { | ||||
|                     app.commandLine.appendSwitch("enable-features=UseOzonePlatform,WaylandWindowDecorations"); | ||||
|                 } else { | ||||
|                     app.commandLine.appendSwitch("enable-features=UseOzonePlatform"); | ||||
|                 } | ||||
|             } | ||||
|     // We use toLowerCase to account for desktops where XDG_SESSION_TYPE might be Wayland and not wayland.
 | ||||
|     if (process.platform.toLowerCase() === "linux" && process.env.XDG_SESSION_TYPE?.toLowerCase() === "wayland") { | ||||
|             // Just using the native Wayland backend doesn't enable PipeWire capture, we need to enable it explicitly.
 | ||||
|             app.commandLine.appendSwitch('enable-features', 'WebRTCPipeWireCapturer'); | ||||
|             console.log("Wayland detected, using PipeWire for video capture."); | ||||
|             // Some people might want to disable the Wayland backend for one reason or another, such as for Wayland-specific bugs.
 | ||||
|             if (process.env.USE_WAYLAND === "0") { | ||||
|                 console.log("Wayland backend disabled."); | ||||
|             } else { | ||||
|                 console.log("Using native Wayland, not Xwayland. Disable with USE_WAYLAND=0 if you find issues."); | ||||
|                 app.commandLine.appendSwitch('ozone-platform', 'wayland'); | ||||
|                 // The Wayland spec doesn't require SSDs, so lets enable self-drawn window decorations. 
 | ||||
|                 // If SSDs are supported on the compositor, Electron will let the compositor handle the decorations.
 | ||||
|                 app.commandLine.appendSwitch('enable-features', 'UseOzonePlatform,WaylandWindowDecorations'); | ||||
|               } | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     checkForDataFolder(); | ||||
|     checkIfConfigExists(); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue