diff --git a/yazi-adapter/src/drivers/kgp.rs b/yazi-adapter/src/drivers/kgp.rs index 1290cf35..4d39cb4f 100644 --- a/yazi-adapter/src/drivers/kgp.rs +++ b/yazi-adapter/src/drivers/kgp.rs @@ -379,14 +379,14 @@ impl Kgp { fn place(area: &Rect) -> Result> { let mut buf = Vec::with_capacity(area.width as usize * area.height as usize * 3 + 50); + write!(buf, "\x1b[38;2;0;0;1m")?; for y in 0..area.height { - write!(buf, "\x1b[{};{}H\x1b[38;5;1m", area.y + y + 1, area.x + 1)?; + write!(buf, "\x1b[{};{}H", area.y + y + 1, area.x + 1)?; for x in 0..area.width { write!(buf, "\u{10EEEE}")?; write!(buf, "{}", *DIACRITICS.get(y as usize).unwrap_or(&DIACRITICS[0]))?; write!(buf, "{}", *DIACRITICS.get(x as usize).unwrap_or(&DIACRITICS[0]))?; } - write!(buf, "\x1b[0m")?; } Ok(buf) } diff --git a/yazi-adapter/src/emulator.rs b/yazi-adapter/src/emulator.rs index fb9410b5..a1ac4815 100644 --- a/yazi-adapter/src/emulator.rs +++ b/yazi-adapter/src/emulator.rs @@ -88,7 +88,7 @@ impl Emulator { { use std::{io::Write, thread, time::Duration}; - use crossterm::{cursor::{Hide, MoveTo, RestorePosition, SavePosition, Show}, queue}; + use crossterm::{cursor::{Hide, MoveTo, Show}, queue}; let mut w = TTY.lockout(); diff --git a/yazi-core/src/tab/commands/arrow.rs b/yazi-core/src/tab/commands/arrow.rs index 16ac035b..f02a0ae3 100644 --- a/yazi-core/src/tab/commands/arrow.rs +++ b/yazi-core/src/tab/commands/arrow.rs @@ -28,12 +28,8 @@ impl Tab { // Visual selection if let Some((start, items)) = self.mode.visual_mut() { - let after = self.current.cursor; - - items.clear(); - for i in start.min(after)..=after.max(start) { - items.insert(i); - } + let end = self.current.cursor; + *items = (start.min(end)..=end.max(start)).collect(); } self.hover(None); diff --git a/yazi-fm/src/term.rs b/yazi-fm/src/term.rs index c715c3ee..2b31a3dd 100644 --- a/yazi-fm/src/term.rs +++ b/yazi-fm/src/term.rs @@ -32,12 +32,12 @@ impl Term { execute!( TTY.writer(), - yazi_term::If(TMUX.get(), EnterAlternateScreen), + yazi_term::If(!TMUX.get(), EnterAlternateScreen), Print("\x1bP$q q\x1b\\"), // Request cursor shape (DECRQSS query for DECSCUSR) Print(Mux::csi("\x1b[?12$p")), // Request cursor blink status (DECSET) Print("\x1b[?u"), // Request keyboard enhancement flags (CSI u) Print(Mux::csi("\x1b[0c")), // Request device attributes - yazi_term::If(!TMUX.get(), EnterAlternateScreen), + yazi_term::If(TMUX.get(), EnterAlternateScreen), EnableBracketedPaste, yazi_term::If(!YAZI.mgr.mouse_events.is_empty(), EnableMouseCapture), )?;