<?xml version="1.0" encoding="utf-8"?>
<chapter id="windows" lang="pt-BR">
  <title>Janelas</title>

  <sect1 id="windows-properties">
    <title>Partes da janela e interação com o sistema</title>

    <sect2 id="window-props-titles">
      <title>Títulos</title>

      <para>Dê a cada janela um título (com exceção de <link linkend="windows-alert">alertas</link> e <link linkend="toolbox-windows">caixas de ferramenta</link>). Um bom título de janela contém a informação que é relevante ao usuário, e distingue uma janela particular de outras janelas abertas. Omita informação que não auxilia nesta seleção, por exemplo o número da versão do aplicativo ou o nome do vendedor.</para>

      <figure>
        <title>Exemplo de um título de janela</title>

        <mediaobject><imageobject> <imagedata depth="28" fileref="images/windows-titlebar.png" format="PNG" width="379"/> </imageobject> <imageobject> <imagedata fileref="images/windows-titlebar.eps" format="EPS"/> </imageobject> <textobject> <phrase>Captura de tela mostrando uma barra de título de uma janela com título "Parts of Windows and System Interaction - Mozilla Firefox"</phrase> </textobject></mediaobject>
      </figure>

      <para>Veja a descrição de cada tipo particular de janela para formatos do título.</para>
    </sect2>

    <sect2 id="window-props-borders">
      <title>Comandos de bordas e janelas</title>

      <para>A maioria das janelas possuem bordas, exceto algumas janelas perfiladas ou rasgadas. Não tente desenhar suas próprias bordas, em vez disso forneça dicas ao gerenciador de janelas para o tipo de borda desejada.</para>

      <para>Comandos de janela diferentes são apropriados para diferentes tipos de janela. Veja a descrição de cada tipo particular de janela para uma lista dos comandos de janela apropriados. Esses são os comandos de janelas possíveis:</para>

      <itemizedlist>
        <listitem>
          <formalpara>
            <title>Fechar</title>

            <para>Fecha a janela. <emphasis>Sempre</emphasis> desenhe isso como um botão na borda da janela quando for relevante ao tipo de janela.</para>
          </formalpara>
        </listitem>

        <listitem>
          <formalpara>
            <title>Maximizar</title>

            <para>Faz com que a janela use todo o espaço inutilizado da tela.</para>
          </formalpara>
        </listitem>

        <listitem>
          <formalpara>
            <title>Minimizar</title>

            <para>Faz com que a janela seja temporariamente escondida. Continuará a aparecer na lista de janelas da área de trabalho.</para>
          </formalpara>
        </listitem>

        <listitem>
          <formalpara>
            <title>Rolar/desenrolar</title>

            <para>Mostra apenas a barra de título da janela, como se tivesse sido "rolada"</para>
          </formalpara>
        </listitem>
      </itemizedlist>
    </sect2>

    <sect2 id="window-props-modality">
      <title>Modalidade</title>

      <para>Uma janela <emphasis role="bold">não modal</emphasis> não restringe a interação do usuário com outras janelas abertas na área de trabalho de maneira alguma. Usar janelas não modais dá ao usuário flexibilidade máxima para executar tarefas dentro de seu aplicativo em qualquer ordem e de quaisquer meios que escolher.</para>

      <para>Uma janela <emphasis role="bold">modal de aplicativo</emphasis>, enquanto estiver aberta, previne o usuário de interagir com outras janelas no mesmo aplicativo.</para>

      <para>Uma janela <emphasis role="bold">modal de sistema</emphasis>, enquanto estiver aberta, previne o usuário de interagir com qualquer outra janela em qualquer aplicativo, incluindo a própria área de trabalho.</para>

      <itemizedlist>
        <title>Diretrizes</title>

        <listitem>
          <para>Use uma janela modal de aplicativo somente se permitir a interação com outras partes do aplicativo enquanto a janela estiver aberta puder causar perda de dados ou outros problemas sérios. Forneça uma maneira óbvia de sair da janela modal, como um botão <guibutton>cancelar</guibutton> em um alerta.</para>
        </listitem>

        <listitem>
          <para>Não use janelas modais de sistema.</para>
        </listitem>
      </itemizedlist>
    </sect2>

    <sect2 id="window-props-focus">
      <title>Foco</title>

      <para>O foco é o meio pelo qual o usuário designa qual janela deve receber informações do teclado, mouse ou outro dispositivo de entrada. Caso esteja usando um leitor de tela ou alguma tecnologia assistiva similar, o foco pode também designar a janela que o usuário deseja receber informações. A janela focada é considerada a janela que o usuário está atualmente "trabalhando".</para>

      <para>Certifique-se que seu aplicativo funciona corretamente com os três mecanismos diferentes pelos quais as janelas podem receber foco no GNOME:</para>

      <itemizedlist>
        <listitem>
          <formalpara>
            <title>Clicar para focar</title>

            <para>A janela é focada clicando nela.</para>
          </formalpara>
        </listitem>

        <listitem>
          <formalpara>
            <title>Apontar para focar</title>

            <para>A janela é focada movendo o ponteiro do mouse sobre ela. Também conhecido como "foco desleixado".</para>
          </formalpara>
        </listitem>

        <listitem>
          <formalpara>
            <title>Foco do teclado</title>

            <para>A janela é focada usando um atalho do teclado como <keycombo><keycap>Alt</keycap><keycap>Tab</keycap></keycombo>.</para>
          </formalpara>
        </listitem>
      </itemizedlist>

      <note>
        <title>Restrições especiais para apontar para focar.</title>

        <para>Note que o apontar-para-focar coloca uma série de restrições em aplicativos GNOME que não estão presentes em ambientes como MacOS ou Windows. Por exemplo, janelas de utilidade compartilhadas entre janelas de múltiplos documentos, como a caixa de ferramentas do editor de imagens GIMP, não podem ser sensíveis ao contexto - isto é, não podem iniciar uma ação como <guibutton>Salvar</guibutton> no documento atual. Isto porque enquanto estiver movendo o ponteiro do documento atual para a janela de utilidade, o usuário pode inadvertidamente passar o ponteiro sobre uma janela diferente, mudando o foco e possivelmente salvando o documento errado.</para>
      </note>
    </sect2>

    <sect2 id="windows-show-hide">
	<title>Exibindo e ocultando janelas</title>
	<para>Como seu aplicativo exibe e oculta janelas pode afetar muito a percepção do usuário de seu aplicativo, particularmente sobre sua performance.</para>
	<itemizedlist><title>Diretrizes</title>
		<listitem><para>Sempre exiba uma janela o mais rápido possível, mas tenha certeza de que sua janela tenha o tamanho correto antes de mostrá-la. Redimensionar uma janela depois de exibi-la é desorientador e dá um aspecto rude ao seu aplicativo.</para></listitem>
		<listitem><para>Caso uma janela tenha uma informação que demore alguns segundos para computar ou exibir, é geralmente melhor não carregá-la completamente antes de exibir a janela. Por exemplo, uma janela contendo uma grande área de texto pode ser exibida rapidamente, e então o texto pode ser preenchido posteriormente (desde que isso não resulte no redimensionamento da janela). Isso fará com que seu aplicativo pareça mais responsivo do que se você não tivesse exibido a janela até que seu conteúdo estivesse completo.</para></listitem>
		<listitem><para>Oculte uma janela o mais rápido possível depois que for fechada. A não ser que um alerta seja exibido, imediatamente oculte a janela na qual o usuário tenha fechado clicando no botão Fechar na borda da janela - seu aplicativo pode executar alguma operação de limpeza posterior. Além de fazer com que o sistema pareça lento, não fazer isso pode fazer com que o gerenciador de janelas pense que o aplicativo não está respondendo, e exiba um alerta desnecessário ao usuário.</para></listitem>
	</itemizedlist> 

    </sect2>

  </sect1>

  <sect1 id="windows-primary">
    <title>Janelas primárias</title>

    <para>Uma janela primária geralmente apresenta uma visualização das informações do usuário, como um documento de texto em um processador de textos, uma imagem em um programa de desenhos, ou cálculos em uma calculadora ou uma planilha. Também pode ser uma visualização de algo mais abstrato, como um jogo. Uma única instância de um aplicativo pode ter mais de uma janela primária, e mais de um tipo de janela primária.</para>

    <para>Uma janela primária é sempre exibida na lista de janelas do painel.</para>

    <figure>
      <title>Uma janela primária típica (gedit)</title>

      <mediaobject><imageobject> <imagedata depth="372" fileref="images/windows-primary.png" format="PNG" width="397"/> </imageobject> <imageobject> <imagedata fileref="images/windows-primary.eps" format="EPS"/> </imageobject> <textobject> <phrase>Uma janela primária típica: uma visão de documento do gedit</phrase> </textobject></mediaobject>
    </figure>

    <para>Uma janela primária normalmente tem uma borda, uma barra de menu, uma barra de status, e também pode conter uma ou mais barras de ferramenta.</para>

    <sect2 id="primary-window-titles">
      <title>Título</title>

      <para>O elemento mais importante do título da janela de um aplicativo baseado em documentos é o nome do documento aberto. Para outros aplicativos, é geralmente o nome do aplicativo.</para>

      <itemizedlist><title>Diretrizes</title>

	<listitem><para>Use o <replaceable>nome do arquivo</replaceable> como o título da janela para aplicativos baseados em documento. Não use o caminho completo, já que o nome do arquivo sozinho é mais fácil de distinguir entre outros títulos de janela, por exemplo na lista de janelas.</para>
      	<example>
        <title>Usando nomes do documetos como título da janela</title>

        <informaltable frame="all">
          <tgroup align="left" cols="2">
            <thead>
              <row>
                <entry>Aplicativo</entry>

                <entry>Exemplo de título de janela</entry>
              </row>
            </thead>

            <tbody>
              <row>
                <entry>AbiWord</entry>

                <entry>Meu relatório.abw</entry>
              </row>

              <row>
                <entry>Evolution</entry>

                <entry>Caixa de entrada</entry>
              </row>

              <row>
                <entry>Reprodutor de músicas</entry>

                <entry>U2 - Better Than the Real Thing</entry>
              </row>
            </tbody>
          </tgroup>
        </informaltable>
      	</example>
	<para>Caso o caminho do arquivo seja importante, por exemplo quando o usuário tem dois documentos com o mesmo nome abertos de diretórios diferentes no mesmo aplicativo, mostre o caminho completo na barra de status.</para>
	</listitem>
	
	<listitem><para>Antes que um novo documento seja salvo pela primeira vez, defina o título da janela para <replaceable>&lt;Tipo do documento&gt; não salvo</replaceable>. Por exemplo, <replaceable>Desenho não salvo</replaceable>, <replaceable>Planilha não salva</replaceable>, ou genericamente <replaceable>Documento não salvo</replaceable>.</para>
	</listitem>



      	<listitem><para>Quando um documento tem mudanças pendentes, coloque um asterisco (*) no começo do título da janela. Por exemplo, <replaceable>*Desenho não salvo</replaceable>, <replaceable>*RelatórioAnual</replaceable>.</para></listitem>
      
	<listitem><para>Para aplicativos que não são baseados em documentos, use o <replaceable>nome do aplicativo</replaceable> como título da janela.</para>

      	<example>
        <title>Usando nomes de aplicativos como título da janela</title>

        <informaltable frame="all">
          <tgroup align="left" cols="2">
            <thead>
              <row>
                <entry>Aplicativo</entry>

                <entry>Título da janela</entry>
              </row>
            </thead>

            <tbody>
              <row>
                <entry>Dicionário</entry>

                <entry>Dicionário</entry>
              </row>

              <row>
                <entry>Calculadora</entry>

                <entry>Calculadora</entry>
              </row>
            </tbody>
          </tgroup>
        </informaltable>
      </example>
      </listitem>

      <listitem><para>Não coloque números de versão, nomes de companhia, ou outra informação que não seja de uso imediato ao usuário no título da janela. Isto consome espaço, fazendo com que os títulos em espaços limitados como a lista de janelas do sistema menos úteis, e adiciona mais texto para o usuário ter que escanear para achar informação útil. Em um produto "beta", onde o número da versão é critico para informações de erros, colocar números de versão pode ser útil, mas remova-as das versões estáveis. Em vez disso, coloque a informação da versão no diálogo Sobre.</para></listitem>

     </itemizedlist>

      <para>Enquanto nomes de documentos são mais adequados aos usuários, nós entendemos que desenvolvedores desejem aumentar o reconhecimento de seu aplicativo. Se você planeja incluir o nome do seu aplicativo no título da janela primária, use o seguinte formato: <replaceable>Nome do documento</replaceable> - <replaceable>Nome do aplicativo</replaceable>. Isso garante que o nome do documento apareça em situações de espaço limitado, como a lista de janelas do sistema.</para>

      <warning><para>Incluir o nome do aplicativo no título de um aplicativo baseado em documentos <emphasis role="bold">não</emphasis> é recomendado.</para></warning>

      <tip><para>Pense sobre nomear janelas no contexto da lista de janelas do painel. Em uma tela típica com um número relativamente pequeno de janelas abertas, uma janela tem 20-30 caracteres de texto e um ícone. Considere qual texto pode dar as pistas mais imediatamente obvias para um usuário olhando para uma janela em particular.</para></tip>

    </sect2>

    <sect2 id="primary-window-commands">
      <title>Comandos de janela</title>

      <para>Fechar, maximizar/restaurar, minimizar, enrolar/desenrolar</para>
    </sect2>

    <sect2 id="document-interface-types">
      <title>Relação entre documentos e janelas</title>

      <sect3 id="sdi">
        <title>Interface de documento único (IDU)</title>

        <para>Uma interface de documento único coloca cada documento em sua janela primária. Caixas de ferramentas e outras janelas de utilidade podem ser compartilhadas entre múltiplos documentos IDU, mas fechá-los não deve ter efeito sobre as janelas de documento. Use IDU em seus aplicativos GNOME a não ser que tenha um motivo razoável para não fazê-lo.</para>

        <figure>
          <title>Um típico aplicativo IDU (Visualizador de imagens)</title>

          <mediaobject><imageobject> <imagedata depth="226" fileref="images/windows-sdi.png" format="PNG" width="268"/> </imageobject> <imageobject> <imagedata fileref="images/windows-sdi.eps" format="EPS"/> </imageobject> <textobject> <phrase>Um típico aplicativo IDU: Visualizador de imagens sendo usado para inspecionar um ícone.</phrase> </textobject></mediaobject>
        </figure>
      </sect3>

      <sect3 id="mdi">
        <title>Interface de múltiplos documentos (IMD)</title>

        <para>Uma interface de múltiplos documentos apresenta um visualizador em painéis, abas ou similar de dois documentos em uma única janela.</para>

        <figure>
          <title>Um típico aplicativo IMD (gedit) exibindo três documentos abertos em páginas de abas.</title>

          <mediaobject><imageobject> <imagedata depth="349" fileref="images/windows-mdi.png" format="PNG" width="372"/> </imageobject> <imageobject> <imagedata fileref="images/windows-mdi.eps" format="EPS"/> </imageobject> <textobject> <phrase>Um típico aplicativo IMD: gedit com três documentos abertos na mesma janela.</phrase> </textobject></mediaobject>
        </figure>

        <para>IMD herda vários problemas de usabilidade, e por isso seu uso é desencorajado. É melhor abrir um documento em uma janela primária, com sua própria barra de menu, de ferramenta e de status, ou permitir múltiplas instâncias de seu aplicativo serem executadas simultaneamente. Em ambos os casos, isso deixa para o gerenciador de janelas (que age a partir das preferências do usuário) ao invés do seu aplicativo decidir como agrupar e apresentar janelas de documento do mesmo aplicativo.</para>
      </sect3>

      <sect3 id="csdi">
        <title>Interface controlada de documento único (ICDU)</title>
        <para>Em um típico aplicativo IDU, janelas de documentos são tratadas como primárias. Por exemplo, quanto todos os documentos tiverem sido fechados, o aplicativo (incluindo janelas de utilidade) também fecha. Em uma ICDU, uma janela de utilidades é tratada como a janela primária. Por exemplo, fechar a janela de utilidades irá fechar todos os documentos e sair do aplicativo.</para>

        <warning><para>Usar ICDU <emphasis role="bold">não</emphasis> é recomendado</para></warning>

        <para>Uma ICDU é ocasionalmente usada porque janelas de documento podem ser muito pequenas para possuírem barras de menu. Tipicamente esse não é o caso de uso normal para o aplicativo, mas representa um caso de uso significativamente minoritário. Por exemplo, um editor de imagens sendo usado para editar pequenos elementos de páginas da web resulta em várias pequenas janelas de documento que não podem acomodar uma barra de título.</para>

        <para>Uma maneira melhor de resolver este problema é permitir que barras de menu "recolham" em um botão de estouro, do mesmo modo que barras de ferramentas operam quando a janela diminui para menos que a largura da barra de ferramentas. Isso permite pequenas janelas, mas também fornece uma oportunidade para que as pessoas descubram para onde seus menus foram.</para>

        <tip><para>Note que, caso documentos muito pequenos forem o caso de uso <emphasis>primário</emphasis> do seu aplicativo, considere encontrar um meio de evitar janelas completamente. Janelas não são interfaces efetivas para lidar com um número grande de pequenos itens. Considere buscar um sistema de layout fixo/automatizado para apresentar os "documentos". Também considere se os "documentos" vão ser usados primariamente em um agrupamento de nível mais alto, em cujo caso que o grupo se torna o documento.</para></tip>
      </sect3>

    </sect2>
  </sect1>

  <sect1 id="windows-utility">
    <title>Janelas de utilidade</title>

    <para>Janelas de utilidade, como paletas e caixas de ferramenta, normalmente tem bordas. Elas não contém uma barra de menu, de ferramenta ou de status.</para>
    <para>Uma janela de utilidade não deve aparecer na lista de janelas do painel a não ser que, ou que possa ser, a única janela exibida pelo aplicativo. Caso contrário, a janela de utilidades deve ser elevada para frente do aplicativo quando a janela do aplicativo é selecionada a partir da lista de janelas.</para>

    <sect2 id="windows-instant-apply">
      <title>Janelas de aplicação instantânea</title>

      <para>Para janelas que permitem que o usuário mude valores e preferências, como janelas de preferências e propriedades, atualize esses valores ou configurações imediatamente para refletir as mudanças feitas na janela. Isso é conhecido como "aplicação instantânea". Não faça o usuário pressionar um botão <guibutton>OK</guibutton> ou <guibutton>Aplicar</guibutton> para fazer as mudanças acontecerem, a não ser caso:</para>

      <itemizedlist>
        <listitem>
          <para>a mudança irá demorar mais que um segundo para ser aplicada, no caso em que aplicar as mudanças imediatamente pode fazer o sistema ficar lento ou não responsivo, ou</para>
        </listitem>

        <listitem>
          <para>as mudanças na janela devem ser aplicadas simultaneamente para prevenir o sistema de entrar em um estado potencialmente instável. Por exemplo, os campos nome de máquina e proxy em uma janela de propriedades.</para>
        </listitem>
      </itemizedlist>

      <para>Caso ambas as condições afetem apenas alguns poucos controles em sua janela, organize esses controles juntos em um ou mais grupos, cada um com seu próprio botão <guibutton>Aplicar</guibutton>. Deixe o resto dos controles como aplicação instantânea.</para>

	<itemizedlist>
		<title>Diretrizes</title>
		
        	<listitem><para>Não tente validar ou aplicar mudanças causadas por edição de um campo de texto até que o usuário tenha movido o foco para um controle diferente na janela, ou que a janela tenha sido fechada. Validar após cada pressionamento de tecla é geralmente irritante e desnecessário. Exceção: caso o campo aceite apenas um número fixo de caracteres, como um código de cor hexadecimal, valide e aplique a mudança tão logo o número de caracteres tenha sido digitado.</para></listitem>
		<listitem><para>Quando o usuário move o foco para um controle diferente, não indique uma entrada inválida exibindo um alerta ou desfazendo a mudança do usuário. Ambos os métodos são particularmente disruptivos para usuários em que o foco segue o mouse, para os quais o foco pode deixar o controle com maior frequência que acontece com os usuários em que o foco segue o clique.</para></listitem>
	</itemizedlist>
      </sect2>

	<sect2 id="windows-explicit-apply">
		<title>Janelas de aplicação explícita</title>
      <para>Caso a maioria dos controles em sua janela não são adequados para aplicação instantânea, considere fazer com que toda a janela seja de "aplicação explícita". Uma janela de aplicação explícita tem estes três botões em sua caixa de botões, e um botão opcional <guibutton>Ajuda</guibutton>:</para>

      <itemizedlist>
        <listitem>
          <formalpara>
            <title>Aplicar</title>

            <para>Aplica todas as configurações da janela, mas não fecha a janela caso o usuário queira mudar de ideia.</para>
          </formalpara>
        </listitem>

        <listitem>
          <formalpara>
            <title>Cancelar</title>

            <para>Reinicia todas as configurações da janela para aquelas que estavam em vigor quando a janela estava aberta. Nota: isto deve desfazer os efeitos de todas as aplicações do botão <guibutton>Aplicar</guibutton> desde que a janela foi aberta, não apenas o mais recente.</para>
          </formalpara>
        </listitem>

        <listitem>
          <formalpara>
            <title>OK</title>

            <para>Aplica todas as configurações da janela, e fecha a janela.</para>
          </formalpara>
        </listitem>
      </itemizedlist>

      <figure id="explicit-apply-figure">
        <title>Botões em uma janela de aplicação explícita</title>

        <mediaobject><imageobject> <imagedata depth="55" fileref="images/windows-explicit-apply.png" format="PNG" width="387"/> </imageobject> <imageobject> <imagedata fileref="images/windows-explicit-apply.eps" format="EPS"/> </imageobject> <textobject> <phrase>Captura de tela mostrando o posicionamento correto dos botões Ajuda, Aplicar, Cancelar e OK em um diálogo</phrase> </textobject></mediaobject>
      </figure>
    </sect2>

    <sect2 id="default-buttons">
      <title>Botões padrão</title>

      <para>Quando projetar um diálogo ou uma janela de utilidade, você pode atribuir a tecla <keycap>Enter</keycap> para ativar um botão particular na janela. O GNOME indica esse botão ao usuário desenhando uma borda diferente em torno dele. Por exemplo, o botão <guibutton>Ajuda</guibutton> em <xref linkend="explicit-apply-figure"/>.</para>

      <para>Escolha o botão padrão para ser a mais provável ação, como uma ação de confirmação ou uma ação que aplique as mudanças em uma janela de utilidade. Não faça um botão o padrão caso a ação seja irreversível, destrutiva ou inconveniente para o usuário. Caso não haja um botão apropriado em sua janela, para designá-lo como padrão, não estabeleça um.</para>

      <para>Em particular, é atualmente <emphasis>não</emphasis> recomendado fazer o botão <guibutton>Fechar</guibutton> o padrão em uma janela de <link linkend="windows-instant-apply">aplicação instantânea</link>, já que isso pode fazer com que os usuários fechem a janela acidentalmente antes de terminar de usá-la.</para>
    </sect2>

    <sect2 id="property-windows">
      <title>Janelas de propriedade</title>

      <para>Janelas de propriedade permitem que o usuário visualize e modifique as características de um objeto como um documento, arquivo, desenho ou lançador de aplicativo.</para>

      <figure>
        <title>Exemplo de uma janela de propriedades</title>

        <mediaobject><imageobject> <imagedata fileref="images/windows-properties.png" format="PNG" width="302" depth="335"/> </imageobject> <imageobject> <imagedata fileref="images/windows-properties.eps" format="EPS"/> </imageobject> <textobject> <phrase>Captura de tela mostrando a janela "propriedades do arquivo" do Nautilus</phrase> </textobject></mediaobject>
      </figure>

      <formalpara>
        <title>Formato de título:</title>

        <para>Propriedades do <replaceable>nome do objeto</replaceable></para>
      </formalpara>

      <formalpara>
        <title>Comandos de janela:</title>

        <para>Fechar, minimizar, enrolar/desenrolar</para>
      </formalpara>

      <formalpara>
        <title>Botões:</title>

        <para>Coloque um botão <guibutton>Fechar</guibutton> no canto inferior direito. Um botão <guibutton>Ajuda</guibutton> pode ser colocado no canto inferior esquerdo.</para>
      </formalpara>
    </sect2>

    <sect2 id="preference-windows">
      <title>Janelas de preferências</title>

      <para>Janelas de preferências permitem que o usuário mude a maneira que um aplicativo se parece ou se comporta.</para>

      <figure>
        <title>Exemplo de uma janela de preferências</title>

        <mediaobject><imageobject> <imagedata depth="249" fileref="images/windows-preferences.png" format="PNG" width="354"/> </imageobject> <imageobject> <imagedata fileref="images/windows-preferences.eps" format="EPS"/> </imageobject> <textobject> <phrase>Captura de tela mostrando a janela de preferências do Gnibbles</phrase> </textobject></mediaobject>
      </figure>

      <formalpara>
        <title>Formato de título:</title>

        <para>Preferências do <replaceable>nome do aplicativo</replaceable></para>
      </formalpara>

      <formalpara>
        <title>Comandos de janela:</title>

        <para>Fechar, minimizar, enrolar/desenrolar</para>
      </formalpara>

      <formalpara>
        <title>Botões:</title>

        <para>Coloque um botão <guibutton>Fechar</guibutton> no canto inferior direito. Um botão <guibutton>Ajuda</guibutton> pode ser colocado no canto inferior esquerdo.</para>
      </formalpara>

      <sect3 id="preference-windows-overriding-colors">
        <title>Personalizando fontes e cores</title>

	<para>Caso sua janela de preferências permita que o usuário personalize fontes e cores, use o seguinte estilo de redação e layout como guias para esses controles:</para>
	
	<example>
		<title>Estilo de redação recomendado para sobrescrever elementos do tema - substitua por captura de tela</title>	
		<programlisting>
	(o) Usar fonte do tema
	(o) Usar esta fonte: [Seletor de fonte]

	(o) Usar cores do tema
	(o) Usar estas cores:
		Plano de fundo: [ seletor de cores ]
		Primeiro plano: [ seletor de cores ]
		</programlisting>
	</example>

	<para>O estilo de redação de botões de opção podem ser mais específicos onde for necessário, por exemplo, "Usar fonte monoespaçada do tema", ou "Usar cor de fundo do tema".</para>
      </sect3>

    </sect2>

    <sect2 id="toolbox-windows">
      <title>Caixas de ferramenta</title>

      <para>Uma caixa de ferramenta fornece acesso conveniente à um conjunto de ações e alternâncias por meio de um conjunto de pequenos botões com estilo de barra de ferramentas. Caixas de ferramentas podem ser usadas para fornecer um grupo específico de ferramentas para acrescentar a uma barra de ferramentas que contém itens mais universais, como <guibutton>Salvar</guibutton> e <guibutton>Abrir</guibutton>. Uma única caixa de ferramentas pode ser compartilhada entre múltiplos documentos para economizar espaço na tela;</para>

      <figure id="toolbox-figure">
        <title>Exemplo de uma caixa de ferramentas</title>

        <mediaobject><imageobject> <imagedata depth="89" fileref="images/windows-toolbox-small.png" format="PNG" width="136"/> </imageobject> <imageobject> <imagedata fileref="images/windows-toolbox-small.eps" format="EPS"/> </imageobject> <textobject> <phrase>Uma captura de tela de uma caixa de ferramentas com oito botões organizados em duas linhas</phrase> </textobject></mediaobject>
      </figure>

      <formalpara>
        <title>Formato de título:</title>

        <para>Caixas de ferramenta não têm título</para>
      </formalpara>

      <formalpara>
        <title>Comandos de janela:</title>

        <para>Fechar, enrolar/desenrolar</para>
      </formalpara>

      <formalpara>
        <title>Botões:</title>

        <para>Caixas de ferramenta não têm botões</para>
      </formalpara>

      <formalpara>
        <title>Redimensionamento:</title>

        <para>Faça com que as caixas de ferramenta sejam redimensionáveis, mas apenas redimensione discretamente pela largura dos itens da caixa de ferramentas. Em outras palavras, o usuário pode redimensionar a caixa de ferramentas para a largura de um item, dois itens, três itens, etc, mas não para um item e meio.</para>
      </formalpara>

      <itemizedlist>
        <title>Diretrizes</title>

        <listitem>
          <para>Coloque na caixa de ferramentas apenas botões que não abram outras janelas.</para>
        </listitem>

        <listitem>
          <para>Caixas de ferramentas são melhores usados para botões de alternância modais que afetam a operação do mouse no documento, como um conjunto de botões para escolher entre pincel, borracha e modos de preenchimento em um aplicativo de desenho. Botões que iniciam ações ao clique (como um botão de salvar) são melhor posicionados em barras de ferramentas.</para>
        </listitem>

        <listitem>
          <para>Assegure-se que fechar a caixa de ferramentas não fechará ou de outro modo alterará qualquer outra janela primária com a qual esteja associada.</para>
        </listitem>

        <listitem>
          <para>Não coloque caixas de ferramentas na lista de janelas do sistema. Caixas de ferramentas devem sempre ficar abaixo de todas as janelas primárias as quais estão associadas.</para>
        </listitem>

        <listitem>
          <para>Caso todas as janelas primárias associadas com a caixa de ferramentas estiverem fechadas ou minimizadas, esconda a caixa de ferramentas também. Exiba-a novamente quando uma das janelas primárias for aberta ou restaurada.</para>
        </listitem>

        <listitem>
          <para>Faça a caixa de ferramentas com dois itens de largura por padrão, a não ser que seja dividida em <link linkend="toolbox_windows_categories">categorias</link>. Faça caixas de ferramentas categorizadas com quatro itens de largura por padrão.</para>
        </listitem>
      </itemizedlist>

      <sect3 id="toolbox_windows_categories">
        <title>Categorias de caixa de ferramentas</title>

        <para>Enquanto que categorias possam não ser tão visualmente atraentes quanto caixas de ferramentas homogêneas preenchidas com belos ícones, elas fazem com que uma caixa de ferramentas desajeitada e grande seja mais gerenciável. Escolher um ícone pequeno dentre quinze outros itens é uma tarefa difícil. Adicionalmente, categorias permitem que o usuário esconda conjuntos de itens que não são relevantes à sua tarefa atual.</para>

        <figure id="example-toolbox-figure">
          <title>Uma caixa de ferramentas larga dividida em categorias</title>

          <mediaobject>
            <imageobject>
              <imagedata depth="156" fileref="images/windows-toolbox-large.png" format="PNG" width="136"/>
            </imageobject>

            <imageobject>
              <imagedata fileref="images/windows-toolbox-large.eps" format="EPS"/>
            </imageobject>

            <textobject>
              <phrase/>
            </textobject>
          </mediaobject>
        </figure>

        <itemizedlist>
          <title>Diretrizes</title>

          <listitem>
            <para>Divida caixas de ferramentas com mais de dezesseis itens em categorias. O melhor tamanho para uma categoria é entre quatro e dez itens.</para>
          </listitem>

          <listitem>
            <para>Dê a cada categoria uma etiqueta (em capitalização de título) e uma seta de colapso. Clicar na etiqueta ou na seta alterna a categoria entre os estados colapsado e não colapsado.</para>
          </listitem>
        </itemizedlist>
      </sect3>
    </sect2>

    <!-- FIXME - should eventually give general guidelines for other sorts of utility window
    <sect2 id="other-windows">
      <title>Other</title>
      <para>FIXME</para>
    </sect2>
    -->
  </sect1>

  <sect1 id="windows-alert">
    <title>Alertas</title>

    <para>Uma alerta fornece informações sobre o estado do sistema do aplicativo, ou pede por informações essenciais sobre como proceder com uma tarefa em particular. É distinto de outros tipos de janela já que não é requisitado diretamente pelo usuário, e geralmente contém uma mensagem ou questão ao invés de controles editáveis. Visto que alertas são uma intrusão indesejável no trabalho do usuário, não os use exceto onde necessário para evitar perdas de dados em potencial ou outros problemas sérios.</para>

    <para>Um alerta tem bordas similares às de um diálogo, e é modal.</para>
    <para>Um alerta não deve aparecer na lista de janelas do painel a não ser que seja, ou que possa ser, a única janela exibida pelo aplicativo. Por exemplo, um alerta lembrete de compromisso pode ser exibido após a janela principal do aplicativo de calendário ter sido fechada.</para>
    <para>Caso contrário, um alerta deve ser destacado sobre o aplicativo quando a janela do aplicativo tiver sido selecionada da lista de janelas.</para>

    <figure id="example-alert-figure">
      <title>Exemplo de um alerta</title>

      <mediaobject><imageobject> <imagedata fileref="images/windows-alert-information.png" width="251" depth="123" format="PNG"/> </imageobject> <imageobject> <imagedata fileref="images/windows-alert-information.eps" format="EPS"/> </imageobject> <textobject> <phrase>Exemplo de um alerta exibindo o texto  "You have an appointment with George Wells in 15 minutes", com um botão OK para dispersar a janela.</phrase> </textobject></mediaobject>
    </figure>

    <!--<remark>FIXME: need to redo the spacing and icons in the alert shots. I think I have a glade file for these somewhere. -Seth</remark>-->

    <formalpara>
      <title>Formato do título</title>

      <para>Janelas de alerta não tem títulos, já que o título duplicaria desnecessariamente o texto primário do alerta. Desta forma, usuários podem ler e responder a alertas mais rapidamente já que há menos ruído visual e texto confuso.</para>
    </formalpara>

    <formalpara>
      <title>Redimensionar</title>

      <para>Janelas de alerta não são redimensionáveis. Caso o usuário precise redimensionar seu alerta, o texto provavelmente não é conciso o suficiente.</para>
    </formalpara>

    <formalpara>
      <title>Comandos de janela:</title>

      <para>Nenhum</para>
    </formalpara>

    <caution>
      <title>Alerta devem ficar sobre seus parentes.</title>

      <para>Alertas não aparecem na lista de janelas do sistema. Consequentemente, assegure-se que alertas fiquem sobre suas janelas de origem. De outra forma, usuário certamente perderão o alerta e acharão seu aplicativo não responsivo por nenhuma razão aparente. Janelas modais devem sempre ficar na frente da(s) janela(s) que bloqueiam.</para>
    </caution>

    <!--    
    <para role="library-problem">Buttons in GTK dialogues end up the same size (sized to the button with the longest text label). This is wrong, and looks bad.</para>
    <para role="library-problem">Automatic wrapping of labels happens at funny places and ends up looking wrong. Labels should wrap before the last whole word that does not fit in the allotted space.</para> 
      -->

    <!--
  <para>FIXME - reduced or no frame; one or two buttons: <guibutton>OK</guibutton> for informing alerts, and effectively <guibutton>Cancel</guibutton> and <guibutton>OK</guibutton> for confirmation. No other controls: especially not the "Do not show this again" checkbutton. Perhaps locally modal, rarely globally modal.</para>
    -->

    <sect2 id="alert-text">
      <title>Textos de alerta</title>

      <para>Um alerta pode conter tanto texto primário como secundário. O texto primário resume a situação. O texto secundário fornece informação adicional.</para>

	<para>Faça com que tanto o texto primário quanto o secundário sejam selecionáveis. Isso facilita para o usuário copiar e colar o texto em outra janela, como uma mensagem de e-mail.</para>

      <figure id="alert-text-figure">
        <title>Localização do texto primário e secundário</title>

        <mediaobject><imageobject> <imagedata fileref="images/windows-alert-text.png" width="446" depth="178" format="PNG"/> </imageobject> <imageobject> <imagedata fileref="images/windows-alert-text.eps" format="EPS"/> </imageobject> <textobject> <phrase>Captura de tela de um alerta exibindo um exemplo de texto primário em negrito, e secundário em uma fonte menor abaixo.</phrase> </textobject></mediaobject>
      </figure>

      <formalpara>
        <title>Texto primário</title>

        <para>O texto primário fornece ao usuário uma sentença que resume a informação ou ação sugerida. Esse resumo deve conter concisamente os detalhes essenciais do problema ou sugestão. Todo alerta tem um texto primário, exibido em negrito em fonte levemente maior que o padrão. O texto primário é pontuado no estilo 'manchete de jornal', isto é, não tem ponto final, mas pode conter um ponto de interrogação no final.</para>
      </formalpara>

      <para role="technical-note">Indique o texto primário com a marcação pango: <programlisting>&lt;span weight="bold"
      size="larger"&gt;<replaceable>Primary Text</replaceable>&lt;/span&gt;</programlisting></para>

      <formalpara>
        <title>Texto secundário</title>

        <para>Texto secundário fornece uma descrição mais profunda sobre o problema e a ação sugerida, incluindo possíveis efeitos colaterais. Texto secundário pode também fornecer informações que poderão ajudar o usuário a fazer uma decisão informada. Na maior parte das situações, o usuário deve necessitar apenas do texto primário para fazer uma decisão rápida, mas pode ler o texto secundário caso esteja inseguro do curso da ação, ou precise de detalhes extras. Texto secundário é opcional, mas quando utilizado, coloque uma linha de texto de altura abaixo do texto primário usando o tamanho e a largura padrão da fonte.</para>
      </formalpara>
    </sect2>

    <sect2 id="alert-button-order">
      <title>Botões de alerta</title>

      <para>Dê a todos os alertas um botão afirmativo que dispensa o alerta e realiza a ação sugerida pelo botão primário. Forneça um botão <guibutton>Cancelar</guibutton> para todos os alertas exibidos em resposta às ações do usuário, como <guimenuitem>Sair</guimenuitem>. Caso o alerta avise o usuário de um problema técnico ou outra situação que poderia resultar em perda de informação, forneça um botão <guibutton>Ajuda</guibutton> que dê mais informações na situação em particular e explique as opções do usuário. Você também pode fornecer botões que executam ações alternadas que deem outra possível solução, corrija problemas em potencial, ou inicie programas ou diálogos relacionados.</para>

      <figure id="alert-buttons-figure">
        <title>Ordem e posição dos botões para alertas</title>

        <mediaobject><imageobject> <imagedata fileref="images/windows-alert-buttons.png" format="PNG" width="425" depth="62"/> </imageobject> <imageobject> <imagedata fileref="images/windows-alert-buttons.eps" format="EPS"/> </imageobject> <textobject> <phrase>Captura de tela mostrando a ordem e a posição dos botões do alerta: Ajuda na parte inferior esquerda e Alternar, Cancelar e Afirmativo na parte inferior direita.</phrase> </textobject></mediaobject>
      </figure>

      <formalpara>
        <title>Button Phrasing</title>

        <para>Escreva as etiquetas de botões como verbos no imperativo, por exemplo <guibutton>Salvar</guibutton> ou <guibutton>Imprimir</guibutton>. Isso permite que o usuário selecione uma ação com menos hesitação. Uma frase ativa condiz também com o papel do botão em iniciar ações, em contraste com uma frase mais passiva. Por exemplo, <guibutton>Buscar</guibutton> e <guibutton>Conectar</guibutton> são botões melhores que <guibutton>Sim</guibutton> e <guibutton>OK</guibutton>.</para>
      </formalpara>

      <itemizedlist>
        <listitem>
          <formalpara>
            <title>Botões afirmativos</title>

            <para>Posicione os botões afirmativos no canto inferior direito do alerta. O botão afirmativo aceita a ação proposta pelo alerta, ou simplesmente dispensa o alerta caso nenhuma ação seja sugerida (como é o caso com <link linkend="alerts-information">alertas de informação</link>).</para>
          </formalpara>
        </listitem>

        <listitem>
          <formalpara>
            <title>Botão Cancelar</title>

            <para>Caso o alerta tenha sido produzido em resposta a uma ação do usuário, posicione um botão <guibutton>Cancelar</guibutton> imediatamente à esquerda do botão afirmativo. Isso fornece uma rota de fuga para que os usuários parem a ação em resposta à nova informação, ou caso simplesmente tenham clicado por acidente. Clicar no botão <guibutton>Cancelar</guibutton> reverte o aplicativo para seu estado anterior à ação do usuário.</para>
          </formalpara>
        </listitem>

        <listitem>
          <formalpara>
            <title>Botão Ajuda</title>

            <para>Um botão <guibutton>Ajuda</guibutton> pode ser usado para esclarecer alertas que apresentam opções potencialmente destrutivas. Coloque o botão <guibutton>Ajuda</guibutton> no canto inferior esquerdo do alerta. Quando clicado, mostre uma janela de ajuda esclarecendo a situação, detalhando as ações executadas pelos outros botões, e explique qualquer efeito colateral que cada ação pode ter.</para>
          </formalpara>
        </listitem>

        <listitem>
          <formalpara>
            <title>Botões alternados</title>

            <para>Botões extras podem ser usados para fornecer alternativas à ação primária proposta pelo texto do alerta. Posicione estes botões a esquerda do botão <guibutton>Cancelar</guibutton>, ou do botão afirmativo caso <guibutton>Cancelar</guibutton> não esteja presente. Um exemplo de uma ação alternativa comum seria o botão <guibutton>Sair sem salvar</guibutton> em um alerta de confirmação de salvamento. Esta é uma alternativa à ação sugerida <guibutton>Salvar</guibutton> e o botão <guibutton>Cancelar</guibutton>.</para>
          </formalpara>
        </listitem>
      </itemizedlist>
    </sect2>

    <sect2 id="alert-spacing">
      <title>Espaçamento e posicionamento dentro dos alertas</title>

      <para>Usar alertas limpos e com espaços consistentes fazem com que a mensagem seja mais fácil de digerir e as respostas a disposição, mais óbvias.</para>

      <figure id="alert-spacing-figure">
        <title>Espaçamento dentro de um alerta</title>

        <mediaobject><imageobject> <imagedata fileref="images/windows-alert-spacing.png" format="PNG" width="530" depth="250"/> </imageobject> <imageobject> <imagedata fileref="images/windows-alert-spacing.eps" format="EPS"/> </imageobject> <textobject> <phrase>Diagrama mostrando o espaçamento correto a ser usado entro controles e botõe em uma janela de alerta. Isto é detalhado nas diretrizes abaixo.</phrase> </textobject></mediaobject>
      </figure>

      <itemizedlist>
        <title>Diretrizes</title>

        <listitem>
          <para>A borda ao redor de todos os cantos da aresta, bem como o espaço entre o ícone e o texto, é 12 pixels.</para>
        </listitem>

        <listitem>
          <para>O espaçamento horizontal entre botões é 6 pixels.</para>
        </listitem>

        <listitem>
          <para>Adicione uma quebra de linha com tamanho da fonte padrão abaixo de ambom os textos primário e secundário, ou 24 pixels caso esteja usando o Glade.</para>
        </listitem>

        <listitem>
          <para>Alinhe o topo do ícone com o topo do texto primário.</para>
        </listitem>

        <listitem>
          <para>Alinhe o texto da mensagem à esquerda, para localidades ocidentais.</para>
        </listitem>
      </itemizedlist>

      <tip>
        <title>Detalhes técnicos para um layout apropriado</title>

        <para>Crie uma nova janela GtkDialog especificando o número de botões que deseja que o alerta contenha (e um botão de ajuda caso seja apropriado). O GtkDialog contém uma GtkVBox com a primeira linha vazia, e a última linha contendo um GtkButtonBox com botões. Na primeira linha vazia, coloque uma nova GtkHBox. Na coluna à esquerda da GtkHBox coloque uma GtkImage. À direita, coloque uma GtkLabel. Dentro da GtkLabel coloque o <replaceable>texto primáio</replaceable> primeiro (usando a marcação Pango apropriada, veja  <xref linkend="alert-text"/>), então coloque duas quebras de linha (retorno), e coloque o <replaceable>texto secundário</replaceable>. Agora mude as propriedades de cada controle de acordo com essas tabelas:</para>

        <table frame="topbot" pgwide="0">
          <title>Propriedades para o GtkDialog</title>

          <tgroup align="left" cols="2" colsep="0" rowsep="0">
            <thead>
              <row valign="top">
                <entry>Propriedade</entry>

                <entry>Valor</entry>
              </row>
            </thead>

            <tbody>
              <row>
                <entry>Título</entry>

                <entry>(nenhum)</entry>
              </row>

              <row>
                <entry>Largura da borda</entry>

                <entry>6</entry>
              </row>

              <row>
                <entry>Tipo</entry>

                <entry>Nível superior</entry>
              </row>

              <row>
                <entry>Redimensionável</entry>

                <entry>Não</entry>
              </row>

              <row>
                <entry>Tem separador</entry>

                <entry>Não</entry>
              </row>
            </tbody>
          </tgroup>
        </table>

        <table frame="topbot" pgwide="0">
          <title>Propriedades para o GtkVBox (incluso no diálogo por padrão)</title>

          <tgroup align="left" cols="2" colsep="0" rowsep="0">
            <thead>
              <row valign="top">
                <entry>Propriedade</entry>

                <entry>Valor</entry>
              </row>
            </thead>

            <tbody>
              <row>
                <entry>Espaçamento</entry>

                <entry>12</entry>
              </row>
            </tbody>
          </tgroup>
        </table>

        <table frame="topbot" pgwide="0">
          <title>Propriedades para o GtkHBox</title>

          <tgroup align="left" cols="2" colsep="0" rowsep="0">
            <thead>
              <row valign="top">
                <entry>Propriedade</entry>

                <entry>Valor</entry>
              </row>
            </thead>

            <tbody>
              <row>
                <entry>Espaçamento</entry>

                <entry>12</entry>
              </row>

              <row>
                <entry>Largura da borda</entry>

                <entry>6</entry>
              </row>
            </tbody>
          </tgroup>
        </table>

        <table frame="topbot" pgwide="0">
          <title>Propriedades para GtkImage</title>

          <tgroup align="left" cols="2" colsep="0" rowsep="0">
            <thead>
              <row valign="top">
                <entry>Propriedade</entry>

                <entry>Valor</entry>
              </row>
            </thead>

            <tbody>
              <row>
                <entry>Alinhamento Y</entry>

                <entry>0.00</entry>
              </row>

              <row>
                <entry>Tamanho do ícone</entry>

                <entry>Diálogo</entry>
              </row>
            </tbody>
          </tgroup>
        </table>

        <table frame="topbot" pgwide="0">
          <title>Propriedades para GtkLabel</title>

          <tgroup align="left" cols="2" colsep="0" rowsep="0">
            <thead>
              <row valign="top">
                <entry>Propriedade</entry>

                <entry>Valor</entry>
              </row>
            </thead>

            <tbody>
              <row>
                <entry>Usar marcação</entry>

                <entry>Sim</entry>
              </row>

              <row>
                <entry>Quebrar texto</entry>

                <entry>Sim</entry>
              </row>

              <row>
                <entry>Alinhamento Y</entry>

                <entry>0.00</entry>
              </row>
            </tbody>
          </tgroup>
        </table>
      </tip>
    </sect2>

    <sect2 id="alerts-information">
      <title>Alertas de informação</title>

      <para>Use alertas de informação quando o usuário deve saber sobre a informação apresentada antes de continuar, ou tenha pedido a informação especificamente. Apresente informações menos importantes por outros meios, como a mensagem da barra de status.</para>

      <figure id="information-alert-figure">
        <title>Um alerta de informação</title>

        <mediaobject>
          <imageobject>
            <imagedata depth="123" fileref="images/windows-alert-information.png" format="PNG" width="251"/>
          </imageobject>

          <imageobject>
            <imagedata fileref="images/windows-alert-information.eps" format="EPS"/>
          </imageobject>

          <textobject>
            <phrase/>
          </textobject>
        </mediaobject>
      </figure>

      <itemizedlist>
        <title>Um alerta de informação...</title>

        <listitem>
          <para>usa o ícone de informação do estoque</para>
        </listitem>

        <listitem>
          <para>apresenta uma mensagem selecionável e um botão <guibutton>OK</guibutton>. O botão é posicionado no canto inferior direito do alerta. Pressionar <keysym>Enter</keysym> ou <keysym>Escape</keysym> esconde o alerta.</para>
        </listitem>

        <listitem>
          <para>pode apresentar um botão de conveniência para dar acesso à um objeto relevante. Por exemplo, um botão <guibutton>Detalhes</guibutton> em um lembrete de compromisso abre a janela de propriedades do compromisso. Posicione esse botão à esquerda do botão afirmativo.</para>

          <!-- FIXME: Reword -->
        </listitem>
      </itemizedlist>

      <formalpara>
        <title>Comandos de janela:</title>

        <para>Enrolar/desenrolar, minimizar (caso o alerta não tenha janela pai), fechar</para>
      </formalpara>
    </sect2>

    <sect2 id="alerts-error">
      <title>Alertas de erro</title>

      <para>Mostre um alerta de erro quando uma operação solicitada pelo usuário não puder ser completada com sucesso. Apresente os erros causados por operações não solicitadas pelo usuário por outros meios, a menos que o erro possa resultar em perda de dados ou outros problemas sérios. Por exemplo, um erro encontrado durante uma verificação de email, iniciada pelo usuário ao clicar em um botão na barra de ferramentas, deve apresentar um alerta de erro. Entretanto, um erro encontrado em uma verificação automática e periódica de email seria reportado mais apropriadamente com uma mensagem na barra de status.</para>

      <figure id="error-alert-figure">
        <title>Um alerta de erro</title>

        <mediaobject>
          <imageobject>
            <imagedata fileref="images/windows-alert-error.png" width="287" depth="156" format="PNG"/>
          </imageobject>

          <imageobject>
            <imagedata fileref="images/windows-alert-error.eps" format="EPS"/>
          </imageobject>

          <textobject>
            <phrase/>
          </textobject>
        </mediaobject>
      </figure>

      <itemizedlist>
        <title>Um alerta de erro...</title>

        <listitem>
          <para>usa o ícone predefinido de erro.</para>
        </listitem>

        <listitem>
          <para>mostra uma mensagem selecionável e um botão <guibutton>OK</guibutton>. O botão é posicionado no canto inferior direito do alerta. Pressionar <keysym>Enter</keysym> pode dispensar o alerta de erro.</para>
        </listitem>

        <listitem>
          <para>pode apresentar um botão de conveniência para tratar imediatamente o erro. Por exemplo, um botão <guibutton>Formatar...</guibutton> em um alerta "Este disco não está formatado". Posicione este botão à esquerda do botão afirmativo.</para>
        </listitem>
      </itemizedlist>

      <formalpara>
        <title>Comandos de janela:</title>

        <para>Rolar/desenrolar</para>
      </formalpara>
    </sect2>

    <sect2 id="alerts-confirmation">
      <title>Alertas de confirmação</title>

      <para>Mostra um alerta de confirmação quando o comando do usuário pode destruir seus dados, criar um risco de segurança, ou pode levar mais de 30 segundos de esforço do usuário para de recuperar caso tenha selecionado erroneamente.</para>

      <figure id="confirmation-alert-figure">
        <title>Um alerta de confirmação</title>

        <mediaobject>
          <imageobject>
            <imagedata fileref="images/windows-alert-confirmation.png" contentwidth="450" contentdepth="162" format="PNG"/>
          </imageobject>

          <imageobject>
            <imagedata fileref="images/windows-alert-confirmation.eps" format="EPS"/>
          </imageobject>

          <textobject>
            <phrase/>
          </textobject>
        </mediaobject>
      </figure>

      <itemizedlist>
        <title>Um alerta de confirmação...</title>

        <listitem>
          <para>usa o ícone predefinido de alerta.</para>
        </listitem>

        <listitem>
          <para>mostra uma mensagem selecionável e um botão rotulado com um verbo ou uma frase verbal descrevendo a ação a ser confirmada, ou rotulado como <guilabel>OK</guilabel> caso a frase seja maior que 3 palavras. Este botão é posicionado no canto inferior direito do alerta.</para>
        </listitem>

        <listitem>
          <para>presents a <guibutton>Cancel</guibutton> button that will
          prevent execution of the user's command. This button is placed
          to the immediate left of the <guibutton>OK</guibutton> or equivalent
          button.</para>
        </listitem>

        <listitem>
          <para>may present an alternate action button or a convenience
          button. Place this button to the left of the <guibutton>Cancel</guibutton>
          button.</para>
        </listitem>
      </itemizedlist>


      <formalpara>
        <title>Comandos de janela:</title>

        <para>Rolar/desenrolar</para>
      </formalpara>

      <sect3 id="save-confirmation-alerts">
        <title>Save Confirmation Alerts</title>

        <para>Save confirmation alerts help ensure that users do not lose
        document changes when they close applications. This makes closing
        applications a less dangerous operation.</para>

        <figure id="save-alert-figure">
          <title>A save confirmation alert</title>

          <mediaobject>
            <imageobject>
              <imagedata fileref="images/windows-alert-save.png" width="500" depth="194" format="PNG"/>
            </imageobject>

            <imageobject>
              <imagedata fileref="images/windows-alert-save.eps" format="EPS"/>
            </imageobject>

            <textobject>
              <phrase>Save confirmation alert: "[ Close without Saving] [
              Cancel ] [[ Save ]] "</phrase>
            </textobject>
          </mediaobject>
        </figure>

        <formalpara>
          <title>Texto primário</title>

          <para>Save changes to document <replaceable>Document Name</replaceable>
          before closing?</para>
        </formalpara>

        <para>You may replace <quote>document</quote> with a more appropriate
        description, for example <quote>image</quote> or <quote>diagram</quote>
        if the document in question is not primarily text.</para>

        <formalpara>
          <title>Texto secundário</title>

          <para>If you close without saving, changes from the last
          <replaceable>Time Period</replaceable> will be discarded</para>
        </formalpara>

        <para role="explanation">The secondary text provides the user with
        some context about the number of changes that might be unsaved.</para>

        <formalpara>
          <title>Buttons</title>

          <para><guibutton>Close without Saving</guibutton>,
          <guibutton>Cancel</guibutton>, <guibutton>Save</guibutton></para>
        </formalpara>
      <para>
