# O Manual do &okteta;

Friedrich
W. H.
Kossebau

    &Friedrich.Kossebau.email;

Alex
Richardson

    &Alex.Richardson.email;

José
Pires

    zepires@gmail.com

Tradução
2008, 2010
&Friedrich.Kossebau;
&FDLNotice;
2010-01-12
0.4.0

o &okteta; é um editor simples para os dados em bruto dos ficheiros. Este tipo de programas também se chama de editor hexadecimal ou editor binário.

KDE
kdeutils
Okteta
vista
editar
bits
bytes
binário
octal
hexadecimal
editor hexadecimal
dados em bruto

## Introdução

o &okteta; é um editor simples para os dados em bruto dos ficheiros.

Os dados são apresentados em duas variantes: como valores numéricos dos 'bytes' ou como os caracteres associados aos valores. Os valores e os caracteres poderão tanto ser apresentados separados em duas colunas como a seguir um aos outro, tendo o valor por cima do carácter. Do lado esquerdo, aparece a posição do primeiro 'byte' de cada linha. A edição poderá ser feita tanto nos valores como nos caracteres.

Para além das funcionalidades normais de edição, o &okteta; também oferece um pequeno conjunto de ferramentas, como uma descodificação da listagem em tabela para tipos de dados comuns, uma tabela que apresenta todos os 'bytes' possíveis em conjunto com os seus equivalentes em valor e em caracteres, uma área de informação com estatísticas, uma calculadora de códigos de validação, uma ferramenta de filtragem e uma ferramenta de extracção de textos.

Todas as modificações feitas aos dados carregados poderão ser desfeitas ou refeitas sem limites.

## Noções Básicas

### Iniciar o &okteta;

Escreva ``okteta`` numa linha de comandos ou seleccione o Editor Hexadecimal do grupo AplicaçõesUtilitários do lançador de aplicações.

Estão disponíveis as opções normais do &Qt; e do &kde;, podendo apresentá-las se indicar ``okteta` `--help``.

As opções específicas da linha de comandos para o &okteta; são:

`<&URL;(s)>` - abre os ficheiros com os &URL;'s indicados

### Utilização

A janela principal do &okteta; tem as seguintes componentes: a barra do menu, a barra de ferramentas, a barra de estado, as áreas de dados separadas por páginas e uma ou mais barras laterais com as ferramentas.

Quando é aberto um ficheiro ou é criada uma sequência de 'bytes', os 'bytes' nela contidos são apresentados consecutivamente por linhas, tendo cada uma um dado número de 'bytes'. Estas são apresentadas em duas variantes: como valores numéricos dos 'bytes' ou como os caracteres associados aos valores. Os valores e os caracteres poderão tanto ser apresentados separados em duas colunas como a seguir um aos outro, tendo o valor por cima do carácter. Do lado esquerdo, aparece a posição do primeiro 'byte' de cada linha.

O tratamento é semelhante ao dos editores de texto: os dados poderão ser editados, cortados, copiados, colados, arrastados e largados, como acontece num editor de texto. Existe um cursor que marca a posição actual. Se carregar na tecla Insert, poderá alternar entre os modos de sobreposição e inserção. O modo de sobreposição é mais restrito que nos editores de texto, dado que não permite nenhuma operação que altere o tamanho da sequência de 'bytes'.

Ao contrário dos editores de texto, o conteúdo aparece em duas variantes. Só uma destas está activa no que respeita à introdução de dados. Existem dois cursores associados, presentes para o valor e para o carácter, sendo o cursor activo o que está intermitente. Com os caracteres activos, poderá introduzir caracteres como faz num editor de texto normal. Com os valores activos, ao escrever um número irá aparecer um editor mínimo para introduzir o resto do valor.

A janela de pesquisa permite ao utilizador procurar uma sequência específica de 'bytes', definida como valores (hexadecimal, decimal, octal, binário) ou texto (de momento, na codificação de 8 'bits', ou UTF-8).

