Opublikowano wersję beta menedżera plików f4 0.3.0. Projekt odwzorowuje interfejs, zachowanie i strukturę wewnętrzną Far Managera i far2l, ale został napisany od nowa w języku Go, przy użyciu metodologii „czystego pokoju”. Kod jest publikowany na licencji BSD i został napisany przez asystentów AI. Ręczne przeglądy zastępują dużą liczbę automatycznych testów, które w CI są uruchamiane na kilku systemach operacyjnych i architekturach. Gotowe wersje są tworzone dla Linuxa, Windows (w tym osobna wersja dla Windows 7/8/8.1), ReactOS, macOS, FreeBSD, OpenBSD, NetBSD, DragonFly BSD i Androida (Termux). Ekstremalnie wspierane są Illumos i Solaris, a portowanie na Redox, GNU Hurd i Haiku jest w toku.
Podstawowe funkcje:
- Dostawa jako jeden statycznie zbudowany plik wykonywalny bez zewnętrznych zależności (kompilacja bez CGO). Wspierane architektury to x86-64, x86, ARM64, ARMv7, RISC-V, LoongArch, MIPS oraz POWER.
- Praca w terminalu lub w osobnym oknie graficznym. W terminalu wspierane są protokoły kitty i Win32 Input Mode, co powoduje różnice w kombinacjach klawiszy, takich jak Ctrl+Enter i Shift+Tab. Dla trybu graficznego dostępne są backendy X11, Wayland, Win32 GDI, Cocoa, Ebitengine i gogpu z przyspieszeniem sprzętowym.
- Wbudowany terminal pod panelami, jak w far2l. W Windows działa zarówno z ConPTY, jak i bez niego, poprzez Windows Console API.
- Wbudowany edytor z podświetlaniem składni (Colorer i Chroma) oraz przeglądarka w trybie podglądu szesnastkowych dumpów. Duże pliki otwierane są bez ładowania ich całkowicie do pamięci.
- Asynchroniczne VFS, umożliwiające pracę z archiwami (w tym zagnieżdżonymi), SFTP/FTP, S3, WebDAV, Google Drive, Yandex Disk, rejestrem Windows, urządzeniami Android (przez ADB) oraz iPhone (przez AFC). Każde VFS można zamontować przez FUSE jak zwykły katalog.
- Protokół FISH+ rozwija ideę FISH z Midnight Commandera. Wyszukiwanie, indeksowanie i długie operacje odbywają się po stronie serwera, pliki można kopiować bezpośrednio między serwerami. serweryPluginy działają jako osobne procesy i komunikują się z jądrem za pośrednictwem MessagePack przez stdin/stdout, dlatego można je pisać w dowolnym języku. Wspierane są pluginy w Lua (API w stylu Far3/far2m) i WebAssembly, a do ich dystrybucji istnieje katalog PlugRing.
- Makra w Lua, paleta poleceń (Ctrl+Shift+P), przypisywanie klawiszy, elastyczne kolorowanie plików, tryb przenośny.
- Wbudowany klient SQLite oraz arkusz kalkulacyjny w stylu DOS Navigator, przeglądanie obrazów, odtwarzacz audio, informacje o plikach multimedialnych, porównywanie i synchronizacja katalogów, panel AI.
- Wbudowany klient SQLite oraz arkusz kalkulacyjny w stylu DOS Navigator, przeglądanie obrazów, odtwarzacz audio, informacje o plikach multimedialnych, porównywanie i synchronizacja katalogów, panel AI.
- Interfejs został przetłumaczony na 23 języki. Obsługiwane jest wprowadzanie tekstu z BiDi i złożonymi klastrami grafemów.
- Automatyczne aktualizacje za pomocą polecenia „f4 —update”, pakiety dla Homebrew, Nix (flake i moduł Home Manager) oraz Termux. Dla routerów i słabego sprzętu dostępna jest uproszczona wersja lite.
Różnice w porównaniu do innych menedżerów plików:
- Far Manager działa tylko w Windows. f4 przenosi jego interfejs i znane skróty klawiszowe na Linux, macOS, BSD i Android. Binarne wtyczki Far (DLL) nie są obsługiwane, ale API Lua dla wtyczek zbudowane jest na wzór Far3/far2m.
- far2l to port Far 2 na Linux, macOS i BSD, napisany w C++ na licencji GPLv2. f4 to nie port, lecz nowa implementacja w Go na licencji BSD. Oprócz systemów podobnych do Unix, f4 działa w Windows i ReactOS, nie zależy od wxWidgets ani bibliotek systemowych, a wtyczki do niego można pisać w dowolnym języku.
- Midnight Commander jest napisany w C (GPLv3), zaprojektowany dla systemów podobnych do Unix i podąża swoją modelem pracy oraz układem klawiszy. f4 naśladuje działanie Far/far2l, ma tryb graficzny i natywnie działa w Windows. Archiwum ze zbiorem dla Linux x86-64 zajmuje około 35 MB, a mc – kilka megabajtów.
- M-Commander to fork mc, napisany w C i Lua (GPLv3+). Posiada wtyczkowe panele (Git, Docker, Kubernetes, MongoDB, S3 itd.), a zamiast subshella używa wbudowanego terminala PTY. M-Commander zachowuje interfejs mc i jest dostarczany w postaci pakietów dla Linux i macOS. f4 rozwija się w podobnym kierunku (rozszerzalne panele, wbudowany terminal), ale z interfejsem Far, wsparciem dla Windows i BSD oraz dystrybucją w postaci jednego pliku binarnego.

Źródło: opennet.ru
