Skip to content

Commit

Permalink
Merge pull request #1585 from Night-Hunter-NF/FocusWindow
Browse files Browse the repository at this point in the history
add action to make window focus
  • Loading branch information
hecrj authored Jan 2, 2023
2 parents c740b3a + dd25e93 commit f641e20
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 0 deletions.
13 changes: 13 additions & 0 deletions native/src/window/action.rs
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,17 @@ pub enum Action<T> {
/// - **X11:** Requests for user attention must be manually cleared.
/// - **Wayland:** Requires `xdg_activation_v1` protocol, `None` has no effect.
RequestUserAttention(Option<UserAttention>),
/// Brings the window to the front and sets input focus. Has no effect if the window is
/// already in focus, minimized, or not visible.
///
/// This method steals input focus from other applications. Do not use this method unless
/// you are certain that's what the user wants. Focus stealing can cause an extremely disruptive
/// user experience.
///
/// ## Platform-specific
///
/// - **Web / Wayland:** Unsupported.
GainFocus,
}

impl<T> Action<T> {
Expand All @@ -83,6 +94,7 @@ impl<T> Action<T> {
Self::RequestUserAttention(attention_type) => {
Action::RequestUserAttention(attention_type)
}
Self::GainFocus => Action::GainFocus,
}
}
}
Expand All @@ -109,6 +121,7 @@ impl<T> fmt::Debug for Action<T> {
Self::RequestUserAttention(_) => {
write!(f, "Action::RequestUserAttention")
}
Self::GainFocus => write!(f, "Action::GainFocus"),
}
}
}
1 change: 1 addition & 0 deletions winit/src/application.rs
Original file line number Diff line number Diff line change
Expand Up @@ -678,6 +678,7 @@ pub fn run_command<A, E>(
.request_user_attention(
user_attention.map(conversion::user_attention),
),
window::Action::GainFocus => window.focus_window(),
},
command::Action::System(action) => match action {
system::Action::QueryInformation(_tag) => {
Expand Down

0 comments on commit f641e20

Please sign in to comment.