Poderá abrir várias sequências de 'bytes' ao mesmo tempo, mas só poderá ter uma activa. Use o menu Janelas para seleccionar a sequência de 'bytes' que está activa.

## Ferramentas

### Introdução

O &okteta; traz algumas ferramentas, algumas delas para analisar e manipular as sequências de 'bytes' e outras com fins mais gerais. Estas ferramentas poderão ser activadas ou desactivadas com o item Ferramentas do menu. Cada ferramenta tem uma área pequena que se associa a uma das barras laterais ou que flui livremente como uma janela. Poderá acoplar, desacoplar, reorganizar e também empilhar as áreas de ferramentas com o rato, carregando com o &LMB; na barra de título de uma área de ferramentas, movendo-o à sua maneira e largando o &LMB; para completar a acção, caso contrário cancele-o com a tecla &Esc;.

#### Analisadores e Manipuladores

Tabela de 'Bytes'

  A tabela apresenta todos os valores possíveis de um 'byte', quer na forma numérica quer na de caracteres.

  O valor seleccionado poderá ser introduzido na posição do cursor, repetida numa determinada quantidade de vezes. Isto poderá ser obtido se usar o botão Inserir ou se fizer duplo-click na linha da tabela.

Filtro Binário

  O filtro efectua operações binárias sobre os 'bytes' seleccionados. Depois de escolher a operação (E, OU, RODAR...), poderá definir os parâmetros, se necessário, na área abaixo. O filtro é executado quando usar o botão Filtro.

Cadeias de caracteres

  Esta ferramenta localiza os pedaços de texto nos 'bytes' seleccionados. Depois de escolher o tamanho mínimo do texto, estes pedaços são pesquisados, bastando para tal usar o botão Extrair. A lista de textos apresentados poderá ser refinada se indicar um termo de filtragem.

Estatísticas

  A janela mostra alguma informação sobre a sequência de 'bytes'. Para além do tamanho, esta é uma estatística da frequência com que ocorre o valor de um determinado 'byte' na sequência. Toda a informação poderá ser calculada ao usar o botão para Construir.

Código

  O filtro efectua operações binárias sobre os 'bytes' seleccionados. Depois de escolher a operação e definir os parâmetros, se necessário, na área abaixo, o somatório é calculado quando usar o botão Calcular.

Tabela de Descodificação

  A tabela apresenta o valor do 'byte' ou 'bytes' que começam no cursor, interpretado como um tipo de dados simples, como o Inteiro ou Real, mas também como UTF-8. Se fizer duplo-click sobre uma linha da tabela, irá abrir um editor, de modo que o valor possa ser editado e alterado.

Estruturas

  Esta ferramenta activa a investigação e edição das sequências de 'bytes', baseando-se nas definições de estruturas criadas pelo utilizador. As instruções detalhadas sobre isto estão na sua própria secção.

#### Ferramentas gerais

Sistema de Ficheiros

  Esta ferramenta oferece um navegador de ficheiros incorporado que poderá usar para seleccionar os ficheiros a abrir.

Documentos

  Esta ferramenta mostra todos os ficheiros carregados ou criados neste momento. Os símbolos marcam o ficheiro com a área activa e também mostram os ficheiros que têm alterações por gravar ou qual a cópia armazenada que foi modificada por outro programa.

Favoritos

  Esta ferramenta poderá ser usada para gerir os favoritos, como alternativa ao menu Favoritos.

  Os favoritos são neste momento transitórios e não são gravados quando fechar uma lista de 'bytes' ou o programa por inteiro.

Informações do Ficheiro

  A área mostra algumas informações sobre o ficheiro actual, incluindo o seu tipo, a localização do armazenamento e o tamanho.

### Ferramenta de Estruturas

#### Geral

A ferramenta de Estruturas permite a análise e edição de sequências de 'bytes' com base na definição de estruturas criadas pelo utilizador, as quais poderão ser compostas por listas, uniões, tipos primitivos e enumerados.

