@@ -50,7 +50,12 @@ impl EditorView {
5050 // TODO: this seems to prevent setting style later
5151 // surface.set_style(viewport, theme.get("ui.background"));
5252
53− let area = Rect::new(viewport.x, viewport.height - 2, viewport.width, 1);
53+ let area = Rect::new(
54+ viewport.x,
55+ viewport.y + viewport.height - 2,
56+ viewport.width,
57+ 1,
58+ );
5459 self.render_statusline(&view.doc, area, surface, theme, is_focused);
5560 }
5661
@@ -241,27 +246,34 @@ impl EditorView {
241246 theme: &Theme,
242247 is_focused: bool,
243248 ) {
244− let text_color = text_color();
245249 let mode = match doc.mode() {
246250 Mode::Insert => "INS",
247251 Mode::Normal => "NOR",
248252 Mode::Goto => "GOTO",
249253 };
254+ // TODO: share text_color styles inside theme
255+ let text_color = if is_focused {
256+ Style::default().fg(Color::Rgb(219, 191, 239)) // lilac
257+ } else {
258+ Style::default().fg(Color::Rgb(164, 160, 232)) // lavender
259+ };
250260 // statusline
251261 surface.set_style(
252262 Rect::new(viewport.x, viewport.y, viewport.width, 1),
253263 theme.get("ui.statusline"),
254264 );
255− surface.set_string(viewport.x + 1, viewport.y, mode, text_color);
265+ if is_focused {
266+ surface.set_string(viewport.x + 1, viewport.y, mode, text_color);
267+ }
256268
257269 if let Some(path) = doc.relative_path() {
258270 let path = path.to_string_lossy();
259− surface.set_string(6, viewport.y, path, text_color);
271+ surface.set_string(viewport.x + 6, viewport.y, path, text_color);
260272 // TODO: append [+] if modified
261273 }
262274
263275 surface.set_string(
264− viewport.width - 10,
276+ viewport.x + viewport.width - 10,
265277 viewport.y,
266278 format!("{}", doc.diagnostics.len()),
267279 text_color,