MCPcopy Create free account
hub / github.com/GCWing/BitFun / agent_companion_default_position

Function agent_companion_default_position

src/apps/desktop/src/theme.rs:730–769  ·  view source on GitHub ↗
(
    app: &tauri::AppHandle,
    window: &tauri::WebviewWindow,
)

Source from the content-addressed store, hash-verified

728}
729
730fn 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
771fn agent_companion_window_effective_size(window: &tauri::WebviewWindow) -> tauri::LogicalSize<f64> {
772 let scale_factor = window.scale_factor().unwrap_or(1.0);

Callers 1

Calls 3

okMethod · 0.45

Tested by

no test coverage detected