outputconfigurationstore: don't handle laptop lid closing yet

Interactions with KScreen cause settings to be reset to the default when the lid
gets closed, so handling lid closing in KWin needs to wait until KScreen no longer
writes configs

BUG: 471282
master
Xaver Hugl 1 year ago
parent b850e55953
commit 480f857d29

@ -597,6 +597,7 @@ void OutputChangesTest::testMaximizeStateRestoredAfterEnablingOutput()
void OutputChangesTest::testLaptopLidClosed() void OutputChangesTest::testLaptopLidClosed()
{ {
QSKIP("Laptop lid handling is disabled until config writing is moved into KWin");
Test::setOutputConfig({ Test::setOutputConfig({
Test::OutputInfo{ Test::OutputInfo{
.geometry = QRect(0, 0, 1280, 1024), .geometry = QRect(0, 0, 1280, 1024),

@ -21,6 +21,10 @@ namespace KWin
std::pair<OutputConfiguration, QVector<Output *>> OutputConfigurationStore::queryConfig(const QVector<Output *> &outputs, bool isLidClosed) std::pair<OutputConfiguration, QVector<Output *>> OutputConfigurationStore::queryConfig(const QVector<Output *> &outputs, bool isLidClosed)
{ {
// TODO to make use of isLidClosed, move config writing into KWin
// Currently, the interactions of KWin's config generation on lid close with KScreen's config writing
// causes settings changes that shouldn't be happening
isLidClosed = false;
const auto kscreenConfig = KScreenIntegration::readOutputConfig(outputs, KScreenIntegration::connectedOutputsHash(outputs, isLidClosed)); const auto kscreenConfig = KScreenIntegration::readOutputConfig(outputs, KScreenIntegration::connectedOutputsHash(outputs, isLidClosed));
if (kscreenConfig) { if (kscreenConfig) {
return kscreenConfig.value(); return kscreenConfig.value();

Loading…
Cancel
Save