diff --git a/src/osd/osd-classic.c b/src/osd/osd-classic.c index 7fd20357..7af72823 100644 --- a/src/osd/osd-classic.c +++ b/src/osd/osd-classic.c @@ -84,10 +84,13 @@ osd_classic_create(struct output *output, struct wl_array *views) bool show_workspace = wl_list_length(&rc.workspace_config.workspaces) > 1; const char *workspace_name = server->workspaces.current->name; + int output_width, output_height; + wlr_output_effective_resolution(output->wlr_output, + &output_width, &output_height); + int w = switcher_theme->width; if (switcher_theme->width_is_percent) { - w = output->wlr_output->width / output->wlr_output->scale - * switcher_theme->width / 100; + w = output_width * switcher_theme->width / 100; } int h = wl_array_len(views) * switcher_theme->item_height + 2 * rc.theme->osd_border_width + 2 * switcher_theme->padding; diff --git a/src/osd/osd-thumbnail.c b/src/osd/osd-thumbnail.c index 0b98b4d2..1ba65a79 100644 --- a/src/osd/osd-thumbnail.c +++ b/src/osd/osd-thumbnail.c @@ -180,7 +180,9 @@ get_items_geometry(struct output *output, struct theme *theme, { struct window_switcher_thumbnail_theme *switcher_theme = &theme->osd_window_switcher_thumbnail; - int output_width = output->wlr_output->width / output->wlr_output->scale; + int output_width, output_height; + wlr_output_effective_resolution(output->wlr_output, + &output_width, &output_height); int padding = theme->osd_border_width + switcher_theme->padding; int max_bg_width = switcher_theme->max_width;