mirror of
https://gitee.com/spark-store-project/spark-web-app-runtime.git
synced 2025-12-15 03:22:05 +08:00
feat: 支持启动时识别 DTK 主题颜色,判断网页是否需要显示为深色模式(切换 DTK 主题后重启生效,不支持实时生效)
https://github.com/qutebrowser/qutebrowser/issues/4840 启动时判断 DTK 主题颜色,QTWEBENGINE_CHROMIUM_FLAGS 环境变量添加 --blink-settings=preferredColorScheme=0 启用深色模式(或 --force-dark-mode)(Qt >= 5.14,当前仅 Deepin 支持) Log: 支持启动时识别 DTK 主题颜色,判断网页是否需要显示为深色模式
This commit is contained in:
@@ -4,10 +4,11 @@
|
||||
*/
|
||||
#include "application.h"
|
||||
#include "mainwindow.h"
|
||||
#include "globaldefine.h"
|
||||
#include "webengineview.h"
|
||||
#include "httpd.h"
|
||||
|
||||
#include <DSysInfo>
|
||||
#include <DApplicationSettings>
|
||||
|
||||
#include <QCommandLineParser>
|
||||
#include <QCommandLineOption>
|
||||
@@ -50,6 +51,9 @@ int main(int argc, char *argv[])
|
||||
}
|
||||
Application a(fakeArgc, fakeArgv.data());
|
||||
|
||||
// 保存 DTK 主题
|
||||
DApplicationSettings settings;
|
||||
|
||||
// 解析命令行启动参数
|
||||
QCommandLineParser parser;
|
||||
|
||||
@@ -255,12 +259,14 @@ int main(int argc, char *argv[])
|
||||
toUseGPU = parser.value(useGPU).toUInt();
|
||||
}
|
||||
if (toUseGPU == true) {
|
||||
qputenv("QTWEBENGINE_CHROMIUM_FLAGS", "--ignore-gpu-blocklist --enable-gpu-rasterization --enable-native-gpu-memory-buffers --enable-accelerated-video-decode --blink-settings=darkMode=4,darkModeImagePolicy=2");
|
||||
qputenv("QTWEBENGINE_CHROMIUM_FLAGS", "--ignore-gpu-blocklist --enable-gpu-rasterization --enable-native-gpu-memory-buffers --enable-accelerated-video-decode");
|
||||
#ifdef __sw_64__
|
||||
qputenv("QTWEBENGINE_CHROMIUM_FLAGS", "--ignore-gpu-blocklist --enable-gpu-rasterization --enable-native-gpu-memory-buffers --enable-accelerated-video-decode --blink-settings=darkMode=4,darkModeImagePolicy=2 --no-sandbox");
|
||||
qputenv("QTWEBENGINE_CHROMIUM_FLAGS", "--ignore-gpu-blocklist --enable-gpu-rasterization --enable-native-gpu-memory-buffers --enable-accelerated-video-decode --no-sandbox");
|
||||
#endif
|
||||
qDebug() << "Setting GPU to True.";
|
||||
}
|
||||
// 初始化 QtWebEngine 深色模式环境变量
|
||||
WebEngineView::handleChromiumFlags();
|
||||
|
||||
#if SSL_SERVER
|
||||
if (parser.isSet(optSSLPort)) {
|
||||
|
||||
Reference in New Issue
Block a user