Tem uma janela de configuração própria, que poderá ser acedida com o botão Configuração. Existem várias opções que poderão ser configuradas, como o estilo (decimal, hexadecimal ou binário) no qual são apresentados os valores. Para além disso, é possível escolher as definições de estruturas que são carregadas e quais são apresentadas na janela.

As estruturas são definidas nos ficheiros de Definição de Estruturas do &okteta; (baseados em &XML;, com a extensão `.osd`). Para além disso, um ficheiro `.desktop` contém os meta-dados acerca desse ficheiro de descrição de estruturas, como o autor, a página Web e a licença.

De momento, não existe nenhum suporte incorporado para criar ou editar as definições das estruturas, pelo que estas deverão ser criadas manualmente, como se encontra descrito nas secções seguintes.

#### Instalar as definições das estruturas

##### Instalar através do KNewStuff

A forma mais simples de instalar novas definições de estruturas é usar o suporte incorporado do KNewStuff no &okteta;. Para instalar uma estrutura existente, abra a janela de configuração da ferramenta de Estruturas. Aí, seleccione a página de Gestão de Estruturas e carregue no botão Obter Estruturas Novas.... A janela que aparecerá permite-lhe então instalar ou desinstalar estruturas.

##### Instalar manualmente as definições das estruturas

A ferramenta de Estruturas procura pelas descrições de estruturas na sub-pasta `share/apps/okteta/structures/` da pasta do utilizador para os dados das aplicações (descubra-a com o comando ``kde4-config` `--localprefix``). Poderá ter de criar esta pasta, caso não existam ainda nenhumas definições de estruturas instaladas.

Nessa sub-pasta, existe uma sub-pasta própria para cada definição de estruturas, a qual contém tanto o ficheiro `.desktop` como o `.osd` ou o `main.js` para essa definição.

Por exemplo, com a pasta de dados das aplicações `.kde` e com uma definição de estrutura chamada EstruturaExemplo, existe a pasta `.kde/share/apps/okteta/structures/EstruturaExemplo`, que contém um ficheiro `EstruturaExemplo.desktop` e um ficheiro `EstruturaExemplo.osd`.

##### Usar as estruturas acabadas de instalar

Se tiver instalado uma nova definição de estruturas, poderá ter de reiniciar o &okteta; e abrir a janela de configuração da ferramenta de Estruturas. Aí, seleccione a página de Gestão das Estruturas e certifique-se que a definição da estrutura relevante é assinalada. Depois, mude para a página Estruturas e certifique-se que o elemento desejado está listado no lado direito.

#### Partilhar definições de estruturas

Para as estruturas comuns, poderá não ter de criar você mesmo uma definição, mas sim reutilizar uma definição já existente de locais como o kde-files.org.

Poderá também querer partilhar você mesmo uma definição. Para o fazer, crie um pacote de ficheiros (&eg;, um pacote tar.gz ou `.tgz`) contendo apenas a sub-pasta com o ficheiro `.desktop` e o ficheiro de definição da estrutura. No exemplo da última secção, seria a sub-pasta `EstruturaExemplo` com todo o seu conteúdo. Se usar este formato para partilhar as definições de estruturas, permite a instalação das mesmas dentro do &okteta; sem qualquer instalação manual.

#### Criar a sua própria definição de estruturas

Existem duas formas diferentes de criar definições de estruturas. A primeira é criar a definição em &XML;, enquanto a outra é usando JavaScript. A abordagem de JavaScript permite-lhe criar estruturas mais complexas, com funcionalidades como a validação da estrutura. A utilização de &XML; dá-lhe menos funcionalidades e provavelmente não será extendida no futuro. As estruturas em &XML; irão continuar a ser suportadas, contudo recomenda-se que use a abordagem em JavaScript.

##### O passos comum, partilhado por ambas as abordagens

