pub trait WebviewBridge: Send + Sync {
// Required methods
fn eval_webview(
&self,
label: Option<&str>,
script: &str,
) -> Result<(), String>;
fn get_window_states(&self, label: Option<&str>) -> Vec<WindowState>;
fn list_window_labels(&self) -> Vec<String>;
fn get_native_handle(&self, label: Option<&str>) -> Result<isize, String>;
fn manage_window(
&self,
label: Option<&str>,
action: &str,
) -> Result<String, String>;
fn resize_window(
&self,
label: Option<&str>,
width: u32,
height: u32,
) -> Result<(), String>;
fn move_window(
&self,
label: Option<&str>,
x: i32,
y: i32,
) -> Result<(), String>;
fn set_window_title(
&self,
label: Option<&str>,
title: &str,
) -> Result<(), String>;
}Expand description
Runtime-erased interface for webview access, allowing the MCP server to interact with Tauri windows without generic parameters.
Required Methods§
Sourcefn eval_webview(&self, label: Option<&str>, script: &str) -> Result<(), String>
fn eval_webview(&self, label: Option<&str>, script: &str) -> Result<(), String>
Execute JavaScript in the target webview (defaults to “main” or first visible window).
§Errors
Returns an error string if no matching window is found or the eval fails.
Sourcefn get_window_states(&self, label: Option<&str>) -> Vec<WindowState>
fn get_window_states(&self, label: Option<&str>) -> Vec<WindowState>
Retrieve the state of one or all windows (position, size, visibility, focus, URL).
Sourcefn list_window_labels(&self) -> Vec<String>
fn list_window_labels(&self) -> Vec<String>
Return the labels of all open webview windows.
Sourcefn get_native_handle(&self, label: Option<&str>) -> Result<isize, String>
fn get_native_handle(&self, label: Option<&str>) -> Result<isize, String>
Return the platform-native window handle for screenshot capture.
Windows: HWND, macOS: CGWindowID (window number), Linux: X11 window ID.
§Errors
Returns an error string if no matching window is found or the handle type is unsupported.
Sourcefn manage_window(
&self,
label: Option<&str>,
action: &str,
) -> Result<String, String>
fn manage_window( &self, label: Option<&str>, action: &str, ) -> Result<String, String>
Perform a window management action (minimize, maximize, close, show, hide, etc.).
§Errors
Returns an error string if no matching window is found or the action fails.
Sourcefn resize_window(
&self,
label: Option<&str>,
width: u32,
height: u32,
) -> Result<(), String>
fn resize_window( &self, label: Option<&str>, width: u32, height: u32, ) -> Result<(), String>
Set the logical size of a window in device-independent pixels.
§Errors
Returns an error string if no matching window is found or the resize fails.