# Regras das Janelas

## Configuração Específica da Janela: Introdução

Aqui você poderá personalizar as opções das janelas especificamente para algumas janelas em particular.

Lembre-se que a configuração neste módulo não tomará efeito se não utilizar o gestor de janelas o &kwin; como o seu gestor de janelas. Se usar um gestor de janelas diferente, veja a documentação dele para aprender como configurar o comportamento das janelas.

Muitas das opções que poderá configurar aqui são as que pode também configurar, a nível global, no módulo de Comportamento das Janelas do &kcontrol;, contudo alguns destes estão ainda mais detalhados.

Eles respeitam à geometria, colocação, se uma janela deve-se manter sobre ou sob as outras, deverá evitar o roubo do foco e os efeitos de transparência.

Você poderá aceder a este módulo de duas formas: na barra de título da aplicação que deseja configurar ou no &systemsettings;. Se a iniciar dentro do &systemsettings;, poderá usar o botão Nova... para criar um perfil de janelas e o botão Detectar na janela resultante para preencher parcialmente a informação necessária para a aplicação que deseja configurar.

Poderá também, em qualquer altura, Modificar... ou Apagar os perfis configurados ou reordenar a lista. A mudança de ordem da lista com os botões Subir e Descer faz efeito na forma como estes são aplicados.

## Introdução

O &kwin; permite ao utilizador final definir regras para alterar os atributos da janela de uma aplicação.

Por exemplo, quando é iniciada uma aplicação, poderá ser forçada a executar-se sempre no Ecrã Virtual 2. Por outro lado, um defeito numa aplicação poderá ser contornado para forçar a janela a ficar sobre as outras.

São fornecidos exemplos passo-a-passo com informação detalhada sobre a utilização do Editor de Regras do &kwin; para definir a Correspondência de Janelas e os Atributos da Janela.

## Exemplos e Abordagem Alternativa da Aplicação

Para ver o que é possível, são fornecidos exemplos detalhados que poderão também ser usados para modelar as suas próprias regras.

Está dedicada uma página especial para tratar dos Comportamentos Alternativos da Aplicação.

## Editor de Regras do KWin

### Invocar o Editor de Regras do KWin

Existem diversas formas de invocar o Editor de Regras do &kwin;. Em baixo existem duas:

- Carregue com o botão direito no título de qualquer janela, escolha a opção Mais Acções Configurar o Comportamento da Janela... e, na janela Configurar, seleccione as Regras da Janela ou

- Configuração do Sistema Comportamento das Janelas Regras das Janelas

A janela principal é usada para:

- Afectar regras com os botões Novo..., Modificar... e Apagar

- Partilhar regras com os outros com as opções Importar e Exportar

- Garantir a avaliação de regras deseja com as opções Subir e Descer

#### Avaliação das Regras

Quando uma aplicação é iniciada (ou as regras são modificadas), o &kwin; avalia as regras desde o topo da lista até ao seu fundo. Para todas as regras correspondentes a uma janela, o conjunto de atributos em si é aplicado à janela, sendo apresentada então a dita.

Caso duas ou mais regras correspondentes activem o mesmo atributo, a configuração da primeira regra da lista será a usada.

Poderá ajustar as janelas-filhas da aplicação, colocando em primeiro lugar as regras mais restritas - veja o exemplo do Kopete e da Janela de Conversação do Kopete.

### Editor de Regras

O editor é composto por quatro páginas:

1. Correspondência da janela

2. Tamanho & Posição

3. Organização & Acesso

4. Aparência & Correcções

Como o nome implica, a Correspondência de janelas é usada para definir um critério de correspondência para uma ou mais janelas. As outras três páginas são usadas para alterar os atributos das janelas correspondentes.

Os painéis também podem ser afectados.

#### Correspondência das Janelas

Cada regra da janela tem critérios de Correspondência da Janela definidos pelo utilizador. O &kwin; usa os critérios para determinar se a regra se aplica a uma dada aplicação.

#### Atributos das Janelas