O próximo passo é criar o ficheiro `.desktop` para os meta-dados, que é basicamente um conjunto de pares chave-valor. Dever-se-á chamar `estruturasimples.desktop`. Neste exemplo, será algo do género:

              [Desktop Entry]
              Encoding=UTF-8
              Icon=arrow-up
              Type=Service
              ServiceTypes=KPluginInfo

              Name=Estrutura de testes simples
              Comment=Uma estrutura de testes muito simples que contém apenas dois itens

              X-KDE-PluginInfo-Author=José Pires
              X-KDE-PluginInfo-Email=jose.pires@exemplo.com
              X-KDE-PluginInfo-Name=estruturasimples
              X-KDE-PluginInfo-Version=1.0
              X-KDE-PluginInfo-Website=http://www.plugin.org/
              X-KDE-PluginInfo-Category=structure
              X-KDE-PluginInfo-License=LGPL
              X-KDE-PluginInfo-EnabledByDefault=false

Estes campos deverão todos ser relativamente intuitivos, exceptuando o `X-KDE-PluginInfo-Name`. Este deverá ter o nome do ficheiro `.osd` como valor (sem o sufixo `.osd`).

Neste exemplo, teríamos uma pasta chamada `estruturasimples` que contém os ficheiros `estruturasimples.desktop`. Ao definir as estruturas em &XML;, a pasta iria conter também um ficheiro chamado `estruturasimples.osd`. Se usarmos o JavaScript, iríamos ter um ficheiro chamado `main.js` em alternativa.

##### Uma primeira definição de estrutura

Para começar, vamos criar uma definição para uma estrutura de testes muito simples, contendo apenas tipos de dados primitivos (um carácter e um inteiro de 32-bits). Estes seriam expressos em C/C++ como:

              struct simples {
                char umCaracter;
                int umInteiro;
              };

O primeiro passo é criar o ficheiro `.osd`, que se chamará `estruturasimples.osd`:

              <?xml version="1.0" encoding="UTF-8"?>
              <data>
                <struct name="simples">
                  <primitive name="umCaracter" type="Char"/>
                  <primitive name="umInteiro" type="Int32"/>
                </struct>
              </data>

, que é relativamente parecido com a definição em C/C++. O atributo do tipo poderá ser qualquer um dos seguintes:

- Char

- Int8, Int16, Int32 ou Int64

- UInt8, UInt16, UInt32 ou UInt64

- Bool8, Bool16, Bool32 ou Bool64

- Real

- Duplo

A marca 'bitfield' tem dois atributos (à parte do atributo 'name', que todas as marcas têm): O atributo 'width' diz ao &okteta; quantos 'bits' são usados por este campo de 'bits'.

Lembre-se sempre de adicionar algum preenchimento, caso contrário a próxima primitiva irá começar a meio de um 'byte'. Obviamente, o preenchimento não será necessário se desejar este comportamento.

O outro atributo é o 'type', que tanto poderá ser `bool`, `unsigned` ou `signed`.

Agora crie uma sub-pasta `estrutura-simples` como descrito acima, copie os dois ficheiros para esta pasta e reinicie o &okteta;, para poder usar a nova estrutura.

##### A mesma estrutura em JavaScript

Para implementar a estrutura acima em JavaScript, crie um ficheiro chamado `main.js` em vez de `simplestruct.osd`. O conteúdo desse ficheiro seria:

            function init() {
              var estrutura = struct({
                caracter : char(),
                inteiro : int32(),
                opcaoBit : bitfield("bool", 1),
                preenchimento : bitfield("unsigned", 7),
              })
              return estrutura;
            }

A estrutura apresentada pelo &okteta; é sempre o valor devolvido pela função `init`.

Poderá invocar as seguintes funções para criar um tipo primitivo:

- char()

- int8(), int16(), int32() ou int64()

- uint8(), uint16(), uint32() ou uint64()

- bool8(), bool16(), bool32() ou bool64()

- float()

- double()

A função 'bitfield' recebe dois parâmetros, sendo o primeiro um texto que consiste em `bool`, `signed` ou `unsigned`. O segundo parâmetro é um inteiro que define o tamanho em 'bits'.

##### Estruturas mais complexas

