diff --git a/src/Core.zig b/src/Core.zig index b361c407..68810372 100644 --- a/src/Core.zig +++ b/src/Core.zig @@ -24,6 +24,9 @@ windows: mach.Objects( // TODO: allocation/free strategy title: [:0]const u8 = "Mach Window", + // XDG application ID of the window + app_id: [:0]const u8 = "", + /// Texture format of the framebuffer (read-only) framebuffer_format: gpu.Texture.Format = .bgra8_unorm, diff --git a/src/core/linux/Wayland.zig b/src/core/linux/Wayland.zig index 79dd83ec..812a96ef 100644 --- a/src/core/linux/Wayland.zig +++ b/src/core/linux/Wayland.zig @@ -176,6 +176,9 @@ pub fn initWindow( core_window = core.windows.getValue(window_id); wl = &core_window.native.?.wayland; + c.xdg_toplevel_set_title(wl.toplevel, @ptrCast(core_window.title)); + c.xdg_toplevel_set_app_id(wl.toplevel, @ptrCast(core_window.app_id)); + // Commit changes to surface c.wl_surface_commit(wl.surface); @@ -188,8 +191,6 @@ pub fn initWindow( if (result != -1 and wl.configured) break; } - c.xdg_toplevel_set_title(wl.toplevel, @ptrCast(core_window.title)); - const decoration = c.zxdg_decoration_manager_v1_get_toplevel_decoration( wl.interfaces.zxdg_decoration_manager_v1, wl.toplevel,