diff --git a/WindowServer/WSWindowManager.cpp b/WindowServer/WSWindowManager.cpp index affa0b844c..665f747c97 100644 --- a/WindowServer/WSWindowManager.cpp +++ b/WindowServer/WSWindowManager.cpp @@ -14,10 +14,10 @@ #include #include #include +#include #ifdef KERNEL #include -#include #endif //#define DEBUG_COUNTERS @@ -218,11 +218,14 @@ WSWindowManager::WSWindowManager() // NOTE: This ensures that the system menu has the correct dimensions. set_current_menubar(nullptr); -#if 0 WSMessageLoop::the().start_timer(300, [this] { - invalidate(menubar_rect()); + static time_t last_update_time; + time_t now = time(nullptr); + if (now != last_update_time) { + invalidate(menubar_rect()); + last_update_time = now; + } }); -#endif invalidate(); compose(); @@ -692,13 +695,17 @@ void WSWindowManager::draw_menubar() return true; }); -#ifdef KERNEL - unsigned year, month, day, hour, minute, second; - RTC::read_registers(year, month, day, hour, minute, second); - auto time_text = String::format("%04u-%02u-%02u %02u:%02u:%02u", year, month, day, hour, minute, second); + time_t now = time(nullptr); + auto* tm = localtime(&now); + auto time_text = String::format("%4u-%02u-%02u %02u:%02u:%02u\n", + tm->tm_year + 1900, + tm->tm_mon + 1, + tm->tm_mday, + tm->tm_hour, + tm->tm_min, + tm->tm_sec); auto time_rect = menubar_rect().translated(-(menubar_menu_margin() / 2), 0); m_back_painter->draw_text(time_rect, time_text, TextAlignment::CenterRight, Color::Black); -#endif } void WSWindowManager::draw_cursor()