zed icon indicating copy to clipboard operation
zed copied to clipboard

Window decoration not being draw in wayland

Open XDeme1 opened this issue 10 months ago • 3 comments

Check for existing issues

  • [X] Completed

Describe the bug / provide steps to reproduce it

After #10227 Wayland windows were not being drawn at all. After #10343 Wayland window are being draw but decorations are not being draw.

Environment

Zed: v1.0.0 (Zed Dev bfd9bb8a7cbb59880179e481e0a9e92ad1c89617) OS: Linux 1.0.0 Memory: 15.5 GiB Architecture: x86_64

If applicable, add mockups / screenshots to help explain present your vision of the feature

Screenshot_20240409_225549

If applicable, attach your ~/Library/Logs/Zed/Zed.log file to this issue.

No response

XDeme1 avatar Apr 10 '24 01:04 XDeme1

This might not be related to window decorations but, some clicks, actions, and keyboard shortcuts don't work. Sometimes after trying to Alt+F4 the window multiple times, this logs starts appearing: Screenshot_20240410_105814

XDeme1 avatar Apr 10 '24 14:04 XDeme1

This might not be related to window decorations but, some clicks, actions, and keyboard shortcuts don't work. Sometimes after trying to Alt+F4 the window multiple times, this logs starts appearing:

This should be fixed now.

mikayla-maki avatar Apr 12 '24 17:04 mikayla-maki

I got the Window decorations working in Wayland, but it seems like I'm reverting an intentional change. Zed's code is specifically asking the Wayland compositor(aka server) to not draw window decorations, instead specifying that Zed will handle window decorations itself(client).

Here's the git diff:


--- a/crates/gpui/src/platform/linux/wayland/window.rs
+++ b/crates/gpui/src/platform/linux/wayland/window.rs
@@ -202,7 +202,7 @@ impl WaylandWindow {
                 decoration_manager.get_toplevel_decoration(&toplevel, &globals.qh, surface.id());

             // Request client side decorations if possible
-            decoration.set_mode(zxdg_toplevel_decoration_v1::Mode::ClientSide);
+            decoration.set_mode(zxdg_toplevel_decoration_v1::Mode::ServerSide);
         }

LightTreasure avatar Apr 13 '24 01:04 LightTreasure

I downloaded the latest from git and this still seems to be an issue. I see line 249 still refers to ClientSide.

bsneed avatar Jun 04 '24 18:06 bsneed