{
            for monitor_id in 0..2 {
                let state = Rc::clone(&state);
                let widgets = widgets.clone();
                let popouts = Rc::clone(&popouts);
                let child_proc = Rc::clone(&child_proc);
                let preview = preview.clone();
                let feed_source_combo = widgets.display_panes[monitor_id].feed_source_combo.clone();
                feed_source_combo.connect_changed(move |combo| {
                    let Some(active_id) = combo.active_id() else {
                        return;
                    };
                    let Some(preset) = FeedSourcePreset::from_id(active_id.as_str()) else {
                        return;
                    };
                    if state.borrow().feed_source_preset(monitor_id) == preset {
                        return;
                    }
                    {
                        let mut state = state.borrow_mut();
                        state.set_feed_source_preset(monitor_id, preset);
                    }
                    if let Some(preview) = preview.as_ref() {
                        sync_preview_profiles(preview, &widgets, &popouts, &state.borrow());
                    }
                    refresh_launcher_ui(&widgets, &state.borrow(), child_proc.borrow().is_some());
                });
            }

            for monitor_id in 0..2 {
                let state = Rc::clone(&state);
                let widgets = widgets.clone();
                let popouts = Rc::clone(&popouts);
                let child_proc = Rc::clone(&child_proc);
                let preview = preview.clone();
                let resolution_combo =
                    widgets.display_panes[monitor_id].capture_resolution_combo.clone();
                resolution_combo.connect_changed(move |combo| {
                    let Some(active_id) = combo.active_id() else {
                        return;
                    };
                    let Some(preset) = CaptureSizePreset::from_id(active_id.as_str()) else {
                        return;
                    };
                    if state.borrow().feed_source_preset(monitor_id) != FeedSourcePreset::ThisEye {
                        return;
                    }
                    if state.borrow().capture_size_preset(monitor_id) == preset {
                        return;
                    }
                    {
                        let mut state = state.borrow_mut();
                        state.set_capture_size_preset(monitor_id, preset);
                    }
                    if let Some(preview) = preview.as_ref() {
                        let choice = state
                            .borrow()
                            .display_capture_size_choice(monitor_id)
                            .unwrap_or_else(|| state.borrow().capture_size_choice(monitor_id));
                        let source_monitor_id = state
                            .borrow()
                            .resolved_feed_monitor_id(monitor_id)
                            .unwrap_or(monitor_id);
                        preview.set_capture_profile(
                            monitor_id,
                            source_monitor_id,
                            choice.width,
                            choice.height,
                            choice.fps,
                            choice.max_bitrate_kbit,
                        );
                        sync_preview_profiles(preview, &widgets, &popouts, &state.borrow());
                    }
                    refresh_launcher_ui(&widgets, &state.borrow(), child_proc.borrow().is_some());
                });
            }

            for monitor_id in 0..2 {
                let state = Rc::clone(&state);
                let widgets = widgets.clone();
                let popouts = Rc::clone(&popouts);
                let child_proc = Rc::clone(&child_proc);
                let preview = preview.clone();
                let breakout_combo = widgets.display_panes[monitor_id].breakout_combo.clone();
                breakout_combo.connect_changed(move |combo| {
                    let Some(active_id) = combo.active_id() else {
                        return;
                    };
                    let Some(preset) = BreakoutSizePreset::from_id(active_id.as_str()) else {
                        return;
                    };
                    if state.borrow().breakout_size_preset(monitor_id) == preset {
                        return;
                    }
                    {
                        let mut state = state.borrow_mut();
                        state.set_breakout_size_preset(monitor_id, preset);
                    }
                    let size = state.borrow().breakout_size_choice(monitor_id);
                    if let Some(preview) = preview.as_ref() {
                        preview.set_breakout_profile(monitor_id, size.width, size.height);
                    }
                    let popout_open = {
                        popouts
                            .borrow()
                            .get(monitor_id)
                            .and_then(|slot| slot.as_ref())
                            .is_some()
                    };
                    if popout_open {
                        if let Some(preview) = preview.as_ref() {
                            rebind_popout_preview(preview, &popouts, &state.borrow(), monitor_id);
                        }
                        if let Some(handle) = popouts
                            .borrow()
                            .get(monitor_id)
                            .and_then(|slot| slot.as_ref())
                        {
                            let display_limit = state.borrow().breakout_display_size();
                            apply_popout_window_size(handle, size, display_limit);
                        }
                    }
                    refresh_launcher_ui(&widgets, &state.borrow(), child_proc.borrow().is_some());
                });
            }
}
