Skip to content

v1.9.0

Choose a tag to compare

@crftwr crftwr released this 22 Oct 13:28
· 122 commits to main since this release

XeFM 1.9.0

  • Extensions can run long jobs, show results you can copy, and add menu items. An extension can now run its work in the background, with the same progress dialog, Cancel and Run in background that a copy has. It can show its result in a dialog where every code block has a Copy button, and it can put its command in the File menu and the right-click menu. The first official extension is built on this: Compute Hash computes MD5 / SHA-1 / SHA-256 / SHA-512 / BLAKE2b digests of selected files, including files on SSH, S3 and in archives. Install it with xefm ext install github:crftwr/xefm-extensions/compute-hash. If your config.py has EVENT_HOOKS: every hook now takes (ctx, event) and reads event.pane, event.old_path, event.new_path or event.path. A hook written for the old arguments is skipped, with a line in the log pane naming it.
  • Add Python libraries XeFM does not ship. List them in ~/.xefm/requirements.txt and choose Tools ▸ Advanced ▸ Sync Python Packages, or run xefm deps sync. This works for the macOS and Windows apps and Homebrew installs as well, and the libraries survive upgrades. Extensions can declare the libraries they need, and the same sync installs them.
  • Downloads are verified by your operating system on macOS and Windows. Installing an extension from GitHub used to fail in the macOS app on any Mac without python.org's Python. HTTPS is now checked through the system's own trust store, which also rejects revoked certificates, such as those from October's compromised eMudhra intermediate CA.

Also:

  • Text and dialogs:
    • Text in Help and File Details can be selected and copied, and the dialog's footer says what Tab reaches.
    • Details opens tall enough for its whole content.
    • Comparing two binary files reports the result in a message box.
    • WIDE_CHARS in config.py stops symbols like ○ □ ★ from overlapping the next character in terminals whose font draws them full-width.
  • macOS:
    • The app finds programs installed with Homebrew (ffmpeg, fpcalc).
    • The desktop app no longer waits for the external editor to close.
    • The minimum macOS version is now 12.
  • Extensions for authors: an updates field in the manifest, installs from a subdirectory of a repository, a stricter xefm ext check that refuses names outside the public API, and an AI agent skill that covers editing config.py too.
  • Requirements: PuiKit 1.13.0 is required.

Full Changelog: v1.8.0...v1.9.0