Beta-versionen af filhåndtereren f4 0.3.0 er offentliggjort. Projektet genskaber grænsefladen, adfærden og den indre opbygning af Far Manager og far2l, men er skrevet helt om i Go-sprog ved hjælp af en "ren rum" metodologi. Koden distribueres under BSD-license og er skrevet af AI-assistenter. Manuel gennemgang erstatter et stort sæt automatiserede tests, der køres i CI på flere operativsystemer og arkitekturer. Færdige builds er tilgængelige for Linux, Windows (inklusive en separat build for Windows 7/8/8.1), ReactOS, macOS, FreeBSD, OpenBSD, NetBSD, DragonFly BSD og Android (Termux). Eksperimentel støtte er tilgængelig for Illumos og Solaris, og der arbejdes på portering til Redox, GNU Hurd og Haiku.
Hovedfunktioner:
- Leveres som én statisk samlet eksekverbar fil uden eksterne afhængigheder (build uden CGO). Understøttede arkitekturer inkluderer x86-64, x86, ARM64, ARMv7, RISC-V, LoongArch, MIPS og POWER.
- Arbejder i terminal eller i et separat grafisk vindue. I terminalen understøttes kitty-protokollen og Win32 Input Mode, hvilket gør, at tastaturkombinationer som Ctrl+Enter og Shift+Tab adskiller sig. For den grafiske tilstand findes der backends til X11, Wayland, Win32 GDI, Cocoa, Ebitengine og gogpu med hardwareacceleration.
- Indbygget terminal under panelerne, ligesom i far2l. På Windows fungerer det både gennem ConPTY og uden det, via Windows Console API.
- Indbygget editor med syntaksfremhævning (Colorer og Chroma) og en visning til at se hex dumps. Store filer åbnes uden at blive indlæst helt i hukommelsen.
- Asynkron VFS, der tillader arbejde med arkiver (inklusive indlejrede), SFTP/FTP, S3, WebDAV, Google Drive, Yandex Disk, Windows-registreringsdatabasen, Android-enheder (via ADB) og iPhone (via AFC). Enhver VFS kan monteres via FUSE som en almindelig mappe.
- FISH+ protokollen videreudvikler idéen bag FISH fra Midnight Commander. Søgning, indeksering og lange operationer udføres på serveren, filer kan kopieres direkte mellem serverne. serverPlugins arbejder som separate processer og kommunikerer med kernen via MessagePack gennem stdin/stdout, så de kan skrives i ethvert sprog. Plugins på Lua (API i ånden af Far3/far2m) og WebAssembly understøttes, og der er et katalog til distribution PlugRing.
- Makroer på Lua, kommando palette (Ctrl+Shift+P), genbinding af taster, fleksibel farvning af filer, bærbar tilstand.
- Makroer på Lua, kommando palette (Ctrl+Shift+P), genbinding af taster, fleksibel farvning af filer, bærbar tilstand.
- Indbygget SQLite-klient og DOS Navigator-stil regneark, billedfremviser, lydafspiller, mediefiloplysninger, katalogsammenligning og synkronisering, AI-panel.
- Grænsefladen er oversat til 23 sprog. Understøtter tekstindføring med BiDi og komplekse grafemklynger.
- Selvopdatering med kommandoen „f4 —update“, pakker til Homebrew, Nix (flake og modul Home Manager) og Termux. For routere og svagere hardware er der en letvægts version.
Forskelle fra andre filhåndterere:
- Far Manager fungerer kun i Windows. f4 overfører dets grænseflade og vante genvejstaster til Linux, macOS, BSD og Android. Binære plugins fra Far (DLL) understøttes ikke, men Lua API til plugins er bygget efter mønsteret fra Far3/far2m.
- far2l er en port af Far 2 til Linux, macOS og BSD, skrevet i C++ under GPLv2-licensen. f4 er ikke en port, men en ny implementering på Go under BSD-licensen. Udover Unix-lignende systemer fungerer f4 også i Windows og ReactOS, afhænger ikke af wxWidgets og systembiblioteker, og plugins kan skrives på ethvert sprog.
- Midnight Commander er skrevet i C (GPLv3), designet til Unix-lignende systemer og følger sin arbejdsmetode og tastaturlayout. f4 gentager adfærden fra Far/far2l, har en grafisk tilstand og fungerer nativt i Windows. Arkivet med versionen til Linux x86-64 fylder cirka 35 MB, mens mc kun fylder et par megabyte.
- M-Commander er en fork af mc i C og Lua (GPLv3+). Den har tilslutningspaneler (Git, Docker, Kubernetes, MongoDB, S3 mv.), og i stedet for subshell bruges en indbygget PTY-terminal. M-Commander bevarer grænsefladen af mc og udgives som pakker til Linux og macOS. f4 udvikler sig i en lignende retning (udvidelige paneler, indbygget terminal), men med Far-grænsefladen, understøttelse af Windows og BSD, og leveres som én binær fil.

Kilde: opennet.ru
