Skip to content

Reload separate configurations based on terminal size and on resize events #4089

Description

@Fjinna-Lyra

ya env output

Yazi
    Version: 26.5.6 (ea7fa21 2026-06-06)
    Debug  : false
    Triple : x86_64-unknown-linux-gnu (linux-x86_64)
    Rustc  : 1.96.0 (ac68faa2 2026-05-25)
    Backtrace: None

Ya
    Version: 26.5.6 (ea7fa21 2026-06-06)
    Debug  : false
    Triple : x86_64-unknown-linux-gnu (linux-x86_64)
    Rustc  : 1.96.0 (ac68faa2 2026-05-25)

Config
    Init             : /home/akiyama/.config/yazi/init.lua (No such file or directory (os error 2))
    Yazi             : /home/akiyama/.config/yazi/yazi.toml (No such file or directory (os error 2))
    Keymap           : /home/akiyama/.config/yazi/keymap.toml (No such file or directory (os error 2))
    Theme            : /home/akiyama/.config/yazi/theme.toml (No such file or directory (os error 2))
    VFS              : /home/akiyama/.config/yazi/vfs.toml (No such file or directory (os error 2))
    Package          : /home/akiyama/.config/yazi/package.toml (No such file or directory (os error 2))
    Dark/light flavor: ArcSwapAny("") / ArcSwapAny("")

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.47.1)", light: false, csi_16t: (9, 20), force_16t: false }

Adapter
    Adapter.matches    : Kgp
    Dimension.available: Dimension { cols: 76, rows: 38, width: 684, height: 760 }

Desktop
    XDG_SESSION_TYPE           : Some("wayland")
    WAYLAND_DISPLAY            : Some("wayland-1")
    DISPLAY                    : Some(":0")
    NIRI_SOCKET                : None
    SWAYSOCK                   : None
    HYPRLAND_INSTANCE_SIGNATURE: Some("39d7e209c79d451efab1b21151d5938289da838d_1782537735_501413172")
    WAYFIRE_SOCKET             : None

SSH
    shared.in_ssh_connection: false

WSL
    WSL: false

Variables
    SHELL              : Some("/bin/bash")
    EDITOR             : None
    VISUAL             : None
    YAZI_FILE_ONE      : None
    YAZI_CONFIG_HOME   : None
    YAZI_ZOXIDE_OPTS   : None
    SSH_AUTH_SOCK      : None
    FZF_DEFAULT_OPTS   : None
    FZF_DEFAULT_COMMAND: None

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

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

Dependencies
    file          : 5.47
    ueberzugpp    : No such file or directory (os error 2)
    ffmpeg/ffprobe: 8.1.1 / 8.1.1
    pdftoppm      : 26.05.0
    magick        : 7.1.2-25
    fzf           : 0.72.0
    fd/fdfind     : No such file or directory (os error 2) / No such file or directory (os error 2)
    rg            : 15.1.0
    chafa         : No such file or directory (os error 2)
    zoxide        : No such file or directory (os error 2)
    7zz/7z        : No such file or directory (os error 2) / 26.01
    resvg         : 0.47.0
    jq            : 1.8.1

Clipboard
    wl-copy/paste: 2.3.0 / 2.3.0
    xclip        : No such file or directory (os error 2)
    xsel         : 1.2.1

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

Please describe the problem you're trying to solve

Having the preview pane is nice on a wide terminal, but on a narrow terminal it takes up valuable space. I can manually toggle it on or off, but when you keep resizing the terminal, it gets annoying.

Would you be willing to contribute this feature?

  • Yes, I'll give it a shot

Describe the solution you'd like

When the terminal is resized, load a ratio configuration based on the terminal size. Like, if the terminal width is less that X cells (~75 in my case) then the ratio should [4 6 0] otherwise it should be the default

Additional context

No response

Checklist

  • I have searched the existing issues/discussions
  • The latest nightly build doesn't already have this feature

Metadata

Metadata

Assignees

No one assigned

    Labels

    featureNew feature request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions