5 parches útiles para mejorar su experiencia dwm

Dwm es una pieza brillante de software minimalista. A través de solo 2000 líneas de código, sus desarrolladores lograron proporcionar un administrador de ventanas rápido y liviano. Este enfoque espartano en el desarrollo de software, sin embargo, tuvo un precio. Se eliminaron algunas características para mantener el tamaño del programa bajo.

A pesar de eso, es posible introducir nuevas funciones en dwm parcheando su código fuente, ya que dwm está basado en código fuente. Solo para realizar configuraciones básicas, necesitamos modificar config.h, que es parte del código fuente de dwm.

Parche Dwm 02 Configuración H

Si bien eso puede parecer complejo al principio, parchear dwm es simple una vez que entendemos algunas cosas sobre el proceso. Este artículo tiene como objetivo enseñar el conjunto de habilidades necesario para parchear con éxito su propia instalación de dwm y proporcionar cinco parches útiles.

¿Qué son los parches?

Los parches son pequeños fragmentos de código que se pueden insertar en un cuerpo de trabajo más grande. Esto es útil cuando se colabora en un gran proyecto de software, ya que permite a los programadores ver rápidamente los cambios realizados por otros.

Parche Dwm 03 Parche Arte

Los parches pueden ser tan simples como un pequeño cambio de una sola línea para corregir un error o un cambio masivo de varios archivos que introduce una nueva característica.

Cómo parchear un código fuente para dwm

Hay varias formas de introducir parches en un código fuente. La forma más común de hacerlo es a través de un comando git. Por ejemplo, para introducir un parche en un repositorio git, escriba lo siguiente:

git apply -3 path/to/the/patch.diff
  • los apply La función intentará insertar el contenido de los archivos de parche en los archivos de origen que se indican.
  • los -3 La opción intentará corregir cualquier inconsistencia y permitirá al usuario corregir cualquier error en el proceso de aplicación de parches.

Parche Dwm 04 Git Aplicar

Por otro lado, si estamos editando el código fuente sin ningún control de versiones, podemos usar el programa de parches GNU. Para insertar un parche usando eso, escriba lo siguiente:

patch -p1 < path/to/the/patch.diff
  • los -p1 La opción asegura que el archivo de parche se etiquetará correctamente para que el programa de parche lo inserte.

Sin embargo, al parchear dwm, hay veces que estos programas fallan, ya que asumen que el código fuente que estamos parcheando es similar a la instalación básica de dwm.

Esto significa que a medida que instalamos parches, más difícil será para el programa de parches insertar esos parches. Debido a esto, es importante comprender cómo funciona el archivo de parche para que podamos instalar manualmente los parches nosotros mismos.

Cómo leer un archivo de parche

Un archivo de parche consta de tres cosas:

  • Encabezado que muestra en qué archivo se debe insertar el código
  • Subtítulo que muestra qué número de línea o función insertar
  • El código en sí

Como hemos discutido anteriormente, un solo archivo de parche puede contener múltiples fragmentos de código destinados a ir a múltiples archivos. Este formato nos permite distribuir un solo archivo en lugar de tener un solo archivo de parche para cada archivo fuente.

Archivo de parche Dwm Patch 05

Con eso, leer el archivo del parche solo requiere que entendamos la sintaxis de sus encabezados. Una vez que sabemos eso, el parcheo real es solo una cuestión de copiar y pegar el código.

El encabezado de un parche contiene información vital sobre dónde se encuentra el archivo de origen. Por ejemplo, este es un encabezado para el dwm parche de tamaño automático.

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

Las líneas primera, tercera y cuarta indican que se trata de una diferencia entre dos versiones del archivo dwm.c. Nos dice que el archivo que vamos a modificar es el archivo “dwm.c”.

Sin embargo, el simple hecho de saber qué editar no nos ayudaría a parchear el archivo fuente. Todavía necesitamos saber en qué parte del archivo debemos insertar el código. Aquí es donde podemos usar los subtítulos del archivo de parche.

Por ejemplo, este es un segmento del mismo parche de tamaño automático descrito anteriormente:

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

