Skip to content

Refactor toggle-pane to use new dynamic layout API #168

@janlarres

Description

@janlarres

yazi --debug output

Yazi
    Version: 25.12.29 (f31147d 2025-12-29)
    Debug  : false
    Triple : x86_64-unknown-linux-gnu (linux-x86_64)
    Rustc  : 1.92.0 (ded5c06c 2025-12-08)

Ya
    Version: 25.12.29 (f31147d 2025-12-29)

Config
    Yazi             : /home/jan/.config/yazi/yazi.toml (3231 chars)
    Keymap           : /home/jan/.config/yazi/keymap.toml (3983 chars)
    Theme            : /home/jan/.config/yazi/theme.toml (1579 chars)
    VFS              : /home/jan/.config/yazi/vfs.toml (No such file or directory (os error 2))
    Package          : /home/jan/.config/yazi/package.toml (No such file or directory (os error 2))
    Dark/light flavor: "" / ""

Emulator
    TERM                : Some("xterm-kitty")
    TERM_PROGRAM        : None
    TERM_PROGRAM_VERSION: None
    Brand.from_env      : Some(Kitty)
    Emulator.detect     : Emulator { kind: Left(Kitty), version: "kitty(0.42.2)", light: true, csi_16t: (9, 19), force_16t: false }

Adapter
    Adapter.matches    : Kgp
    Dimension.available: Dimension { rows: 53, columns: 139, width: 1251, height: 1007 }

Desktop
    XDG_SESSION_TYPE           : Some("wayland")
    WAYLAND_DISPLAY            : Some("wayland-1")
    DISPLAY                    : Some(":0")
    SWAYSOCK                   : Some("/run/user/1000/sway-ipc.1000.3615.sock")
    HYPRLAND_INSTANCE_SIGNATURE: None
    WAYFIRE_SOCKET             : None

SSH
    shared.in_ssh_connection: false

WSL
    WSL: false

Variables
    SHELL              : Some("/usr/bin/zsh")
    EDITOR             : Some("nvim")
    VISUAL             : Some("nvim")
    YAZI_FILE_ONE      : None
    YAZI_CONFIG_HOME   : None
    YAZI_ZOXIDE_OPTS   : None
    FZF_DEFAULT_OPTS   : Some("    --walker=file,dir,hidden,follow     --walker-skip=.git,node_modules,target     --exact     --reverse     --bind \'ctrl-y:execute-silent(echo {} | cb)+abort\'     --color fg:-1,bg:-1,hl:green,fg+:bright-yellow,bg+:-1,hl+:bright-green,prompt:cyan,pointer:bright-red,marker:red ")
    FZF_DEFAULT_COMMAND: None

Text Opener
    default     : Some(OpenerRule { run: "${EDITOR:-vi} %s", block: true, orphan: false, desc: "$EDITOR", for: None, spread: true })
    block-create: Some(OpenerRule { run: "${EDITOR:-vi} %s", block: true, orphan: false, desc: "$EDITOR", for: None, spread: true })
    block-rename: Some(OpenerRule { run: "${EDITOR:-vi} %s", block: true, orphan: false, desc: "$EDITOR", for: None, spread: true })

Multiplexers
    TMUX               : false
    tmux version       : 3.6
    tmux build flags   : enable-sixel=Supported
    ZELLIJ_SESSION_NAME: None
    Zellij version     : No such file or directory (os error 2)

Dependencies
    file          : 5.46
    ueberzugpp    : No such file or directory (os error 2)
    ffmpeg/ffprobe: 8.0.1-2 / 8.0.1-2
    pdftoppm      : 25.03.0
    magick        : 7.1.2-8
    fzf           : 0.67.0
    fd/fdfind     : 10.3.0 / 10.3.0
    rg            : 15.1.0
    chafa         : 1.18.0
    zoxide        : 0.9.8
    7zz/7z        : No such file or directory (os error 2) / 25.01
    resvg         : 0.45.1
    jq            : 1.8.1

Clipboard
    wl-copy/paste: 2.2.1 / 2.2.1
    xclip        : 0.13
    xsel         : 1.2.1

Routine
    `file -bL --mime-type`: text/plain


See https://yazi-rs.github.io/docs/plugins/overview#debugging on how to enable logging or debug runtime errors.

Please describe the problem you're trying to solve

The toggle-pane plugin currently uses an old API to modify the ratio. When using this API together with the new one introduced in sxyazi/yazi#2964 it causes conflicts, as seen in sxyazi/yazi#3481. It would be good to refactor the plugin to use the new API.

Would you be willing to contribute this feature?

  • Yes, I'll give it a shot

Describe the solution you'd like

Refactor the toggle-pane plugin to use the new dynamic ratio API

Additional context

No response

Checklist

  • I have searched the existing issues/discussions

Metadata

Metadata

Assignees

No one assigned

    Labels

    featureNew feature request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions