Hackeando «O GLMatrix»

Para minha segunda postagem.. .. Eu vou mostrar a você (algo que alguns podem achar inútil) como mude a cor do meu protetor de tela favorito (protetor de tela, protetor de tela) sobre protetor de tela, GL Matrix, que se você não conhece é um simulador dos símbolos típicos que passam pelo monitor no estilo Matrix com belos efeitos 3D. Aqui está uma imagem:

Como sou bastante chato, e meu computador é personalizado com as cores preto e o azul característico de Arch Linux (que fica ótimo com meu teclado retroiluminado azul xD) .. .. o típico verde da Matrix, não me combina (ou como se diria por aqui e entre as crianças, não bate nem com muco).

Para conseguir isso, vamos intrometer-se no código fonte do xscreensaver, não entre em pânico o inexperiente, é simples, e eu irei guie passo a passo para que o alcancem; com isso quero te dizer, que não vou deixar as coisas já mastigadas, mas que a ideia é que eles tomem um gole e ponham a mão..sem medo.

Nota: Eu não sou um especialista ... então, sejam quais forem os erros que estou cometendo, sinta-se à vontade para me dizer ...

Mãos à obra..

1- Baixe o código fonte do xscreensaver.

Podemos entrar na página xscreensaver, e nós baixamos a última versão de código fonte (Código fonte).

www.jwz.org/xscreensaver/download.html

Ou podemos baixe diretamente do terminal com wget, sempre sabendo o versão dissoNeste caso 5.20:

 $ wget http://www.jwz.org/xscreensaver/xscreensaver-5.20.tar.gz

Nós descompactamos:

 $ tar -xf xscreensaver-5.20.tar.gz

 2- Verifique suas dependências.

Vamos verificar se temos o pacotes necessários para que o xscreensaver possa ser usado, para isso vamos usar o 'configure'. Tem que prestar atenção à saída (saída) que nos dão, para saber se nós algum pacote está faltando, ou há algum erro. Se um pacote estiver faltando, procure e baixe-o (pode ser através do Synaptics, apt, pacman, etc. - dependendo do gosto e distros).

- Entramos na pasta recém-descompactada:

 $ cd xscreensaver-5.20/

Executamos o seguinte:

 $ ./configure

3- Verificamos o funcionamento correto.

Se nenhum pacote estiver faltando, nem sem engano; nós procedemos para instalar o xscreensaver, para verificar se funciona corretamente.

Nós executamos:

 $ make
Nota: o make geralmente leva alguns minutos, pois gera todos os arquivos a .o (executáveis) a partir do .c (código), ou seja, compila o pacote.

Se não houver erros no make, como usuário 'raiz' nós o instalamos:

 # make install
Nota: não Vou explicar em detalhes para aqueles que não entendem o que esses comandos fazem, para mais informações procure por compilação e Makefiles.

Nós testamos:

 $ xscreensaver-demo

4- Modifique /hacks/glx/glmatrix.c

Eles vão falar com seus redigir o texto favorito (vim, nano, gedit, etc) no meu caso eu vi, o arquivo que vamos modificar neste caso:

 $ vi ./hacks/glx/glmatrix.c

Eles têm que encontrar um bloco com o seguinte forma:
{
unsigned long p = XGetPixel (xi, x, y);
unsigned char r = (p >> rpos) & 0xFF;
unsigned char g = (p >> gpos) & 0xFF;
unsigned char b = (p >> bpos) & 0xFF;
unsigned char a = g;
g = 0xFF;
p = (r << rpos) | (g << gpos) | (b << bpos) | (a << apos);
XPutPixel (xi, x, y, p);
}

Ele está localizado aproximadamente na linha 760, mas pesquisar por "a = g" deve encontrá-lo imediatamente