Em conjunto com os critérios de Correspondência das Janelas, cada regra da janela tem um conjunto de Atributos da Janela. Os atributos substituem as definições correspondentes da aplicação e são aplicados antes de a aplicação ser apresentada pelo &kwin;.

## Correspondência das Janelas

A página de Correspondência das Janelas é usada para indicar os critérios que o &kwin; usa para avaliar se a regra se aplica a uma dada janela.

Poderá definir zero (corresponde a qualquer janela) ou mais elementos como os seguintes:

- Classe da janela (aplicação) - corresponde à classe.

  - Corresponde à classe completa da janela - inclui a correspondência com a classe secundária.

- Papel da janela - restringe a correspondência à função da janela (⪚ uma janela principal, uma janela de conversação, &etc;)

- Tipos de janela - restringe a correspondência ao tipo da janela: Janela Normal, Janela de Diálogo, &etc;

- Título da janela - restringe a correspondência ao título da janela.

- Máquina (nome) - restringe a correspondência ao nome da máquina associado à janela.

Embora seja possível indicar manualmente a informação acima, o método preferido é usar o botão Detectar as Propriedades da Janela.

Para cada campo, poder-se-ão aplicar os seguintes operadores ao valor do campo:

- Não é importante - ignora o campo.

- Correspondência Perfeita

- Correspondência a Sub-Sequência de Texto

Tanto a Correspondência Exacta como a Correspondência de Sub-Texto implementam uma correspondência sem distinção entre maiúsculas e minúsculas. Por exemplo, AB corresponde ao texto AB, ab, Ab e aB.

- Expressão Regular - são implementadas as expressões regulares do Qt - veja a correspondência de padrões com expressões regulares.

### Detectar as Propriedades da Janela

A função Detectar as Propriedades da Janela simplifica o processo de introdução dos critérios de correspondência.

1. Para a aplicação onde deseja criar uma regra, inicie a aplicação.

2. De seguida, na página Correspondência da janela, defina o número de segundos de atraso antes de iniciar a função Detectar as Propriedades da Janela. O valor por omissão é de zero segundos.

3. Carregue em Detectar as Propriedades da Janela e

4. Quando o cursor mudar para uma mira, coloque-o dentro da janela da aplicação (não a barra do título) e carregue com o botão esquerdo.

5. É apresentada uma nova janela com informações acerca da janela seleccionada. Escolha os campos desejados:

   - Nome da classe secundária - algumas aplicações têm um nome de classe secundário. Este valor poderá ser usado para restringir as janelas por este valor.

   - Papel da janela

   - Tipo da janela

   - Título da janela

Carregue no botão OK para preencher de volta os critérios de Correspondência da Janela.

Ao usar uma combinação da informação, uma regra poderá aplicar-se a uma aplicação inteira (por Classe) ou a uma janela específica pelo Tipo dentro da Classe - por exemplo, uma Barra de Ferramentas.

## Atributos das Janelas

Os atributos que poderão ser definidos são agrupados pela função em três páginas:

1. Tamanho & Posição

2. Organização & Acesso

3. Aparência & Correcções

Cada atributo tem um conjunto de parâmetros que define a sua disposição.

### Parâmetros

Cada atributo, no mínimo, aceita um dos seguintes parâmetros. Para além disso, os argumentos específicos dos atributos são apresentados dentro de cada definição de atributo.

Não Afectar

- Garante que uma regra subsequente, correspondente à janela, não afecta o atributo.

Aplicar Inicialmente

- Inicia a janela com o atributo e permite a sua alteração durante a execução.

Recordar

- Usa a definição do atributo associada à regra e, caso seja alterada durante a execução, grava e usa o novo valor em alternativa.

Obrigar

- A definição não poderá ser alterada durante a execução.

Aplicar Agora, Forçar Temporariamente

- Aplica/força a opção uma vez e limpa o atributo. A diferença entre os dois ocorre durante a execução, em que o Aplicar Agora permite a alteração do atributo e o Forçar Temporariamente proíbe a sua alteração até que todas as janelas afectadas tenham saído.

