Ligne de commande Windows, fenêtres à onglets et logiciel JP (partie II)
Dans mon dernier article, j'ai parlé des origines de 4DOS, 4NT et Take Command jusqu'à la v8.
Après la sortie de la v8, je savais que nous devions apporter des changements drastiques au 4NT / Take Command architecture. La console archaïque de Windows paralysait le développement ultérieur de 4NT, et essayer de combiner des applications de console et une ligne de commande basée sur une interface graphique était paralysant. Take Command. J'ai décidé de fusionner nos trois produits (4NT, Take Command, et TCI) et adopter l'approche TCI consistant à encapsuler les applications en ligne de commande dans un environnement de fenêtre à onglets, et appeler le package résultant "
Take Command v9. »
(Remarque à l'intention des utilisateurs utilisant uniquement la ligne de commande pour toujours : TCC (le descendant bien amélioré de 4NT v8) existe toujours en tant que composant de Take Command, et il peut toujours être exécuté comme une console Windows autonome même avec Take Command v13. Dans la v9, 4NT a été renommé «TCC"(Take Command Console) en reconnaissance du fait que Microsoft n’avait pas utilisé le nom « NT » depuis des années et que les nouveaux utilisateurs ne comprenaient pas le nom.)
La première chose à faire était d'éliminer 99 % des TCI existants et Take Command code. (La ressemblance de Take Command et TCI est purement superficiel ; les architectures sous-jacentes sont complètement différentes.) L'objectif était d'éliminer la plupart des nombreuses aspérités de la console Windows et de promouvoir les applications en ligne de commande auprès des citoyens de seconde zone en leur offrant le maximum des mêmes fonctionnalités disponibles pour les applications GUI.
Les applications en ligne de commande sont exécutées par le gestionnaire de console Windows, qui les exécute dans une fenêtre brute. Le gestionnaire de console et CMD (le processeur de commandes Windows par défaut) ont été introduits dans Windows NT 3.1 en 1993, et aucun n'a changé de manière significative depuis lors. Les lacunes du gestionnaire de console Windows incluent :
- Aucune option de fenêtres à onglets
- Aucune barre d'outils
- Pas de barre d'état
- Options de copier-coller maladroites et limitées
- Idem pour les options de recherche
- Aucune fonctionnalité de sauvegarde ou d'impression
- Capacités de glisser-déposer mauvaises, voire inexistantes (c'est légèrement mieux sous Windows 7)
- Redimensionnement délicat
- Pas très configurable
- Sloooooowwwww
Il était hors de question de réécrire le gestionnaire de console Windows lui-même (d'une part, Microsoft avait négligé de le documenter, ainsi que l'une de ses API). Mais je pourrais l’emballer et le cacher, et résoudre toutes les limitations ci-dessus. Y compris (un peu à ma grande surprise), le dernier !
Je voulais tourner 4SA / TCC dans une application combinée ligne de commande/interface graphique. Ensuite, je pourrais faire des choses comme changer les fenêtres contextuelles en mode caractère (historique, complétion du nom de fichier, etc.) en fenêtres contextuelles GUI, ce qui permettrait :
- Redimensionner les fenêtres avec la souris
- Barre d'outils pour ajouter/modifier/supprimer/rechercher
et je pourrais envoyer des messages entre les parents Take Command (fenêtres à onglets) et les sessions de ligne de commande enfants exécutées dans les fenêtres à onglets. Cela signifiait également que 4SA / TCC ne pourrait plus fonctionner en tant qu'application plein écran, mais depuis que Microsoft a supprimé la prise en charge du plein écran dans les versions ultérieures de Windows (Vista et Windows 7), cela ne semblait pas trop fastidieux. (Il y avait une poignée d'utilisateurs qui se plaignaient de ne pas pouvoir exécuter Windows dans une fenêtre de console plein écran 80×25, mais ce sont aussi eux qui se languissaient de 4DOS et Win16, qui n'était pas le modèle que nous essayions d'utiliser. poursuivre à ce moment-là !)
Je voulais également aborder le problème n°1 avec Take Command v8 — à savoir, les manières quelque peu délicates d'exécuter de manière transparente des applications en ligne de commande dans une fenêtre GUI.
Suivant : Le Take Command architecture v9 et comment 4NT, TCI et Take Command ont été fusionnés.