quinta-feira, agosto 13, 2009

Guia de Sobrevivência na Migração para o Firefox 3.5

Há um bom tempo o Firefox é o meu navegador principal. Esta semana finalmente resolvi adotar a versão mais recente (3.5) nos meus micros de casa e do trabalho. Eu já tinha atualizado o meu notebook e reparado na necessidade de alguns ajustes, mas não tinha tido ainda o tempo de ir atrás.

Instalando o Firefox 3.5

O primeiro passo é simples: baixar o instalador do Firefox 3.5 (por exemplo de http://www.mozilla.com/firefox/) e executá-lo. Eu prefiro a instalação custom, para poder selecionar onde serão colocados os atalhos. Apesar de usar quase que exclusivamente o Firefox, não costumo colocá-lo como browser padrão.

A instalação é tranquila. Se você já tinha uma versão anterior instalada, não é preciso removê-la e as configurações são mantidas. No micro de casa foi preciso reiniciar o Windows para concluir a instalação.

Verificando a Compatibilidade dos Add-Ons

Um dos atrativos do Firefox são os inúmeros add-ons. Na primeira vez que o Firefox 3.5 roda após uma atualização, ele verifica a compatibilidade dos add-ons que já estavam instalados. No caso de alguma incompatibilidade, ele se oferece para verificar se existe uma atualização compatível. Os add-ons incompatíveis são desligados.

A atualização dos add-ons exigiu alguns cuidados adicionais.

Vero

O verificador ortográfico Vero, do BrOffice, é quem tenta me impedir de cometer erros crassos de ortografia. Infelizmente, ele não fica no repositório de Add-ons da Mozilla e portanto o Firefox não encontra automaticamente suas atualizações.

É preciso pegá-lo na mão de http://www.broffice.org/verortografico/baixar.

Aliás, para quem nunca percebeu, um add-on é baixado na forma de um arquivo com extensão xpi. Este arquivo pode ser salvo e depois instalado através do menu File | Open File do Firefox. Isto foi útil no trabalho onde estou com algum problema no acesso ao site de Add-ons da Mozilla.

G-Buster Browser Defence do Unibanco (Guardião 30 Horas)

Não sei bem se é uma vantagem o fato de precisar instalar um Add-on para poder ver o extrato do meu cartão de crédito, mas o Unibanco exige isto. Para atualizar é preciso acessar a página do Unibanco. E (pelo menos neste momento) ela tem um problema de formatação com o Firefox 3.5.

Fast Dial

Apesar de alguns problemas, continuo viciado nesta extensão. Eu estava propositalmente utilizando uma versão antiga, mas ela é incompatível com o Firefox 3.5. O jeito foi atualizar para a mais recente.

A página de informações sobre o Fast Dial informa que alguns usuários relataram problemas com a versão mais recente e que o desenvolvedor está doente e portanto ainda não teve a oportunidade de examinar a questão. Por enquanto não tive problemas.

A instalação da versão mais recente do Fist Dial exigiu alguns ajustes de configuração no PC do trabalho (onde estava com uma versão bem antiga). Nos dois micros, parte das imagens (thumbnails) foram atualizadas; no caso do site do Estadão as regiões da tela onde tinha uma animação flash foram pintadas de preto.

Botão de Fechar em Todas as Abas

Com o meu vício pelo Fast Dial, é comum fechar a última aba para forçar a apresentação de uma nova aba com o Fast Dial. Isto não é possível no Firefox 3.5 padrão, pois o botão de fechar não é apresentado na última aba.

Felizmente, existem instruções de como acertar isto nos forum de suporte do Firefox (aqui).

O aviso acima foi capturado diretamente da tela do Firefox: você pode fazer grandes estragos mexendo nas configurações. Siga em frente por sua conta e risco e se algo der errado não ponha a culpa em mim.

O primeiro passo é acertar duas configurações. Para acessar elas, digite "about:config" (sem as aspas) na barra de endereço. Mude browser.tabs.closeWindowWithLastTab para false, paraa que a janela não seja fechada quando fechar a última aba. Verifique que browser.tabs.closeButtons é 1, para que todas as abas tenham o botão de fechar.

Passamos agora para a parte mais complicada, que é criar ou alterar o arquivo userChrome.css. Este arquivo deve ficar na sua pasta de perfil, que no Windows XP será algo como

C:\Documents and Settings\Daniel\Application Data\Mozilla\Firefox\Profiles\f0siucv8.default\chrome

(é claro que no lugar de Daniel vai estar o seu nome).

Se o arquivo não existir, crie com o seguinte conteúdo:
@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); /* set default namespace to XUL */

/* Show Close Button On Last Tab */
.tabbrowser-tabs[closebuttons="alltabs"] > .tabbrowser-tab > .tab-close-button {
display: -moz-box !important;
}
.tabbrowser-tabs:not([closebuttons="noclose"]):not([closebuttons="closeatend"]) > .tabbrowser-tab[selected="true"] > .tab-close-button {
display: -moz-box !important;
}
Se o arquivo já existir, basta procurar a linha @namespace e colocar o texto acima (menos a linha @namespace) após a linha já existente.