Para o Aplicar Agora, se a regra não tiver outros atributos definidos, a regra é apagada depois da avaliação, enquanto no Forçar Temporariamente, a regra é apagada depois de a última janela afectada terminar.

### Atributos

O botão Detectar as Propriedades da Janela volta a preencher os valores específicos do atributo - para mais informações veja a Correspondência de Janelas. Por exemplo, os valores da altura e largura do atributo Tamanho são definidos com a altura e largura da janela detectada.

Os argumentos Sim/Não são usados para activar ou desactivar atributos. Alguma liberdade na gramática ajuda uma pessoa a compreender como será processada uma opção. Por exemplo, o atributo Ignorar a barra de tarefas, quando for igual a Não, significa que não será ignorado pela barra de tarefas. Por outras palavras, irá mostrar a janela na barra de tarefas.

#### Tamanho & Posição

Posição

- Coloca o canto superior esquerdo da janela nas coordenadas (x, y) indicadas.

A origem do &kwin;, (0,0), é o canto superior esquerdo do ecrã.

Tamanho

- A largura e a altura da janela.

Maximizado na horizontal, Maximizado na vertical

- Estes atributos são usados para activar ou desactivar o atributo de maximização horizontal/vertical da janela.

Ecrã Virtual, Actividade, Ecrã

- Coloca a janela no Ecrã (Virtual), Actividade ou Ecrã. Use a opção Todos os Ecrãs para colocar a janela em todos os Ecrãs Virtuais.

Ecrã Completo, Minimizado, Enrolado

- Activa ou desactiva os atributos da janela para Ecrã Completo, Minimizar e Enrolar. Por exemplo, uma janela poderá ser iniciada Minimizada, ou caso tenha sido iniciada como tal, ser forçada a não ser iniciada desta forma.

O atributo de maximização é emulado com o uso dos atributos Maximizado na horizontal e Maximizado na vertical ou da Colocação inicial com o argumento Maximização.

Colocação inicial

- Substitui a estratégia global de colocação de janelas por uma das seguintes:

  - Por omissão - usa a estratégia global de colocação de janelas.

  - Sem Colocação - canto superior-esquerdo.

  - Inteligente - coloca onde não existir outra janela qualquer.

  - Maximização - inicia a janela no modo maximizado.

  - Cascata - coloca em escadinha pelo título.

  - Centrado - no centro do ecrã.

  - Aleatório

  - Canto Superior Esquerdo

  - Sob o Rato

  - Na Janela Principal - restringe a colocação de uma janela-filha aos limites da janela-mãe.

Ignorar a geometria pedida

- Define se aceita ou ignora a posição da geometria pedida pela janela. Para evitar conflitos entre a estratégia de colocação predefinida e o pedido da janela, a estratégia de colocação é ignorada quando for aceite o pedido da janela.

Tamanho mínimo, Tamanho máximo

- Os tamanhos máximo e mínimo permitidos para a janela.

Obedecer às restrições de geometria

- Active ou desactive se deseja aderir às proporções pedidas pela janela ou se faz um incremento de base. Para poder compreender este atributo, é necessário algum conhecimento de fundo. Em resumo, as janelas deverão pedir do Gestor de Janelas um incremento de base: o número mínimo de altura X largura pixels por pedido de dimensionamento. Tipicamente é igual a 1x1. Outras janelas, como por exemplo os emuladores de terminal ou os editores, que usam tipos de letra monoespaçados, poderão pedir o seu incremento de base de acordo com o tamanho de um carácter.

#### Organização & Acesso

Manter acima, Manter abaixo

- Activa ou desactiva se deseja manter a janela acima ou abaixo de todas as outras.

Auto-agrupar com as idênticas

- Activa o agrupamento (também conhecido por separação em abas) das janelas.

Auto-agrupar em primeiro plano

- Activa ou desactiva se deseja tornar a janela activa, quando for adicionada ao grupo para auto-agrupar actual.

Auto-agrupar pelo ID

- Cria um grupo com base num ID definido pelo utilizador. O mesmo ID poderá ser partilhado por mais de uma regra para que as janelas aparentemente distintas sejam agrupadas.

Ignorar a barra de tarefas

