Gerente - ManaGeR

ManaGeR ou MGR foi um dos primeiros sistemas de janelas originalmente projetado e desenvolvido para computadores Sun em 1984 por Stephen A. Uhler , então na Bellcore .

O MGR apresentava janelas assíncronas sobrepostas e uma interface de aplicativos que era independente da máquina e da rede.

Cada janela MGR tinha suporte tanto para operações de terminal de caracteres quanto para operações gráficas básicas. Era controlado por menus pop-up de mouse, por interação de teclado e por sequências de escape escritas em pseudo-terminais por software cliente.

O sistema foi apresentado no Quarto Workshop de Computação Gráfica USENIX em 1987 como "MGR - a Window System for UNIX". Todo o código-fonte do MGR foi postado no grupo de notícias comp.sources.unix Usenet , Volume 17, Edição 1, em janeiro de 1989.

Internamente, MGR foi pronunciado como munger referindo-se a mung , embora os usuários tenham pronunciado cada letra.

Características

O MGR forneceu a cada janela do cliente:

  • funções de controle de terminal no estilo termcap , primitivos gráficos, como desenho de linha e círculo;
  • As operações de desenho vetorial podem ser feitas com coordenadas absolutas (baseadas em pixels) ou relativas fixas. O último permitiu que o conteúdo da janela escalasse quando uma janela foi redimensionada sem recálculo das coordenadas.
  • recursos para manipular bitmaps, fontes , ícones e menus pop-up ;
  • comandos para remodelar e posicionar janelas; e um recurso de passagem de mensagens que permite aos programas clientes se encontrarem e trocarem mensagens. Os programas clientes podem pedir para serem informados quando ocorre uma alteração no sistema de janelas, como uma janela remodelada, um botão do mouse pressionado ou uma mensagem enviada de outro programa cliente. Essas mudanças são chamadas de eventos . O MGR notifica um programa cliente de um evento enviando a ele uma sequência de caracteres ASCII em um formato especificado pelo programa cliente. Os aplicativos existentes podem ser integrados ao ambiente de janelas sem modificação, fazendo com que o MGR imite os pressionamentos de tecla em resposta às seleções de menu definidas pelo usuário ou outros eventos.

Todos esses recursos funcionaram igualmente bem se o programa cliente estivesse sendo executado no mesmo computador que o servidor MGR ou se o cliente fosse executado em um computador remoto. O tipo de conexão era insignificante. Você pode usar telnet sobre TCP / IP ou uma conexão dial-up de modem igualmente bem, por exemplo. Os bitmaps, no entanto, apresentaram problemas em conexões de largura de banda inferior. Para usar um bitmap, ele deve ser baixado para o gerenciador de janelas através do canal de comunicação. Aplicativos pesados ​​de bitmap geralmente baixam bitmaps para serem usados ​​no início do aplicativo, o que pode fazer com que o aplicativo pareça estar travado. Como os aplicativos usavam fluxos de entrada e saída, poderia haver problemas quando uma entrada inesperada chegasse, digamos de ruído de linha ou de uma mensagem do sistema.

Programas externos, como o próprio MTX de Stephen Uhler e o rmgr de Howard Chu, tornaram possível multiplexar várias janelas em uma única conexão com um host remoto, mesmo usando uma conexão dial-up de modem normal.

Um recurso posterior, $ HOME MOVIE, tornou possível gravar a interação do usuário para exibição posterior.

Ports

O MGR era executado em pelo menos estes sistemas: SunOS em estações de trabalho Sun (a plataforma de desenvolvimento original), Apple Macintosh , Unix System V no AT&T UNIX PC , Ultrix no DECstation 3100 , MiNT no Atari ST , OS-9 , Coherent , Linux , FreeBSD e VSTa .

A porta inicial do Macintosh foi feita em um computador Macintosh Plus usando o compilador C Lightspeed . Era uma porta híbrida em que muitas das operações de baixo nível eram passadas para o QuickDraw em vez de usar o código de bitmap interno. O aplicativo não estava de acordo com as diretrizes de interface do usuário do Macintosh, pois ocupava toda a tela. A versão inicial usava qualquer porta serial disponível como canal de comunicação. Uma atualização posterior da porta pode usar comunicação Ethernet ou serial.

Veja também

Referências

links externos