diff options
author | Timothy Pearson <[email protected]> | 2011-12-03 11:05:10 -0600 |
---|---|---|
committer | Timothy Pearson <[email protected]> | 2011-12-03 11:05:10 -0600 |
commit | f7e7a923aca8be643f9ae6f7252f9fb27b3d2c3b (patch) | |
tree | 1f78ef53b206c6b4e4efc88c4849aa9f686a094d /tde-i18n-pt_BR/docs/tdebase/userguide/under-the-hood.docbook | |
parent | 85ca18776aa487b06b9d5ab7459b8f837ba637f3 (diff) | |
download | tde-i18n-f7e7a923aca8be643f9ae6f7252f9fb27b3d2c3b.tar.gz tde-i18n-f7e7a923aca8be643f9ae6f7252f9fb27b3d2c3b.zip |
Second part of prior commit
Diffstat (limited to 'tde-i18n-pt_BR/docs/tdebase/userguide/under-the-hood.docbook')
-rw-r--r-- | tde-i18n-pt_BR/docs/tdebase/userguide/under-the-hood.docbook | 650 |
1 files changed, 650 insertions, 0 deletions
diff --git a/tde-i18n-pt_BR/docs/tdebase/userguide/under-the-hood.docbook b/tde-i18n-pt_BR/docs/tdebase/userguide/under-the-hood.docbook new file mode 100644 index 00000000000..a5a82c5299d --- /dev/null +++ b/tde-i18n-pt_BR/docs/tdebase/userguide/under-the-hood.docbook @@ -0,0 +1,650 @@ +<chapter id="tinkering-under-the-hood"> +<!-- Uncomment the <*info +> below and add your name to be --> +<!-- credited for writing this section. --> + +<!-- +<chapterinfo> +<authorgroup> +<author> +<firstname +>Your First Name here</firstname> +<surname +>Your Surname here </surname> +</author> +</authorgroup> +</chapterinfo> +--> + +<title +>Trabalhando nos Bastidores do &kde;</title> + +<sect1 id="hand-editing-config-files"> + +<sect1info> +<author +><personname +> <firstname +>Nicolas</firstname +> <surname +>Goutte</surname +> </personname +> <email +>[email protected]</email +> </author> +</sect1info> + +<title +>Editando Manualmente os Arquivos de Configuração</title> + +<sect2 id="hand-editing-intro"> +<title +>Introdução</title> +<para +>No &kde;, os arquivos de configuração são fáceis de alterar com um editor de texto simples como o &kate;, uma vez que que os arquivos de configuração são arquivos de texto.</para> + +<para +>Um exemplo de um arquivo de texto:</para> + +<programlisting +>[Geral] +AutoSalvar=1 +UltimoArquivo=/var/tmp/teste.txt</programlisting> + +<para +>Os arquivos de configuração de um usuário estão em <filename class="directory" +>.kde/share/config</filename +> (substitua o <filename +>.kde</filename +> pela sua variável de ambiente $<envar +>KDEHOME</envar +>) e os globais estão na sub-pasta <filename class="directory" +>share/config</filename +> do local onde o KDE foi instalado. (Você poderá encontrar esta localização executando o comando <command +>kde-config --prefix</command +>.) Os seus nomes terminam normalmente em 'rc' (sem um ponto inicial), como por exemplo <filename +>kopeterc</filename +>.</para> + +<warning +><para +>Contudo, os arquivos de configuração editados manualmente, podem comprometer a estabilidade do seu &kde;. A maioria dos aplicativos não verificam o que lêem dos seus arquivos de configuração e poderão ser prejudicados pelo que obtêm da sua configuração, fazendo com que o aplicativo inclusive estoure.</para +></warning> + +</sect2> + +<sect2 id="hand-editing-backups"> +<title +>Cópias de Segurança</title> + +<para +>Por isso, a primeira regra é fazer uma cópia de segurança do seu arquivo antes de modificá-los. A cópia de segurança deverá ser guardada fora de qualquer sub-pasta da <filename class="directory" +>.kde</filename +> (ou da pasta correspondente a $<envar +>KDEHOME</envar +>). As cópias de segurança são sempre uma boa idéia no caso de uma falha geral do &kde; que destrua os arquivos de configuração importantes (como por exemplo as suas opções do &kmail;, que se encontram no arquivo <filename +>kmailrc</filename +>). (Uma falha grande dessas não deveria acontecer, mas ainda assim pode ocorrer.)</para> +</sect2> + +<sect2 id="hand-editing"> +<title +>Editando</title> + +<para +>Assim, por que você mexeria nos arquivos de configuração? Bem, primeiro, é necessário se quiser obrigar o uso do modo KIOSK. Talvez um programador tenha lhe pedido para adicionar um item que o ajude a depurar um erro. Talvez queira recuperar de um problema sem ter que remover toda a pasta <filename class="directory" +>.kde</filename +>. Talvez queira aprender mais sobre os detalhes do &kde;.</para> + +<para +>De qualquer forma, seja qual for a razão, você poderá desejar modificar manualmente um arquivo de configuração.</para> + +<para +>Ao planejar editar um arquivo desses, certifique-se que o aplicativo que o usa não está rodando. Se for um dos arquivos de configuração básica, considere editar o arquivo enquanto o todo o &kde; não está rodando.</para> + +<para +>Está pronto? Faça então uma cópia de segurança (já foi dito alguma vez?), inicie o seu editor favorito (assumiremos que neste caso é o &kate;), abra o arquivo (tenha o cuidado de carregá-lo como UTF-8, uma vez que que o &kate; exibe-o como <quote +>utf8</quote +>).</para> + +<para +>Agora você terá um arquivo do tipo:</para> + +<programlisting +>[Grupo] +Chave1=Valor1 +Chave2=Valor2 +Chave3=Valor3</programlisting> + +<para +>Você poderá agora modificá-lo (com cuidado!) e depois salvá-lo (certificando-se novamente que é <acronym +>UTF-8</acronym +>).</para> + +<para +>Agora, você poderá testar o aplicativo e, se ele não se executar mais corretamente, feche-o e restaure a cópia de segurança.</para> + +<itemizedlist> +<title +>Informações Relacionadas</title> + + +<listitem +><para +><xref linkend="kde-for-administrators"/> existem mais informações sobre a estrutura de pastas do &kde;, de modo a ajudá-lo a encontrar o arquivo que precisa de editar.</para> +</listitem> + +</itemizedlist> + +</sect2> + +</sect1> + +<sect1 id="scripting-the-desktop"> +<title +>Programando o Ambiente de Trabalho</title> + +<para +>O &kde; oferece um sistema de comunicação entre processos poderoso chamado &DCOP;, o Desktop COmmunication Protocol. Usando o &DCOP;, você pode controlar uma grande quantidade de funções do &kde; a partir da linha de comando ou a partir de um programa feito na sua linguagem de programação favorita. Você poderá também obter informações a partir das aplicações do &kde;: por exemplo, vários leitores multimídia do &kde; oferecem métodos para pesquisar por determinada informação no leitor sobre a faixa que está sendo tocada no momento.</para> + +<para +>Falando de um modo abrangente, cada aplicação do &kde; oferece uma ou mais <firstterm +>interfaces</firstterm +> de &DCOP; que, por sua vez, oferecem métodos (ou, se preferir, funções) que outra aplicação poderá então invocar. Assim, o primeiro passo ao usar o &DCOP; é descobrir o método apropriado para a tarefa. A forma mais simples de fazer isto é com a interface <application +>kdcop</application +> para os métodos de &DCOP; disponíveis.</para> + +<para +>Execute o <application +>kdcop</application +> a partir de um &konsole; ou da mini-linha de comando (a janela que aparece com o <keycombo action="simul" +>&Alt;<keycap +>F2</keycap +> </keycombo +>). A janela do <application +>kdcop</application +> mostra as aplicações que estão rodando no momento e que oferecem interfaces de &DCOP;, usando uma árvore para isso. De um modo geral, a escolha do método correto obriga a alguma pesquisa pela árvore, mas uma sugestão útil é que a interface marcada como <quote +>(padrão)</quote +>, contém normalmente as funções usadas com mais frequência.</para> + + + +<para +>Para testar se a função faz o que desejamos, faça um duplo-clique por exemplo no ítem <guilabel +>setColor</guilabel +>. Para escolher a cor <varname +>c</varname +>, clique no botão de seleção de cores e escolha uma. Indique se a cor deverá ser a cor A com a opção para assinalar. Clique <guilabel +>OK</guilabel +> para ver a cor de fundo modificada.</para> + +<para +>Para acessar ao método de &DCOP; a partir da sua linguagem de programação favorita, você poderá tanto usar as interfaces de &DCOP; existentes, se estiverem disponíveis no módulo 'tdebindings', ou então invocar a aplicação da linha de comando <command +>dcop</command +>. Para uma utilização simples, a invocação da aplicação da linha de comando <command +>dcop</command +> é suficiente. Para invocar um método de &DCOP; desta forma, é necessário indicar a aplicação e a interface que possui o método, o método em si e os argumentos, num formato adequado para a linha de comando.</para> + +<para +>Nós especificamos a aplicação, a interface e o método exatamente nessa ordem, seguido dos argumentos pela mesma ordem que são apresentados no <application +>kdcop</application +>. O <command +>dcop</command +> possui muitas outras opções: dê uma olhada no resultado do <userinput +><command +>dcop</command +> <option +>--help</option +></userinput +>.</para> + +<para +>Já chega de teoria: está na hora de um exemplo:</para> + +<example> +<title +>Um Programa de Mudança da Cor de Fundo com o &DCOP;</title> + +<para +>Com a aplicação da linha de comando <command +>dcop</command +> e um pouco de Perl, vamos fazer então um pequeno programa que mude lentamente o fundo da tela, percorrendo o espectro de cores.</para> + +<para +>Em primeiro lugar, nós procuraremos pelo método apropriado com o <application +>kdcop</application +>. Para este exemplo, encurtaremos a busca e iremos ao método diretamente: o método que desejamos é o <menuchoice +><guimenu +>kdesktop</guimenu +><guisubmenu +>KBackgroundIface</guisubmenu +><guimenuitem +>setColor</guimenuitem +> </menuchoice +>. Os argumentos e o tipo do valor devolvido da função são mostrados com o estilo da linguagem C++. Para o caso do <methodname +>setColor</methodname +>, os argumentos são uma cor <varname +>c</varname +> que define a nova cor de fundo e um valor booleano ('true' ou 'false'), <varname +>isColorA</varname +>, que define se a cor é a primeira ou a segunda (isto é útil para definir gradientes, por exemplo).</para> + +<para +>Para usar o método <methodname +>setColor</methodname +> na linha de comando, usaremos o seguinte: <screen +><prompt +>%</prompt +> <userinput +><command +>dcop</command +> kdesktop KBackgroundIface setColor '#ffffff' false</userinput +> +</screen> +</para> + +<para +>Para indicar a cor, é usado o valor RGB em hexadecimal, como é usado no &HTML;. Repare que ele está delimitado por aspas simples, para proteger o <token +>#</token +> da linha de comando.</para> + +<para +>Para descobrir o valor RGB em hexadecimal de uma cor, abra qualquer janela de seleção de cores numa aplicação do &kde; (como, por exemplo, o &kcontrolcenter;, em <menuchoice +><guimenu +>Aparência & Temas</guimenu +><guimenuitem +>Cores</guimenuitem +> </menuchoice +>), selecione a cor que deseja e use o valor indicado no campo de texto <guilabel +>HTML</guilabel +>.</para> + + +<para +>Assim, isto é tudo que precisamos do &DCOP;; agora, é apenas necessário criar um programa em torno dele. Aqui está uma implementação (muito!) rudimentar: <programlisting +><![CDATA[ +$min=49; # Valor mínimo da cor R, G ou B +$max=174; # Valor máximo da cor R, G ou B +$passo=5; # Quantidade a incrementar em cada passo e cor +$espera=15; # Intervalo em segundos entre cada iteração + +@inicio = ($max, $min, $min); +@cor = @inicio; + +while (1) { + foreach (0..5) { + my $qual = $_ % 3; # Qual a cor (R, G ou B) a alterar + my $cima_baixo = $_ % 2; # Se deseja aumentar ou diminuir o valor + do { + if ($cima_baixo == 0) { $cor[$qual]+=$passo; } + if ($cima_baixo == 1) { $cor[$qual]-=$passo; } + my $chamada=sprintf "dcop kdesktop KBackgroundIface setColor '#%x%x%x' true\n", @cor; + system($chamada); + sleep $espera; + } while (($cor[$qual] +>= $min) and ($cor[$qual] <= $max)); + } +} +]]> +</programlisting> +</para> + +<para +>Basta executar o programa sem argumentos, para que ele alterne a cor de fundo em um espectro bem definido, até que seja morto. <foreignphrase +>Voilà</foreignphrase +>!</para> + +</example> + +<para +>Claro que o Perl não é a única linguagem que você poderá usar para fazer programas com o &DCOP;—se preferir o 'shell scripting', ele também está disponível:</para> + +<example> +<title +>Aplicando um fundo da Internet</title> + +<para +>O seguinte programa obtém a imagem principal da tira de quadrinhos <quote +>User Friendly</quote +> e coloca-a como papel de parede da área de trabalho, usando as ferramentas normais disponíveis e um pouco de &DCOP;:</para> + +<programlisting +><![CDATA[ +#!/bin/sh +COMICURL=`wget -qO - http://www.userfriendly.org/static/index.html | \ + grep Latest | sed -e "s,.*SRC=\",," -e "s,\" +>.*,,"` +TMPFILE=`mktemp /tmp/$0.XXXXXX` || exit 1 +wget -q -O $TMPFILE $COMICURL +dcop kdesktop KBackgroundIface setWallpaper $TMPFILE 1 +]]> +</programlisting> + +<para +>A primeira linha após o '#!/bin/sh' usa o <command +>wget</command +> e uma mágica das expressões regulares para extrair a localização da imagem do código em &HTML; da página principal. A segunda e terceira linhas irão obter a imagem e, finalmente, o <command +>dcop</command +> aplica a imagem transferida como papel de parede.</para> + +</example> + + +<!-- <itemizedlist> +<title +>Related Information</title> +<listitem +><para +>to be written</para> +</listitem> +</itemizedlist +> --> + + +</sect1> + + +<sect1 id="adding-extra-keys"> +<title +>Adicionando Atalhos de Teclado Extra para o &kde;</title> + +<para +>Muitos teclados modernos contém teclas adicionais que não estão atribuídas por padrão a nenhuma ação.</para> + +<para +>As teclas <quote +>Multimídia</quote +> geram normalmente um sinal e podem simplesmente ser escolhidas como uma combinação de teclas dentro de um aplicativo, como quem escolhe uma tecla qualquer. Algumas das teclas, todavia, não são detectadas e, pressionando-as no <guilabel +>Configurar Atalhos</guilabel +>, não acontecerá nada.</para> + +<para +>Alguns portáteis da IBM, por exemplo, possuem teclas adicionais em torno dos cursores esquerdo e direito, e que parecem um <guiicon +>Page Left</guiicon +> e um <guiicon +>Page Right</guiicon +>.</para> + +<procedure> +<step +><para +>Use o <command +>xev</command +> para descobrir o código das teclas. Neste caso, são o 233 e o 234, respectivamente </para +></step> +<step +><para +>Escolha os símbolos das teclas. Existe alguns intervalos que não são usados por padrão, por isso muitos estão livres. Você poderá encontrar a lista em <filename +>/usr/X11R6/include/X11/keysymdef.h</filename +> (ou o equivalente no seu sistema).</para +></step> +<step +><para +>Crie um arquivo na sua pasta pessoal chamado <filename +>.Xmodmap</filename +> e adicione o seguinte a ele:</para> +<screen +>keycode 233 = Next_Virtual_Screen +keycode 234 = Prev_Virtual_Screen</screen> +</step> +<step +><para +>Execute o comando <userinput +><command +>xmodmap</command +> <filename +>~/.Xmodmap</filename +></userinput +></para +></step> +</procedure> + +<para +>Neste momento, você deverá ser capaz de executar o <command +>xev</command +> novamente e ver que as teclas geram agora o símbolo da tecla que atribuiu. Você poderá agora atribuir esses símbolos a qualquer ação, como de costume.</para> + +<itemizedlist> +<title +>Informações Relacionadas</title> +<listitem +><para +>A página de manual do <command +>xev</command +>. Você poderá vê-la digitando <userinput +>man:/xev</userinput +> numa janela do &konqueror; ou digitando <userinput +><command +>man</command +> xev</userinput +> num terminal.</para +></listitem> +</itemizedlist> + +</sect1> + +<sect1 id="keys-for-scripts"> +<title +>Adicionando Combinações de Teclas às Ações Novas</title> + +<para +>A maioria das ações do ambiente de trabalho ou dos aplicativos estão imediatamente disponíveis para poder associar-se uma combinação de teclas. Se a ação a que deseja atribuir um atalho foi criada por você ou ainda não esteja disponível, você poderá ainda assim atribuir um atalho.</para> + +<para +>Para reunir as duas seções anteriores, talvez você queira atribuir uma tecla não usada do seu teclado a um programa ou comando de DCOP. O exemplo aqui será então atribuir as duas teclas que foram adicionadas em <xref linkend="adding-extra-keys"/> para ir para a área de trabalho virtual anterior ou a seguinte, ou seja, duas funções para as quais irá precisar do DCOP (tal como foi descrito em <xref linkend="scripting-the-desktop"/>.</para> + +<para +>Isto pode ser conseguido facilmente com o seguinte método:</para> + +<procedure> +<step> +<para +>Abra o &kcontrol; na seção <guilabel +>Regional & Acessibilidade</guilabel +>, e selecione <guilabel +>Ações de Entrada</guilabel +></para> +</step> +<step> +<para +>Escolha <guibutton +>Nova Ação</guibutton +></para> +</step> +<step> +<para +>Dê um nome à ação nova, ⪚ <userinput +>Próxima Área de Trabalho Virtual</userinput +></para> +</step> +<step> +<para +>Selecione o <guilabel +>Atalho de teclado -> Comando/URL(simples)</guilabel +> para o <guilabel +>Tipo de ação:</guilabel +></para> +</step> +<step> +<para +>Na página do <guilabel +>Atalho do Teclado</guilabel +>, clique no botão que deseja usar para disparar o comando. Para este exemplo, você iria pressionar a tecla com a imagem do <guiicon +>Próxima Página</guiicon +> nele. O <keysym +>Next_Virtual_Screen</keysym +> aparecerá na imagem da tecla.</para> +</step> +<step> +<para +>Na página do <guilabel +>Configuração do Comando/URL</guilabel +>, insira o comando a executar no campo: <userinput +><command +>dcop twin default nextDesktop</command +></userinput +></para> +</step> +</procedure> + +<para +>Repita os passos anteriores com a tecla <keysym +>Prev_Virtual_Screen</keysym +> key e a ação <userinput +><command +>dcop twin default previousDesktop</command +></userinput +>.</para> + +<para +>Agora, pressionando as teclas <keysym +>Prev_Virtual_Screen</keysym +> ou <keysym +>Next_Virtual_Screen</keysym +>, mudará para a área de trabalho virtual anterior ou a próxima, respectivamente.</para> + +<para +>Obviamente, você poderá atribuir qualquer tecla livre a qualquer ação.</para> + +<itemizedlist> +<title +>Informações Relacionadas</title +> +<listitem +><para +>Veja a documentação do <application +>KHotKeys</application +> no &khelpcenter;, ou digitando <userinput +>help:/khotkeys</userinput +> numa janela do &konqueror;.</para +></listitem +> +<listitem +><para +><xref linkend="adding-extra-keys"/></para +></listitem> +<listitem +><para +><xref linkend="scripting-the-desktop"/></para +></listitem> +</itemizedlist> + +</sect1> + +<sect1 id="kdebugdialog"> +<sect1info> +<authorgroup> +<author +><personname +> <firstname +>Adriaan</firstname +> <surname +>de Groot</surname +> </personname +> <email +>[email protected]</email +> </author> +</authorgroup> +</sect1info> + +<title +>&kdebugdialog; - Controlando o Resultado da Depuração do &kde;</title> + +<sect2 id="kdebugdialog-basic-usage"> +<title +>Utilização Básica</title> + +<para +>O &kdebugdialog; não está no &kmenu; por padrão. Você terá que executá-lo na linha de comando ou na mini-janela de execução de comandos com <userinput +><command +>kdebugdialog</command +></userinput +>. O &kdebugdialog; mostra uma janela com uma lista grande de áreas de depuração. Cada área tem uma opção que você poderá ligar ou desligar para ativar ou desativar o resultado de depuração dessa parte do &kde;.</para> + +<para +>A lista de áreas de depuração vem ordenada numericamente, não alfabeticamente, assim o kio (127) vem antes do artskde (400). Os números vão até perto de 200 000, mas normalmente só existem 400 áreas. Você não terá que percorrer a lista completa para encontrar a área que precisa. Existe um campo de texto no topo da janela, onde poderá inserir uma parte do nome da área que deseja. A lista de itens que é apresentada é filtrada de modo a incluir apenas as áreas de depuração que contém o texto que introduziu, ⪚ se inserir <userinput +>k</userinput +> não irá filtrar muito mas, se indicar <userinput +>kont</userinput +>, deverá aparecer apenas as áreas de depuração do &kontact;. Como uma forma mais rápida de ativar ou desativar o resultado de depuração, existe também os botões para <guibutton +>selecionar tudo</guibutton +> e <guibutton +>deselecionar tudo</guibutton +>, que fará com que o &kde; produza muitos dados de depuração, ou quase nenhum.</para> +</sect2> + +<sect2 id="kdebugdialog-fullmode"> +<title +>O KDebugDialog no modo completo</title> + +<!-- this text partly taken from the kdebugdialog handbook --> + +<para +>No modo completo, que é o que irá obter ao executar o KDebugDialog como <userinput +><command +>kdebugdialog</command +> <option +>--fullmode</option +></userinput +>, fica disponível a mesma lista de áreas de depuração, podendo selecionar apenas uma de cada vez numa lista. Você poderá então definir o resultado para os vários tipos de mensagens: Informação, Aviso, Erro e Erro Fatal. Para cada um destes tipos, você poderá escolher para onde são enviadas as mensagens. As opções são:</para> + +<para +>Arquivo, onde terá que inserir o nome de um arquivo. Ele será escrito na sua pasta $<envar +>HOME</envar +>.</para> + +<para +>Caixa de Mensagem. Cada mensagem de depuração é mostrada num diálogo de informação, que você terá que pressionar <guibutton +>OK</guibutton +> para continuar com o aplicativo.</para> + +<para +>Linha de Comando, a entrada padrão. As mensagens são impressas no 'stderr' e irão aparecer tanto na janela da linha de comado em que a aplicativo foi iniciado, como no <filename +>.xsession-errors</filename +>.</para> + +<para +>Syslog. Isto envia cada mensagem de depuração para a funcionalidade de registro do systema ('syslog'), que poderá efetuar um processamento prévio da mensagem.</para> + +<para +>Nenhum. Isto elimina o resultado deste tipo de mensagem.</para> + +<para +>Para as mensagens geradas pelos erros fatais, é normalmente uma má idéia escolher o Nenhum ou o Syslog, uma vez que em ambos os casos poderá não ver a mensagem e o aplicativo que obtenha o erro fatal irá desaparecer sem deixar uma razão do seu desaparecimento. Se o aplicativo desaparecerá ou não no caso de um erro fatal, poderá ser definido na opção <guilabel +>Abortar nos erros fatais</guilabel +>, que está assinalada por padrão — mas você poderá esperar ainda que um aplicativo estoure (de forma confusa) se for encontrado ainda um erro.</para> + +<!-- Add links to "further reading" here --> +<!-- <itemizedlist> +<title +>Related Information</title> +<listitem +><para +>to be written</para> +</listitem> +</itemizedlist +>--> + + + +</sect2> +</sect1> +</chapter> + +<!-- Keep this comment at the end of the file +Local variables: +mode: xml +sgml-omittag:nil +sgml-shorttag:nil +sgml-namecase-general:nil +sgml-general-insert-case:lower +sgml-minimize-attributes:nil +sgml-always-quote-attributes:t +sgml-indent-step:0 +sgml-indent-data:true +sgml-parent-document:("index.docbook" "book" "chapter") +sgml-exposed-tags:nil +sgml-local-catalogs:nil +sgml-local-ecat-files:nil +End: +--> |