- Activa ou desactiva a visibilidade da janela na barra de tarefas.

Ignorar o paginador

- Activa ou desactiva a visibilidade da janela no paginador.

Ignorar a mudança de janelas

- Activa ou desactiva a visibilidade da janela na lista do ALT+TAB.

Atalho

- Atribui um atalho à janela. Quando carregar em Editar..., serão apresentadas instruções adicionais.

#### Aparência & Correcções

Sem barra de título nem contorno

- Activa ou desactiva a barra de título e o contorno à volta da janela.

Esquema de cores da barra de título

- Selecciona um esquema de cores para a barra de título da janela.

Opacidade activa/inactiva

- Quando a janela está activa/inactiva, configura a sua opacidade com a percentagem indicada.

A Opacidade activa/inactiva só poderá ser afectada quando os Efeitos do Ecrã estiverem activos.

Prevenção de captura do foco

- Quando uma janela desejar obter o foco (ficar em primeiro plano), pode controlar numa escala (de Nenhuma até Extrema) se deve respeitar o pedido e colocar acima de todas as outras janelas ou ignorar o seu pedido (deixando potencialmente a janela por baixo de outras):

  - Nenhuma - Atribui sempre o foco à janela.

  - Baixa

  - Normal

  - Alta

  - Extrema - O pedido de foco da janela é negado. Só poderá ser atribuído explicitamente com o rato.

Veja em Aceitar o foco para tornar uma janela apenas para leitura - não aceitando quaisquer dados do teclado.

Aceitar o foco

- Activa ou desactiva se a janela aceita dados do teclado. Torna a janela apenas para leitura.

Ignorar os atalhos globais

- Active ou desactive se deseja ignorar os atalhos globais (definidos em Configuração do Sistema Atalhos e Gestos Atalhos Globais ou ao executar `kcmshell5 keys` no konsole) enquanto a janela estiver activa.

Pode Ser Fechada

- Activa ou desactiva a visibilidade do botão para Fechar na barra do título.

Uma janela de terminal poderá ser à mesma fechada pelo utilizador se terminar a sessão da consola; contudo, se usar o Aceitar o foco para desactivar os dados do teclado, irá complicar o fecho da janela.

Tipo de janela

- Muda a janela para outro tipo e herda as características dessa janela:

  - Janela Normal

  - Janela de Diálogo

  - Janela Utilitária

  - Atracar (painel)

  - Barra de Ferramentas

  - Menu Separado

  - Ecrã Inicial

  - Ecrã

  - Menu Autónomo

Use com cuidado, porque poderá introduzir resultados indesejados. Por exemplo, um Ecrã Inicial é fechado automaticamente pelo &kwin; quando se carregar nele.

Composição por blocos

- Active ou desactive se deseja desactivar a composição enquanto a janela existir. Se a composição estiver activa e se a regra indicar para desactivar a composição enquanto existir qualquer janela correspondente, a composição será desactivada. A composição será reactivada quando a última janela correspondente terminar.

## Exemplos

O primeiro exemplo diz em detalhe todos os passos necessários para criar as regras. Para manter esta página com um tamanho razoável, os exemplos seguintes só irão apresentar os passos específicos do exemplo.

O atributo Paginador refere-se ao Gestor de Ecrãs Virtuais:

### Fixar uma Janela num Ecrã e Definir Outros Atributos

Fixe o &akregator; ao Ecrã Virtual 2. Para além disso, inicie a aplicação com um dado tamanho e posição preferidos. Para cada atributo, use o parâmetro Aplicar Inicialmente para que possa ser substituído durante a sua execução.

A regra do &kwin; é criada da seguinte forma:

1. Inicie o &akregator; no ecrã dois, definindo a sua posição e tamanho de forma adequada:

2. Carregue com o botão direito no título e seleccione Mais Acções Configuração do Gestor de Janelas...:

3. Seleccione a opção Regras da Janela na coluna esquerda e carregue no botão Novo...:

4. É apresentada a janela Editar as Opções Específicas da Janela. A página da Correspondência de janelas é a predefinida:

5. Carregue em Detectar as Propriedades da Janela para, com um atraso de 0s, o cursor mudar imediatamente para uma mira. Carregue dentro da janela do &akregator; (mas fora da barra do título). Serão apresentados os critérios da janela. Corresponda apenas pelo nome primário da classe, deixando então as opções desligadas - para mais informações, veja a correspondência de janelas:

6. Se carregar em OK na janela anterior, irá preencher de volta os resultados na página de Correspondência da Janela. Indique uma Descrição válida (a qual será apresentada na janela da Regra do KWin):

7. Active os atributos da janela: Posição, Tamanho e Ecrã. Os valores iniciais são definidos pela opção Detectar as Propriedades da Janela e poderão ser substituídas:

8. Se carregar em OK na janela anterior, voltará às Regras do KWin principais. É apresentada a nova regra com a sua descrição:

9. Carregue em OK para fechar a janela.

10. Terminado.

### Aplicação em Todos os Ecrãs e Lidar com uma Única Janela-Filha

Excepto nas janelas de conversação, mostre o &kopete; e as suas janelas-filhas em todos os ecrãs, ignorando a bandeja do sistema e o paginador. Para as janelas-filhas de conversação, trate-as como a janela-mãe, excepto a sua apresentação na bandeja.

Para cada atributo, use o parâmetro Forçar para que não possa ser substituído.

Para implementar o requisito acima, terá de criar duas regras:

1. Uma regra para a Conversa do Kopete e

2. Uma regra para o &kopete;

O critério de correspondência da Conversa do Kopete é mais restrito que a regra do Kopete, dado que necessita de corresponder a um Papel da Janela específico: a janela de conversação. Devido ao processamento da avaliação da regra, a regra da Conversa do Kopete dever-se-á anteceder à regra do &kopete; na lista de Regras do KWin para o Kopete.

#### Regra da Conversa do Kopete

Assumindo que está aberta uma janela de Conversa do Kopete:

1. Use o Detectar as Propriedades da Janela e seleccione a janela de Conversa do Kopete. Assinale a opção Papel da janela para restringir o critério às janelas de conversação - para mais informações, veja a correspondência de janelas:

2. Se carregar em OK na janela anterior irá preencher de volta os resultados na página de Correspondência da Janela. Indique um texto adequado na Descrição:

3. Active os seguintes atributos:

4. Vá percorrendo até completar a introdução da regra.

O atributo Ignorar a barra de tarefas é configurado como Não para mostrar a janela na barra de tarefas, o que se traduz de certa forma em: não não ignorar a barra de de tarefas .

#### Regra do Kopete

Assumindo que está aberta uma janela do &kopete;:

1. Use o Detectar as Propriedades da Janela e seleccione a janela do &kopete;. Corresponda apenas pelo nome da classe primário, por isso deixe as opções desligadas - para mais informações, veja a correspondência de janelas:

2. Se carregar em OK na janela anterior irá preencher de volta os resultados na página de Correspondência da Janela. Indique um texto adequado na Descrição:

3. Active os seguintes atributos:

4. Vá percorrendo até completar a introdução da regra.

#### Lista de Regras do KWin para o Kopete

Como foi mencionado, devido ao processamento da avaliação da regra, a regra da Conversa do Kopete deverá ser anterior à regra do &kopete;:

### Impedir uma Janela de Aparecer no Paginador

O KNotes de momento não permite que as suas notas ignorem o paginador; contudo, uma regra resolve de forma simples esta limitação.

Assumindo que está disponível uma janela com uma nota autocolante:

1. Use o Detectar as Propriedades da Janela e seleccione qualquer janela de notas autocolantes. Corresponda apenas pelo nome da classe primário, por isso deixe as opções desligadas - para mais informações, veja a correspondência de janelas:

2. Se carregar em OK na janela anterior irá preencher de volta os resultados na página de Correspondência da Janela. Indique um texto adequado na Descrição:

3. Active o atributo Ignorar o Paginador com o parâmetro Forçar:

4. Vá percorrendo até completar a introdução da regra.

### Forçar uma Janela no Topo

