fix: dark mode on Linux default themeing (#47869)

This commit is contained in:
Shelley Vohr
2025-07-31 10:54:55 +02:00
committed by GitHub
parent 051f78dd1d
commit 4c9ab8765b
2 changed files with 14 additions and 0 deletions

View File

@@ -26,6 +26,7 @@
#include "ui/linux/linux_ui.h"
#include "ui/ozone/public/ozone_platform.h"
#include "ui/platform_window/platform_window.h"
#include "ui/platform_window/platform_window_init_properties.h"
#include "ui/views/widget/desktop_aura/desktop_window_tree_host.h"
#include "ui/views/widget/desktop_aura/desktop_window_tree_host_linux.h"
@@ -293,4 +294,14 @@ void ElectronDesktopWindowTreeHostLinux::DispatchEvent(ui::Event* event) {
views::DesktopWindowTreeHostLinux::DispatchEvent(event);
}
void ElectronDesktopWindowTreeHostLinux::AddAdditionalInitProperties(
const views::Widget::InitParams& params,
ui::PlatformWindowInitProperties* properties) {
views::DesktopWindowTreeHostLinux::AddAdditionalInitProperties(params,
properties);
const auto* linux_ui_theme = ui::LinuxUiTheme::GetForProfile(nullptr);
properties->prefer_dark_theme =
linux_ui_theme && linux_ui_theme->PreferDarkTheme();
}
} // namespace electron

View File

@@ -62,6 +62,9 @@ class ElectronDesktopWindowTreeHostLinux
// views::DesktopWindowTreeHostLinux:
void UpdateFrameHints() override;
void DispatchEvent(ui::Event* event) override;
void AddAdditionalInitProperties(
const views::Widget::InitParams& params,
ui::PlatformWindowInitProperties* properties) override;
private:
void UpdateWindowState(ui::PlatformWindowState new_state);