De seguida, iremos criar uma estrutura mais complexa, que se irá chamar "complexa" e gravá-la num ficheiro `complexa.osd`. Esta estrutura irá conter duas listas (uma de tamanho fixo e outra com o tamanho determinado durante a execução), assim como uma estrutura encadeada e uma união.

              <?xml version="1.0" encoding="UTF-8"?>
              <data>
                <struct name="complexa">
                  <primitive name="tamanho" type="UInt8" />
                  <union name="umaUniao">
                    <array name="quatroBytes" length="4">
                      <primitive type="Int8" />
                    </array>
                  </union>
                  <struct name="encadeado">
                    <array name="texto" length="tamanho"> <!-- referencia o campo 'tamanho' acima -->
                      <primitive type="Char" />
                    </array>
                  </struct>
                </struct>
              </data>

Isto irá corresponder ao seguinte, em pseudo-C/C++

    struct complexa {
                uint8_t tamanho;
                union umaUniao {
                  int8_t quatroBytes[4];
                };
                struct encadeado {
                  char texto[tamanho] //C++ não válido por referenciar o valor de 'tamanho'
                };
              };

Obviamente, só poderá ter campos de referência de listas de tamanho dinâmico antes da lista.

Depois, será criado o ficheiro `complexo.desktop`, como foi feito no exemplo anterior (certifique-se que define o `X-KDE-PluginInfo-Name` correctamente) e faça o mesmo para instalar ambos os ficheiros.

##### Mais informações

Poderá encontrar alguns exemplos de definições de estruturas aqui. Isto inclui, por exemplo, o cabeçalho dos ficheiros PNG. Poderá encontrar um esquema em &XML; que descreve a estrutura do ficheiro `.osd` aqui. Se precisar de mais informações, sinta-se à vontade em contactar-me em &Alex.Richardson.email;

## Opções do Menu

Repare que a maioria dos comandos do menu também têm uma combinação de teclas associada.

### O Menu Ficheiro

&Ctrl;N Ficheiro Novo

  Cria uma nova sequência de 'bytes'...

  - Vazio: ... uma sequência vazia.

  - Da Área de Transferência: ... com o conteúdo actual da área de transferência.

  - Padrão...: ... com um dado padrão.

  - Dados Aleatórios...: ... com dados aleatórios.

  - Sequência: ... com todos os 'bytes' de 0 a 255.

&Ctrl;O Ficheiro Abrir...

  Abre um ficheiro existente.

Ficheiro Abrir um Recente

  Escolha dentro de uma lista dos últimos ficheiros abertos.

&Ctrl;S Ficheiro Gravar

  Grava a sequência de 'bytes' no ficheiro indicado.

Ficheiro Gravar Como...

  Grava a sequência de 'bytes' noutro ficheiro, com outro nome.

Ficheiro Exportar

  Exporta os 'bytes' seleccionados para um ficheiro...

  - Valores: ... codificados como valores em 'bytes'.

  - Texto Simples: ... codificado como caracteres.

  - Base64: ... codificado no formato Base64.

  - Vector em C: ... definido como uma lista na linguagem de programação C.

  - Ver em Texto Simples: ... como na área de dados, com o deslocamento, os valores dos 'bytes' e os seus caracteres.

F5 Ficheiro Recarregar

  Anula todas as alterações e repõe a sequência de 'bytes' a partir do ficheiro.

&Ctrl;P Ficheiro Imprimir...

  Imprime a sequência de 'bytes' actual.

Ficheiro Permissões

  Define os privilégios de modificação:

  Pôr Apenas para Leitura

    Quando estiver definido, as alterações não poderão ser feitas na sequência de dados carregada.

&Ctrl;W Ficheiro Fechar

  Fecha a sequência de 'bytes' actual.

Ficheiro Fechar Tudo

  Fecha todas as sequências de 'bytes'.

Ficheiro Fechar Todos os Outros

  Fecha todas as sequências de 'bytes', excepto a actual.

&Ctrl;Q Ficheiro Sair

  Fecha a janela do &okteta;.

### O Menu Editar

De momento no &kde; 4.4, a cópia e a colagem enviam os dados para a área de transferência com o tipo MIME "application/octetstream"; o &klipper; não é capaz de apresentar estes dados, assim como a maioria das outras aplicações, por estes serem dados em bruto. Veja também o submenu Copiar como.

&Ctrl;Z Editar Desfazer

  Anula a última acção.

&Ctrl;&Shift;Z Editar Refazer

  Repete a última acção anulada.

&Ctrl;X Editar Cortar

  Apaga os 'bytes' seleccionados e copia-os para a área de transferência.

&Ctrl;C Editar Copiar

  Copia os 'bytes' seleccionados para a área de transferência.

&Ctrl;V Editar Colar

  Insere os 'bytes' cortados ou copiados da área de transferência.

Editar Copiar como

  Copia os 'bytes' seleccionados para a área de transferência...

  - Valores: ... codificados como valores em 'bytes'.

  - Texto Simples: ... codificado como caracteres.

  - Base64: ... codificado no formato Base64.

  - Vector em C: ... definido como uma lista na linguagem de programação C.

  - Ver em Texto Simples: ... como na área de dados, com o deslocamento, os valores dos 'bytes' e os seus caracteres.

Editar Inserir
  Inserir um Padrão...

    Insere uma sequência definida de 'bytes' na posição do cursor.

    As opções na janela permitem-lhe definir o número de inserções do padrão e o seu formato (Hexadecimal, Decimal, Octal, Binário ou Caracteres ou UTF-8).

&Ctrl;A Editar Seleccionar Tudo

  Selecciona a sequência de 'bytes' completa.

&Ctrl;&Shift;A Editar Deseleccionar

  Desmarca a selecção actual.

&Ctrl;E Editar Seleccionar o Intervalo...

  Abre uma janela incorporada para definir o intervalo de selecção.

Ins Editar Modo de Sobreposição

  Comuta entre o modo de Inserção e o de Sobreposição.

  O modo de sobreposição está implementado de forma a ser bastante restrito; não é possível alterar o tamanho dos dados (não permite adicionar nem remover 'bytes').

&Ctrl;F Editar Procurar...

  Procura um padrão definido no documento. Poderá procurar padrões em hexadecimal, decimal, octal, binário ou texto.

  As opções da janela permitem-lhe definir o ponto inicial, a direcção e a gama da pesquisa.

F3 Editar Procurar o Seguinte

  Procura a instância seguinte do padrão em Procurar.

  Se não estiver definido nenhum padrão, irá aparecer a janela.

&Shift;F3 Editar Procurar Anterior

  Procura a instância anterior do padrão em Procurar.

  Se não estiver definido nenhum padrão, irá aparecer a janela.

&Ctrl;R Editar Substituir...

  Substitui o padrão de pesquisa por outro padrão diferente.

&Ctrl;G Editar Ir para a Posição...

  Move o cursor para uma dada posição.

### O Menu Ver

&Ctrl;+ Ver Ampliar

  Aumenta o tamanho da letra.

&Ctrl;- Ver Reduzir

  Diminui o tamanho da letra.

Ver Mostrar os Caracteres Invisíveis

  Activa ou desactiva a apresentação dos caracteres invisíveis. Se a visualização estiver desactivada, no local correspondente da coluna de caracteres, é colocado um outro carácter de substituição.

F11 Ver Mostrar a Posição da Linha

  Activa ou desactiva a apresentação da posição da linha numa área à esquerda.

Ver Mostrar os Valores ou Caracteres

  Seleccione qual das interpretações de 'bytes' que são apresentadas. Os valores possíveis são:

  - Valores

  - Caracteres

  - Valores e Caracteres

Ver Codificação do Valor

  Selecciona a codificação dos valores como sendo:

  - Hexadecimal

  - Decimal

  - Octal

  - Binário

Ver Codificação de Caracteres

  Selecciona a codificação dos caracteres no submenu.