Y nós adicionamos da seguinte forma a cor desejada:
{
unsigned long p = XGetPixel (xi, x, y);
unsigned char r = (p >> rpos) & 0xFF;
unsigned char g = (p >> gpos) & 0xFF;
unsigned char b = (p >> bpos) & 0xFF;
unsigned char a = g;
r = 0x71;
g = 0x93;
b = 0xD1;

p = (r << rpos) | (g << gpos) | (b << bpos) | (a << apos);
XPutPixel (xi, x, y, p);
}

Estar em RGB Hexadecimal (vermelho-verde-azul)

Por exemplo, o azul característico de Arch Linux é o: # 1793D1, remanescente:

r=0x71;
g=0x93;
b = 0xD1;

Nós mantemos as mudanças.

5- Nós recompilamos o novo xscreensaver com o glmatrix modificado.

Neste ponto, faremos praticamente o mesmo que no ponto 2, mas desta vez para capturar as mudanças que fizemos.

Nós executamos:

 $ make clean

Então:

 $ make

Se nenhum tipo de erro aparecer no make, como usuário 'raiz' nós executamos:

 # make install

6- Executamos, verificamos, configuramos e desfrutamos.

Nós executamos:

 $ xscreensaver-demo

Na lista nós escolhemos GL Matrix:

Antevisão da GLMatrix

E na apresentação já deve ser visto na cor que escolheram.

Nota: em alguns casos, pode ser necessário reiniciar o computador para que as alterações ocorram na Visualização e quando ela for executada.

Configure a gosto .. e apreciar 😉

7- Alguns exemplos de cores diferentes. (+ DICA)

Cor hexadecimal: # 9F03D9

Cor hexadecimal: # D41213

Cor hexadecimal: # E5E311

DICA: conhecer um cor en Hexadecimal eu uso GIMP, abrimos a paleta de cores e figuramos como "Notação HTML". Também podemos pressionar o 'o'e pegue a cor de uma imagem para saber qual é sua cor em hexadecimal.

Espero que tenham gostado tanto quanto eu ao tentar escrevê-lo .. Qualquer dúvida, não hesite em consultar ..

Feliz hackeamento ..


10 comentários, deixe o seu

Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.

  1.   Merlin, o debianita dito

    Bem, se parece bom e tudo, mas não há nada como a cor verde clássica, bom tuto saudações.

    1.    RAW-Básico dito

      Obrigado pelo seu comentário .. ..é claro que o clássico é o clássico ..

      Mas o mais engraçado sobre isso (pelo menos para mim) e o que me levou a fazer isso .. ..é saber que ter o código-fonte na nossa frente .. é como dizer «Eu tenho Linux e como eu quero mudar isso ... posso! .. "..

      Obrigado por ler .. 😉

  2.   Sr. Linux dito

    Excelente artigo, quem teria imaginado que sobre um assunto tão elementar ou simples como um protetor de tela, iríamos ter toda uma aula de compilação, modificação e instalação dele.

    1.    RAW-Básico dito

      Obrigado! .. .. Fico feliz que você esteja interessado ..

      Para mim também foi uma verdadeira odisséia de aprendizado;) ..

  3.   apodrece87 dito

    há alguma diferença em usar:

    $ sudo pacman -S xscreensaver

    1.    RAW-Básico dito

      Para que parte? .. ..se você se referir aos pontos 2 e 3 para verificar se funciona .. no seu caso se você usa Arch..sim, é o mesmo .. já que sempre temos a versão mais recente ... .mas para outras distros pode não ser o mesmo ..

      Por outro lado..se você não baixasse o código fonte .. ..você não poderia fazer a modificação de cor .. que é o objetivo deste post ..

      Eu respondi sua pergunta?

      1.    apodrece87 dito

        ok obrigado pela dica ^ _ ^

  4.   Rafa GCG dito

    Muito obrigado!
    O procedimento é muito interessante.

    Saudações!

  5.   KZKG ^ Gaara dito

    Obrigado pela contribuição 😀

  6.   BOLD dito

    É possível compartilhar o modelo modificado com a cor vermelha? obrigado