#24 ensure that xwayland cursor defaults to left_ptr
This commit is contained in:
parent
541ecea796
commit
f593820ede
1 changed files with 16 additions and 0 deletions
16
dwl.c
16
dwl.c
|
@ -243,7 +243,9 @@ static struct wl_list independents;
|
||||||
static struct wlr_xdg_decoration_manager_v1 *xdeco_mgr;
|
static struct wlr_xdg_decoration_manager_v1 *xdeco_mgr;
|
||||||
|
|
||||||
static struct wlr_cursor *cursor;
|
static struct wlr_cursor *cursor;
|
||||||
|
static struct wlr_xcursor *xcursor;
|
||||||
static struct wlr_xcursor_manager *cursor_mgr;
|
static struct wlr_xcursor_manager *cursor_mgr;
|
||||||
|
static struct wlr_xcursor_manager *xcursor_mgr;
|
||||||
|
|
||||||
static struct wlr_seat *seat;
|
static struct wlr_seat *seat;
|
||||||
static struct wl_list keyboards;
|
static struct wl_list keyboards;
|
||||||
|
@ -1588,6 +1590,20 @@ setup(void)
|
||||||
wl_signal_add(&xwayland->events.ready, &xwayland_ready);
|
wl_signal_add(&xwayland->events.ready, &xwayland_ready);
|
||||||
wl_signal_add(&xwayland->events.new_surface, &new_xwayland_surface);
|
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);
|
setenv("DISPLAY", xwayland->display_name, true);
|
||||||
} else {
|
} else {
|
||||||
fprintf(stderr, "failed to setup XWayland X server, continuing without it\n");
|
fprintf(stderr, "failed to setup XWayland X server, continuing without it\n");
|
||||||
|
|
Loading…
Reference in a new issue