From 2ce3db7dc24a7f83789e5eec6dbe400b7bea13aa Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Tue, 21 Nov 2023 17:10:44 -0800 Subject: [PATCH] apprt/gtk: set default cursor to be "text" (ibeam) Fixes #933 On startup, we'd set the cursor to "text" but we wouldn't store that as our cursor so when the mouse was unhidden, we'd go back to "default". This PR changes it so that on surface startup we set and store the "text" cursor so as the cursor hides/shows it reverts to the proper value. --- src/apprt/gtk/Surface.zig | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/apprt/gtk/Surface.zig b/src/apprt/gtk/Surface.zig index e0601dd01..5f0ce48f2 100644 --- a/src/apprt/gtk/Surface.zig +++ b/src/apprt/gtk/Surface.zig @@ -97,7 +97,6 @@ im_len: u7 = 0, pub fn init(self: *Surface, app: *App, opts: Options) !void { const widget = @as(*c.GtkWidget, @ptrCast(opts.gl_area)); - c.gtk_widget_set_cursor_from_name(@ptrCast(opts.gl_area), "text"); c.gtk_gl_area_set_required_version(opts.gl_area, 3, 3); c.gtk_gl_area_set_has_stencil_buffer(opts.gl_area, 0); c.gtk_gl_area_set_has_depth_buffer(opts.gl_area, 0); @@ -168,6 +167,9 @@ pub fn init(self: *Surface, app: *App, opts: Options) !void { }; errdefer self.* = undefined; + // Set our default mouse shape + try self.setMouseShape(.text); + // GL events _ = c.g_signal_connect_data(opts.gl_area, "realize", c.G_CALLBACK(>kRealize), self, null, c.G_CONNECT_DEFAULT); _ = c.g_signal_connect_data(opts.gl_area, "unrealize", c.G_CALLBACK(>kUnrealize), self, null, c.G_CONNECT_DEFAULT);