L'emulateur de terminal etait deja le notre (pyte + QPainter) ; ce qui manquait
pour se rapprocher de MobaXterm, c'etait le *shell*. MobaXterm ne fournit pas
"son propre terminal" mais son propre bash, issu d'un Cygwin embarque : c'est ce
qui donne ls/grep/sed/awk/vi sous Windows.
Plutot que d'embarquer un binaire tiers, l'application detecte maintenant les
shells deja installes et les propose tous : PowerShell, cmd, Bash de Git for
Windows, MSYS2, Cygwin, WSL, et un busybox-w32 pose a cote de l'executable pour
les postes qui n'ont rien. Un shell Unix est choisi par defaut quand il y en a un.
Deux details qui bloquaient :
- pywinpty ne sait pas decouper une commande passee en chaine avec des
guillemets, et les chemins Windows en contiennent ("Program Files") : les
commandes sont donc des listes d'arguments.
- le bash de MSYS2 demarre sans jamais afficher d'invite si MSYSTEM n'est pas
definie ; chaque shell peut donc declarer ses variables d'environnement
(CHERE_INVOKING pour demarrer dans le dossier courant).
Les menus et l'arborescence sont generes depuis la detection, ils s'adaptent
donc au poste sans configuration.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
36 KiB
36 KiB