Repository navigation
feat(linux): add Yazi file manager integration plugin - #1486
Open
manish0467 wants to merge 2 commits into
Open
manish0467 wants to merge 2 commits into
manish0467 wants to merge 2 commits into
Conversation
- Add Yazi plugin in installer/linux/yazi/filee.yazi/ supporting quick conversion and Donut GUI trigger - Bundle yazi integration in build/build-portable.ps1 - Document setup instructions and keybinding in installer/linux/INSTALL.txt
KnifeLemon
requested changes
Nov 13, 2026
KnifeLemon
left a comment
Owner
There was a problem hiding this comment.
Thanks, @manish0467! A Yazi plugin fits well next to the KWin, GNOME and Hyprland pieces, and the CLI calls are right: filee convert … --to / --preset, and the remove-background and extract presets exist. The install path in INSTALL.txt matches where install.sh puts the app.
A few things before it can go in:
- Drop
--- @sync entry(first line ofinit.lua). With it,entryruns in Yazi's sync context. Butya.which,ya.inputand theya.syncwrapper (get_targets) only work in the async context, so the menu can't open there. Andcmd:output()in a sync entry would freeze Yazi until the conversion ends, which is the opposite of the "non-blocking" in the description. Without the annotation the entry runs async,get_targetsthroughya.syncis the right way to read the selection, andoutput()waits without blocking the UI. - The keymap section. Yazi renamed
managertomgrin its config (25.5). Please use[[mgr.prepend_keymap]]in bothINSTALL.txtand the plugin's README, and say which Yazi version the plugin needs. - "Open in Filee Donut" fallbacks.
~/.local/bin/fileeis the CLI (filee-cli), which has no--convertoption, andinstall.shdoesn't put aFileeonPATH. The installed app path you try first is the right one. Please drop the two fallbacks, and show aya.notifyerror when the app can't be started, instead of always reporting "Opened". - Could you say which Yazi version you tested it with, and how (selection, hovered file, the custom-format prompt)? A short note in the PR is enough.
Thanks again!
- Remove @sync entry to keep execution asynchronous - Update keymap to modern [[mgr.prepend_keymap]] (Yazi 25.5+) in docs - Drop CLI fallbacks and notify on error if GUI launcher fails
Author
|
Hi @KnifeLemon, thank you very much for the review and helpful pointers! I have addressed all the feedback in the latest commit:
All unit tests ( |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds an integration plugin for the Yazi terminal file manager under
installer/linux/yazi/filee.yazi/.Similar to the existing GNOME Shell extension, KWin script, and Hyprland rules in
installer/linux/, this plugin enables Linux / terminal users to interact with Filee directly from within Yazi.Features
ya.which):.md), OCR to Plain Text (.txt)ya.inputya.notify()for in-terminal progress/completion, and sends desktop notifications via standard freedesktopnotify-sendif installed.Packaging & Documentation
build/build-portable.ps1.installer/linux/INSTALL.txtandinstaller/linux/yazi/filee.yazi/README.md.