This commit is contained in:
sxyazi 2023-10-23 11:31:35 +08:00
parent 218e9310e9
commit 391cf82cce
No known key found for this signature in database
4 changed files with 24 additions and 34 deletions

View file

@ -21,4 +21,4 @@ ratatui = "^0"
tokio = { version = "^1", features = [ "parking_lot", "io-util", "process" ] }
# Logging
tracing = {version = "^0", features = ["max_level_debug", "release_max_level_warn"]}
tracing = { version = "^0", features = [ "max_level_debug", "release_max_level_warn" ] }

View file

@ -1,14 +1,9 @@
use std::cmp::max;
use std::{path::PathBuf, process::Stdio};
use tracing::debug;
use std::{cmp::max, path::PathBuf, process::Stdio};
use anyhow::Result;
use ratatui::prelude::Rect;
use tokio::{
io::AsyncWriteExt,
process::{Child, Command},
sync::mpsc::{self, UnboundedSender},
};
use tokio::{io::AsyncWriteExt, process::{Child, Command}, sync::mpsc::{self, UnboundedSender}};
use tracing::debug;
use yazi_config::PREVIEW;
use crate::Adaptor;
@ -40,10 +35,8 @@ impl Ueberzug {
fn adjust_rect(mut rect: Rect) -> Rect {
let cfg = &PREVIEW.ueberzug;
rect.x =
max((rect.x as f64 / cfg.scale_down_factor + cfg.x_offset) as i32, 0) as u16;
rect.y =
max((rect.y as f64 / cfg.scale_down_factor + cfg.y_offset) as i32, 0) as u16;
rect.x = max((rect.x as f64 / cfg.scale_down_factor + cfg.x_offset) as i32, 0) as u16;
rect.y = max((rect.y as f64 / cfg.scale_down_factor + cfg.y_offset) as i32, 0) as u16;
rect.width =
max((rect.width as f64 / cfg.scale_down_factor + cfg.width_offset) as i32, 0) as u16;
rect.height =

View file

@ -14,15 +14,15 @@ max_width = 600
max_height = 900
cache_dir = ""
[preview.ueberzug]
# Scale down the coordinate and size of image preview that is incorrectly scaled
# up by ueberzugpp in Wayland (tested under Hyprland). Example usage: if your
# monitor has a 2.0 scale factor, you should pass 2.0 here.
scale_down_factor = 1.0
x_offset = 0.0
y_offset = 0.0
width_offset = 0.0
height_offset = 0.0
[preview.ueberzug]
# Scale down the coordinate and size of image preview that is incorrectly scaled
# up by ueberzugpp in Wayland (tested under Hyprland). Example usage: if your
# monitor has a 2.0 scale factor, you should pass 2.0 here.
scale_down_factor = 1.0
x_offset = 0.0
y_offset = 0.0
width_offset = 0.0
height_offset = 0.0
[opener]
edit = [

View file

@ -1,7 +1,4 @@
use std::{
path::{Path, PathBuf},
time::{self, SystemTime},
};
use std::{path::{Path, PathBuf}, time::{self, SystemTime}};
use md5::{Digest, Md5};
use serde::Deserialize;
@ -12,16 +9,16 @@ use crate::{xdg::Xdg, MERGED_YAZI};
#[derive(Debug, Deserialize)]
pub struct UeberzugPreview {
pub scale_down_factor: f64,
pub x_offset: f64,
pub y_offset: f64,
pub width_offset: f64,
pub height_offset: f64,
pub x_offset: f64,
pub y_offset: f64,
pub width_offset: f64,
pub height_offset: f64,
}
#[derive(Debug)]
pub struct Preview {
pub tab_size: u32,
pub max_width: u32,
pub tab_size: u32,
pub max_width: u32,
pub max_height: u32,
pub cache_dir: PathBuf,
@ -37,8 +34,8 @@ impl Default for Preview {
}
#[derive(Deserialize)]
struct Shadow {
tab_size: u32,
max_width: u32,
tab_size: u32,
max_width: u32,
max_height: u32,
cache_dir: Option<String>,