Re-inicie o Firefox e o botão de fechar voltará a aparecer na última aba.

3 comentários:

Allan disse...

Boa tarde Daniel
Preciso da sua ajuda...
Eu estou precisando de uma extensão para Firefox "Windows PC"/Chrome "Mobile Android" que bloqueie páginas de um site "x" específico
com base na comparação entre a "string" de título da Aba ou em outra "string"
que estiver escrita num lugar determinado do código do site com
as strings do "Banco de Nomes Proibidos".

Eu estou querendo programar por mim mesmo a extensão, que teria que ser
compatível com o Firefox "Windows PC"/Chrome "Mobile Android", mas eu estou precisando de uma
ajuda para tirar o fluxograma do papel, pois se eu sou leigo em programação java,
quanto mais em programação de extensões...

Estou te passando abaixo a descrição completa do programa, com Descrição dos Ciclos de Operações,
Descrição Ordenada das Funções de Cada Ciclo e Fluxograma...

DESCRIÇÃO DOS CICLOS DE OPERAÇÕES:

O programa possui dois ciclos:
o "CICLO DE OPERAÇÕES DE FUNDO" , e
o "CICLO DE OPERAÇÕES ESPECÍFICAS".

O "CICLO DE OPERAÇÕES DE FUNDO" é responsável pelas operações básicas do programa, que se aplicam
a todo o período de funcionamento do navegador, do início ao fim de sua operação.

Sua função principal do é ordenar o INÍCIO do
do "CICLO DE OPERAÇÕES ESPECÍFICAS".

Sua função secundária é, somente em um caso específico, onde o comando cabe às operações de fundo ENCERRAR as operações
do "CICLO DE OPERAÇÕES ESPECÍFICAS".

o "CICLO DE OPERAÇÕES ESPECÍFICAS" é responsável pelas operações cuja a necessidade de
atuação, como diz seu nome, surge SOMENTE numa ocasião específica do período de funcionamento do
navegador.

DESCRIÇÃO GERAL DAS FUNÇÕES DE CADA CICLO:
(OU FLUXOGRAMA IMPROVISADO...)

"CICLO DE OPERAÇÕES DE FUNDO"
0- Iniciar sua operação JUNTAMENTE com
o início do período de funcionamento do navegador.

1 - detectar qualquer solicitação de URL
e comparar a URL solicitada com o endereço do site "X".
O conteúdo da página chamada pela URL somente será exibido ao usuário
no fim das operações.

2 - comandar o início funcionamento do "CICLO DE OPERAÇÕES ESPECÍFICAS"
SOMENTE quando uma solicitação para o site "X" for detectado pelo navegador.

3 - comandar o encerramento o "CICLO DE OPERAÇÕES ESPECÍFICAS" SOMENTE SE HOUVER
uma nova solicitação de página web ENQUANTO O "CICLO DE OPERAÇÕES ESPECÍFICAS"
estiver FUNCIONANDO.

"CICLO DE OPERAÇÕES ESPECÍFICAS"
0- Iniciar sua operação SOMENTE com
o comando dado pelo "CICLO DE OPERAÇÕES DE FUNDO". A página a ser examinada por ele somente
será carregada no fim do processo...

1- detectar se o título da aba contém um "Nome Proibido", e se
tiver, fazer o redirecionamento para outro endereço e DESLIGAR CICLO DE OPERAÇÕES ESPECÍFICAS.
Se não, ir para o próximo passo...

2- detectar se um local DETERMINADO do código da página contém um "Nome Proibido", e se
tiver, fazer o redirecionamento para outro endereço e DESLIGAR CICLO DE OPERAÇÕES ESPECÍFICAS,
SE NÃO, permitir a exibição da página e DESLIGAR CICLO DE OPERAÇÕES ESPECÍFICAS.

Obrigado por qualquer ajuda que me for dada.
OBS: Vou te enviar uma cópia desse comentário por e-mail...
Allan

Daniel Quadros disse...

Allan, não tenho nenhuma experiência em fazer extensões para os browsers. Inclusive já faz um bom tempo que parei de usar o Firefox. A sugestão que posso dar é você procurar uma extensão que faça algo parecido com o que você quer e estudar o código (supondo que ele seja aberto).

Allan disse...

Obrigado por responder...
Você me fez ver que existem duas alternativas para mim...
Dar uma olhada no código de algumas extensões e montar uma outra remendada.
Aprender a linguagem de programação das extensões e montar uma do zero...
(Em programação, trabalho no máximo com o Assembly: Acho que as linguagens de alto-nível são muito "barra-pesada" para o meu gosto, então vou ter que apelar para gambiarras)
Desculpe a curiosidade, eu estou procurando uma documentação de referência para o funcionamento de protocolos de comunicação, sejam atuais, sejam obsoletos; só que procuro uma documentação que detalhe ainda a parte eletrônica da coisa (a parte de multiplexação dos dados, etc). Você sabe onde eu encontro alguma coisa, mesmo que for ultrapasada?
(para autenticar isso aqui, te enviarei uma cópia via e-mail)

Que Deus te abençoe
Allan