diff options
7 files changed, 8 insertions, 17 deletions
diff --git a/Userland/Libraries/LibGUI/ConnectionToWindowServer.cpp b/Userland/Libraries/LibGUI/ConnectionToWindowServer.cpp index 60e90e154f..fb5f280e88 100644 --- a/Userland/Libraries/LibGUI/ConnectionToWindowServer.cpp +++ b/Userland/Libraries/LibGUI/ConnectionToWindowServer.cpp @@ -368,11 +368,6 @@ void ConnectionToWindowServer::applet_area_rect_changed(Gfx::IntRect const& rect }); } -void ConnectionToWindowServer::set_wallpaper_finished(bool) -{ - // This is handled manually by Desktop::set_wallpaper(). -} - void ConnectionToWindowServer::drag_dropped(i32 window_id, Gfx::IntPoint const& mouse_position, String const& text, HashMap<String, ByteBuffer> const& mime_data) { if (auto* window = Window::from_window_id(window_id)) { diff --git a/Userland/Libraries/LibGUI/ConnectionToWindowServer.h b/Userland/Libraries/LibGUI/ConnectionToWindowServer.h index 9bb4336f2b..5e6707fc97 100644 --- a/Userland/Libraries/LibGUI/ConnectionToWindowServer.h +++ b/Userland/Libraries/LibGUI/ConnectionToWindowServer.h @@ -47,7 +47,6 @@ private: virtual void menu_visibility_did_change(i32, bool) override; virtual void screen_rects_changed(Vector<Gfx::IntRect> const&, u32, u32, u32) override; virtual void applet_area_rect_changed(Gfx::IntRect const&) override; - virtual void set_wallpaper_finished(bool) override; virtual void drag_dropped(i32, Gfx::IntPoint const&, String const&, HashMap<String, ByteBuffer> const&) override; virtual void drag_accepted() override; virtual void drag_cancelled() override; diff --git a/Userland/Libraries/LibGUI/Desktop.cpp b/Userland/Libraries/LibGUI/Desktop.cpp index cb99deaf5b..1b703f6391 100644 --- a/Userland/Libraries/LibGUI/Desktop.cpp +++ b/Userland/Libraries/LibGUI/Desktop.cpp @@ -67,14 +67,14 @@ bool Desktop::set_wallpaper(RefPtr<Gfx::Bitmap> wallpaper_bitmap, Optional<Strin return false; TemporaryChange is_setting_desktop_wallpaper_change(m_is_setting_desktop_wallpaper, true); - ConnectionToWindowServer::the().async_set_wallpaper(wallpaper_bitmap ? wallpaper_bitmap->to_shareable_bitmap() : Gfx::ShareableBitmap {}); - auto ret_val = ConnectionToWindowServer::the().wait_for_specific_message<Messages::WindowClient::SetWallpaperFinished>()->success(); + auto result = ConnectionToWindowServer::the().set_wallpaper(wallpaper_bitmap ? wallpaper_bitmap->to_shareable_bitmap() : Gfx::ShareableBitmap {}); - if (ret_val && path.has_value()) { + if (result && path.has_value()) { dbgln("Saving wallpaper path '{}' to ConfigServer", *path); Config::write_string("WindowManager"sv, "Background"sv, "Wallpaper"sv, *path); } - return ret_val; + return result; } + } diff --git a/Userland/Services/WindowServer/ConnectionFromClient.cpp b/Userland/Services/WindowServer/ConnectionFromClient.cpp index 0cbad6b1ef..be9f0f63db 100644 --- a/Userland/Services/WindowServer/ConnectionFromClient.cpp +++ b/Userland/Services/WindowServer/ConnectionFromClient.cpp @@ -305,10 +305,9 @@ void ConnectionFromClient::set_window_opacity(i32 window_id, float opacity) it->value->set_opacity(opacity); } -void ConnectionFromClient::set_wallpaper(Gfx::ShareableBitmap const& bitmap) +Messages::WindowServer::SetWallpaperResponse ConnectionFromClient::set_wallpaper(Gfx::ShareableBitmap const& bitmap) { - Compositor::the().set_wallpaper(bitmap.bitmap()); - async_set_wallpaper_finished(true); + return Compositor::the().set_wallpaper(bitmap.bitmap()); } void ConnectionFromClient::set_background_color(String const& background_color) diff --git a/Userland/Services/WindowServer/ConnectionFromClient.h b/Userland/Services/WindowServer/ConnectionFromClient.h index 0ab98d2ac5..e36db2fad8 100644 --- a/Userland/Services/WindowServer/ConnectionFromClient.h +++ b/Userland/Services/WindowServer/ConnectionFromClient.h @@ -126,7 +126,7 @@ private: virtual void set_fullscreen(i32, bool) override; virtual void set_frameless(i32, bool) override; virtual void set_forced_shadow(i32, bool) override; - virtual void set_wallpaper(Gfx::ShareableBitmap const&) override; + virtual Messages::WindowServer::SetWallpaperResponse set_wallpaper(Gfx::ShareableBitmap const&) override; virtual void set_background_color(String const&) override; virtual void set_wallpaper_mode(String const&) override; virtual Messages::WindowServer::GetWallpaperResponse get_wallpaper() override; diff --git a/Userland/Services/WindowServer/WindowClient.ipc b/Userland/Services/WindowServer/WindowClient.ipc index 9c45c137d3..ab8b53d943 100644 --- a/Userland/Services/WindowServer/WindowClient.ipc +++ b/Userland/Services/WindowServer/WindowClient.ipc @@ -32,8 +32,6 @@ endpoint WindowClient applet_area_rect_changed(Gfx::IntRect rect) =| - set_wallpaper_finished(bool success) =| - drag_accepted() =| drag_cancelled() =| diff --git a/Userland/Services/WindowServer/WindowServer.ipc b/Userland/Services/WindowServer/WindowServer.ipc index e9b15277b9..b7db386999 100644 --- a/Userland/Services/WindowServer/WindowServer.ipc +++ b/Userland/Services/WindowServer/WindowServer.ipc @@ -104,7 +104,7 @@ endpoint WindowServer popup_menu(i32 menu_id, Gfx::IntPoint screen_position) =| dismiss_menu(i32 menu_id) =| - set_wallpaper(Gfx::ShareableBitmap wallpaper_bitmap) =| + set_wallpaper(Gfx::ShareableBitmap wallpaper_bitmap) => (bool success) set_background_color(String background_color) =| set_wallpaper_mode(String mode) =| |