When a confirmation alert is needed,
present it immediately. If the user confirms closing without saving,
hide the alert and the document or application  window immediately, 
before doing any necessary internal clean-up.
If the user chooses to save before
closing, hide the alert immediately but show the document window until the document is
saved, in case an error occurs.  Then hide the document window immediately after it has been saved successfuly.
	</para>
      </sect3>
    </sect2>

    <sect2 id="alerts-authentication">
      <title>Authentication Alerts</title>

      <para>Authentication alerts prompt the user for information necessary to
      gain access to protected resources, such as their username or password.
      Authentication alerts are a special kind of alert because they are both
      routine and largely unavoidable. Every attempt should be made to retain
      information entered into an authentication alert as long as is possible
      within security constraints.</para>

      <figure id="authentication-alert-figure">
        <title>An authentication alert</title>

        <mediaobject>
          <imageobject>
            <imagedata fileref="images/windows-alert-authentication.png" width="460" depth="279" format="PNG"/>
          </imageobject>

          <imageobject>
            <imagedata fileref="images/windows-alert-authentication.eps" format="EPS"/>
          </imageobject>

          <textobject>
            <phrase/>
          </textobject>
        </mediaobject>
      </figure>

      <para><itemizedlist><title>Diretrizes</title><listitem><para>Use the
      stock authentication icon.</para></listitem><listitem><para>Show
      a labelled field for each required item of information. Suggested fields
      are <guilabel>Username</guilabel> and <guilabel>Password</guilabel> (in
      that order) where appropriate.</para></listitem><listitem><para>If it is
      secure to retain the username longer than the password, pre-fill the
      username field and give focus to the password field when the alert is
      displayed.</para></listitem><listitem><para>Show a button labelled with
      a verb or verb phrase describing the authentication action, or
      <guilabel>OK</guilabel> if there is no appropriate phrase or such a
      phrase would be longer than three words. Place this button in the bottom
      right corner of the alert.</para></listitem><listitem><para>Do not
      enable the <guibutton>OK</guibutton> or equivalent button until all
      fields that require input have been attended to by the user. Remember
      that not all fields may require input however, for example an empty
      password may be acceptable in some applications.</para></listitem><listitem><para>Show
      a <guibutton>Cancel</guibutton> button that will prevent authentication
      and close the alert. Place this button to the immediate left of the
      <guibutton>OK</guibutton> or equivalent button.</para></listitem><listitem><para>Place
      any alternative action or convenience button to the left of the
      <guibutton>Cancel</guibutton> button.</para></listitem><listitem><para>When
      the user presses <keycap>Return</keycap> in the last field, activate the
      default button. When the user presses <keycap>Return</keycap> in any
      other field, move focus to the next field.</para></listitem></itemizedlist></para>

      <formalpara>
        <title>Comandos de janela:</title>

        <para>Rolar/desenrolar</para>
      </formalpara>
    </sect2>
  </sect1>

  <sect1 id="windows-progress">
    <title>Progress Windows</title>

    <para>A progress window can be used to provide <link linkend="feedback">feedback</link>
    during an operation that takes more than a few seconds. See <xref linkend="controls-progress-bars"/> for more details about proper use of
    progress bars.</para>
		
    <para>A progress window should always appear as an independent window in a window list.
	If progress of a task makes a window temporarily unusable, do not present a modal dialog-like progress window in front of it.
	Instead, present progress somewhere in the original window, making all its other elements temporarily insensitive.
	This helps reduce visual clutter.</para>

    <figure id="example-progress-figure">
      <title>An example of a progress window</title>

      <mediaobject>
        <imageobject>
          <imagedata fileref="images/windows-progress.png" width="425" depth="159" format="PNG"/>
        </imageobject>

        <imageobject>
          <imagedata fileref="images/windows-progress.eps" format="EPS"/>
        </imageobject>

        <textobject>
          <phrase>An example of a progress window</phrase>
        </textobject>
      </mediaobject>
    </figure>

    <formalpara>
      <title>Formato do título</title>

      <para>Progress windows should have a title representing the overall
      operation: for example <guilabel>Copying Files</guilabel>, <guilabel>Installing</guilabel>, or <guilabel>Calling</guilabel>.
      As with other window titles, do not end progress window titles with an ellipsis.</para>
    </formalpara>

    <formalpara>
      <title>Redimensionar</title>

      <para>Progress windows should be resizable if they contain non-static
      information the user may want to copy (for example, the source URL in a
      download progress window). Otherwise they should not be resizable.</para>
    </formalpara>

    <itemizedlist>
      <title>Diretrizes</title>

      <listitem>
        <para>It is often better to use the progress bar contained in many
        primary windows' statusbar rather than a progress window. See
        <xref linkend="progress-windows-vs-status-bar"/> for details on
        choosing between the two.</para>
      </listitem>

      <listitem>
        <para>Progress windows should use primary and secondary text like an
        alert. See <xref linkend="alert-text"/></para>
      </listitem>

      <listitem>
        <para>The progress bar text should provide an idea of how much work
        has been completed. It is better to provide specific information
        rather than a unitless percentage. For example, "13 of 19 images
        rotated" or "12.1 of 30 MB downloaded" rather than
        "13% complete".</para>
      </listitem>

      <listitem>
        <para>If possible, an estimate of the time left until the operation is
        complete should also be included in the progress bar text. Indicate
        that the "time left" is an estimate using the word
        "about".</para>
      </listitem>

      <listitem>
        <para>Immediately beneath the progress bar, place italicized text
        indicating the current sub-operation being performed. This might be a
        step in a sequence, "Contacting control tower for permission to
        land", or it could be the current object being operated on in a
        bulk operation, "Rotating MonaLisa.png", "Rotating
        StarryNight.png".</para>
      </listitem>

      <listitem>
        <para>If the operation in progress is potentially hazardous
        (destructive, costly, etc) or heavily taxes a limited resource for
        more than ten seconds (network bandwidth, hard disk, CPU, etc),
        consider placing a <guibutton>Pause</guibutton> <link linkend="controls-toggle-buttons">toggle button</link> to the right of
        the <guibutton>Cancel</guibutton> button. When paused, the italicized
        current sub-operation text should have " (Paused)" appended.
        This will allow users to perform important tasks requiring that
        resource, or give them time to think whether they want to procede with
        a dangerous operation they inadvertantly triggered.</para>
      </listitem>
    </itemizedlist>

    <figure id="example-complex-progress-figure">
      <title>A progress window for a file copy operation</title>

      <mediaobject>
        <imageobject>
          <imagedata fileref="images/windows-progress-copy-file.png" width="408" depth="227" format="PNG"/>
        </imageobject>

        <imageobject>
          <imagedata fileref="images/windows-progress-copy-file.eps" format="EPS"/>
        </imageobject>

        <textobject>
          <phrase>A progress window for a copy operation</phrase>
        </textobject>
      </mediaobject>
    </figure>

    <sect2 id="progress-window-checklists">
      <title>Checklist Windows</title>

      <para>Occasionally a procedure is comprised of a series of user
      performable actions. In these cases, particularly when it is desirable
      that the user acquire some familiarity with the actions involved in a
      procedure, checklist windows may be used.</para>

      <example>
        <title>Firewall Setup Wizard</title>

        <para>A personal firewall setup wizard might install the firewall
        package, add entries for the firewall to /etc/xinetd.conf, restart the
        internet super-daemon, and configure the user's web browser to
        operate through the firewall. It may be desirable that the user is
        exposed to the series of actions involved in setting up the firewall to
        increase the chances that they will be sucessful in making
        modifications later, if they so desire.</para>
      </example>

      <figure id="example-checklist-start-figure">
        <title>An example checklist window (Ready to Start)</title>

        <mediaobject>
          <imageobject>
            <imagedata fileref="images/windows-progress-checklist-start.png" width="422" depth="249" format="PNG"/>
          </imageobject>

          <imageobject>
            <imagedata fileref="images/windows-progress-checklist-start.eps" format="EPS"/>
          </imageobject>

          <textobject>
            <phrase>A checklist window</phrase>
          </textobject>
        </mediaobject>
      </figure>

      <figure id="example-checklist-in-progress-figure">
        <title>An example checklist window (In Progress)</title>

        <mediaobject>
          <imageobject>
            <imagedata fileref="images/windows-progress-checklist.png" width="336" depth="220" format="PNG"/>
          </imageobject>

          <imageobject>
            <imagedata fileref="images/windows-progress-checklist.eps" format="EPS"/>
          </imageobject>

          <textobject>
            <phrase>A checklist window</phrase>
          </textobject>
        </mediaobject>
      </figure>
      
      <figure id="example-checklist-done-figure">
        <title>An example checklist window (Completed)</title>

        <mediaobject>
          <imageobject>
            <imagedata fileref="images/windows-progress-checklist-done.png" width="356" depth="223" format="PNG"/>
          </imageobject>

          <imageobject>
            <imagedata fileref="images/windows-progress-checklist-done.eps" format="EPS"/>
          </imageobject>

          <textobject>
            <phrase>A checklist window</phrase>
          </textobject>
        </mediaobject>
      </figure>

      <itemizedlist>
        <title>Diretrizes</title>

        <listitem>
          <para>If knowing the series of steps in an operation isn't that
          useful to the user, just use a regular progress window. Remember
          that you are probably more interested in the information than most
          users, many of whom will find the technical steps confusing rather
          than helpful.</para>
        </listitem>

        <listitem>
          <para>Unlike regular progress windows, checklist windows should not
          close automatically when the operation is complete and should
          require explicit user input before they begin. This is because one
          of their purposes is to inform the user concerning an
          operation's contingent steps.</para>
        </listitem>

        <listitem>
          <para>The progress bar indicates progress in the overall operation,
          not each step. While this is more difficult to program, it is the
          information most useful to the user. Just estimate how long each of
          the steps takes relative to each other and assign each step a fixed
          ratio of the progress bar's progress accordingly.</para>
        </listitem>

        <listitem>
          <para>Do <emphasis>not</emphasis> use a checklist window for a
          series of internal programmatic steps, use a regular progress
          window. For example "Connect to mail server",
          "Authenticate with mail server", "Download
          messages", "Disconnect" would <emphasis>not</emphasis>
          be an appropriate series of steps for a checklist window, but would
          be appropriate sub-operation steps for a regular progress window.</para>
        </listitem>
      </itemizedlist>
    </sect2>
  </sect1>

  <sect1 id="windows-dialog">
    <title>Dialogs</title>

    <para>A dialog provides an exchange of information, or dialog, between the
    user and the application. Use a dialog to obtain additional information
    from the user that is needed to carry out a particular command or task.</para>
	<para>A dialog should not appear in the panel window list.
	Any open dialogs should be raised above the application when
	the application window itself is selected from the window list.</para>

    <figure>
      <title>An example of a dialog</title>

      <mediaobject>
        <imageobject>
          <imagedata fileref="images/windows-dialog-tabbed.png" width="357" depth="322" format="PNG"/>
        </imageobject>

        <imageobject>
          <imagedata fileref="images/windows-dialog-tabbed.eps" format="EPS"/>
        </imageobject>

        <textobject>
          <phrase>An example of a tabbed dialog: the GNOME print dialog</phrase>
        </textobject>
      </mediaobject>
    </figure>

    <formalpara>
      <title>Formato de título:</title>

      <para><replaceable>Name of command that opened the dialog</replaceable>
      (without any trailing ellipsis)</para>
    </formalpara>

    <formalpara>
      <title>Comandos de janela:</title>

      <para>Minimize, Roll-up/Unroll</para>
    </formalpara>

    <formalpara>
      <title>Botões:</title>

      <para>Follow the guidelines for Alert buttons, see <xref linkend="alert-button-order"/>.</para>
    </formalpara>

    <para>Your dialog may specify a default button, that is activated when the
    user presses the <keycap>Return</keycap> key. See <xref linkend="default-buttons"/> for guidance on choosing an appropriate
    default button.</para>

    <sect2 id="dialog-buttons">
      <title>Additional Buttons</title>

      <para>You can include other buttons in a dialog's main button area
      in addition to the affirmative button and <guibutton>Cancel</guibutton>,
      but any more than one or two such buttons will make the dialog appear
      complicated and difficult to use. As with any other button, keep the
      labels as concise as possible to minimize this effect.</para>

      <itemizedlist>
        <title>Diretrizes</title>

        <listitem>
          <para>Place buttons that apply to the dialog as a whole in the main
          button area row at the bottom of the dialog, to the left of the
          <guibutton>Cancel</guibutton> button.</para>
        </listitem>

        <listitem>
          <para>Place buttons that apply to one or a few controls next to
          their associated controls. For instance, place a
          <guibutton>Browse...</guibutton> button at the trailing edge of the
          text field it fills in.</para>
        </listitem>
      </itemizedlist>
    </sect2>

    <sect2 id="dialog-layout">
      <title>Layout</title>

      <para>A clean, logical dialog layout helps the user to quickly
	understand what information is required from them.</para>

      <itemizedlist><title>Diretrizes</title>

      <listitem><para>
      Arrange controls in your dialog in the direction that people read.
      In western locales, this is generally left-to-right, top-to-bottom.
      Position the main controls with which the user will interact as close to
      the upper left corner as possible. Follow similar guidelines for
      arranging controls within groups in the dialog, and for specifying the
      order in which controls are traversed using the <keycap>Tab</keycap>
      key.</para></listitem>

      <listitem><para>
    	When opening a dialog, provide initial keyboard focus to the
      component that you expect users to operate first. This focus is
      especially important for users who must use a keyboard to navigate your
      application.</para></listitem>

      <listitem><para>Provide and show sensible default values for as many of the
      controls in your dialog as possible when it is opened, so the user does
      not have to generate the information from scratch. These defaults may
      come from system settings (for example, hostname or IP address), or from
      information that the user has previously entered in this or another
      application (for example, email address or network proxy).</para></listitem>
	</itemizedlist>

      <para>See <xref linkend="design"/> for more detailed information on
      arranging controls in dialogs.</para>

      <para>See <xref linkend="controls-notebooks"/> for information on using
      tabbed notebook controls in dialogs.</para>
    </sect2>

    <sect2 id="common-dialogs">
      <title>Common Dialogs</title>

      <para>The gtk and GNOME libraries provide standard dialogs for many
      common tasks, including opening and saving files, choosing fonts and
      colors, and printing. Always use these when the user is performing one
      of these tasks. You may modify the dialogs to reflect the needs of your
      particular application (for example, adding preview
      <guibutton>Play</guibutton> and <guibutton>Stop</guibutton> buttons to
      the Open File dialog in an audio application), but do not change or
      remove features so much as to make them unrecognizable.</para>
    </sect2>
  </sect1>

  <sect1 id="windows-assistant">
    <title>Assistants</title>

    <!--<remark>FIXME: need to finish this section</remark>-->

    <para>An assistant is a secondary window that guides the user through an
    operation by breaking it into sequential steps. Assistants are useful for
    making complex operations less intimidating, as they restrict the
    information visible to the user at any given moment.</para>

    <para>Because assistants provide a relatively small number of controls on
    the screen at any given time, they have sufficient space for inline
    documentation. Therefore, do not include a <guibutton>Help</guibutton>
    button in an assistant window. If you cannot make an operation
    sufficiently clear in an assistant without resorting to a
    <guibutton>Help</guibutton> button, you need to simplify it further.</para>

    <para>Assistants do have major downsides. After using an assistant
    it is often hard to figure out where the individual settings aggregated
    into the assistant are stored. Often people will resort to re-running
    the assistant, re-entering many settings that they don't want to change.
    <remark>Why do they need to re-enter anything? The assistant should
	be populated with the exisiting settings whenever it is run.</remark>
    </para>

    <warning><para>Assistants are often used in situations where a better
    solution would be to simplify, or even better automate, the process.
    Before using an assistant to step people through a complex operation,
    consider if the operation can be fundamentally simplified so an
    assistant is unnecessary.</para></warning>
    

    <formalpara>
      <title>Comandos de janela:</title>

      <para>Close, Minimize/Unminimize, Roll-up/Unroll</para>
    </formalpara>

    <sect2 id="assistant-first-page">
      <title>Introductory Page</title>

      <para>The first page provides the user with the "big picture".
      Place the title of the assistant in the window's title bar and the
      assistant's title area, along with an optional picture. Beneath
      this, state the goal of the assistant, and, if it is not obvious, where
      the user can find the information the assistant will be asking for.</para>

      <formalpara>
        <title>Formato de título:</title>

        <para><replaceable>Assistant Title</replaceable></para>
      </formalpara>

      <formalpara>
        <title>Botões:</title>

        <para><guibutton>Cancel</guibutton>, <guibutton>Forward</guibutton></para>
      </formalpara>

      <figure>
        <title>Example of the first page of an assistant</title>

        <mediaobject>
          <imageobject>
            <imagedata fileref="images/windows-assistant-first-page.png" format="PNG" width="502" depth="318"/>
          </imageobject>

          <imageobject>
            <imagedata fileref="images/windows-assistant-first-page.eps" format="EPS"/>
          </imageobject>

          <textobject>
            <phrase>Screenshot showing the first page of an assistant for
            creating a new email account</phrase>
          </textobject>
        </mediaobject>
      </figure>
    </sect2>

    <sect2 id="assistant-middle-page">
      <title>Content Pages</title>

      <para>Content pages contain the actual settings of the assistant.
      Summarize the type of setting present on each content page in its title
      area. For example, <guilabel>Mail Server</guilabel>.</para>

      <formalpara>
        <title>Formato de título:</title>

        <para><replaceable>Assistant Title</replaceable> - (<replaceable>Current
        Page </replaceable> of <replaceable>Total Pages</replaceable>)</para>
      </formalpara>

      <formalpara>
        <title>Botões:</title>

        <para><guibutton>Cancel</guibutton>, <guibutton>Back</guibutton>,
        <guibutton>Forward</guibutton></para>
      </formalpara>

<!--
      <figure>
        <title>Example of a middle page of an assistant</title>

        <mediaobject>
          <imageobject>
            <imagedata depth="341" fileref="images/windows-assistant-middle-page.png"
            format="PNG" width="452" />
          </imageobject>

          <imageobject>
            <imagedata fileref="images/windows-assistant-middle-page.eps" format="EPS" />
          </imageobject>

          <textobject>
            <phrase>Screenshot showing the third page of an email account
            assistant, asking for mail server information</phrase>
          </textobject>
        </mediaobject>
      </figure>
-->
    </sect2>

    <sect2 id="assistant-last-page">
      <title>Last Page</title>

      <para>The last page should summarize the settings that will be changed
      by the assistant, and how the user can modify them later.</para>

      <formalpara>
        <title>Formato de título:</title>

        <para>Finish <replaceable>Assistant Title</replaceable></para>
      </formalpara>

      <formalpara>
        <title>Botões:</title>

        <para><guibutton>Cancel</guibutton>, <guibutton>Back</guibutton>,
        <guibutton>Finish</guibutton></para>
      </formalpara>
    </sect2>
  </sect1>
</chapter>
