Fix block-only gif printing in Kitty & iTerm

This commit is contained in:
atanunq 2021-06-22 23:08:48 +03:00
parent faeaaf0b9e
commit 4a29bfb561
No known key found for this signature in database
GPG Key ID: 628280A0217A7B0F
1 changed files with 5 additions and 3 deletions

View File

@ -130,7 +130,8 @@ fn view_file(conf: &Config, filename: &str, (tx, rx): TxRx) -> ViuResult {
file_in.seek(std::io::SeekFrom::Start(0))?;
// If the file is a gif, let iTerm handle it natively
if viuer::is_iterm_supported()
if conf.viuer_config.use_iterm
&& viuer::is_iterm_supported()
&& (image::guess_format(&format_guess_buf[..])?) == image::ImageFormat::Gif
{
viuer::print_from_file(filename, &conf.viuer_config)?;
@ -154,8 +155,9 @@ fn try_print_gif<R: Read>(conf: &Config, input_stream: R, (tx, rx): TxRx) -> Viu
.map(|f| {
let delay = Duration::from(f.delay());
// Keep the image as it is for Kitty and iTerm, it will be printed in full resolution there
if viuer::is_iterm_supported()
|| viuer::get_kitty_support() != viuer::KittySupport::None
if (conf.viuer_config.use_iterm && viuer::is_iterm_supported())
|| (conf.viuer_config.use_kitty
&& viuer::get_kitty_support() != viuer::KittySupport::None)
{
(delay, DynamicImage::ImageRgba8(f.into_buffer()))
} else {