5 patch utili per migliorare la tua esperienza dwm

Dwm Patch 00 Featured Image
⏱️ 11 min read

Dwm è un brillante software minimalista. Attraverso solo 2000 righe di codice, i suoi sviluppatori sono riusciti a fornire un gestore di finestre veloce e leggero. Questo approccio spartano allo sviluppo del software, tuttavia, aveva un prezzo. Alcune funzionalità sono state eliminate per ridurre le dimensioni del programma.

Nonostante ciò, è possibile introdurre nuove funzionalità in dwm applicando una patch al suo codice sorgente, poiché dwm è basato sul codice sorgente. Solo per eseguire le configurazioni di base, dobbiamo modificare config.h, che è una parte del codice sorgente di dwm.

Dwm Patch 02 Config H

Anche se all’inizio può sembrare complesso, l’applicazione di patch a dwm è semplice una volta che abbiamo compreso alcune cose sul processo. Questo articolo ha lo scopo di insegnare le competenze necessarie per correggere correttamente la propria installazione dwm e fornire cinque patch utili.

Cosa sono le patch?

Le patch sono piccoli frammenti di codice che possono essere inseriti in un corpo di lavoro più grande. Ciò è utile quando si collabora a un grande progetto software, poiché consente ai programmatori di vedere rapidamente le modifiche apportate da altri.

Dwm Patch 03 Patch Art

Le patch possono essere semplici come una piccola modifica di una riga per correggere un bug o una massiccia modifica a più file che introduce una nuova funzionalità.

Come patchare un codice sorgente per dwm

Esistono diversi modi per introdurre le patch in un codice sorgente. Il modo più comune per farlo è tramite un comando git. Ad esempio, per introdurre una patch in un repository git, digita quanto segue:

git apply -3 path/to/the/patch.diff
  • Il apply La funzione tenterà di inserire il contenuto dei file di patch nei file di origine indicati.
  • Il -3 l’opzione tenterà di correggere eventuali incongruenze e consentirà all’utente di correggere eventuali errori nel processo di patching.
Dwm Patch 04 Git Applicare

D’altra parte, se stiamo modificando il codice sorgente senza alcun controllo di versione, possiamo usare il programma patch GNU. Per inserire una patch usando quella, digita quanto segue:

patch -p1 < path/to/the/patch.diff
  • Il -p1 l’opzione assicura che il file della patch sia etichettato correttamente per il programma di patch da inserire.

Tuttavia, durante l’applicazione di patch a dwm, a volte questi programmi falliscono, poiché presuppongono che il codice sorgente che stiamo aggiornando sia simile all’installazione di base di dwm.

Ciò significa che mentre installiamo le patch, più difficile sarà per il programma di patch inserirle. Per questo motivo, è importante capire come funziona il file di patch in modo da poter installare manualmente le patch da soli.

Come leggere un file di patch

Un file di patch è composto da tre cose:

  • Intestazione che mostra in quale file deve essere inserito il codice
  • Sottotitolo che mostra quale numero di riga o funzione inserire
  • Il codice stesso

Come abbiamo discusso in precedenza, un singolo file di patch può contenere più frammenti di codice destinati a passare a più file. Questo formato ci consente di distribuire un singolo file invece di avere un unico file di patch per ogni file sorgente.

Dwm Patch 05 File di patch

Con ciò, la lettura del file di patch richiede solo di comprendere la sintassi delle sue intestazioni. Una volta che lo sappiamo, l’effettiva patch è solo una questione di copiare e incollare il codice.

La sintassi dell’intestazione della patch

L’intestazione di una patch contiene informazioni vitali sulla posizione del file sorgente. Ad esempio, questa è un’intestazione per il dwm patch di ridimensionamento automatico.

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

La prima, la terza e la quarta riga indicano che si tratta di una differenza tra due versioni del file dwm.c. Ci dice che il file che andremo a modificare è il file “dwm.c”.

Tuttavia, solo sapere cosa modificare non ci aiuterebbe a correggere il file sorgente. Dobbiamo ancora sapere dove nel file dobbiamo inserire il codice. Qui è dove possiamo usare i sottotitoli del file di patch.

Ad esempio, questo è un segmento della stessa patch di ridimensionamento automatico descritta sopra:

@@ -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;

Potrebbe sembrare un pezzo di codice scoraggiante, ma qui abbiamo solo bisogno di guardare tre cose:

  • La prima riga indica il numero di riga in cui dobbiamo inserire uno snippet di codice. In questo esempio, dobbiamo inserirlo alla riga 92.
  • Il secondo argomento sulla prima riga – struct Client { – indica la funzione specifica che dobbiamo modificare. Questo è utile quando il file sorgente è già stato pesantemente patchato e i numeri di riga a sinistra non si allineano più.
  • L’ultima cosa da guardare è il + e - segni nel blocco di codice. Il segno meno indica che si tratta di una linea da rimuovere e il segno più indica che si tratta di una linea da aggiungere.

Con ciò, ora abbiamo una conoscenza di base su come applicare patch ai file sorgente. Possiamo ora procedere alla discussione delle cinque patch utili per dwm.

1. Systray

A differenza della maggior parte degli ambienti desktop, dwm non viene fornito con una barra delle applicazioni per impostazione predefinita. La barra delle applicazioni è un segmento di un desktop in cui alcune applicazioni possono lasciare un’icona con le funzioni dell’app per interagire rapidamente con un programma in esecuzione in background.

Dwm Patch 06 Systray

Questa patch introduce quella funzione in dwm. Una volta installata, la patch systray assegnerà l’angolo più a destra della barra dwm ai programmi correnti della barra delle applicazioni. Supporta anche configurazioni multi-monitor in cui il vassoio apparirà sempre sul monitor che attualmente ha il puntatore del mouse.

Esempio di Systray Dwm Patch 07

2. Risorse X

Il Patch di risorse X consente al programma xrdb di impostare le impostazioni grafiche per dwm. Ci consente di utilizzare il file .Xresources per modificare i colori e i caratteri senza ricompilare il programma. È particolarmente utile per gli utenti che utilizzano già lo stesso file per la loro combinazione di colori del terminale.

Dwm Patch 08 Xresources

Inoltre, avere xrdb a dettare l’aspetto di dwm ci consente anche di utilizzare più temi. Possiamo farlo modificando il file .Xresources per la combinazione di colori che vogliamo e abilitandolo ricaricando dwm.

3. Tatami

Tatami è un layout di finestra alternativo per dwm. Rappresenta le finestre sullo schermo come piastrelle che sono disposte in un pavimento tradizionale giapponese. Questo approccio è diverso dal tradizionale layout master e stack, in cui ogni finestra diversa dal master diventa verticalmente più sottile, rendendo quindi illeggibile ogni finestra nello stack.

Dwm Patch 09 Tatami

Il layout tatami è particolarmente utile quando si tratta da quattro a cinque finestre contemporaneamente, poiché offre a ciascuna finestra un ampio spazio sullo schermo per la lettura dell’utente.

4. Maestro di messa a fuoco

Il modo in cui dwm dispone le finestre è simile al posizionamento dei blocchi in una pila. Ogni nuova finestra creata viene posizionata sopra la finestra precedente. Questo crea un ordine lineare tra le finestre e ci permette di sapere quale finestra è arrivata prima.

Dwm Patch 11 Focus Master

Tuttavia, una limitazione di questo design è che non ci consente di selezionare liberamente la finestra principale dallo stack. Per selezionare il master, dobbiamo selezionare ogni singola finestra fino a raggiungere il blocco più alto. Questa patch cambia questo comportamento e ci consente di selezionare la finestra principale corrente da qualsiasi punto dello stack.

È particolarmente utile quando si ha a che fare con più finestre, poiché ci consente di selezionare automaticamente il master nella pila di finestre piuttosto che scorrere fino a ciascuna finestra presente.

5. dwmc

La modifica di qualsiasi aspetto di dwm richiede di ricompilare il programma ogni volta che vogliamo applicare le nostre modifiche. Ciò include, tra l’altro, la combinazione di colori e il comportamento predefinito.

Dwm Patch 12 Dwmc

dwmc è una semplice patch che ci permette di modificare il comportamento di dwm tramite un programma client. Questo approccio è simile al modo in cui bspwm usa bspc per modificare le impostazioni di bspwm. Sebbene dwmc sia molto più semplice di bspc, ha ancora una serie di utili impostazioni che possiamo usare e modificare.

Ad esempio, una funzione che possiamo usare in dwmc è togglebar. L’esecuzione di dwmc togglebar ci consente di abilitare e disabilitare dinamicamente la barra dwm. Ciò rende dwmc utile durante la creazione di script che eseguono un comportamento personalizzato della finestra.

Congratulazioni! Ora hai una conoscenza di base di come funziona l’applicazione di patch al codice e cinque utili patch da applicare nell’installazione di dwm. Se stai cercando un’esperienza minima simile in un browser, dai un’occhiata a questo tutorial.

Domande frequenti

1. Le patch dwm sono sicure da usare?

Sì! Un certo numero di manutentori controlla le patch presenti nel sito Web suckless. Ciò garantisce che tutte le patch nel sito Web funzionino per la versione di dwm per cui è stata scritta.

2. Sto usando git apply, ma la mia patch non è riuscita e dwm non si sta compilando. Cosa dovrei fare?

Questo può accadere a causa di una serie di cose. Il motivo più comune è che le intestazioni git non sono state rimosse nel file sorgente. Questo è relativamente facile da risolvere. Dobbiamo rimuovere le intestazioni e applicare manualmente la patch da soli.

Quando apri il file sorgente, vedrai una riga etichettata HEAD. Questo indica l’inizio della modifica. Segue la funzione che deve essere modificata. Sarà necessario rimuovere quella riga ed eseguire manualmente l’applicazione delle patch. Qui dentro ci sarà anche + e - segni sul lato sinistro del codice per guidarti su cosa cambiare.

3. Cosa devo fare quando ho applicato una patch con successo, ma dwm non vuole compilare e chiede variabili o dichiarazioni mancanti?

Il programma di patch non ha corretto il file config.h. Per impostazione predefinita, le patch modificheranno il file config.def.h per evitare qualsiasi conflitto con la configurazione corrente.

Tuttavia, significa che il file config.h non verrà caricato con i valori di configurazione corretti per quella particolare patch. Per risolvere questo problema, devi introdurre le modifiche nel file config.def.h nel tuo file config.h.

Join our Newsletter and receive offers and updates! ✅

0 0 votes
Article Rating
Avatar di 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.

Potrebbero interessarti anche...

Subscribe
Notificami
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x