summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--runtime/src/window.rs8
-rw-r--r--winit/src/program.rs5
2 files changed, 13 insertions, 0 deletions
diff --git a/runtime/src/window.rs b/runtime/src/window.rs
index 0ebdba2f..b5c6ee50 100644
--- a/runtime/src/window.rs
+++ b/runtime/src/window.rs
@@ -73,6 +73,9 @@ pub enum Action {
/// Get the current [`Mode`] of the window.
GetMode(Id, oneshot::Sender<Mode>),
+ /// Change the title of the window.
+ ChangeTitle(Id, String),
+
/// Toggle the window to maximized or back
ToggleMaximize(Id),
@@ -368,6 +371,11 @@ pub fn change_level<T>(id: Id, level: Level) -> Task<T> {
task::effect(crate::Action::Window(Action::ChangeLevel(id, level)))
}
+/// Changes the title of the window.
+pub fn change_title<T>(id: Id, title: String) -> Task<T> {
+ task::effect(crate::Action::Window(Action::ChangeTitle(id, title)))
+}
+
/// Show the [system menu] at cursor position.
///
/// [system menu]: https://en.wikipedia.org/wiki/Common_menus_in_Microsoft_Windows#System_menu
diff --git a/winit/src/program.rs b/winit/src/program.rs
index cc19a4e0..052b36b0 100644
--- a/winit/src/program.rs
+++ b/winit/src/program.rs
@@ -1291,6 +1291,11 @@ fn run_action<P, C>(
);
}
}
+ window::Action::ChangeTitle(id, title) => {
+ if let Some(window) = window_manager.get_mut(id) {
+ window.raw.set_title(&title);
+ }
+ }
window::Action::GetSize(id, channel) => {
if let Some(window) = window_manager.get_mut(id) {
let size = window