diff options
Diffstat (limited to 'rootston')
-rw-r--r-- | rootston/config.c | 4 | ||||
-rw-r--r-- | rootston/input.c | 9 |
2 files changed, 12 insertions, 1 deletions
diff --git a/rootston/config.c b/rootston/config.c index 983117ba..ff02ff1d 100644 --- a/rootston/config.c +++ b/rootston/config.c @@ -232,7 +232,9 @@ static int config_ini_handler(void *user, const char *section, const char *name, oc->scale = strtol(value, NULL, 10); assert(oc->scale >= 1); } else if (strcmp(name, "rotate") == 0) { - if (strcmp(value, "90") == 0) { + if (strcmp(value, "normal") == 0) { + oc->transform = WL_OUTPUT_TRANSFORM_NORMAL; + } else if (strcmp(value, "90") == 0) { oc->transform = WL_OUTPUT_TRANSFORM_90; } else if (strcmp(value, "180") == 0) { oc->transform = WL_OUTPUT_TRANSFORM_180; diff --git a/rootston/input.c b/rootston/input.c index 8109d2b6..5d367a5e 100644 --- a/rootston/input.c +++ b/rootston/input.c @@ -4,6 +4,7 @@ #include <wlr/types/wlr_cursor.h> #include <wlr/util/log.h> #include <wlr/xcursor.h> +#include <wlr/xwayland.h> #include "rootston/server.h" #include "rootston/config.h" #include "rootston/input.h" @@ -96,6 +97,14 @@ struct roots_input *input_create(struct roots_server *server, return NULL; } + if (server->desktop->xwayland != NULL) { + struct wlr_xcursor_image *xcursor_image = xcursor->images[0]; + wlr_xwayland_set_cursor(server->desktop->xwayland, + xcursor_image->buffer, xcursor_image->width, xcursor_image->width, + xcursor_image->height, xcursor_image->hotspot_x, + xcursor_image->hotspot_y); + } + input->wl_seat = wlr_seat_create(server->wl_display, "seat0"); if (input->wl_seat == NULL) { wlr_log(L_ERROR, "Cannot create seat"); |