From 283814afa65522d663671cdd957bd1ffa1398a22 Mon Sep 17 00:00:00 2001 From: IceStormNG Date: Wed, 19 Jul 2023 20:38:29 +0200 Subject: [PATCH] Prevent the Nvidia Advanced Optimimus "fake" display to be considered an external display. --- app/Helpers/ClamshellModeControl.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/Helpers/ClamshellModeControl.cs b/app/Helpers/ClamshellModeControl.cs index ba6362f1..b01e86bb 100644 --- a/app/Helpers/ClamshellModeControl.cs +++ b/app/Helpers/ClamshellModeControl.cs @@ -10,10 +10,13 @@ namespace GHelper.Helpers { var devices = ScreenInterrogatory.GetAllDevices().ToArray(); + string internalName = AppConfig.GetString("internal_display"); + foreach (var device in devices) { if (device.outputTechnology != ScreenInterrogatory.DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY.DISPLAYCONFIG_OUTPUT_TECHNOLOGY_INTERNAL && - device.outputTechnology != ScreenInterrogatory.DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY.DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DISPLAYPORT_EMBEDDED) + device.outputTechnology != ScreenInterrogatory.DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY.DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DISPLAYPORT_EMBEDDED + && device.monitorFriendlyDeviceName != internalName) { Logger.WriteLine("Found external screen: " + device.monitorFriendlyDeviceName + ":" + device.outputTechnology.ToString());