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

Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
This commit is contained in:
trop[bot]
2025-07-31 14:29:39 +02:00
committed by GitHub
parent e17cbc96e2
commit 46dec46a82
2 changed files with 14 additions and 0 deletions

View File

@@ -25,6 +25,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"
@@ -307,4 +308,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

@@ -61,6 +61,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);