소스 검색

WindowServer: Use user-defined background color, if defined

Use the configured desktop background color, if defined, otherwise
default to the current theme's background color. If a user chooses
a background color via "desktop settings", then this new color
will always be used.

Switching themes will delete the user-defined background color, so
the background color resets to the theme's defined color.
Matthew Jones 4 년 전
부모
커밋
33eb9a6ddc
1개의 변경된 파일2개의 추가작업 그리고 1개의 파일을 삭제
  1. 2 1
      Userland/Services/WindowServer/WindowManager.cpp

+ 2 - 1
Userland/Services/WindowServer/WindowManager.cpp

@@ -1545,7 +1545,7 @@ Gfx::IntRect WindowManager::dnd_rect() const
 
 void WindowManager::invalidate_after_theme_or_font_change()
 {
-    Compositor::the().set_background_color(palette().desktop_background().to_string());
+    Compositor::the().set_background_color(m_config->read_entry("Background", "Color", palette().desktop_background().to_string()));
     WindowFrame::reload_config();
     for_each_window([&](Window& window) {
         window.frame().theme_changed();
@@ -1569,6 +1569,7 @@ bool WindowManager::update_theme(String theme_path, String theme_name)
     m_palette = Gfx::PaletteImpl::create_with_anonymous_buffer(new_theme);
     auto wm_config = Core::ConfigFile::open("/etc/WindowServer.ini");
     wm_config->write_entry("Theme", "Name", theme_name);
+    wm_config->remove_entry("Background", "Color");
     wm_config->sync();
     invalidate_after_theme_or_font_change();
     return true;