diff --git a/quickshell/Modules/Settings/DisplayConfig/DisplayConfigState.qml b/quickshell/Modules/Settings/DisplayConfig/DisplayConfigState.qml index 0c8945b39..a39de1d83 100644 --- a/quickshell/Modules/Settings/DisplayConfig/DisplayConfigState.qml +++ b/quickshell/Modules/Settings/DisplayConfig/DisplayConfigState.qml @@ -302,17 +302,22 @@ Singleton { function findConfigEntryByFingerprint(data, outputIdentifiers, autoOnly) { const targetKey = outputSetFingerprint(outputIdentifiers); const configs = data.configurations || []; + let firstUnnamed = null; for (let i = 0; i < configs.length; i++) { - if (configFingerprint(configs[i]) === targetKey) { - if (autoOnly && configs[i].name) - continue; + if (configFingerprint(configs[i]) !== targetKey) + continue; + if (configs[i].name && !autoOnly) return { entry: configs[i], index: i }; - } + if (!configs[i].name && !firstUnnamed) + firstUnnamed = { + entry: configs[i], + index: i + }; } - return null; + return firstUnnamed; } function getProfileMonitorInclusion(profileId) { @@ -751,7 +756,7 @@ Singleton { return; readMonitorsJson(data => { - const match = findConfigEntryByFingerprint(data, currentOutputSet, true); + const match = findConfigEntryByFingerprint(data, currentOutputSet, false); if (match) { if (configEntryMatchesLiveLayout(match.entry)) { SettingsData.setActiveDisplayProfile(CompositorService.compositor, match.entry.id);