mirror of
https://github.com/RGBCube/serenity
synced 2025-07-28 04:27:45 +00:00
parent
182f9582d2
commit
863bc35399
3 changed files with 24 additions and 2 deletions
|
@ -152,11 +152,29 @@ void AppletManager::relayout()
|
|||
if (m_window->rect() == rect)
|
||||
return;
|
||||
m_window->set_rect(rect);
|
||||
|
||||
repaint();
|
||||
|
||||
WindowManager::the().tell_wm_listeners_applet_area_size_changed(rect.size());
|
||||
}
|
||||
|
||||
void AppletManager::repaint()
|
||||
{
|
||||
if (!m_window) {
|
||||
return;
|
||||
}
|
||||
|
||||
auto rect = Gfx::IntRect { { 0, 0 }, m_window->size() };
|
||||
|
||||
if (!rect.is_empty()) {
|
||||
Gfx::Painter painter(*m_window->backing_store());
|
||||
painter.fill_rect({ { 0, 0 }, rect.size() }, WindowManager::the().palette().window());
|
||||
painter.fill_rect(rect, WindowManager::the().palette().window());
|
||||
}
|
||||
WindowManager::the().tell_wm_listeners_applet_area_size_changed(rect.size());
|
||||
}
|
||||
|
||||
void AppletManager::did_change_theme()
|
||||
{
|
||||
repaint();
|
||||
}
|
||||
|
||||
void AppletManager::remove_applet(Window& applet)
|
||||
|
|
|
@ -52,7 +52,10 @@ public:
|
|||
Window* window() { return m_window; }
|
||||
const Window* window() const { return m_window; }
|
||||
|
||||
void did_change_theme();
|
||||
|
||||
private:
|
||||
void repaint();
|
||||
void draw_applet(const Window& applet);
|
||||
void set_hovered_applet(Window*);
|
||||
|
||||
|
|
|
@ -1525,6 +1525,7 @@ bool WindowManager::update_theme(String theme_path, String theme_name)
|
|||
return IterationDecision::Continue;
|
||||
});
|
||||
MenuManager::the().did_change_theme();
|
||||
AppletManager::the().did_change_theme();
|
||||
auto wm_config = Core::ConfigFile::open("/etc/WindowServer/WindowServer.ini");
|
||||
wm_config->write_entry("Theme", "Name", theme_name);
|
||||
wm_config->sync();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue