5 patch-uri utile pentru a vă îmbunătăți experiența dwm

Dwm Patch 00 Featured Image
⏱️ 12 min read

Dwm este o piesă genială de software minimalist. Prin doar 2000 de linii de cod, dezvoltatorii săi au reușit să ofere un manager de ferestre rapid și ușor. Această abordare spartană a dezvoltării software a venit însă cu un preț. Unele funcții au fost renunțate pentru a menține dimensiunea programului mai mică.

Top 5 destinații din Asia pentru n...
Top 5 destinații din Asia pentru nomazi digitali

În ciuda acestui fapt, este posibil să se introducă noi funcții în dwm prin corecțiile codului sursă, deoarece dwm se bazează pe sursă. Doar pentru a face configurații de bază, trebuie să modificăm config.h, care este o parte a codului sursă al dwm.

Dwm Patch 02 Config H

Deși asta poate părea complex la început, corecția dwm este simplă odată ce înțelegem câteva lucruri despre proces. Acest articol își propune să învețe setul de abilități necesare pentru a corecta cu succes propria instalare dwm și pentru a oferi cinci corecții utile.

Ce sunt patch-urile?

Patch-urile sunt fragmente mici de cod care pot fi inserate într-un corp de lucru mai mare. Acest lucru este util atunci când colaborați la un proiect software mare, deoarece le permite programatorilor să vadă rapid modificările făcute de alții.

Dwm Patch 03 Patch Art

Patch-urile pot fi la fel de simple ca o mică schimbare de o singură linie pentru a remedia o eroare sau o modificare masivă a mai multor fișiere care introduce o nouă caracteristică.

Cum se corectează un cod sursă pentru dwm

Există mai multe moduri de a introduce patch-uri într-un cod sursă. Cel mai comun mod de a face acest lucru este printr-o comandă git. De exemplu, pentru a introduce un patch într-un depozit git, tastați următoarele:

git apply -3 path/to/the/patch.diff
  • The apply funcția va încerca să insereze conținutul fișierelor de corecție în fișierele sursă care sunt indicate.
  • The -3 opțiunea va încerca să remedieze orice inconsecvențe și să permită utilizatorului să repare orice greșeli în procesul de corecție.
Dwm Patch 04 Git Apply

Pe de altă parte, dacă edităm codul sursă fără nici un control al versiunii, putem folosi programul de corecție GNU. Pentru a introduce un patch folosindu-l, tastați următoarele:

patch -p1 < path/to/the/patch.diff
  • The -p1 opțiunea se asigură că fișierul de corecție va fi etichetat corect pentru ca programul de corecție să fie introdus.

Cu toate acestea, atunci când corecționăm dwm, există situații în care aceste programe vor eșua, deoarece presupun că codul sursă pe care îl corectăm este similar cu instalarea de bază a dwm.

Aceasta înseamnă că, pe măsură ce instalăm patch-uri, cu atât va fi mai greu pentru programul de corecție să insereze acele patch-uri. Din acest motiv, este important să înțelegem cum funcționează fișierul de corecție, astfel încât să putem instala manual patch-urile.

Cum să citiți un fișier de corecție

Un fișier de corecție constă din trei lucruri:

  • Antet care arată în ce fișier trebuie inserat codul
  • Subtitlu care arată numărul de linie sau funcție de inserat
  • Codul în sine

După cum am discutat mai sus, un singur fișier de corecție poate conține mai multe fragmente de cod destinate să meargă la mai multe fișiere. Acest format ne permite să distribuim un singur fișier, mai degrabă decât să avem un singur fișier patch pentru fiecare fișier sursă.

Dwm Patch 05 Patch File

Cu aceasta, citirea fișierului de corecție necesită doar să înțelegem sintaxa antetelor sale. Odată ce știm asta, corecția efectivă este doar o chestiune de a copia și lipi codul.

Sintaxa antetului patch-ului

Antetul unui patch conține informații vitale cu privire la locul în care se află fișierul sursă. De exemplu, acesta este un antet pentru dwm patch de redimensionare automată.

diff --git a/dwm.c b/dwm.c
index 0362114..e4e8514 100644
--- a/dwm.c
+++ b/dwm.c

Prima, a treia și a patra rânduri indică faptul că aceasta este o diferență între două versiuni ale fișierului dwm.c. Ne spune că fișierul pe care urmează să-l modificăm este fișierul „dwm.c”.

Cu toate acestea, doar a ști ce să edităm nu ne-ar ajuta să corectăm fișierul sursă. Mai trebuie să știm unde din fișier trebuie să inserăm codul. Aici putem folosi subtitlurile fișierului de corecție.

De exemplu, acesta este un segment al aceluiași patch de redimensionare automată descris mai sus:

@@ -92,7 +92,7 @@ struct Client {
 	int basew, baseh, incw, inch, maxw, maxh, minw, minh;
 	int bw, oldbw;
 	unsigned int tags;
-	int isfixed, isfloating, isurgent, neverfocus, oldstate, isfullscreen;
+	int isfixed, isfloating, isurgent, neverfocus, oldstate, isfullscreen, needresize;
 	Client *next;
 	Client *snext;
 	Monitor *mon;

Aceasta ar putea părea o bucată de cod descurajantă, dar trebuie să ne uităm doar la trei lucruri aici:

  • Prima linie indică numărul liniei în care trebuie să inserăm un fragment de cod. În acest exemplu, trebuie să inserăm acest lucru pe linia 92.
  • Al doilea argument pe prima linie – struct Client { – spune funcția specifică pe care trebuie să o edităm. Acest lucru este util atunci când fișierul sursă a fost deja puternic patch-at și numerele de linie din stânga nu se mai aliniază.
  • Ultimul lucru la care trebuie să te uiți este + și - semne în blocul de cod. Semnul minus indică faptul că este o linie care trebuie eliminată, iar semnul plus indică faptul că este o linie care trebuie adăugată.

Cu aceasta, acum avem o înțelegere de bază despre cum să corecționăm fișierele sursă. Acum putem trece la discutarea celor cinci corecții utile pentru dwm.

1. Systray

Spre deosebire de majoritatea mediilor desktop, dwm nu vine cu o bară de sistem în mod implicit. Tava de sistem este un segment al unui desktop unde unele aplicații pot lăsa o pictogramă cu funcțiile aplicației pentru a interacționa rapid cu un program care rulează în fundal.

Dwm Patch 06 Systray

Acest plasture introduce această caracteristică în dwm. Odată instalat, patch-ul systray va aloca colțul din dreapta al barei dwm programelor curente din bara de sistem. De asemenea, acceptă setări cu mai multe monitoare în care tava ar apărea întotdeauna pe monitorul care are în prezent indicatorul mouse-ului.

Dwm Patch 07 Systray Exemplu

2. Xresurse

The Patch Xresources permite programului xrdb să seteze setările grafice pentru dwm. Ne permite să folosim fișierul .Xresources pentru a schimba culorile și fonturile fără a recompila programul. Este util în special pentru utilizatorii care folosesc deja același fișier pentru schema de culori a terminalului.

Dwm Patch 08 Xresources

În plus, faptul că xrdb dictează aspectul dwm ne permite, de asemenea, să folosim mai multe teme. Putem face asta modificând fișierul .Xresources pentru schema de culori pe care o dorim și activând-o prin reîncărcarea dwm.

3. Tatami

Tatami este un aspect alternativ de fereastră pentru dwm. Reprezintă ferestrele din paravan ca plăci care sunt dispuse într-o pardoseală tradițională japoneză. Această abordare este diferită de aspectul tradițional de master și stivă, în care fiecare fereastră, alta decât masterul, devine vertical mai subțire, făcând, prin urmare, fiecare fereastră din stivă imposibil de citit.

Dwm Patch 09 Tatami

Dispunerea tatami-ului este deosebit de utilă atunci când aveți de-a face cu patru până la cinci ferestre simultan, deoarece oferă fiecărei ferestre un spațiu amplu pe ecran pentru utilizator pentru a ne citi.

4. Focus Master

Modul în care dwm aranjează ferestrele este similar cu plasarea blocurilor într-o stivă. Fiecare fereastră nouă creată este plasată deasupra ferestrei anterioare. Acest lucru creează o ordine liniară între ferestre și ne permite să știm care fereastră a apărut prima.

Dwm Patch 11 Focus Master

Cu toate acestea, o limitare a acestui design este că nu ne permite să selectăm liber fereastra principală din stivă. Pentru a selecta masterul, trebuie să selectăm fiecare fereastră până ajungem la cel mai înalt bloc. Acest plasture modifică acest comportament și ne permite să selectăm fereastra principală curentă de oriunde în stivă.

Este deosebit de util atunci când avem de-a face cu mai multe ferestre, deoarece ne permite să selectăm automat masterul din stiva de ferestre, mai degrabă decât să mergem la fiecare fereastră prezentă.

5. dwmc

Modificarea oricărui aspect al dwm necesită să recompilăm programul ori de câte ori dorim să aplicăm modificările noastre. Aceasta include, printre altele, schema de culori și comportamentul implicit.

Dwm Patch 12 Dwmc

dwmc este un patch simplu care ne permite să schimbăm comportamentul dwm printr-un program client. Această abordare este similară cu modul în care bspwm folosește bspc pentru a modifica setările lui bspwm. Deși dwmc este mult mai simplu decât bspc, are totuși o serie de setări utile pe care le putem folosi și modifica.

De exemplu, o funcție pe care o putem folosi în dwmc este togglebar. Rularea barei de comutare dwmc ne permite să activăm și să dezactivăm dinamic bara dwm. Acest lucru face dwmc util atunci când se creează scripturi care efectuează un comportament personalizat al ferestrei.

Felicitări! Acum aveți o înțelegere de bază a modului în care funcționează corecția codului, precum și cinci corecții utile pe care le aplicați în instalarea dwm. Dacă sunteți în căutarea unei experiențe minime similare într-un browser, consultați acest tutorial.

întrebări frecvente

1. Patch-urile dwm sunt sigure de utilizat?

Da! O serie de menținători verifică patch-urile care sunt prezente pe site-ul web suckless. Acest lucru asigură că toate patch-urile din site-ul web funcționează pentru versiunea dwm pentru care a fost scris.

2. Folosesc git apply, dar patch-ul meu a eșuat și dwm nu se compilează. Ce ar trebuii să fac?

Acest lucru se poate întâmpla din cauza mai multor lucruri. Cel mai frecvent motiv este că anteturile git nu au fost eliminate din fișierul sursă. Acest lucru este relativ ușor de reparat. Trebuie să scoatem anteturile și să aplicăm singuri plasturele.

Când deschideți fișierul sursă, veți vedea o linie etichetată HEAD. Aceasta indică începutul modificării. Este urmată de funcția care trebuie modificată. Va trebui să eliminați acea linie și să efectuați patch-ul manual. Aici, va fi și + și - semne din partea stângă a codului pentru a vă ghida asupra a ceea ce trebuie schimbat.

3. Ce fac când am aplicat cu succes un patch, dar dwm nu vrea să compileze și cere variabile sau declarații lipsă?

Programul de corecție nu a corectat fișierul config.h. În mod implicit, patch-urile vor edita fișierul config.def.h pentru a evita orice conflicte cu configurația curentă.

Cu toate acestea, înseamnă că fișierul config.h nu se va încărca cu valorile de configurare potrivite pentru acel patch. Pentru a remedia acest lucru, trebuie să introduceți modificările din fișierul config.def.h în fișierul config.h.

Join our Newsletter and receive offers and updates! ✅

0 0 votes
Article Rating
Avatar of Routech

Routech

Routech is a website that provides technology news, reviews and tips. It covers a wide range of topics including smartphones, laptops, tablets, gaming, gadgets, software, internet and more. The website is updated daily with new articles and videos, and also has a forum where users can discuss technology-related topics.

You may also like...

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x