# Regras das janelas

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

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

Lembre-se que a configuração neste módulo não terá efeito se não utilizar o gerenciador de janelas &kwin; como seu gerenciador de janelas. Se você usar um gerenciador 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 você pode também configurar, a nível global, no módulo de Comportamento das Janelas do centro de controle do &kde;, contudo algumas delas estão ainda mais detalhadas.

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á acessar este módulo de duas formas: na barra de título do aplicativo que deseja configurar ou a partir do centro de controle. Se você iniciá-lo dentro do centro de controle do &kde;, você poderá usar o botão Novo... para criar um perfil de janelas e o botão Detectar as Propriedades da Janela na janela resultante para preencher parcialmente as informações necessárias para o aplicativo que deseja configurar.

Você poderá também, a qualquer momento, Modificar... ou Excluir os perfis configurados, ou ainda reordenar a lista. Reordenar a lista usando os botões Mover Acima e Mover Abaixo afeta a forma como eles são aplicados.

## Visão geral

O &kwin; permite ao usuário final definir regras para alterar os atributos da janela de um aplicativo.

Por exemplo, quando é iniciado um aplicativo, ele poderá ser obrigado a executar-se sempre na Área de trabalho 2. Por outro lado, um defeito num aplicativo poderá ser contornado para obrigar a janela a ficar sobre as outras.

São fornecidos exemplos passo-a-passo com informações detalhadas 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 do aplicativo

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.

Uma página especial foi dedicada para tratar dos Comportamentos alternativos do aplicativo.

## Editor de Regras do KWin

### Invocar o Editor de Regras do KWin

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

- Clique com o botão direito no título de qualquer janela, escolha a opção Mais ações Configurações do gerenciador de janelas..., e na janela Configurarselecione Regras da janela ou

- Configurações do Sistema Comportamento da janela Regras das janelas

A janela principal é usada para:

- Afetar regras com os botões Novo..., Modificar... e Excluir

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

- Garantir a avaliação de regras desejada com as opções Mover para cima e Mover para baixo

#### Avaliação das Regras

