summaryrefslogtreecommitdiff
path: root/wayland
diff options
context:
space:
mode:
Diffstat (limited to 'wayland')
-rw-r--r--wayland/buffers.c1
-rw-r--r--wayland/registry.c4
2 files changed, 4 insertions, 1 deletions
diff --git a/wayland/buffers.c b/wayland/buffers.c
index ba783b37..ff1e5ecf 100644
--- a/wayland/buffers.c
+++ b/wayland/buffers.c
@@ -75,6 +75,7 @@ static struct buffer *create_buffer(struct window *window, struct buffer *buf,
buf->surface = cairo_image_surface_create_for_data(data, CAIRO_FORMAT_ARGB32, width, height, stride);
buf->cairo = cairo_create(buf->surface);
buf->pango = pango_cairo_create_context(buf->cairo);
+ pango_cairo_context_set_resolution(buf->pango, 96 * 2);
wl_buffer_add_listener(buf->buffer, &buffer_listener, buf);
return buf;
diff --git a/wayland/registry.c b/wayland/registry.c
index 622571f0..2d66b7eb 100644
--- a/wayland/registry.c
+++ b/wayland/registry.c
@@ -32,7 +32,8 @@ static void display_handle_done(void *data, struct wl_output *wl_output) {
}
static void display_handle_scale(void *data, struct wl_output *wl_output, int32_t factor) {
- // this space intentionally left blank
+ struct output_state *state = data;
+ state->scale = factor;
}
static const struct wl_output_listener output_listener = {
@@ -220,6 +221,7 @@ static void registry_global(void *data, struct wl_registry *registry,
struct wl_output *output = wl_registry_bind(registry, name, &wl_output_interface, version);
struct output_state *ostate = malloc(sizeof(struct output_state));
ostate->output = output;
+ ostate->scale = 1;
wl_output_add_listener(output, &output_listener, ostate);
list_add(reg->outputs, ostate);
} else if (strcmp(interface, desktop_shell_interface.name) == 0) {