From 4ef85de9dca8b59d777496d2e18586cc9ef2948f Mon Sep 17 00:00:00 2001 From: Eugene Barnett Date: Sat, 5 Jun 2021 21:34:33 -0400 Subject: [PATCH] WindowServer: Add a GetDesktopDisplayScale IPC request Tells you which scale factor is configured in window manager. --- Userland/Services/WindowServer/ClientConnection.cpp | 5 +++++ Userland/Services/WindowServer/ClientConnection.h | 1 + Userland/Services/WindowServer/WindowServer.ipc | 2 ++ 3 files changed, 8 insertions(+) diff --git a/Userland/Services/WindowServer/ClientConnection.cpp b/Userland/Services/WindowServer/ClientConnection.cpp index 20d1985cdc..af4e137b83 100644 --- a/Userland/Services/WindowServer/ClientConnection.cpp +++ b/Userland/Services/WindowServer/ClientConnection.cpp @@ -915,6 +915,11 @@ Messages::WindowServer::IsWindowModifiedResponse ClientConnection::is_window_mod return window.is_modified(); } +Messages::WindowServer::GetDesktopDisplayScaleResponse ClientConnection::get_desktop_display_scale() +{ + return WindowManager::the().scale_factor(); +} + void ClientConnection::set_window_modified(i32 window_id, bool modified) { auto it = m_windows.find(window_id); diff --git a/Userland/Services/WindowServer/ClientConnection.h b/Userland/Services/WindowServer/ClientConnection.h index d762784299..3e21d9e866 100644 --- a/Userland/Services/WindowServer/ClientConnection.h +++ b/Userland/Services/WindowServer/ClientConnection.h @@ -151,6 +151,7 @@ private: virtual Messages::WindowServer::GetDoubleClickSpeedResponse get_double_click_speed() override; virtual void set_window_modified(i32, bool) override; virtual Messages::WindowServer::IsWindowModifiedResponse is_window_modified(i32) override; + virtual Messages::WindowServer::GetDesktopDisplayScaleResponse get_desktop_display_scale() override; Window* window_from_id(i32 window_id); diff --git a/Userland/Services/WindowServer/WindowServer.ipc b/Userland/Services/WindowServer/WindowServer.ipc index fcfe88d9ed..ea80a98293 100644 --- a/Userland/Services/WindowServer/WindowServer.ipc +++ b/Userland/Services/WindowServer/WindowServer.ipc @@ -126,4 +126,6 @@ endpoint WindowServer set_double_click_speed(int speed) => () get_double_click_speed() => (int speed) + + get_desktop_display_scale() => (int desktop_display_scale) }