summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Userland/Libraries/LibGUI/ConnectionToWindowServer.cpp5
-rw-r--r--Userland/Libraries/LibGUI/ConnectionToWindowServer.h1
-rw-r--r--Userland/Libraries/LibGUI/Desktop.cpp8
-rw-r--r--Userland/Services/WindowServer/ConnectionFromClient.cpp5
-rw-r--r--Userland/Services/WindowServer/ConnectionFromClient.h2
-rw-r--r--Userland/Services/WindowServer/WindowClient.ipc2
-rw-r--r--Userland/Services/WindowServer/WindowServer.ipc2
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) =|