mirror of
https://github.com/servo/servo.git
synced 2025-08-06 22:15:33 +01:00
auto merge of #968 : luisbg/servo/master, r=larsbergstrom
update_window_title() is called constantly in the compositor loop. This function always changes the title to "Servo" when in idle state so it is spamming the X server with constant changes. But this isn't necessary because updating the title is taken care of when the Rendering or Ready state are changed in set_ready_state() and set_render_state(). Fixes #830 Happy Software Freedom Day
This commit is contained in:
commit
0096d119f0
1 changed files with 8 additions and 6 deletions
|
@ -136,7 +136,7 @@ impl WindowMethods<Application> for Window {
|
||||||
}
|
}
|
||||||
glfw::poll_events();
|
glfw::poll_events();
|
||||||
self.throbber_frame = (self.throbber_frame + 1) % (THROBBER.len() as u8);
|
self.throbber_frame = (self.throbber_frame + 1) % (THROBBER.len() as u8);
|
||||||
self.update_window_title();
|
self.update_window_title(false);
|
||||||
if self.glfw_window.should_close() {
|
if self.glfw_window.should_close() {
|
||||||
QuitWindowEvent
|
QuitWindowEvent
|
||||||
} else if !self.event_queue.is_empty() {
|
} else if !self.event_queue.is_empty() {
|
||||||
|
@ -149,7 +149,7 @@ impl WindowMethods<Application> for Window {
|
||||||
/// Sets the ready state.
|
/// Sets the ready state.
|
||||||
fn set_ready_state(@mut self, ready_state: ReadyState) {
|
fn set_ready_state(@mut self, ready_state: ReadyState) {
|
||||||
self.ready_state = ready_state;
|
self.ready_state = ready_state;
|
||||||
self.update_window_title()
|
self.update_window_title(true)
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Sets the render state.
|
/// Sets the render state.
|
||||||
|
@ -162,7 +162,7 @@ impl WindowMethods<Application> for Window {
|
||||||
}
|
}
|
||||||
|
|
||||||
self.render_state = render_state;
|
self.render_state = render_state;
|
||||||
self.update_window_title()
|
self.update_window_title(true)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn hidpi_factor(@mut self) -> f32 {
|
fn hidpi_factor(@mut self) -> f32 {
|
||||||
|
@ -174,11 +174,11 @@ impl WindowMethods<Application> for Window {
|
||||||
|
|
||||||
impl Window {
|
impl Window {
|
||||||
/// Helper function to set the window title in accordance with the ready state.
|
/// Helper function to set the window title in accordance with the ready state.
|
||||||
fn update_window_title(&self) {
|
fn update_window_title(&self, state_change: bool) {
|
||||||
let throbber = THROBBER[self.throbber_frame];
|
let throbber = THROBBER[self.throbber_frame];
|
||||||
match self.ready_state {
|
match self.ready_state {
|
||||||
Blank => {
|
Blank => {
|
||||||
self.glfw_window.set_title(fmt!("blank — Servo"));
|
if state_change { self.glfw_window.set_title(fmt!("blank — Servo")) }
|
||||||
}
|
}
|
||||||
Loading => {
|
Loading => {
|
||||||
self.glfw_window.set_title(fmt!("%c Loading — Servo", throbber))
|
self.glfw_window.set_title(fmt!("%c Loading — Servo", throbber))
|
||||||
|
@ -191,7 +191,9 @@ impl Window {
|
||||||
RenderingRenderState => {
|
RenderingRenderState => {
|
||||||
self.glfw_window.set_title(fmt!("%c Rendering — Servo", throbber))
|
self.glfw_window.set_title(fmt!("%c Rendering — Servo", throbber))
|
||||||
}
|
}
|
||||||
IdleRenderState => self.glfw_window.set_title("Servo"),
|
IdleRenderState => {
|
||||||
|
if state_change { self.glfw_window.set_title("Servo") }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue