Skip to main content

WebviewBridge

Trait WebviewBridge 

Source
pub trait WebviewBridge: Send + Sync {
Show 16 methods // 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>; // Provided methods fn native_type_text( &self, _label: Option<&str>, _text: &str, ) -> Result<(), String> { ... } fn native_key(&self, _label: Option<&str>, _key: &str) -> Result<(), String> { ... } fn native_click( &self, _label: Option<&str>, _x: f64, _y: f64, ) -> Result<(), String> { ... } fn app_data_dir(&self) -> Result<PathBuf, String> { ... } fn app_config_dir(&self) -> Result<PathBuf, String> { ... } fn app_log_dir(&self) -> Result<PathBuf, String> { ... } fn app_local_data_dir(&self) -> Result<PathBuf, String> { ... } fn tauri_config(&self) -> Value { ... }
}
Expand description

Runtime-erased interface for webview and backend access, allowing the MCP server to interact with Tauri windows and the application backend without generic parameters.

Required Methods§

Source

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.

Source

fn get_window_states(&self, label: Option<&str>) -> Vec<WindowState>

Retrieve the state of one or all windows (position, size, visibility, focus, URL).

Source

fn list_window_labels(&self) -> Vec<String>

Return the labels of all open webview windows.

Source

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.

Source

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.

Source

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.

Source

fn move_window(&self, label: Option<&str>, x: i32, y: i32) -> Result<(), String>

Set the logical position of a window in device-independent pixels.

§Errors

Returns an error string if no matching window is found or the move fails.

Source

fn set_window_title( &self, label: Option<&str>, title: &str, ) -> Result<(), String>

Set the title bar text of a window.

§Errors

Returns an error string if no matching window is found or the title change fails.

Provided Methods§

Source

fn native_type_text( &self, _label: Option<&str>, _text: &str, ) -> Result<(), String>

Type Unicode text as trusted OS keyboard input into the focused element of the target window. The element must already hold focus.

§Errors

Returns an error if not supported on this platform or the window is missing.

Source

fn native_key(&self, _label: Option<&str>, _key: &str) -> Result<(), String>

Press a single named key (e.g. Enter, Tab, Escape, ArrowDown) as trusted OS keyboard input to the focused element of the target window.

§Errors

Returns an error if not supported on this platform or the key is unknown.

Source

fn native_click( &self, _label: Option<&str>, _x: f64, _y: f64, ) -> Result<(), String>

Click at logical (CSS-pixel) coordinates within the target window’s content area, as a trusted OS mouse event.

§Errors

Returns an error if not supported on this platform or the window is missing.

Source

fn app_data_dir(&self) -> Result<PathBuf, String>

Return the app’s per-user data directory (e.g. ~/.local/share/<app>/).

§Errors

Returns an error if the path cannot be resolved.

Source

fn app_config_dir(&self) -> Result<PathBuf, String>

Return the app’s per-user config directory (e.g. ~/.config/<app>/).

§Errors

Returns an error if the path cannot be resolved.

Source

fn app_log_dir(&self) -> Result<PathBuf, String>

Return the app’s log directory.

§Errors

Returns an error if the path cannot be resolved.

Source

fn app_local_data_dir(&self) -> Result<PathBuf, String>

Return the app’s local data directory.

§Errors

Returns an error if the path cannot be resolved.

Source

fn tauri_config(&self) -> Value

Return the Tauri app configuration as JSON.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl<R: Runtime> WebviewBridge for AppHandle<R>

Source§

fn eval_webview(&self, label: Option<&str>, script: &str) -> Result<(), String>

Source§

fn get_window_states(&self, label: Option<&str>) -> Vec<WindowState>

Source§

fn list_window_labels(&self) -> Vec<String>

Source§

fn get_native_handle(&self, label: Option<&str>) -> Result<isize, String>

Source§

fn manage_window( &self, label: Option<&str>, action: &str, ) -> Result<String, String>

Source§

fn resize_window( &self, label: Option<&str>, width: u32, height: u32, ) -> Result<(), String>

Source§

fn move_window(&self, label: Option<&str>, x: i32, y: i32) -> Result<(), String>

Source§

fn set_window_title( &self, label: Option<&str>, title: &str, ) -> Result<(), String>

Source§

fn app_data_dir(&self) -> Result<PathBuf, String>

Source§

fn app_config_dir(&self) -> Result<PathBuf, String>

Source§

fn app_log_dir(&self) -> Result<PathBuf, String>

Source§

fn app_local_data_dir(&self) -> Result<PathBuf, String>

Source§

fn tauri_config(&self) -> Value

Implementors§