diff --git a/src/plugin-qt/power/session/powermanager.cpp b/src/plugin-qt/power/session/powermanager.cpp index ff9de2a..53c693b 100644 --- a/src/plugin-qt/power/session/powermanager.cpp +++ b/src/plugin-qt/power/session/powermanager.cpp @@ -411,7 +411,7 @@ void PowerManager::SetPrepareSuspend(int state) void PowerManager::TurnOffScreen() { - setDPMSModeOff(); + doTurnOffScreen(); } void PowerManager::TurnOnScreen() diff --git a/src/plugin-qt/shortcut/tools/dde-shortcut-tool/powercontroller.cpp b/src/plugin-qt/shortcut/tools/dde-shortcut-tool/powercontroller.cpp index a4b59ca..8d1aa0c 100644 --- a/src/plugin-qt/shortcut/tools/dde-shortcut-tool/powercontroller.cpp +++ b/src/plugin-qt/shortcut/tools/dde-shortcut-tool/powercontroller.cpp @@ -410,7 +410,13 @@ void PowerController::systemTurnOffScreen() qInfo() << "PowerController: turn off screen"; if (isWaylandSession()) { - // TODO: adapt screen-off for Treeland Wayland (DPMS path TBD). + QDBusInterface power("org.deepin.dde.Power1", "/org/deepin/dde/Power1", + "org.deepin.dde.Power1", QDBusConnection::sessionBus()); + if (power.isValid()) { + power.call("TurnOffScreen"); + } else { + qWarning() << "PowerController: Power1 unavailable for TurnOffScreen"; + } return; }