mirror of
https://github.com/tauri-apps/plugins-workspace.git
synced 2026-04-29 12:06:01 +02:00
feat(window): add is_focused API (#407)
This commit is contained in:
committed by
GitHub
parent
0417b7ad60
commit
83abea3cae
@@ -0,0 +1,6 @@
|
||||
---
|
||||
"window": "minor:feat"
|
||||
"window-js": "minor:feat"
|
||||
---
|
||||
|
||||
Add `WebviewWindow.is_focused` and `WebviewWindow.getFocusedWindow` getters.
|
||||
Generated
+334
-326
File diff suppressed because it is too large
Load Diff
@@ -563,6 +563,24 @@ class WindowManager extends WebviewWindowHandle {
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the window's current focus state.
|
||||
* @example
|
||||
* ```typescript
|
||||
* import { appWindow } from '@tauri-apps/plugin-window';
|
||||
* const focused = await appWindow.isFocused();
|
||||
* ```
|
||||
*
|
||||
* @returns Whether the window is focused or not.
|
||||
*
|
||||
* @since 2.0.0
|
||||
* */
|
||||
async isFocused(): Promise<boolean> {
|
||||
return window.__TAURI_INVOKE__("plugin:window|is_focused", {
|
||||
label: this.label,
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the window's current decorated state.
|
||||
* @example
|
||||
@@ -1779,6 +1797,27 @@ class WebviewWindow extends WindowManager {
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the focused window.
|
||||
* @example
|
||||
* ```typescript
|
||||
* import { WebviewWindow } from '@tauri-apps/plugin-window';
|
||||
* const focusedWindow = WebviewWindow.getFocusedWindow();
|
||||
* ```
|
||||
*
|
||||
* @returns The WebviewWindow instance to communicate with the webview or `undefined` if there is not any focused window.
|
||||
*
|
||||
* @since 1.4
|
||||
*/
|
||||
static async getFocusedWindow(): Promise<WebviewWindow | null> {
|
||||
for (const w of getAll()) {
|
||||
if (await w.isFocused()) {
|
||||
return w;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/** The WebviewWindow for the current window. */
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -112,6 +112,7 @@ getter!(outer_size, PhysicalSize<u32>);
|
||||
getter!(is_fullscreen, bool);
|
||||
getter!(is_minimized, bool);
|
||||
getter!(is_maximized, bool);
|
||||
getter!(is_focused, bool);
|
||||
getter!(is_decorated, bool);
|
||||
getter!(is_resizable, bool);
|
||||
getter!(is_visible, bool);
|
||||
|
||||
@@ -40,6 +40,7 @@ pub fn init<R: Runtime>() -> TauriPlugin<R> {
|
||||
desktop_commands::is_fullscreen,
|
||||
desktop_commands::is_minimized,
|
||||
desktop_commands::is_maximized,
|
||||
desktop_commands::is_focused,
|
||||
desktop_commands::is_decorated,
|
||||
desktop_commands::is_resizable,
|
||||
desktop_commands::is_visible,
|
||||
|
||||
Reference in New Issue
Block a user