Skip to content

Commit

Permalink
fix: line numbers remain relative when helix loses focus (helix-edito…
Browse files Browse the repository at this point in the history
…r#7955)

* fix: line numbers remain relative when helix loses focus

If `line number = relative` and a new window is opened in helix, lines inside unfocused windows will be `absolute`. This commit adds the same thing when helix becomes unfocused in a terminal emulator.

* partial rebase
  • Loading branch information
woojiq authored and mtoohey31 committed Jun 2, 2024
1 parent 1593ada commit 04300e8
Showing 1 changed file with 9 additions and 2 deletions.
11 changes: 9 additions & 2 deletions helix-term/src/ui/editor.rs
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,8 @@ pub struct EditorView {
pub(crate) last_insert: (commands::MappableCommand, Vec<InsertEvent>),
pub(crate) completion: Option<Completion>,
spinners: ProgressSpinners,
/// Tracks if the terminal window is focused by reaction to terminal focus events
terminal_focused: bool,
}

#[derive(Debug, Clone)]
Expand Down Expand Up @@ -71,6 +73,7 @@ impl EditorView {
last_insert: (commands::MappableCommand::normal_mode, Vec::new()),
completion: None,
spinners: ProgressSpinners::default(),
terminal_focused: true,
}
}

Expand Down Expand Up @@ -171,7 +174,7 @@ impl EditorView {
view,
view.area,
theme,
is_focused,
is_focused & self.terminal_focused,
&mut line_decorations,
);
}
Expand Down Expand Up @@ -1372,13 +1375,17 @@ impl Component for EditorView {

Event::Mouse(event) => self.handle_mouse_event(event, &mut cx),
Event::IdleTimeout => self.handle_idle_timeout(&mut cx),
Event::FocusGained => EventResult::Ignored(None),
Event::FocusGained => {
self.terminal_focused = true;
EventResult::Consumed(None)
}
Event::FocusLost => {
if context.editor.config().auto_save {
if let Err(e) = commands::typed::write_all_impl(context, false, false) {
context.editor.set_error(format!("{}", e));
}
}
self.terminal_focused = false;
EventResult::Consumed(None)
}
}
Expand Down

0 comments on commit 04300e8

Please sign in to comment.