(
app: &tauri::AppHandle,
window: &tauri::WebviewWindow,
)
| 728 | } |
| 729 | |
| 730 | fn agent_companion_default_position( |
| 731 | app: &tauri::AppHandle, |
| 732 | window: &tauri::WebviewWindow, |
| 733 | ) -> Option<tauri::LogicalPosition<f64>> { |
| 734 | let (area_position, area_size) = work_area_for_agent_companion_window(app, window)?; |
| 735 | |
| 736 | let monitor: Option<tauri::Monitor> = window |
| 737 | .current_monitor() |
| 738 | .ok() |
| 739 | .flatten() |
| 740 | .or_else(|| app.primary_monitor().ok().flatten()); |
| 741 | let scale_factor = monitor |
| 742 | .as_ref() |
| 743 | .map(|monitor| monitor.scale_factor()) |
| 744 | .unwrap_or(1.0); |
| 745 | let window_size = window |
| 746 | .outer_size() |
| 747 | .ok() |
| 748 | .map(|size| size.to_logical::<f64>(scale_factor)); |
| 749 | let window_width = window_size |
| 750 | .as_ref() |
| 751 | .map(|size| size.width) |
| 752 | .unwrap_or(AGENT_COMPANION_WINDOW_MIN_SIZE); |
| 753 | let window_height = window_size |
| 754 | .as_ref() |
| 755 | .map(|size| size.height) |
| 756 | .unwrap_or(AGENT_COMPANION_WINDOW_MIN_SIZE); |
| 757 | let x = |
| 758 | area_position.x + area_size.width - window_width - f64::from(AGENT_COMPANION_WINDOW_MARGIN); |
| 759 | let y = area_position.y + area_size.height |
| 760 | - window_height |
| 761 | - f64::from(AGENT_COMPANION_WINDOW_MARGIN); |
| 762 | |
| 763 | Some(clamp_agent_companion_window_position( |
| 764 | app, |
| 765 | window, |
| 766 | tauri::LogicalPosition::new(x, y), |
| 767 | tauri::LogicalSize::new(window_width, window_height), |
| 768 | )) |
| 769 | } |
| 770 | |
| 771 | fn agent_companion_window_effective_size(window: &tauri::WebviewWindow) -> tauri::LogicalSize<f64> { |
| 772 | let scale_factor = window.scale_factor().unwrap_or(1.0); |
no test coverage detected