mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-03-27 07:58:07 -04:00
wayland: use xdg_output's description if there's no 'model'
This commit is contained in:
parent
bc82d4ee28
commit
32e70263f9
2 changed files with 13 additions and 4 deletions
10
wayland.c
10
wayland.c
|
|
@ -259,13 +259,15 @@ xdg_output_handle_name(void *data, struct zxdg_output_v1 *xdg_output,
|
||||||
const char *name)
|
const char *name)
|
||||||
{
|
{
|
||||||
struct monitor *mon = data;
|
struct monitor *mon = data;
|
||||||
mon->name = strdup(name);
|
mon->name = name != NULL ? strdup(name) : NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
xdg_output_handle_description(void *data, struct zxdg_output_v1 *xdg_output,
|
xdg_output_handle_description(void *data, struct zxdg_output_v1 *xdg_output,
|
||||||
const char *description)
|
const char *description)
|
||||||
{
|
{
|
||||||
|
struct monitor *mon = data;
|
||||||
|
mon->description = description != NULL ? strdup(description) : NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static const struct zxdg_output_v1_listener xdg_output_listener = {
|
static const struct zxdg_output_v1_listener xdg_output_listener = {
|
||||||
|
|
@ -666,13 +668,14 @@ handle_global(void *data, struct wl_registry *registry,
|
||||||
static void
|
static void
|
||||||
monitor_destroy(struct monitor *mon)
|
monitor_destroy(struct monitor *mon)
|
||||||
{
|
{
|
||||||
free(mon->name);
|
|
||||||
if (mon->xdg != NULL)
|
if (mon->xdg != NULL)
|
||||||
zxdg_output_v1_destroy(mon->xdg);
|
zxdg_output_v1_destroy(mon->xdg);
|
||||||
if (mon->output != NULL)
|
if (mon->output != NULL)
|
||||||
wl_output_destroy(mon->output);
|
wl_output_destroy(mon->output);
|
||||||
free(mon->make);
|
free(mon->make);
|
||||||
free(mon->model);
|
free(mon->model);
|
||||||
|
free(mon->name);
|
||||||
|
free(mon->description);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
@ -842,7 +845,8 @@ wayl_init(const struct config *conf, struct fdm *fdm)
|
||||||
"%s: %dx%d+%dx%d@%dHz %s %.2f\" scale=%d PPI=%dx%d (physical) PPI=%dx%d (logical)",
|
"%s: %dx%d+%dx%d@%dHz %s %.2f\" scale=%d PPI=%dx%d (physical) PPI=%dx%d (logical)",
|
||||||
it->item.name, it->item.dim.px_real.width, it->item.dim.px_real.height,
|
it->item.name, it->item.dim.px_real.width, it->item.dim.px_real.height,
|
||||||
it->item.x, it->item.y, (int)round(it->item.refresh),
|
it->item.x, it->item.y, (int)round(it->item.refresh),
|
||||||
it->item.model, it->item.inch, it->item.scale,
|
it->item.model != NULL ? it->item.model : it->item.description,
|
||||||
|
it->item.inch, it->item.scale,
|
||||||
it->item.ppi.real.x, it->item.ppi.real.y,
|
it->item.ppi.real.x, it->item.ppi.real.y,
|
||||||
it->item.ppi.scaled.x, it->item.ppi.scaled.y);
|
it->item.ppi.scaled.x, it->item.ppi.scaled.y);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,6 @@ struct monitor {
|
||||||
struct wayland *wayl;
|
struct wayland *wayl;
|
||||||
struct wl_output *output;
|
struct wl_output *output;
|
||||||
struct zxdg_output_v1 *xdg;
|
struct zxdg_output_v1 *xdg;
|
||||||
char *name;
|
|
||||||
uint32_t wl_name;
|
uint32_t wl_name;
|
||||||
|
|
||||||
int x;
|
int x;
|
||||||
|
|
@ -63,8 +62,14 @@ struct monitor {
|
||||||
float refresh;
|
float refresh;
|
||||||
enum wl_output_subpixel subpixel;
|
enum wl_output_subpixel subpixel;
|
||||||
|
|
||||||
|
/* From wl_output */
|
||||||
char *make;
|
char *make;
|
||||||
char *model;
|
char *model;
|
||||||
|
|
||||||
|
/* From xdg_output */
|
||||||
|
char *name;
|
||||||
|
char *description;
|
||||||
|
|
||||||
float inch; /* e.g. 24" */
|
float inch; /* e.g. 24" */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue