Hacking «GLMatrix»

For mig andet indlæg.. ..Jeg vil vise dig (noget som nogle måske finder ret ubrugeligt) som ændre farve af min yndlings screensaver (screensaver, screensaver) om xscreensaver, G.L. Matrix, som, hvis du ikke ved det, er en simulator af de typiske symboler, der falder gennem skærmen i Matrix-stil med smukke 3D-effekter. Her er et billede:

Da jeg er ret irriterende, og min computer er tilpasset med farverne sort og den karakteristiske blå af Arch Linux (som ser godt ud med mit blå baggrundsbelyste tastatur xD) .. det typiske grøn farve af Matrix kombinerer det mig ikke (eller som man ville sige her og mellem børn, rammer det ikke engang med slim).

For at opnå dette vil vi blande sig i kildekoden til xscreensaver skal du ikke gå i panik for den uerfarne, det er simpelt, og jeg vil guide trin for trin så de opnår det; med dette vil jeg fortælle jer, at jeg ikke vil lade tingene allerede være tygget, men det tanken er, at de tager en drink og lægger hånden..uden frygt.

Bemærk: Jeg er slet ikke en ekspert ... så uanset hvilke fejl jeg laver, er du velkommen til at fortælle mig ...

Lad os gøre det..

1- Download kildekoden til xscreensaver.

Vi kan gå ind på xscreensaver-siden og vi downloader den seneste version af kildekode (kildekode).

www.jwz.org/xscreensaver/download.html

Eller vi kan download direkte fra terminal med wget, altid at kende version af det, I dette tilfælde 5.20:

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

Vi pakker det ud:

 $ tar -xf xscreensaver-5.20.tar.gz

 2- Kontroller dine afhængigheder.

Vi skal kontrollere, at vi har nødvendige pakker så xscreensaver kan bruges, til dette bruger vi 'konfigurer'. Skal vær opmærksom ved udgangen (output) som de giver os, for at vide om vi der mangler en pakke, eller er der nogen fejl. Hvis en pakke mangler, skal du kigge efter den og downloade den (den kan ske gennem synaptics, apt, pacman osv. - afhængigt af smag og distroer).

-Vi går ind i den nyligt udpakkede mappe:

 $ cd xscreensaver-5.20/

Vi udfører følgende:

 $ ./configure

3- Vi kontrollerer korrekt funktion.

Hvis der ikke mangler nogen pakke, eller har gjort det ingen fejl; vi fortsætter til installere xscreensaver for at kontrollere, at den fungerer korrekt.

Vi udfører:

 $ make
Bemærk: make tager normalt et par minutter, da det genererer alle filerne a. O (eksekverbare filer) fra .c (kode), det vil sige, det kompilerer pakken.

Hvis der ikke er fejl i mærket, som bruger 'rod' vi installerer det:

 # make install
Bemærk: ingen Jeg vil forklare detaljeret for dem, der ikke forstår, hvad disse kommandoer gør, for mere information se om kompilering og Makefiles.

Vi tester:

 $ xscreensaver-demo

4- Rediger /hacks/glx/glmatrix.c

De vil tale med deres teksteditor favorit (vim, nano, gedit osv.) i mit tilfælde så jeg den fil, som vi skal ændre i dette tilfælde:

 $ vi ./hacks/glx/glmatrix.c

De er nødt til at finde en blok med følgende formular:
{
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);
}

Det er placeret omtrent på linje 760, men søgning efter "a = g" skulle finde det med det samme

Y tilføjer vi som følger den ønskede farve:
{
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);
}

At være i RGB Hexadecimal (rød-grøn-blå)

E.g., den karakteristiske blå af Arch Linux er han: # 1793D1, resterende:

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

Vi holder ændringerne.

5- Vi kompilerer den nye xscreensaver med den modificerede glmatrix.

På dette tidspunkt vil vi gøre næsten det samme som i punkt 2, men denne gang for at fange de ændringer, vi har foretaget.

Vi udfører:

 $ make clean

Derefter:

 $ make

Hvis der ikke kom nogen form for fejl i fabrikat, som bruger 'rod' vi udfører:

 # make install

6- Vi udfører, verificerer, konfigurerer og nyder.

Vi udfører:

 $ xscreensaver-demo

På listen vælger vi G.L. Matrix:

GLMatrix-forhåndsvisning

Og i præsentationen skal det allerede ses i den farve, de valgte.

Bemærk: i nogle tilfælde kan det være nødvendigt at genstarte computeren for at ændringerne skal træde i kraft både i Preview og når den køres.

Konfigurer efter smag .. og god fornøjelse 😉

7- Nogle eksempler på forskellige farver. (+ TIP)

Hexadecimal farve: # 9F03D9

Hexadecimal farve: # D41213

Hexadecimal farve: # E5E311

TIP: at kende en farve en Hexadecimal Jeg bruger GIMP, vi åbner farvepaletten og figurerer som "HTML-notation". Vi kan også trykke på 'o'og tag farven på et billede for at vide, hvad dets farve er i Hex.

Jeg håber du har nydt lige så meget som jeg prøvede og skrev det .. Eventuelle spørgsmål tøv ikke med at konsultere ..

Glad hacking ..


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.

  1.   Debianiten Merlin sagde han

    Nå, hvis det ser godt ud, og alt, men der ikke er noget som den klassiske grønne farve, gode tuto hilsner.

    1.    RAW-Basic sagde han

      Tak for din kommentar .. .. det er klart, at klassikeren er den klassiske ..

      Men det sjoveste ved dette (i det mindste for mig) og hvad der fik mig til at gøre det .. ..viden at have kildekoden foran os .. er som at sige «Jeg har Linux, og hvordan jeg vil ændre det ... kan godt være! .. "..

      Tak for læsningen .. 😉

  2.   hr linux sagde han

    Fremragende artikel, der ville have forestillet sig, at vi på et emne så elementært eller simpelt som en pauseskærm skulle have en hel klasse af kompilering, ændring og installation af det.

    1.    RAW-Basic sagde han

      Tak! .. ..Jeg er glad for at du er interesseret ..

      For mig var det også en lærende odyssey;) ..

  3.   rådner87 sagde han

    er der nogen forskel med at bruge:

    $ sudo pacman -S xscreensaver

    1.    RAW-Basic sagde han

      For hvilken del? .. ..hvis du henviser til punkt 2 og 3 for at kontrollere, om det fungerer .. i dit tilfælde, hvis du bruger Arch..ja, er det det samme .. da vi altid har den nyeste version ... .men for andre distroer er muligvis ikke det samme ..

      På den anden side..hvis du ikke downloader kildekoden .. .. du ikke kunne foretage farveændring .. som er formålet med dette indlæg ..

      Besvarede jeg dit spørgsmål?

      1.    rådner87 sagde han

        ok tak for tipet ^ _ ^

  4.   rafagcg sagde han

    Mange tak!!
    Proceduren er meget interessant.

    Greetings!

  5.   KZKG ^ Gaara sagde han

    Tak for bidraget 😀

  6.   FREMHÆVET sagde han

    Er det muligt for dig at dele den modificerede model med farven rød? tak