diff --git a/clients/window.c b/clients/window.c index 6f89ae6a..5309f313 100644 --- a/clients/window.c +++ b/clients/window.c @@ -348,6 +348,8 @@ struct output { struct wl_list link; int transform; int scale; + char *make; + char *model; display_output_handler_t destroy_handler; void *user_data; @@ -4667,6 +4669,14 @@ display_handle_geometry(void *data, output->allocation.x = x; output->allocation.y = y; output->transform = transform; + + if (output->make) + free(output->make); + output->make = strdup(make); + + if (output->model) + free(output->model); + output->model = strdup(model); } static void @@ -4854,6 +4864,18 @@ output_get_scale(struct output *output) return output->scale; } +const char * +output_get_make(struct output *output) +{ + return output->make; +} + +const char * +output_get_model(struct output *output) +{ + return output->model; +} + static void fini_xkb(struct input *input) { diff --git a/clients/window.h b/clients/window.h index 38d574fb..0a113fcc 100644 --- a/clients/window.h +++ b/clients/window.h @@ -602,6 +602,12 @@ output_get_transform(struct output *output); uint32_t output_get_scale(struct output *output); +const char * +output_get_make(struct output *output); + +const char * +output_get_model(struct output *output); + void keysym_modifiers_add(struct wl_array *modifiers_map, const char *name);