Esto puede parecer una pieza de código desalentadora, pero solo necesitamos ver tres cosas aquí:

  • La primera línea indica el número de línea donde necesitamos insertar un fragmento de código. En este ejemplo, necesitamos insertar esto en la línea 92.
  • El segundo argumento en la primera línea – struct Client { – dice la función específica que tenemos que editar. Esto es útil cuando el archivo de origen ya estaba muy parcheado y los números de línea de la izquierda ya no se alinean.
  • Lo último que hay que mirar es el + y - signos en el bloque de código. El signo menos indica que es una línea que se eliminará y el signo más indica que es una línea que se agregará.

Con eso, ahora tenemos una comprensión básica de cómo aplicar parches a los archivos fuente. Ahora podemos proceder a discutir los cinco parches útiles para dwm.

1. Bandeja del sistema

A diferencia de la mayoría de los entornos de escritorio, dwm no incluye una bandeja del sistema de forma predeterminada. La bandeja del sistema es un segmento de un escritorio donde algunas aplicaciones pueden dejar un ícono con las funciones de la aplicación para interactuar rápidamente con un programa que se ejecuta en segundo plano.

Dwm Patch 06 Bandeja del sistema

este parche introduce esa función en dwm. Una vez instalado, el parche de la bandeja del sistema asignará la esquina más a la derecha de la barra dwm a los programas actuales de la bandeja del sistema. También admite configuraciones de múltiples monitores donde la bandeja siempre aparecería en el monitor que actualmente tiene el puntero del mouse.

Ejemplo de bandeja del sistema del parche 07 de Dwm

2. Recursos X

los Parche de recursos X permite que el programa xrdb establezca la configuración gráfica para dwm. Nos permite usar el archivo .Xresources para cambiar los colores y las fuentes sin volver a compilar el programa. Es especialmente útil para los usuarios que ya usan ese mismo archivo para el esquema de color de su terminal.

Parche Dwm 08 Xresources

Además, hacer que xrdb dicte la apariencia de dwm también nos permite usar múltiples temas. Podemos hacerlo modificando el archivo .Xresources para el esquema de color que queremos y habilitándolo recargando dwm.

3. Tatamis

tatamis es un diseño de ventana alternativo para dwm. Representa las ventanas de la pantalla como mosaicos dispuestos en un suelo tradicional japonés. Este enfoque es diferente al diseño tradicional de la pila y el maestro, donde cada ventana que no sea la maestra se vuelve más delgada verticalmente, lo que hace que cada ventana de la pila sea ilegible.

Parche Dwm 09 Tatami

El diseño de tatami es particularmente útil cuando se trata de cuatro o cinco ventanas simultáneamente, ya que le da a cada ventana un amplio espacio de pantalla para que el usuario pueda leer.

4. Maestro de enfoque

La forma en que dwm organiza las ventanas es similar a colocar bloques en una pila. Cada nueva ventana creada se coloca encima de la ventana anterior. Esto crea un orden lineal entre las ventanas y nos permite saber qué ventana vino primero.

Parche Dwm 11 Focus Master

Sin embargo, una limitación de este diseño es que no nos permite seleccionar libremente la ventana maestra de la pila. Para seleccionar el maestro, debemos seleccionar todas y cada una de las ventanas hasta llegar al bloque más alto. este parche cambia este comportamiento y nos permite seleccionar la ventana maestra actual desde cualquier lugar de la pila.

Es particularmente útil cuando se trata de múltiples ventanas, ya que nos permite seleccionar automáticamente el maestro en la pila de ventanas en lugar de pasar a cada ventana presente.

5. dwmc

Modificar cualquier aspecto de dwm requiere que recompilemos el programa cada vez que queramos aplicar nuestros cambios. Esto incluye, entre otros, el esquema de colores y el comportamiento predeterminado.

Parche Dwm 12 Dwmc

dwmc es un parche simple que nos permite cambiar el comportamiento de dwm a través de un programa cliente. Este enfoque es similar a la forma en que bspwm usa bspc para modificar la configuración de bspwm. Si bien dwmc es mucho más simple que bspc, todavía tiene una serie de configuraciones útiles que podemos usar y modificar.

Por ejemplo, una función que podemos usar en dwmc es togglebar. Ejecutar dwmc togglebar nos permite habilitar y deshabilitar dinámicamente la barra dwm. Esto hace que dwmc sea útil al crear secuencias de comandos que realizan un comportamiento de ventana personalizado.

¡Felicidades! Ahora tiene una comprensión básica de cómo funcionan los parches de código, así como cinco parches útiles que puede aplicar en su instalación de dwm. Si está buscando una experiencia mínima similar en un navegador, consulte este tutorial.

Preguntas frecuentes

1. ¿Son seguros los parches de dwm?

¡Sí! Varios mantenedores verifican los parches que están presentes en el sitio web de suckless. Esto garantiza que todos los parches del sitio web funcionen para la versión de dwm para la que está escrito.

2. Estoy usando git apply, pero mi parche falló y dwm no se está compilando. ¿Qué tengo que hacer?

Esto puede suceder debido a una serie de cosas. La razón más común es que los encabezados de git no se eliminaron en el archivo fuente. Esto es relativamente fácil de arreglar. Necesitamos eliminar los encabezados y aplicar el parche manualmente nosotros mismos.

Cuando abra el archivo de origen, verá una línea etiquetada HEAD. Esto indica el inicio de la modificación. Le sigue la función que necesita ser modificada. Deberá eliminar esa línea y realizar el parcheo manualmente. Aquí también habrá + y - signos en el lado izquierdo del código para guiarlo sobre qué cambiar.

3. ¿Qué hago cuando apliqué un parche con éxito, pero dwm no quiere compilar y solicita variables o declaraciones faltantes?

El programa de parcheo no parcheó el archivo config.h. De forma predeterminada, los parches editarán el archivo config.def.h para evitar conflictos con la configuración actual.

Sin embargo, significa que el archivo config.h no se cargará con los valores de configuración correctos para ese parche en particular. Para solucionar esto, debe introducir los cambios en el archivo config.def.h en su archivo config.h.

Publicaciones Similares

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *