Directeur - ManaGeR

ManaGeR ou MGR était un des premiers systèmes de fenêtrage conçu et développé à l'origine pour les ordinateurs Sun en 1984 par Stephen A. Uhler , alors chez Bellcore .

MGR comportait des fenêtres asynchrones chevauchantes et une interface d'application indépendante à la fois de la machine et du réseau.

Chaque fenêtre MGR prend en charge à la fois les opérations de terminal de caractères et les opérations graphiques de base. Il était contrôlé par des menus contextuels à la souris, par une interaction au clavier et par des séquences d'échappement écrites sur des pseudo-terminaux par le logiciel client.

Le système a été présenté au quatrième atelier d'infographie d' USENIX en 1987 sous le nom de "MGR - un système de fenêtres pour UNIX". L'intégralité du code source de MGR a été publiée sur le groupe de discussion Usenet comp.sources.unix , Volume 17, Numéro 1, en janvier 1989.

En interne, MGR était prononcé comme munger se référant à mung , bien que les utilisateurs aient prononcé chaque lettre.

Caractéristiques

MGR a fourni à chaque fenêtre client :

  • fonctions de contrôle de terminal de style termcap , primitives graphiques telles que le dessin de lignes et de cercles ;
  • Les opérations de dessin vectoriel peuvent être effectuées avec des coordonnées absolues (basées sur les pixels) ou relatives fixes. Ce dernier permettait de mettre à l'échelle le contenu de la fenêtre lorsqu'une fenêtre était redimensionnée sans recalculer les coordonnées.
  • facilités pour manipuler les bitmaps, les polices , les icônes et les menus contextuels ;
  • commandes pour remodeler et positionner les fenêtres ; et une installation de transmission de messages permettant aux programmes clients de se rencontrer et d'échanger des messages. Les programmes clients peuvent demander à être informés lorsqu'un changement dans le système de fenêtres se produit, tel qu'une fenêtre remodelée, un bouton de souris enfoncé ou un message envoyé depuis un autre programme client. Ces changements sont appelés événements . MGR notifie un programme client d'un événement en lui envoyant une chaîne de caractères ASCII dans un format spécifié par le programme client. Les applications existantes peuvent être intégrées dans l'environnement de fenêtrage sans modification en demandant à MGR d'imiter les frappes au clavier en réponse à des sélections de menu définies par l'utilisateur ou à d'autres événements.

Toutes ces fonctionnalités fonctionnaient aussi bien si le programme client s'exécutait sur le même ordinateur que le serveur MGR ou si le client était exécuté sur un ordinateur distant. Le type de connexion était insignifiant. Vous pouvez également utiliser telnet sur TCP/IP ou une connexion par modem, par exemple. Les bitmaps, cependant, présentaient des problèmes sur les connexions à faible bande passante. Pour utiliser un bitmap, il devait être téléchargé dans le gestionnaire de fenêtres via le canal de communication. Les applications lourdes en bitmap téléchargeaient souvent des bitmaps à utiliser au démarrage de l'application, ce qui pouvait donner l'impression qu'une application était bloquée. Étant donné que les applications utilisaient des flux d'entrée et de sortie, des problèmes pouvaient survenir lorsqu'une entrée inattendue arrivait, par exemple à cause du bruit de ligne ou d'un message système.

Des programmes externes tels que le propre MTX de Stephen Uhler et le rmgr de Howard Chu ont permis de multiplexer plusieurs fenêtres sur une seule connexion à un hôte distant, même en utilisant une connexion modem normale.

Une fonctionnalité ultérieure, $HOME MOVIE, a permis d'enregistrer l'interaction de l'utilisateur pour un affichage ultérieur.

Ports

MGR fonctionnait au moins sur ces systèmes : SunOS sur les stations de travail Sun (la plate-forme de développement d'origine), Apple Macintosh , Unix System V sur le PC AT&T UNIX , Ultrix sur la DECstation 3100 , MiNT sur l' Atari ST , OS-9 , Coherent , Linux , FreeBSD et VSTa .

Le port Macintosh initial a été effectué sur un ordinateur Macintosh Plus à l'aide du compilateur Lightspeed C. Il s'agissait d'un port hybride dans la mesure où de nombreuses opérations de bas niveau étaient transmises à QuickDraw au lieu d'utiliser le code bitmap interne. L'application n'était pas conforme aux directives de l'interface utilisateur Macintosh car elle occupait tout l'écran. La version initiale utilisait l'un ou l'autre des ports série disponibles comme canal de communication. Une mise à jour ultérieure du port pourrait utiliser des communications Ethernet ou série.

Voir également

Les références

Liens externes