fix: wrong intersection check in preview and spot rendering (#3736)

This commit is contained in:
三咲雅 misaki masa 2026-03-04 15:17:01 +08:00 committed by sxyazi
parent b92b576ce1
commit 9648d8a43b
No known key found for this signature in database
32 changed files with 265 additions and 229 deletions

View file

@ -1,8 +1,17 @@
[workspace]
resolver = "2"
resolver = "3"
members = [ "yazi-*" ]
default-members = [ "yazi-fm", "yazi-cli" ]
[workspace.package]
edition = "2024"
version = "26.2.2"
license = "MIT"
authors = [ "sxyazi <sxyazi@gmail.com>" ]
homepage = "https://yazi-rs.github.io"
repository = "https://github.com/sxyazi/yazi"
rust-version = "1.92.0"
[profile.dev]
debug = "line-tables-only"

View file

@ -32,7 +32,7 @@
rev = self.shortRev or self.dirtyShortRev or "dirty";
date = self.lastModifiedDate or self.lastModified or "19700101";
version =
(builtins.fromTOML (builtins.readFile ./yazi-fm/Cargo.toml)).package.version
(builtins.fromTOML (builtins.readFile ./Cargo.toml)).workspace.package.version
+ "pre${builtins.substring 0 8 date}_${rev}";
in
{

View file

@ -1,12 +1,13 @@
[package]
name = "yazi-actor"
version = "26.2.2"
edition = "2024"
license = "MIT"
authors = [ "sxyazi <sxyazi@gmail.com>" ]
description = "Yazi actor model"
homepage = "https://yazi-rs.github.io"
repository = "https://github.com/sxyazi/yazi"
version.workspace = true
edition.workspace = true
license.workspace = true
authors.workspace = true
homepage.workspace = true
repository.workspace = true
rust-version.workspace = true
[lints]
workspace = true

View file

@ -1,12 +1,13 @@
[package]
name = "yazi-adapter"
version = "26.2.2"
edition = "2024"
license = "MIT"
authors = [ "sxyazi <sxyazi@gmail.com>" ]
description = "Yazi image adapter"
homepage = "https://yazi-rs.github.io"
repository = "https://github.com/sxyazi/yazi"
version.workspace = true
edition.workspace = true
license.workspace = true
authors.workspace = true
homepage.workspace = true
repository.workspace = true
rust-version.workspace = true
[lints]
workspace = true

View file

@ -1,12 +1,13 @@
[package]
name = "yazi-binding"
version = "26.2.2"
edition = "2024"
license = "MIT"
authors = [ "sxyazi <sxyazi@gmail.com>" ]
description = "Yazi Lua bindings"
homepage = "https://yazi-rs.github.io"
repository = "https://github.com/sxyazi/yazi"
version.workspace = true
edition.workspace = true
license.workspace = true
authors.workspace = true
homepage.workspace = true
repository.workspace = true
rust-version.workspace = true
[lints]
workspace = true

View file

@ -1,12 +1,13 @@
[package]
name = "yazi-boot"
version = "26.2.2"
edition = "2024"
license = "MIT"
authors = [ "sxyazi <sxyazi@gmail.com>" ]
description = "Yazi bootstrapper"
homepage = "https://yazi-rs.github.io"
repository = "https://github.com/sxyazi/yazi"
version.workspace = true
edition.workspace = true
license.workspace = true
authors.workspace = true
homepage.workspace = true
repository.workspace = true
rust-version.workspace = true
[lints]
workspace = true

View file

@ -1,12 +1,13 @@
[package]
name = "yazi-build"
version = "26.2.2"
edition = "2024"
license = "MIT"
authors = [ "sxyazi <sxyazi@gmail.com>" ]
description = "Yazi build system"
homepage = "https://yazi-rs.github.io"
repository = "https://github.com/sxyazi/yazi"
version.workspace = true
edition.workspace = true
license.workspace = true
authors.workspace = true
homepage.workspace = true
repository.workspace = true
rust-version.workspace = true
[lints]
workspace = true

View file

@ -1,12 +1,13 @@
[package]
name = "yazi-cli"
version = "26.2.2"
edition = "2024"
license = "MIT"
authors = [ "sxyazi <sxyazi@gmail.com>" ]
description = "Yazi command-line interface"
homepage = "https://yazi-rs.github.io"
repository = "https://github.com/sxyazi/yazi"
version.workspace = true
edition.workspace = true
license.workspace = true
authors.workspace = true
homepage.workspace = true
repository.workspace = true
rust-version.workspace = true
[lints]
workspace = true

View file

@ -1,12 +1,13 @@
[package]
name = "yazi-codegen"
version = "26.2.2"
edition = "2024"
license = "MIT"
authors = [ "sxyazi <sxyazi@gmail.com>" ]
description = "Yazi code generator"
homepage = "https://yazi-rs.github.io"
repository = "https://github.com/sxyazi/yazi"
version.workspace = true
edition.workspace = true
license.workspace = true
authors.workspace = true
homepage.workspace = true
repository.workspace = true
rust-version.workspace = true
[lints]
workspace = true

View file

@ -1,12 +1,13 @@
[package]
name = "yazi-config"
version = "26.2.2"
edition = "2024"
license = "MIT"
authors = [ "sxyazi <sxyazi@gmail.com>" ]
description = "Yazi configuration file parser"
homepage = "https://yazi-rs.github.io"
repository = "https://github.com/sxyazi/yazi"
version.workspace = true
edition.workspace = true
license.workspace = true
authors.workspace = true
homepage.workspace = true
repository.workspace = true
rust-version.workspace = true
[lints]
workspace = true

View file

@ -1,12 +1,13 @@
[package]
name = "yazi-core"
version = "26.2.2"
edition = "2024"
license = "MIT"
authors = [ "sxyazi <sxyazi@gmail.com>" ]
description = "Yazi core logic"
homepage = "https://yazi-rs.github.io"
repository = "https://github.com/sxyazi/yazi"
version.workspace = true
edition.workspace = true
license.workspace = true
authors.workspace = true
homepage.workspace = true
repository.workspace = true
rust-version.workspace = true
[lints]
workspace = true

View file

@ -1,12 +1,13 @@
[package]
name = "yazi-dds"
version = "26.2.2"
edition = "2024"
license = "MIT"
authors = [ "sxyazi <sxyazi@gmail.com>" ]
description = "Yazi data distribution service"
homepage = "https://yazi-rs.github.io"
repository = "https://github.com/sxyazi/yazi"
version.workspace = true
edition.workspace = true
license.workspace = true
authors.workspace = true
homepage.workspace = true
repository.workspace = true
rust-version.workspace = true
[lints]
workspace = true

View file

@ -1,12 +1,13 @@
[package]
name = "yazi-emulator"
version = "26.2.2"
edition = "2024"
license = "MIT"
authors = [ "sxyazi <sxyazi@gmail.com>" ]
description = "Yazi terminal emulator database"
homepage = "https://yazi-rs.github.io"
repository = "https://github.com/sxyazi/yazi"
version.workspace = true
edition.workspace = true
license.workspace = true
authors.workspace = true
homepage.workspace = true
repository.workspace = true
rust-version.workspace = true
[lints]
workspace = true

View file

@ -1,12 +1,13 @@
[package]
name = "yazi-ffi"
version = "26.2.2"
edition = "2024"
license = "MIT"
authors = [ "sxyazi <sxyazi@gmail.com>" ]
description = "Yazi foreign function interface"
homepage = "https://yazi-rs.github.io"
repository = "https://github.com/sxyazi/yazi"
version.workspace = true
edition.workspace = true
license.workspace = true
authors.workspace = true
homepage.workspace = true
repository.workspace = true
rust-version.workspace = true
[lints]
workspace = true

View file

@ -1,12 +1,13 @@
[package]
name = "yazi-fm"
version = "26.2.2"
edition = "2024"
license = "MIT"
authors = [ "sxyazi <sxyazi@gmail.com>" ]
description = "Yazi file manager"
homepage = "https://yazi-rs.github.io"
repository = "https://github.com/sxyazi/yazi"
version.workspace = true
edition.workspace = true
license.workspace = true
authors.workspace = true
homepage.workspace = true
repository.workspace = true
rust-version.workspace = true
[lints]
workspace = true

View file

@ -23,7 +23,7 @@ impl Widget for Preview<'_> {
for w in &lock.data {
let rect = w.area().transform(|p| self.core.mgr.area(p));
if win.intersects(rect) {
if rect.intersection(win) == rect {
w.clone().render(rect, buf);
}
}

View file

@ -17,7 +17,7 @@ impl Widget for Spot<'_> {
for w in &lock.data {
let rect = w.area().transform(|p| self.core.mgr.area(p));
if win.intersects(rect) {
if rect.intersection(win) == rect {
w.clone().render(rect, buf);
}
}

View file

@ -1,12 +1,13 @@
[package]
name = "yazi-fs"
version = "26.2.2"
edition = "2024"
license = "MIT"
authors = [ "sxyazi <sxyazi@gmail.com>" ]
description = "Yazi file system"
homepage = "https://yazi-rs.github.io"
repository = "https://github.com/sxyazi/yazi"
version.workspace = true
edition.workspace = true
license.workspace = true
authors.workspace = true
homepage.workspace = true
repository.workspace = true
rust-version.workspace = true
[lints]
workspace = true

View file

@ -1,12 +1,13 @@
[package]
name = "yazi-macro"
version = "26.2.2"
edition = "2024"
license = "MIT"
authors = [ "sxyazi <sxyazi@gmail.com>" ]
description = "Yazi macros"
homepage = "https://yazi-rs.github.io"
repository = "https://github.com/sxyazi/yazi"
version.workspace = true
edition.workspace = true
license.workspace = true
authors.workspace = true
homepage.workspace = true
repository.workspace = true
rust-version.workspace = true
[lints]
workspace = true

View file

@ -1,12 +1,13 @@
[package]
name = "yazi-packing"
version = "26.2.2"
edition = "2024"
license = "MIT"
authors = [ "sxyazi <sxyazi@gmail.com>" ]
description = "Yazi packing"
homepage = "https://yazi-rs.github.io"
repository = "https://github.com/sxyazi/yazi"
version.workspace = true
edition.workspace = true
license.workspace = true
authors.workspace = true
homepage.workspace = true
repository.workspace = true
rust-version.workspace = true
[lints]
workspace = true

View file

@ -1,12 +1,13 @@
[package]
name = "yazi-parser"
version = "26.2.2"
edition = "2024"
license = "MIT"
authors = [ "sxyazi <sxyazi@gmail.com>" ]
description = "Yazi command parser"
homepage = "https://yazi-rs.github.io"
repository = "https://github.com/sxyazi/yazi"
version.workspace = true
edition.workspace = true
license.workspace = true
authors.workspace = true
homepage.workspace = true
repository.workspace = true
rust-version.workspace = true
[lints]
workspace = true

View file

@ -1,12 +1,13 @@
[package]
name = "yazi-plugin"
version = "26.2.2"
edition = "2024"
license = "MIT"
authors = [ "sxyazi <sxyazi@gmail.com>" ]
description = "Yazi plugin system"
homepage = "https://yazi-rs.github.io"
repository = "https://github.com/sxyazi/yazi"
version.workspace = true
edition.workspace = true
license.workspace = true
authors.workspace = true
homepage.workspace = true
repository.workspace = true
rust-version.workspace = true
[lints]
workspace = true

View file

@ -1,12 +1,13 @@
[package]
name = "yazi-proxy"
version = "26.2.2"
edition = "2024"
license = "MIT"
authors = [ "sxyazi <sxyazi@gmail.com>" ]
description = "Yazi event proxy"
homepage = "https://yazi-rs.github.io"
repository = "https://github.com/sxyazi/yazi"
version.workspace = true
edition.workspace = true
license.workspace = true
authors.workspace = true
homepage.workspace = true
repository.workspace = true
rust-version.workspace = true
[lints]
workspace = true

View file

@ -1,12 +1,13 @@
[package]
name = "yazi-scheduler"
version = "26.2.2"
edition = "2024"
license = "MIT"
authors = [ "sxyazi <sxyazi@gmail.com>" ]
description = "Yazi task scheduler"
homepage = "https://yazi-rs.github.io"
repository = "https://github.com/sxyazi/yazi"
version.workspace = true
edition.workspace = true
license.workspace = true
authors.workspace = true
homepage.workspace = true
repository.workspace = true
rust-version.workspace = true
[lints]
workspace = true

View file

@ -1,12 +1,13 @@
[package]
name = "yazi-sftp"
version = "26.2.2"
edition = "2024"
license = "MIT"
authors = [ "AspectUnk", "sxyazi <sxyazi@gmail.com>" ]
description = "Yazi SFTP client"
homepage = "https://yazi-rs.github.io"
repository = "https://github.com/sxyazi/yazi"
authors = [ "AspectUnk", "sxyazi <sxyazi@gmail.com>" ]
version.workspace = true
edition.workspace = true
license.workspace = true
homepage.workspace = true
repository.workspace = true
rust-version.workspace = true
[lints]
workspace = true

View file

@ -1,13 +1,13 @@
[package]
name = "yazi-shared"
version = "26.2.2"
edition = "2024"
license = "MIT"
authors = [ "sxyazi <sxyazi@gmail.com>" ]
description = "Yazi shared library"
homepage = "https://yazi-rs.github.io"
repository = "https://github.com/sxyazi/yazi"
rust-version = "1.92.0"
version.workspace = true
edition.workspace = true
license.workspace = true
authors.workspace = true
homepage.workspace = true
repository.workspace = true
rust-version.workspace = true
[lints]
workspace = true

View file

@ -1,12 +1,13 @@
[package]
name = "yazi-shim"
version = "26.2.2"
edition = "2024"
license = "MIT"
authors = [ "sxyazi <sxyazi@gmail.com>" ]
description = "Yazi crate shims"
homepage = "https://yazi-rs.github.io"
repository = "https://github.com/sxyazi/yazi"
version.workspace = true
edition.workspace = true
license.workspace = true
authors.workspace = true
homepage.workspace = true
repository.workspace = true
rust-version.workspace = true
[lints]
workspace = true

View file

@ -1,12 +1,13 @@
[package]
name = "yazi-term"
version = "26.2.2"
edition = "2024"
license = "MIT"
authors = [ "sxyazi <sxyazi@gmail.com>" ]
description = "Yazi terminal extensions"
homepage = "https://yazi-rs.github.io"
repository = "https://github.com/sxyazi/yazi"
version.workspace = true
edition.workspace = true
license.workspace = true
authors.workspace = true
homepage.workspace = true
repository.workspace = true
rust-version.workspace = true
[lints]
workspace = true

View file

@ -1,12 +1,13 @@
[package]
name = "yazi-tty"
version = "26.2.2"
edition = "2024"
license = "MIT"
authors = [ "sxyazi <sxyazi@gmail.com>" ]
description = "Yazi TTY access layer"
homepage = "https://yazi-rs.github.io"
repository = "https://github.com/sxyazi/yazi"
version.workspace = true
edition.workspace = true
license.workspace = true
authors.workspace = true
homepage.workspace = true
repository.workspace = true
rust-version.workspace = true
[lints]
workspace = true

View file

@ -1,12 +1,13 @@
[package]
name = "yazi-vfs"
version = "26.2.2"
edition = "2024"
license = "MIT"
authors = [ "sxyazi <sxyazi@gmail.com>" ]
description = "Yazi virtual file system"
homepage = "https://yazi-rs.github.io"
repository = "https://github.com/sxyazi/yazi"
version.workspace = true
edition.workspace = true
license.workspace = true
authors.workspace = true
homepage.workspace = true
repository.workspace = true
rust-version.workspace = true
[lints]
workspace = true

View file

@ -1,12 +1,13 @@
[package]
name = "yazi-watcher"
version = "26.2.2"
edition = "2024"
license = "MIT"
authors = [ "sxyazi <sxyazi@gmail.com>" ]
description = "Yazi file watcher"
homepage = "https://yazi-rs.github.io"
repository = "https://github.com/sxyazi/yazi"
version.workspace = true
edition.workspace = true
license.workspace = true
authors.workspace = true
homepage.workspace = true
repository.workspace = true
rust-version.workspace = true
[lints]
workspace = true

View file

@ -1,12 +1,13 @@
[package]
name = "yazi-widgets"
version = "26.2.2"
edition = "2024"
license = "MIT"
authors = [ "sxyazi <sxyazi@gmail.com>" ]
description = "Yazi user interface widgets"
homepage = "https://yazi-rs.github.io"
repository = "https://github.com/sxyazi/yazi"
version.workspace = true
edition.workspace = true
license.workspace = true
authors.workspace = true
homepage.workspace = true
repository.workspace = true
rust-version.workspace = true
[lints]
workspace = true