aboutsummaryrefslogtreecommitdiff
path: root/rootston
diff options
context:
space:
mode:
Diffstat (limited to 'rootston')
-rw-r--r--rootston/config.c4
-rw-r--r--rootston/input.c9
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");