From e2e8159bb2f8522343164342a469ad909c66028d Mon Sep 17 00:00:00 2001 From: frozolotl <44589151+frozolotl@users.noreply.github.com> Date: Thu, 8 Feb 2024 10:29:36 +0100 Subject: [PATCH] Do not enter alternate screen if colors are disabled (#3366) --- crates/typst-cli/src/terminal.rs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/crates/typst-cli/src/terminal.rs b/crates/typst-cli/src/terminal.rs index f0c57b43..ed2b6fe0 100644 --- a/crates/typst-cli/src/terminal.rs +++ b/crates/typst-cli/src/terminal.rs @@ -116,7 +116,9 @@ impl TermOut { /// Enters the alternate screen if none was opened already. pub fn enter_alternate_screen(&mut self) -> io::Result<()> { - if !self.inner.in_alternate_screen.load(Ordering::Acquire) { + if self.inner.stream.supports_color() + && !self.inner.in_alternate_screen.load(Ordering::Acquire) + { let mut stream = self.inner.stream.lock(); write!(stream, "\x1B[?1049h")?; stream.flush()?; @@ -127,7 +129,9 @@ impl TermOut { /// Leaves the alternate screen if it is already open. pub fn leave_alternate_screen(&mut self) -> io::Result<()> { - if self.inner.in_alternate_screen.load(Ordering::Acquire) { + if self.inner.stream.supports_color() + && self.inner.in_alternate_screen.load(Ordering::Acquire) + { let mut stream = self.inner.stream.lock(); write!(stream, "\x1B[?1049l")?; stream.flush()?;