~ruther/dwl

f593820edee096dc62e296af9d7514cdf4268ce4 — Alexander Courtis 4 years ago 541ecea
#24 ensure that xwayland cursor defaults to left_ptr
1 files changed, 16 insertions(+), 0 deletions(-)

M dwl.c
M dwl.c => dwl.c +16 -0
@@ 243,7 243,9 @@ static struct wl_list independents;
static struct wlr_xdg_decoration_manager_v1 *xdeco_mgr;

static struct wlr_cursor *cursor;
static struct wlr_xcursor *xcursor;
static struct wlr_xcursor_manager *cursor_mgr;
static struct wlr_xcursor_manager *xcursor_mgr;

static struct wlr_seat *seat;
static struct wl_list keyboards;


@@ 1588,6 1590,20 @@ setup(void)
		wl_signal_add(&xwayland->events.ready, &xwayland_ready);
		wl_signal_add(&xwayland->events.new_surface, &new_xwayland_surface);

		/*
		 * Create the XWayland cursor manager at scale 1, setting its default
		 * pointer to match the rest of dwl.
		 */
		xcursor_mgr = wlr_xcursor_manager_create(NULL, 24);
		wlr_xcursor_manager_load(xcursor_mgr, 1);
		xcursor = wlr_xcursor_manager_get_xcursor(xcursor_mgr, "left_ptr", 1);
		if (xcursor) {
			wlr_xwayland_set_cursor(xwayland,
					xcursor->images[0]->buffer, xcursor->images[0]->width * 4,
					xcursor->images[0]->width, xcursor->images[0]->height,
					xcursor->images[0]->hotspot_x, xcursor->images[0]->hotspot_y);
		}

		setenv("DISPLAY", xwayland->display_name, true);
	} else {
		fprintf(stderr, "failed to setup XWayland X server, continuing without it\n");

Do not follow this link