windowSwitcher: add multi-monitor OSD support

Adds `output` attribute to control which monitor(s) display the window
switcher OSD. Supports three modes:
- "all": display on all monitors (default)
- "pointer": display on monitor with mouse cursor
- "keyboard": display on monitor with keyboard focus

The configuration structure is also refactored to nest OSD-specific
settings (show, style, output, thumbnailLabelFormat) under an <osd>
element within <windowSwitcher>, improving logical organization.
This commit is contained in:
Samet Aylak 2025-11-08 14:56:48 -05:00 committed by Consolatis
parent 79fbb611e0
commit a05c330428
6 changed files with 105 additions and 25 deletions

View file

@ -183,6 +183,7 @@ struct rcxml {
enum lab_view_criteria criteria;
struct wl_list fields; /* struct window_switcher_field.link */
enum window_switcher_style style;
enum osd_output_criteria output_criteria;
char *thumbnail_label_format;
} window_switcher;