Para colocar uma janela activa sempre no topo, defina o seu atributo de Prevenção da captura do foco como sendo Nenhum, tipicamente, em conjunto com o parâmetro parâmetro Forçar:

### Várias Regras por Aplicação

O Thunderbird tem diversas janelas-filhas diferentes. Este exemplo:

- Fixe a janela principal do Thunderbird no Ecrã Virtual 1 com um dado tamanho e localização específicos.

- Permita à janela de composição do Thunderbird aparecer em qualquer ecrã e, quando activada, forçar o foco e colocá-la no topo de todas as janelas.

- Coloque a chamada de atenção do Thunderbird no topo e não lhe atribua o foco, para que não seja ignorada de forma inadvertida.

Cada critério de correspondência da regra é suficientemente restritivo pelo que a sua ordem na janela principal do &kwin; não é importante para afectar a avaliação de regras.

#### Thunderbird - Principal

Se assumir que a janela principal do Thunderbird está aberta, com o tamanho e posição adequados:

1. Use o Detectar as Propriedades da Janela e seleccione a janela principal do Thunderbird. Corresponda apenas pelo nome da classe primário para restringir à janela principal - para mais informações, veja a correspondência de janelas:

2. Se carregar em OK na janela anterior irá preencher de volta os resultados na página de Correspondência da Janela. Indique um texto adequado na Descrição:

3. Active os seguintes atributos:

4. Vá percorrendo até completar a introdução da regra.

#### Thunderbird - Compositor

Se assumir que está aberta uma janela do Compositor do Thunderbird:

1. Use o Detectar as Propriedades da Janela e seleccione a janela de composição do Thunderbird. Assinale as opções do Tipo de janela e de Papel da janela para restringir às janelas de composição - para mais informações, veja a correspondência de janelas:

2. Se carregar em OK na janela anterior irá preencher de volta os resultados na página de Correspondência da Janela. Indique um texto adequado na Descrição:

3. Active os seguintes atributos:

4. Vá percorrendo até completar a introdução da regra.

#### Thunderbird - Chamada de Atenção

Se assumir que uma janela de chamada de atenção do Thunderbird está aberta:

1. Use o Detectar as Propriedades da Janela e seleccione a janela de chamadas de atenção do Thunderbird. Assinale as opções do Tipo de janela e do Nome da classe secundário para restringir às janelas de chamadas de atenção - para mais informações, veja a correspondência de janelas:

2. Se carregar em OK na janela anterior irá preencher de volta os resultados na página de Correspondência da Janela. Indique um texto adequado na Descrição:

3. Active os seguintes atributos:

4. Vá percorrendo até completar a introdução da regra.

## Comportamentos Alternativos da Aplicação

Em baixo encontram-se alguns comportamentos alternativos para aplicações mal-comportadas.

Se não estiver familiarizado com a criação de regras do &kwin;, veja este exemplo detalhado para basear a sua nova regra.

### Erro de Dimensionamento para Todo o Ecrã

O &Emacs; e o gVim, quando maximizados (no modo de ecrã completo) e sob determinadas condições poderão encontrar algumas questões de dimensionamento de janelas - veja em Emacs window resizes .... Poderá com uma regra do &kwin; contornar este problema.

Assumindo que está aberta uma janela do &Emacs;:

1. Use a opção Detectar as Propriedades da Janela e seleccione a janela do &Emacs;. Faça a correspondência apenas pelo nome da classe primário, deixando as opções desligadas - para mais informações, veja a correspondência de janelas

2. Se carregar em OK na janela anterior irá preencher de volta os resultados na página de Correspondência da Janela. Indique uma Descrição adequada:

3. Ignore o pedido de ecrã completo do &Emacs;, activando o atributo Obedecer às restrições de geometria, desactivando-o (Não) para ignorar e coloque em Forçar o parâmetro:

4. Vá percorrendo até completar a introdução da regra.

## Créditos e Licença

'Copyright' da documentação - veja o histórico da página de Regras do KWin

Tradução de José Nuno Pires zepires@gmail.com

&underFDL;
&documentation.index;