Pause cursor blinking only when editor is focused

Co-Authored-By: Nathan Sobo <nathan@zed.dev>
This commit is contained in:
Antonio Scandurra 2022-01-27 16:33:47 +01:00
parent 37032f5eb2
commit 3853826f78

View file

@ -3493,10 +3493,12 @@ impl Editor {
fn set_selections(&mut self, selections: Arc<[Selection<Anchor>]>, cx: &mut ViewContext<Self>) { fn set_selections(&mut self, selections: Arc<[Selection<Anchor>]>, cx: &mut ViewContext<Self>) {
self.selections = selections; self.selections = selections;
if self.focused {
self.buffer.update(cx, |buffer, cx| { self.buffer.update(cx, |buffer, cx| {
buffer.set_active_selections(&self.selections, cx) buffer.set_active_selections(&self.selections, cx)
}); });
} }
}
pub fn request_autoscroll(&mut self, autoscroll: Autoscroll, cx: &mut ViewContext<Self>) { pub fn request_autoscroll(&mut self, autoscroll: Autoscroll, cx: &mut ViewContext<Self>) {
self.autoscroll_request = Some(autoscroll); self.autoscroll_request = Some(autoscroll);
@ -3721,6 +3723,10 @@ impl Editor {
} }
fn pause_cursor_blinking(&mut self, cx: &mut ViewContext<Self>) { fn pause_cursor_blinking(&mut self, cx: &mut ViewContext<Self>) {
if !self.focused {
return;
}
self.show_local_cursors = true; self.show_local_cursors = true;
cx.notify(); cx.notify();