From 6f5205746790c18006f7aa1d13c12ba04281712f Mon Sep 17 00:00:00 2001 From: sxyazi Date: Wed, 16 Aug 2023 15:48:19 +0800 Subject: [PATCH] .. --- core/src/external/file.rs | 2 +- shared/src/term.rs | 25 +++++++++++++++++++------ 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/core/src/external/file.rs b/core/src/external/file.rs index e52771ee..2a46276f 100644 --- a/core/src/external/file.rs +++ b/core/src/external/file.rs @@ -10,7 +10,7 @@ pub async fn file(files: &[impl AsRef]) -> Result WindowSize { + let mut size = WindowSize { rows: 0, columns: 0, width: 0, height: 0 }; if let Ok(s) = crossterm::terminal::window_size() { - return s; - }; - // TODO - WindowSize { rows: 1, columns: 1, width: 0, height: 0 } + let _ = mem::replace(&mut size, s); + } + + if size.rows == 0 || size.columns == 0 { + if let Ok(s) = crossterm::terminal::size() { + size.columns = s.0; + size.rows = s.1; + } + } + + // TODO: Use `CSI 14 t` to get the actual size of the terminal + if size.width == 0 || size.height == 0 { + size.width = 300; + size.height = 300; + } + + size } #[inline]