diff --git a/Userland/Applications/DisplaySettings/MonitorSettingsWidget.cpp b/Userland/Applications/DisplaySettings/MonitorSettingsWidget.cpp index e733b51167..88db155bc2 100644 --- a/Userland/Applications/DisplaySettings/MonitorSettingsWidget.cpp +++ b/Userland/Applications/DisplaySettings/MonitorSettingsWidget.cpp @@ -141,4 +141,12 @@ void MonitorSettingsWidget::apply_settings() } } +void MonitorSettingsWidget::show_screen_numbers(bool show) +{ + if (m_showing_screen_numbers == show) + return; + m_showing_screen_numbers = show; + GUI::WindowServerConnection::the().async_show_screen_numbers(show); +} + } diff --git a/Userland/Applications/DisplaySettings/MonitorSettingsWidget.h b/Userland/Applications/DisplaySettings/MonitorSettingsWidget.h index 6503d0d635..689cc2688f 100644 --- a/Userland/Applications/DisplaySettings/MonitorSettingsWidget.h +++ b/Userland/Applications/DisplaySettings/MonitorSettingsWidget.h @@ -19,7 +19,14 @@ class MonitorSettingsWidget : public GUI::Widget { C_OBJECT(MonitorSettingsWidget); public: + ~MonitorSettingsWidget() override + { + if (m_showing_screen_numbers) + show_screen_numbers(false); + } + void apply_settings(); + void show_screen_numbers(bool); private: MonitorSettingsWidget(); @@ -35,6 +42,8 @@ private: RefPtr m_resolution_combo; RefPtr m_display_scale_radio_1x; RefPtr m_display_scale_radio_2x; + + bool m_showing_screen_numbers { false }; }; } diff --git a/Userland/Applications/DisplaySettings/main.cpp b/Userland/Applications/DisplaySettings/main.cpp index 554f7173d9..4a3a6a8cdb 100644 --- a/Userland/Applications/DisplaySettings/main.cpp +++ b/Userland/Applications/DisplaySettings/main.cpp @@ -52,6 +52,9 @@ int main(int argc, char** argv) auto& background_settings_widget = tab_widget.add_tab("Background"); auto& font_settings_widget = tab_widget.add_tab("Fonts"); auto& monitor_settings_widget = tab_widget.add_tab("Monitor"); + tab_widget.on_change = [&](auto& widget) { + monitor_settings_widget.show_screen_numbers(&widget == &monitor_settings_widget); + }; auto& button_container = main_widget.add(); button_container.set_shrink_to_fit(true);