From 7ca92be015090ff2f4c44d778f10e97edcf90a92 Mon Sep 17 00:00:00 2001 From: mrxiaozhuox Date: Mon, 31 Jan 2022 19:44:40 +0800 Subject: [PATCH] feat: add `focus` api --- packages/desktop/src/desktop_context.rs | 5 +++++ packages/desktop/src/lib.rs | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/packages/desktop/src/desktop_context.rs b/packages/desktop/src/desktop_context.rs index 0e2fbdddd..a41712904 100644 --- a/packages/desktop/src/desktop_context.rs +++ b/packages/desktop/src/desktop_context.rs @@ -52,6 +52,11 @@ impl DesktopContext { pub fn close(&self) { let _ = self.proxy.send_event(UserWindowEvent::CloseWindow); } + + /// set window to focus + pub fn focus(&self) { + let _ = self.proxy.send_event(UserWindowEvent::FocusWindow); + } } /// use this function can get the `DesktopContext` context. diff --git a/packages/desktop/src/lib.rs b/packages/desktop/src/lib.rs index 45314df34..eb76ce63d 100644 --- a/packages/desktop/src/lib.rs +++ b/packages/desktop/src/lib.rs @@ -313,6 +313,12 @@ pub fn launch_with_props( window.set_maximized(state); } } + UserWindowEvent::FocusWindow => { + for webview in desktop.webviews.values() { + let window = webview.window(); + window.set_focus(); + } + } } } Event::MainEventsCleared => {} @@ -329,6 +335,7 @@ pub enum UserWindowEvent { Update, DragWindow, CloseWindow, + FocusWindow, Minimize(bool), Maximize(bool), }