Publication de la version bĂȘta du gestionnaire de fichiers f4 0.3.0. Ce projet reproduit l'interface, le comportement et la structure interne de Far Manager et far2l, mais a Ă©tĂ© réécrit en langage Go, en utilisant la mĂ©thodologie de « salle blanche ». Le code est distribuĂ© sous licence BSD et rĂ©digĂ© par des assistants IA. La rĂ©vision manuelle remplace un grand ensemble de tests automatiques, qui sont exĂ©cutĂ©s dans l'intĂ©gration continue sur plusieurs systĂšmes d'exploitation et architectures. Des versions prĂȘtes sont disponibles pour Linux, Windows (y compris une version distincte pour Windows 7/8/8.1), ReactOS, macOS, FreeBSD, OpenBSD, NetBSD, DragonFly BSD et Android (Termux). Un support expĂ©rimental est proposĂ© pour Illumos et Solaris, et un portage est en cours vers Redox, GNU Hurd et Haiku.
Fonctionnalités principales :
- Fourniture sous forme d'un fichier exécutable statiquement compilé sans dépendances externes (compilation sans CGO). Les architectures x86-64, x86, ARM64, ARMv7, RISC-V, LoongArch, MIPS et POWER sont prises en charge.
- Fonctionnement dans le terminal ou dans une fenĂȘtre graphique sĂ©parĂ©e. Dans le terminal, les protocoles kitty et le mode d'entrĂ©e Win32 sont pris en charge, ce qui diffĂ©rencie les combinaisons de touches comme Ctrl+Enter et Shift+Tab. Pour le mode graphique, il existe des backends X11, Wayland, Win32 GDI, Cocoa, Ebitengine et gogpu avec accĂ©lĂ©ration matĂ©rielle.
- Terminal intégré sous les panneaux, comme dans far2l. Sous Windows, il fonctionne à la fois via ConPTY et sans, via l'API de console Windows.
- Ăditeur intĂ©grĂ© avec coloration syntaxique (Colorer et Chroma) et un visualiseur avec mode d'affichage des dumps hexadĂ©cimaux. Les gros fichiers s'ouvrent sans ĂȘtre complĂštement chargĂ©s en mĂ©moire.
- VFS asynchrone permettant de travailler avec des archives (y compris imbriquĂ©es), SFTP/FTP, S3, WebDAV, Google Drive, Yandex Disk, le registre Windows, ainsi que les appareils Android (via ADB) et iPhone (via AFC). Tout VFS peut ĂȘtre montĂ© via FUSE comme un rĂ©pertoire ordinaire.
- Le protocole FISH+ dĂ©veloppe l'idĂ©e de FISH du Midnight Commander. La recherche, l'indexation et les longues opĂ©rations sont effectuĂ©es cĂŽtĂ© de serveurs, les fichiers peuvent ĂȘtre copiĂ©s directement entre les serveurs.
- Les plugins fonctionnent comme des processus séparés et communiquent avec le noyau via MessagePack par stdin/stdout, ce qui permet de les écrire dans n'importe quel langage. Les plugins en Lua (API dans l'esprit de Far3/far2m) et WebAssembly sont pris en charge, et il existe un répertoire PlugRing pour leur distribution.
- Macros en Lua, palette de commandes (Ctrl+Shift+P), réaffectation des touches, coloration flexible des fichiers, mode portable.
- Client SQLite intégré et feuille de calcul à la façon du DOS Navigator, visualiseur d'images, lecteur audio, informations sur les fichiers multimédias, comparaison et synchronisation de répertoires, panneau IA.
- L'interface est traduite en 23 langues. La saisie de texte avec BiDi et des clusters grapémiques complexes est supportée.
- Auto-mise Ă jour avec la commande « f4 âupdate », packages pour Homebrew, Nix (flake et module Home Manager) et Termux. Il existe une version allĂ©gĂ©e lite spĂ©cialement conçue pour les routeurs et les Ă©quipements faibles.
Différences avec d'autres gestionnaires de fichiers :
- Far Manager fonctionne uniquement sous Windows. f4 transpose son interface et ses raccourcis familiers sur Linux, macOS, BSD et Android. Les plugins binaires Far (DLL) ne sont pas supportés, mais l'API Lua pour les plugins est basée sur le modÚle de Far3/far2m.
- far2l est un port de Far 2 sur Linux, macOS et BSD, Ă©crit en C++ sous la licence GPLv2. f4 n'est pas un port, mais une nouvelle implĂ©mentation en Go sous la licence BSD. En plus des systĂšmes de type Unix, f4 fonctionne sous Windows et ReactOS, sans dĂ©pendre de wxWidgets et des bibliothĂšques systĂšme, et les plugins peuvent ĂȘtre Ă©crits dans n'importe quel langage.
- Midnight Commander est écrit en C (GPLv3), destiné aux systÚmes de type Unix et suit son modÚle de fonctionnement et de disposition des touches. f4 reproduit le comportement de Far/far2l, dispose d'un mode graphique et fonctionne nativement sous Windows. L'archive de la version pour Linux x86-64 pÚse environ 35 Mo, tandis que mc ne fait que quelques mégaoctets.
- M-Commander est un fork de mc en C et Lua (GPLv3+). Il comprend des panneaux extensibles (Git, Docker, Kubernetes, MongoDB, S3, etc.), et utilise un terminal PTY intégré au lieu de subshell. M-Commander conserve l'interface de mc et est distribué sous forme de packages pour Linux et macOS. f4 évolue dans une direction similaire (panneaux extensibles, terminal intégré), mais avec l'interface de Far, le support de Windows et BSD, et est fourni sous forme de fichier binaire unique.

Source : opennet.ru