Ver Disposição Dinâmica

  Define as regras de disposição da área de dados. Isto define quantos 'bytes' são apresentados por linha, dependendo da largura da janela. As regras possíveis são:

  - Desligado: A disposição é fixa para o número actual de 'bytes' por linha e não se adapta à alteração do tamanho da janela.

  - Repartir apenas os grupos de 'bytes' completos: Coloca o máximo de 'bytes' por linha possíveis, desde que fiquem grupos de 'bytes' completos.

  - Ligado: O mesmo que o anterior, só que permitindo também grupos incompletos de 'bytes'.

Ver Modo de Visualização

  Selecciona a disposição da janela como sendo:

  - Colunas: A interpretação dos valores e caracteres é apresentada na disposição clássica, com cada um deles apresentado numa coluna em separado.

  - Linhas: A interpretação em caracteres dos 'bytes' é apresentada directamente por baixo da interpretação do valor.

&Ctrl;&Shift;T Ver Dividir na Horizontal

  Divide a área de visualização actualmente em primeiro plano em duas partes, adicionando uma cópia da área actual à outra área por baixo.

&Ctrl;&Shift;L Ver Dividir na Vertical

  Divide a área de visualização actualmente em primeiro plano em duas partes, adicionando uma cópia da área actual à outra área à direita.

&Ctrl;&Shift;R Ver Fechar a Área de Visualização

  Fecha a área de visualização actualmente em primeiro plano.

&Ctrl;&Shift;F11 Ver Modo de Ecrã Completo

  Comuta o modo de ecrã completo.

### O Menu Janelas

Oferece uma lista com as janelas actuais. Seleccione a janela activa.

### O Menu Favoritos

Poderá definir vários favoritos para uma única sequência de 'bytes'. Cada sequência tem o seu próprio conjunto de favoritos, sendo o conjunto apropriado apresentado no fundo do Favoritos. Escolha um favorito do menu para mover o cursor e a janela para o mesmo.

Os favoritos são neste momento transitórios e não são gravados quando fechar uma lista de 'bytes' ou o programa por inteiro.

&Ctrl;B Favoritos Adicionar aos Favoritos

  Marca um determinado local na sequência de 'bytes'.

&Ctrl;&Shift;B Favoritos Remover o Favorito

  Remove o favorito actual. Este comando só está disponível se o cursor estiver num local marcado como favorito.

Favoritos Remover Todos os Favoritos

  Limpa a lista de favoritos.

&Alt;Cima Favoritos Ir para o Favorito Anterior

  Move o cursor para o favorito anterior.

&Alt;Baixo Favoritos Ir para o Favorito Seguinte

  Move o cursor para o favorito seguinte.

### O Menu Ferramentas

Oferece uma lista com as ferramentas instaladas. Activa ou desactiva a apresentação de cada uma das ferramentas. Poderá ver uma descrição mais detalhada de cada ferramenta na secção Ferramentas.

### O Menu Configuração

Configuração Mostrar a Barra de Ferramentas

  Activa ou desactiva a apresentação da barra de ferramentas por baixo do meu.

Configuração Mostrar a Barra de Estado

  Comuta a visibilidade da barra de estado.

Configuração Configurar os Atalhos...

  Muda os atalhos das acções do programa.

Configuração Configurar as Barras de Ferramentas...

  Controla o conteúdo da barra de ferramentas.

### O Menu Ajuda

&help.menu.documentation;

### Barra de Ferramentas

A barra de ferramentas contém ícones para os seguintes comandos:

(Todos se comportam de forma idêntica ao comando respectivo no menu.)

- Novo

- Abrir

- Gravar

- Reverter

- Imprimir

- Desfazer

- Refazer

- Cortar

- Copiar

- Colar

- Procurar

- Procurar o Seguinte

## Créditos e Licença

&okteta;

Programa com 'copyright' 2006-2010 de &Friedrich.Kossebau; &Friedrich.Kossebau.email;

Documentação com 'copyright' 2008,2010 de &Friedrich.Kossebau; &Friedrich.Kossebau.email;

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

&underFDL; &underGPL;

## Instalação

### Como obter o &okteta;

&install.intro.documentation;

### Compilação e Instalação

&install.compile.documentation;

&documentation.index;