summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/history.rs12
-rw-r--r--src/state.rs3
2 files changed, 10 insertions, 5 deletions
diff --git a/src/history.rs b/src/history.rs
index c55f62c..4421e20 100644
--- a/src/history.rs
+++ b/src/history.rs
@@ -136,8 +136,8 @@ impl History {
) -> anyhow::Result<()> {
if let Some(idx) = focus {
let mut entry = self.entries[idx].lock_arc().await;
- if entry.should_full_screen() {
- entry.render_full_screen(out);
+ if entry.should_fullscreen() {
+ entry.render_fullscreen(out);
return Ok(());
}
}
@@ -184,6 +184,10 @@ impl History {
self.entries[idx].lock_arc().await.toggle_fullscreen();
}
+ pub async fn is_fullscreen(&self, idx: usize) -> bool {
+ self.entries[idx].lock_arc().await.should_fullscreen()
+ }
+
pub fn entry_count(&self) -> usize {
self.entries.len()
}
@@ -340,12 +344,12 @@ impl HistoryEntry {
out.reset_attributes();
}
- fn should_full_screen(&self) -> bool {
+ fn should_fullscreen(&self) -> bool {
self.fullscreen
.unwrap_or_else(|| self.vt.screen().alternate_screen())
}
- fn render_full_screen(&mut self, out: &mut textmode::Output) {
+ fn render_fullscreen(&mut self, out: &mut textmode::Output) {
let screen = self.vt.screen();
let new_audible_bell_state = screen.audible_bell_count();
let new_visual_bell_state = screen.visual_bell_count();
diff --git a/src/state.rs b/src/state.rs
index 8271cec..6f17e95 100644
--- a/src/state.rs
+++ b/src/state.rs
@@ -36,7 +36,8 @@ impl State {
self.readline.render(out, true).await?;
}
Focus::History(idx) => {
- if self.hide_readline {
+ if self.hide_readline || self.history.is_fullscreen(idx).await
+ {
self.history.render(out, 0, Some(idx)).await?;
} else {
self.history