osd: support window switcher with thumbnails

The new-style window switcher can be enabled with
<windowSwitcher style="thumbnail">.

New theme entries:

osd.window-switcher.style-thumbnail.width.max: 80%
osd.window-switcher.style-thumbnail.padding: 4
osd.window-switcher.style-thumbnail.item.width: 300
osd.window-switcher.style-thumbnail.item.height: 250
osd.window-switcher.style-thumbnail.item.padding: 10
osd.window-switcher.style-thumbnail.item.active.border.width: 2
osd.window-switcher.style-thumbnail.item.active.border.color: #589bda
osd.window-switcher.style-thumbnail.item.active.bg.color: #c7e2fc
osd.window-switcher.style-thumbnail.item.icon.size: 60
This commit is contained in:
tokyo4j 2025-08-08 14:53:34 +09:00 committed by Johan Malm
parent 6e2805f692
commit 2e9292b7a3
13 changed files with 434 additions and 5 deletions

View file

@ -180,6 +180,21 @@ struct theme {
int item_height;
} osd_window_switcher_classic;
struct window_switcher_thumbnail_theme {
int max_width;
int padding;
int item_width;
int item_height;
int item_padding;
int item_active_border_width;
float item_active_border_color[4];
float item_active_bg_color[4];
int item_icon_size;
bool max_width_is_percent;
int title_height;
} osd_window_switcher_thumbnail;
int osd_window_switcher_preview_border_width;
float osd_window_switcher_preview_border_color[3][4];