5.2. Terminologia

Embora não seja necessário entender todos os detalhes dos vários componentes do Sistema X Window e como eles interagem, algum conhecimento básico desses componentes pode ser útil.

Servidor X

O X foi projetado desde o início para ser centrado em rede e para adotar um modelo cliente-servidor. Neste modelo, o Servidor X é executado no computador que possui o teclado, o monitor e o mouse conectados. A responsabilidade do servidor inclui tarefas como gerenciar o monitor, manipular a entrada do teclado e do mouse e manipular a entrada ou saída de outros dispositivos, como um tablet ou um projetor de vídeo. Isso confunde algumas pessoas, porque a terminologia X é exatamente o oposto do que eles esperam. Eles esperam que o X server seja a grande máquina poderosa no final das contas, e o Ciente X seja a máquina em sua mesa.

Cliente X

Cada aplicativo X, como o XTerm ou o Firefox, é um cliente. Um cliente envia mensagens para o servidor, como Por favor, desenhe uma janela nessas coordenadas, e o servidor envia de volta mensagens como O usuário apenas clicou no botão OK.

Em um ambiente doméstico ou de uma pequena empresa, o servidor X e os clientes X geralmente são executados no mesmo computador. Também é possível executar o servidor X em um computador menos potente e executar os aplicativos X em um sistema mais poderoso. Nesse cenário, a comunicação entre o cliente X e o servidor ocorre através da rede.

Gerenciador de janelas

O X não dita como as janelas devem se parecer na tela, como movê-las com o mouse, quais teclas devem ser usadas para mover-se entre as janelas, como devem ficar as barras de título em cada janela, se elas têm ou não botões para fechar nelas e assim por diante. Em vez disso, o X delega essa responsabilidade para um gerenciador de janelas separado. Existem dezenas de gerenciadores de janelas disponíveis. Cada gerenciador de janelas oferece uma aparência diferente: alguns oferecem suporte a desktops virtuais, alguns permitem pressionamentos de tecla personalizados para gerenciar a área de trabalho, alguns têm um botão Iniciar e alguns são personalizáveis, permitindo uma alteração completa da aparência da área de trabalho. Os gerenciadores de janelas estão disponíveis na categoria x11-wm da coleção de ports.

Cada gerenciador de janelas usa um mecanismo de configuração diferente. Alguns esperam que o arquivo de configuração seja escrito à mão, enquanto outros fornecem ferramentas gráficas para a maioria das tarefas de configuração.

Ambiente de desktop

O KDE e o GNOME são considerados ambientes de desktop, pois incluem um conjunto completo de aplicativos para executar tarefas comuns de desktop. Estes podem incluir pacotes de escritório, navegadores da web e jogos.

Política de foco

O gerenciador de janelas é responsável pela política de foco do mouse. Essa política fornece alguns meios para escolher qual janela está recebendo ativamente as teclas digitadas e também deve indicar visivelmente qual janela está ativa no momento.

Uma política de foco é chamada click-to-focus. Neste modelo, uma janela fica ativa ao receber um clique do mouse. Na política focus-follows-mouse, a janela que está sob o ponteiro do mouse tem foco e o foco é alterado apontando para outra janela. Se o mouse estiver sobre a janela raiz, esta janela estará focada. No modelo sloppy-focus, se o mouse for movido sobre a janela raiz, a janela usada mais recentemente ainda terá o foco. Com sloppy-focus, o foco só é alterado quando o cursor entra em uma nova janela, e não ao sair da janela atual. Na política de click-to-focus, a janela ativa é selecionada pelo clique do mouse. A janela pode então ser destacada para aparecer na frente de todas as outras janelas. Todas as teclas digitadas serão direcionadas para esta janela, mesmo se o cursor for movido para outra janela.

Diferentes gerenciadores de janela suportam diferentes modelos de foco. Todos eles suportam click-to-focus, e a maioria deles também suporta outras políticas. Consulte a documentação do gerenciador de janelas para determinar quais modelos de foco estão disponíveis.

Widgets

Widget é um termo para todos os itens na interface do usuário que podem ser clicados ou manipulados de alguma forma. Isso inclui botões, caixas de seleção, botões de opção, ícones e listas. Um kit de ferramentas de widget é um conjunto de widgets usado para criar aplicativos gráficos. Existem vários toolkits de widgets populares, incluindo o Qt, usado pelo KDE, e o GTK+, usado pelo GNOME. Como resultado, os aplicativos terão uma aparência e comportamentos diferentes, dependendo de qual kit de ferramentas de widget foi usado para criar o aplicativo.

All FreeBSD documents are available for download at https://download.freebsd.org/ftp/doc/

Questions that are not answered by the documentation may be sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.