Quando um aplicativo é iniciado (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 janela.

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

Você poderá ajustar as janelas-filhas do aplicativo, colocando em primeiro lugar as regras mais restritas - veja o exemplo Kopete e a 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 & correções

Como o nome implica, a Correspondência da janela é 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 afetados.

#### Correspondência da janela

Cada regra da janela possui critérios de Correspondência da janela definidos pelo usuário. O &kwin; usa os critérios para determinar se a regra se aplica a uma determinado aplicativo.

#### Atributos das Janelas

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

## Correspondência da janela

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

Poderão ser definidos zero (corresponde a qualquer janela) ou mais elementos como os seguintes:

- Classe da janela (aplicativo) - 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 propriedades da janela.

Para cada campo, poderão ser aplicados os seguintes operadores ao valor do campo:

- Sem importância - ignora o campo.

- Coincidência exata

- Combina com a substring

Tanto a Coincidência exata como a Combina com a substring 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 propriedades da janela

A função Detectar propriedades da janela simplifica o processo de inserção dos critérios de correspondência.

1. Para o aplicativo onde deseja criar uma regra, inicie o aplicativo.

2. Em seguida, na página Correspondência da janela, defina o número de segundos de atraso antes de iniciar a função Detectar propriedades da janela. O valor padrão é de zero segundos.

3. Clique em Detectar propriedades da janela e

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

5. É apresentada uma nova janela com informações sobre a janela selecionada. 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

Clique 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 um aplicativo inteiro (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 & correçõ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. Além disso, os argumentos específicos dos atributos são apresentados dentro de cada definição de atributo.

Não afetar

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

Aplicar inicialmente

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

Lembrar

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

Forçar

- 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 limpar 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 afetadas tenham saído.

Para o Aplicar agora, se a regra não tiver outros atributos definidos, a regra é excluída depois da avaliação, enquanto no Forçar temporariamente, a regra é excluída depois de a última janela afetada terminar.

### Atributos

O botão Detectar 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 ativar ou desativar 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. Em 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 da tela.

Tamanho

- A largura e a altura da janela.

Maximizado horizontalmente, Maximizado verticalmente

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

Área de trabalho, Atividade, Tela

- Coloca a janela na Área de trabalho (Virtual), Atividade ou Tela especificada. Use Todas as áreas de trabalho para colocar a janela em todas as Áreas de trabalho virtuais.

Tela cheia, Minimizado, Sombreado

- Ativa ou desativa os atributos da janela Tela cheia, Minimizar e Sombrear. 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 horizontalmente e Maximizado verticalmente ou do Posicionamento inicial com o argumento Maximização.

Posicionamento inicial

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

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

  - Sem posicionamento - canto superior-esquerdo.

  - Sobreposição mínima - local onde nenhuma outra janela existe.

  - Maximizado - inicia a janela no modo maximizado.

  - Centralizado - no centro da tela.

  - Aleatório

  - No canto superior esquerdo

  - Sob o mouse

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

Ignorar a geometria solicitada

- Define se aceita ou ignora a posição da geometria solicitada pela janela. Para evitar conflitos entre a estratégia de colocação padrão e o pedido da janela, a estratégia de colocação é ignorada quando for aceito 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

- Ative ou desative se deseja aderir às proporções solicitadas pela janela ou se fizer um incremento de base. Para poder compreender este atributo, é necessário algum conhecimento mais aprofundado. Em resumo, as janelas deverão solicitar do Gerenciador de Janelas um incremento de base: o número mínimo de altura X largura pixels por solicitação de dimensionamento. Tipicamente é igual a 1x1. Outras janelas, como por exemplo os emuladores de terminal ou os editores, que usam tipos de fonte monoespaçadas, poderão pedir o seu incremento de base de acordo com o tamanho de um caractere.

#### Organização & acesso

Manter acima, Manter abaixo

- Ativa ou desativa se deseja manter a janela acima ou abaixo de todas as outras.

Agrupar automaticamente com as idênticas

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

Agrupar automaticamente em primeiro plano

- Ativa ou desativa se deseja tornar a janela ativa, quando for adicionada ao auto-grupo atual.

Agrupar automaticamente pelo ID

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

Ignorar barra de tarefas

- Ativa ou desativa a visibilidade da janela na barra de tarefas.

Ignorar paginador

- Ativa ou desativa a visibilidade da janela no paginador.

Ignorar seletor

- Ativa ou desativa a visibilidade da janela na lista do ALT+TAB.

Atalho

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

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

Sem barra de título e moldura

- Ativa ou desativa a barra de título e a moldura ao redor da janela.

Esquema de cores da barra de título

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

Opacidade ativa/inativa

- Quando a janela está ativa/inativa, configura a sua opacidade com a porcentagem indicada.

A Opacidade ativa/inativa só poderá ser afetada quando os Efeitos da área de trabalho estiverem ativos.

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 (potencialmente deixando 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 mouse.

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

Aceitar o foco

- Ativa ou desativa se a janela aceita dados do teclado. Torna a janela apenas para leitura.

Ignorar atalhos globais

- Ative ou desative se deseja ignorar os atalhos globais (definidos em Configurações do Sistema Atalhos e gestos Atalhos globais ou ao executar `kcmshell6 keys` no konsole) enquanto a janela estiver ativa.

Pode ser fechada

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

Uma janela de terminal ainda poderá ser fechada pelo usuário se terminar a sessão da console; contudo, se usar o Aceitar o foco para desativar os dados do teclado, irá complicar o fechamento 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 de utilitário

  - Acoplar (painel)

  - Barra de ferramentas

  - Menu separado

  - Tela de abertura

  - Área de trabalho

  - Menu autônomo

  - Exibição na tela

Use com cuidado, porque poderá introduzir resultados indesejados. Por exemplo, uma Tela de abertura é fechada automaticamente pelo &kwin; quando se clicar nela.

Bloquear composição

- Desativa a composição enquanto a janela existir. Se a composição estiver ativa e a regra específica indicar para desativar a composição, enquanto existir qualquer janela correspondente, a composição será desativada. A composição será reativada 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 Gerenciador de áreas de trabalho virtuais:

### Fixar uma janela numa área de trabalho e definir outros atributos

Fixe o &akregator; na Área de trabalho 2. Além disso, inicie o aplicativo com um determinado 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; na área de trabalho dois, definindo a sua posição e tamanho de forma adequada:

2. Clique-direito na barra de título e selecione Mais ações Configurações do gerenciador de janelas...:

3. Selecione a opção Regras da janela na coluna esquerda e clique no botão Nova...:

4. A janela Editar opções específicas da janela é apresentada. A página da Correspondência de janelas é a padrão:

5. Clique em Detectar as propriedades da janela para, com um atraso de 0s, o cursor mudar imediatamente para uma mira. Clique 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 clicar em OK na janela anterior, irá preencher de volta os resultados na página de Correspondência da janela. Insira uma Descrição válida (a qual será apresentada na janela da Regra do KWin):

7. Ative os atributos da janela: Posição, Tamanho e Área de trabalho. Os valores iniciais são definidos pela opção Detectar as propriedades da janela e poderão ser substituídas:

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

9. Clique em OK para fechar a janela.

10. Está feito.

### Aplicação em todas as áreas de trabalhos e lidar com uma única janela-filha

Exceto nas janelas de conversação, mostre o &kopete; e as suas janelas-filhas em todas as áreas de trabalho, ignorando a área de notificação e o paginador. Para as janelas-filhas de conversação, trate-as como a janela-mãe, exceto a sua apresentação na área de notificação.

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

Para implementar o requisito acima, terá que 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, uma vez 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á anteceder a regra do &kopete; na lista de regras do KWin para o Kopete.

#### Regra da Conversa do Kopete

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

1. Use o Detectar as propriedades da janela e selecione 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 clicar em OK na janela anterior irá preencher de volta os resultados na página de Correspondência da janela. Insira um texto adequado na Descrição:

3. Ative os seguintes atributos:

4. Vá percorrendo até completar a entrada 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 ignorar a barra de tarefas .

#### Regra do Kopete

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

1. Use o Detectar as propriedades da janela e selecione 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 clicar em OK na janela anterior irá preencher de volta os resultados na página de Correspondência da janela. Insira um texto adequado na Descrição:

3. Ative os seguintes atributos:

4. Vá percorrendo até completar a entrada 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 atualmente não permite que as suas notas ignorem o paginador; contudo, uma regra resolve de forma simples esta limitação.

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

1. Use o Detectar as propriedades da janela e selecione 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 clicar em OK na janela anterior irá preencher de volta os resultados na página de Correspondência da janela. Insira um texto adequado na Descrição:

3. Ative o atributo Ignorar o paginador com o parâmetro Forçar:

4. Vá percorrendo até completar a entrada da regra.

### Forçar uma janela no topo

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

### Várias regras por aplicativo

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

- Fixe a janela principal do Thunderbird no Área de trabalho 1 com um determinado tamanho e localização específicos.

- Permita à janela de composição do Thunderbird aparecer em qualquer área de trabalho e, quando ativada, 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 assim a sua ordem na janela principal do &kwin; não é importante para afetar a avaliação de regras.

#### Thunderbird - Principal

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

1. Use o Detectar as propriedades da janela e selecione 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 clicar em OK na janela anterior irá preencher de volta os resultados na página de Correspondência da janela. Insira um texto adequado na Descrição:

3. Ative os seguintes atributos:

4. Vá percorrendo até completar a entrada da regra.

#### Thunderbird - Compositor

Considerando que uma janela do Compositor do Thunderbird está aberta:

1. Use o Detectar as propriedades da janela e selecione 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 clicar em OK na janela anterior irá preencher de volta os resultados na página de Correspondência da janela. Insira um texto adequado na Descrição:

3. Ative os seguintes atributos:

4. Vá percorrendo até completar a entrada da regra.

#### Thunderbird - Lembrete

Considerando que uma janela de lembrete do Thunderbird está aberta:

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

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

3. Ative os seguintes atributos:

4. Vá percorrendo até completar a entrada da regra.

## Comportamentos alternativos do aplicativo

Abaixo encontram-se alguns comportamentos alternativos para aplicativos mal-comportados.

Se você 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 tela cheia

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

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

1. Use a opção Detectar as propriedades da janela e selecione 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 clicar em OK na janela anterior irá preencher de volta os resultados na página de Correspondência da janela. Insira uma Descrição adequada:

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

4. Vá percorrendo até completar a entrada 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 Marcus Gama marcus.gama@gmail.com

&underFDL;
&documentation.index;