static-httpd

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

commit b45537fab077216395bced1a19fe3ec47228f39f
parent 58e5d57320f402cf4d6677d631daefa447fe2e58
Author: fjbalon <fbalon@templier.es>
Date:   Wed, 10 Jun 2026 11:10:19 +0200

Actualización de artículos dwm

Diffstat:
Mdwm-howto/index.html | 35+++++++++++++++--------------------
Mdwm/index.html | 64++++++++++++++++++++++++++++++++--------------------------------
2 files changed, 47 insertions(+), 52 deletions(-)

diff --git a/dwm-howto/index.html b/dwm-howto/index.html @@ -17,16 +17,16 @@ <p>Existen parches ya programados y publicados por la comunidad de suckless que permiten extender fácilmente el windows manager según los parámetros requeridos por el usuario. En mi caso, utilizo éstos de base:</p> <ul> <li>Parches estéticos</li> - <ul> +<ul> <li><a href="https://dwm.suckless.org/patches/actualfullscreen">actualfullscreen</a>: Alterna la pantalla completa para una ventana, en lugar de alternar la barra de estado y el diseño monocle2.</li> <li><a href="https://dwm.suckless.org/patches/titlecolor">titlecolor</a>: Añade un nuevo esquema de color utilizado por el título de la ventana en la barra, de modo que sus colores (primer plano y fondo) se pueden cambiar de forma independiente.</li> <li><a href="https://dwm.suckless.org/patches/noborder">noborderfloating</a>: Elimina el borde cuando sólo haya una ventana visible.</li> - </ul> +</ul> <li>Parches funcionales</li> - <ul> +<ul> <li><a href="https://dwm.suckless.org/patches/movestack">movestack</a>: Permite mover clientes en la pila e intercambiarlos con el maestro.</li> <li><a href="https://dwm.suckless.org/patches/pertag">pertag</a>: Mantiene layout, mwfact, barpos y nmaster por etiqueta (tag).</li> - </ul> +</ul> </ul> <p>Basado en el artículo <a href="https://ratfactor.com/dwm">Dave's Visual Guide to dwm</a> y usando, con su permiso, algunas imágenes de su autoría; voy a exponer cómo uso, o conduzco, <emb>dwm</emb> obteniendo toda su potencia gráfica. A priori, puede parecer un uso complejo y complicado, y de hecho así lo es en un inicio. Sin embargo, como aquel que controla maquinaria pesada o programas complejos, con el uso rutinario que se convierte en hábito, se convierte en un poderoso arma de productividad y enfoque táctico.</p> <p>Lo primero que hay que definir es la tecla principal, que en mi caso es <kbd>Mod4</kbd>. Cabe destacar que por defecto es <kbd>Alt</kbd>.</p> @@ -34,23 +34,19 @@ <p>Un layout, en el contexto de diseño gráfico y de interfaces de usuario, es la disposición visual y organizativa de los elementos en una pantalla. <emb>dwm</emb> cuenta con 3 layouts:</p> <ol start="0"> <li> - <p><kbd>Mod4</kbd>+<kbd>t</kbd> Tiled (mosaico): reorganiza las ventanas en la configuración maestra/pila de mosaicos dinámicos.</p> - - <img style="width: 45%;" src="resources/tiled_layout.png"/> - - <p>Es el layout por defecto al abrir una tag. La ventana creada comienza a pantalla completa. A medida que se agregan ventanas, se abren en el área master (zona izquierda); mientras que las más antiguas se empujan al área stack(zona derecha, apiladas).</p> - <img style="width: 60%;" src="resources/dwm_master_stack_layout.png"/> - </li> +<p><kbd>Mod4</kbd>+<kbd>t</kbd> Tiled (mosaico): reorganiza las ventanas en la configuración maestra/pila de mosaicos dinámicos.</p> +<img style="width: 45%;" src="resources/tiled_layout.png"/> +<p>Es el layout por defecto al abrir una tag. La ventana creada comienza a pantalla completa. A medida que se agregan ventanas, se abren en el área master (zona izquierda); mientras que las más antiguas se empujan al área stack(zona derecha, apiladas).</p> +<img style="width: 60%;" src="resources/dwm_master_stack_layout.png"/> +</li> <li> - <p><kbd>Mod4</kbd>+<kbd>f</kbd> Floating (flotante): las ventanas pueden superponerse, moverse y dimensionarse manualmente.</p> - - <img style="width: 20%;" src="resources/floating_layout.png"/> - </li> +<p><kbd>Mod4</kbd>+<kbd>f</kbd> Floating (flotante): las ventanas pueden superponerse, moverse y dimensionarse manualmente.</p> +<img style="width: 20%;" src="resources/floating_layout.png"/> +</li> <li> - <p><kbd>Mod4</kbd>+<kbd>m</kbd> Monocle (monóculo): una sóla ventana completa enfocada se empuja hacia el frente, el resto, esperan detrás a ser enfocadas.</p> - - <img style="width: 45%;" src="resources/monocle_layout.png"/> - </li> +<p><kbd>Mod4</kbd>+<kbd>m</kbd> Monocle (monóculo): una sóla ventana completa enfocada se empuja hacia el frente, el resto, esperan detrás a ser enfocadas.</p> +<img style="width: 45%;" src="resources/monocle_layout.png"/> +</li> </ol> <p>Además, alterna entre los dos layouts más actuales con <kbd>Mod4</kbd>+<kbd>Space</kbd>. Para cambiar entre los estados de mosaico y flotante en la ventana enfocada <kbd>Mod4</kbd>+<kbd>Shift</kbd>+<kbd>Space</kbd>.</p> <img style="width: 45%;" src="resources/toggle_window_floating.png"/> @@ -100,6 +96,5 @@ <h2>Administración de monitores</h2> <p>En ocasiones, trabajamos con más de un monitor. En ese caso, cada monitor extenderá el escritorio de <emb>dwm</emb>, manteniendo 9 tags independientes -por defecto- en cada escritorio.</p> <p>Cada escritorio puede ser comportado como una tag superior, moviendo el foco de escritorio con <kbd>Mod4</kbd>+<kbd>,</kbd> y <kbd>Mod4</kbd>+<kbd>.</kbd>. Para enviar una ventana a la tag enfocada del siguiente escritorio uso <kbd>Mod4</kbd>+<kbd>Shift</kbd>+<kbd>,</kbd>, <kbd>Mod4</kbd>+<kbd>Shift</kbd>+<kbd>.</kbd> para enviarla al escritorio anterior.</p> - </body> </html> \ No newline at end of file diff --git a/dwm/index.html b/dwm/index.html @@ -12,42 +12,42 @@ <p class="title">Del por qué uso gestor de ventanas (dwm) en lugar de un entorno de escritorio</p> <p class="date">8 de octubre de 2021 • fjbalon</p> </header> -<p>Desde que me inicié en el mundo GNU/Linux y sus distribuciones, allá por 2011, no he parado, como es costumbre en esta comunidad, de moverme entre distribuciones, sabores entornos gráficos... Como es frecuente, inicié con Ubuntu (juraría que inicie con Ubuntu 10.10 Maverick Meerkat, pero no lo tengo del todo claro), y desde ese momento salté por otras distribuciones derivadas de Debian. No fue hasta que instalé Arch GNU/Linux y todo el proceso de aprendizaje que eso conllevó, que me quedé en ella (quizás por 2013) hasta ahora, como distro en mi equipo principal.</p> -<p>Pero las distribuciones no son las protagonistas de este texto, sino los entornos gráficos y los gestores de ventanas. Paralelamente a las distribuciones, mi indecisión y búsqueda sin fin se centraba en los entornos gráficos. He pasado por Gnome (y vuelto a Mate, considerándome tradicionalista del entorno viejo de Gnome antes de la llegada de Shell), he pasado por KDE y después por Plasma, he usado LXDE y XFCE, también Enlightenment, Cinnamon... Por supuesto Unity cuando Canonical lo implementó. Incluso he experimentado con CDE, y me ha gustado hacerlo. Pero ninguno se quedó conmigo. Si bien con una buena capa, Mate y LXDE pueden ser mis favoritos, las limitaciones físicas y la dependencia del ratón de estos entornos me pueden.</p> -<p>Fue entonces que dejé de usar, paulatinamente entornos de escritorio para usar, directa y simplemente los gestores de ventana (WM). Un gestor de ventanas -o Windows Manager- es el programa encargado de manejar la disposición de las ventanas en la interfaz gráfica de usuario en el sistema operativo, siendo responsable de determinar cómo las ventanas se organizan en el espacio y cómo interactúan entre sí. Esto dota al usuario una capacidad matemática y computacional mayor, en cuanto a la interfaz humano-máquina, puesto que controlas la geometría para determinar cómo las ventanas se superponen o se organizan en mosaicos, pilas, etc. El código interactúa directamente con las bibliotecas gráficas para dibujar y manipular estas ventanas.</p> -<p>Es una pregunta frecuente: ¿por qué usar un gestor de ventanas a pelo en lugar de un entorno de escritorio? Lo primero que hay que saber, es que un gestor de ventanas ya forma parte de un entorno de escritorio. Ya hemos mencionado antes cómo el gestor de ventanas es el programa que actúa como motor para el modelo matemático-geométrico del comportamiento de la interfaz gráfica. Las razones por las que utilizar un gestor de ventanas 'a pelo' son variadas, e incluso contradictorias según el usuario. En mi caso, me he quedado con el uso de gestor de ventanas por:</p> -<ul> +<p>Unix tienen algo esotérico, algo de carácter iniciático. Hay una verdadera barrera entre el usuario y el verdadero emperador de su sistema: el root. Los sistemas Unix son, en esencia, un arte arcaico. Un sistema operativo que se revela sólo ante los que están dispuestos al sacrificio, a descender a a más bajo nivel, a susurrar a la máquina.</p> +<p>Yo fui iniciado allá por 2011. Y como tal, aprendí y pivotaba de una distribución a otra. <em>Distrohopping </em>lo llaman ahora. Es una regla no escrita en los iniciados. Inicié con Ubuntu 10.10 y en seguida profundicé en Debian; vacilé con algunas distribuciones hijas, pero me quedé en el buen Debian hasta por allá de 2013. Entonces, instalé Archlinux y me convertí en fiel adepto de su grimorio y su estructura, de Pacman y de su procedimiento de instalación. He sido hijo de Archlinux muchos años, hasta que en 2019 abracé Slackware, la más antigua y la más Unix de las distribuciones de Linux.</p> +<p>Pero este texto no versa sobre distribuciones, sino por el uso que el usuario general de sistemas operativos basados en Unix hace gráficamente. La interfaz de texto es la forma humano-máquina perfecta, más precisa, más metódica, más natural. Son hechizos que se hacen en la shell, una puerta del conocimiento cuasi gnóstico de las tripas del sistema, heredada de su propia filosofía y doctrina minimalista y modular. Unix siempre ha rechazado la opulencia y la complejidad, rechaza la vanidad. La interfaz de texto invita a una comprensión mucho más profunda, quien entiende la shell entiende cómo funciona el sistema operativo y entiende cómo funciona Linux.</p> +<p>Sin embargo, a pesar de su superioridad, hoy día es necesario poder visualizar y ejecutar aplicaciones gráficas en el sistema, ordenarlas visualmente, utilizar el ratón, interactuar con algo más que texto, etcétera. Esto no es impedimento para la profundización en el sistema, sino un añadido, una capa más que se superpone a la shell (otra de las muchas razones por las que, esencial y estructuralmente, los sistemas herederos de Unix son superiores a los de Microsoft). Para ello existe lo que se denomina entorno de escritorio.</p> +<p>Un entorno de escritorio es un conjunto, una suite, de aplicaciones gráficas que proveen al usuario de estas funciones. Al igual que el conocido <em>distrohopping</em>, existe algo similar en los iniciados con los entornos gráficos. Estos entornos se hacen lo más amigable posibles, lo más cercano a usuarios inexpertos, se hacen cómodas de usar; ocultan su maquinaria interna. Al igual que haciendo pivotado entre distros, también desde bien temprano conocimiento pivoté por Gnome, Mate, KDE -después Plasma-, XFCE. Usé varios años LXDE. Probé Enlightenment y Cinnamon. Incluso Unity. Sin embargo, a ninguno amé. Reconozco que LXDE, que use más tiempo que el resto, puede ser un gran candidato, por simplicidad y minimalismo. Pero estos entornos están esencialmente limitados a sí mismos. </p> +<p>Unix te exigirá más.</p> +<p>Es entonces que conocerás al gestor de ventanas, o windows manager. El gestor de ventanas es el programa, que por cierto forma parte fundamental de todo entorno gráfico, cuya función es manejar la disposición de las ventanas; determina cómo las ventanas se organizan en el espacio y cómo interactúan entre sí, actúa como motor para el modelo matemático y geométrico del comportamiento de la interfaz gráfica.</p> +<p>Controlar el gestor de ventanas te dota, usuario, de una capacidad matemática y computacional mayor, interfaz humano-máquina superior, puesto que controla la geometría para determinar cómo las ventanas se superponen o se organizan en mosaicos, pilas, etcétera. El código interactúa directamente con las bibliotecas gráficas para dibujar y manipular estas ventanas. El gestor de ventanas habla con el servidor gráfico. </p> +<p>Las razones por las utilizar un gestor de ventanas y no sobrevitaminarlo con entorno de escritorio alguno son variadas, e incluso contradictorias según el usuario. Yo me he quedado con el uso de gestor de ventanas por:</p> +<ol> <li>El software empleado es mínimo, tanto a nivel técnico como a nivel estético. Haciendo que sea fácil su modificación y que funcione de la misma forma en máquinas de bajos recursos hardware. Además, ocupan muy poco en memoria.</li> <li>Como programador, la capacidad de tener control absoluto sobre su software, en este caso sobre la matemática y la geometría de sus ventanas, y la interfaz humano-máquina, es absoluta.</li> <li>Al carecer de añadidos estéticos como animaciones, la velocidad de uso es exponencial a la experiencia adquirida. El ahorro de tiempo y la mejora en productividad es un valor añadido.</li> <li>Los distintos modos de pantalla (mosaico, flotante...) permiten una personalización y adaptación de uso como ningún otro entorno.</li> -<li>La primacía del teclado, la independencia del ratón.</li> -</ul> -<p>Y por supuesto, el hecho de pertenecer a ese selecto grupo de 'hackers del mosaico', esa comunidad descentralizada que a los ojos de los profanos son hackers de intelecto superior, es también -retóricamente- un añadido a tener en cuenta.</p> -<p>También es un método de aprendizaje de informática y de programación muy bueno. Al final, un gestor de ventanas simplemente reordena ventanas, sin contar con ningún programa gráfico de personalización, haciéndose todo en código o ficheros de configuración, lo que obliga a su usuario a aprender -si no los conocía ya- los fundamentos de programación, a administrar ficheros de configuración Unix, a utilizar el intérprete de comandos, etcétera.</p> -<p>Mis primeras pruebas las realicé sobre i3 y Openbox, pero no fue hasta que probé <emb>AwesomeWM</emb>, que su velocidad, personalización en Lua y complementación para con mi uso diario le hicieran el gestor de ventanas que comenzaría a utilizar (a eso de 2014) hasta principios de 2020. Son unos 6 años de uso diario y exclusivo de este gestor de ventanas, por lo que tengo un cariño especial a éste y su mítico fondo por defecto.</p> - - <a href="#"><span class="info"></span></a> -<p>A principios de 2020 migré, paulatinamente, a <emb>dwm</emb> (dynamic windows manager) de suckless. No considero éste un cambio de pensamiento o conversión, en absoluto, sino más bien el haber alcanzado una plenitud más a bajo nivel de <emb>AwesomeWM</emb>; una evolución. <emb>dwm</emb> es la base de <emb>AwesomeWM</emb>, siendo el último un fork el primero con <emb>XCB</emb>, <emb>EWMH</emb>, <emb>Lua script</emb>, <emb>Xft</emb>, <emb>D-Bus</emb>, <emb>multihead support</emb>..., y al estar a más bajo nivel, he ganado simplificación de código (éste está íntegramente escrito en C, y no cuenta con archivos de configuración en Lua), velocidad (<emb>dwm</emb> es absurdamente rápido), mejor rendimiento y eficiencia.</p> -<p><emb>dwm</emb> cuenta con una serie de bondades que para mí, en mi experiencia de usuario diaria son fundamentales:</p> - <ul> -<li>Mantiene prácticamente el 100% de la superficie de pantalla usable.</li> -<li>Se inicia casi instantáneamente, incluso en máquinas de baja potencia.</li> -<li>Es prácticamente independiente, pudiendo ser ejecutado tal cual en casi cualquier *nix Like.</li> -<li>Implementa el reflejo perfecto de mis propios patrones de uso:</li> - <ul> -<li>No quiero redimensionar o mover una ventana manualmente si no tengo que hacerlo.</li> -<li>Normalmente tengo al menos dos ventanas abiertas una al lado de la otra. - </li> -<li>A veces quiero mutar una ventana a pantalla completa rápidamente, y volver al estado anterior con la misma rapidez.</li> -<li>Siempre quiero usar todo el espacio de pantalla disponible para mostrar contenido. De hecho ni si quiera tengo fondo de pantalla.</li> -<li>Me gusta usar varios escritorios para trabajar.</li> +<li>La primacía del teclado y la independencia del ratón.</li> +<li>Y por supuesto, el hecho de pertenecer a ese selecto grupo de hackers del mosaico, esa comunidad descentralizada que a los ojos de los profanos son de intelecto superior. La secta de Linux.</li> +</ol> +<p>Mis primeras pruebas las realicé sobre i3 y Openbox, pero no fue hasta que probé&nbsp;AwesomeWM que su velocidad, personalización en el lenguaje de programación Lua y complementación para con mi uso diario le hicieran el gestor de ventanas que comenzaría a utilizar, allá por 2014 hasta 2019. Son unos 5 años de uso diario y exclusivo de este gestor de ventanas, por lo que tengo un cariño especial a éste y su mítico fondo.</p> +<p>A principios de 2020 migré, paulatinamente, a&nbsp;dwm&nbsp;(dynamic windows manager) de suckless. No considero éste un cambio de pensamiento o conversión, en absoluto, sino más bien el haber alcanzado una plenitud -más a bajo nivel- de&nbsp;AwesomeWM; una evolución.&nbsp;dwm&nbsp;es la base de&nbsp;AwesomeWM, siendo el último un fork el primero con&nbsp;XCB,&nbsp;EWMH,&nbsp;Lua script,&nbsp;Xft,&nbsp;D-Bus,&nbsp;multihead support..., y al estar a más bajo nivel, he ganado simplificación de código (éste está íntegramente escrito en C, y no cuenta con archivos de configuración en Lua), velocidad (dwm&nbsp;es absurdamente rápido), y una notable mejora de rendimiento y eficiencia.</p> +<p>dwm&nbsp;cuenta con una serie de características que, para mí, en mi experiencia diaria, son fundamentales:</p> +<ol> +<li>Mantiene prácticamente la totalidad de la superficie de pantalla utilizable.</li> +<li>Se inicia instantáneamente, incluso en máquinas de baja potencia.</li> +<li>Es independiente. Puede ser compilado y ejecutado en cualquier heredero de Unix, sea GNU/Linux, sea BSD, sea Solaris.</li> +<li>Implementa un reflejo, efigie perfecta de mis propios patrones de uso:</li> +<ol> +<li>No quiero redimensionar o mover una ventana manualmente de primeras, a no ser que quiera hacerlo.</li> +<li>Normalmente tengo al menos dos ventanas abiertas, una al lado de la otra; una maestra y otra esclava.</li> +<li>A veces quiero mutar una ventana a pantalla completa rápidamente, y volver al estado anterior con la misma velocidad.</li> +<li>Siempre quiero usar todo el espacio de pantalla disponible para mostrar contenido.</li> +<li>Me gusta usar varios escritorios para trabajar. A menudo, también varios monitores.</li> <li>Quiero atajos de teclado para todo. La primacía del teclado sobre el ratón es fundamental. El ratón queda relegado a tareas indispensables, como el uso del navegador o de otras aplicaciones concretas.</li> - </ul> -<li><emb>dwm</emb> coloca las ventanas exactamente donde yo las hubiera colocado, sin yo mover un dedo. Es como si hubiera sido hecho específicamente para mí.</li> -<li>De hecho, <emb>dwm</emb> hace que sea tan fácil mover ventanas que casi nunca echo de menos tener varios monitores. En mi casa o trabajo los tengo, pero cuando viajo no.</li> -</ul> -<p>También he de decir que la filosofía de suckless me ha cautivado, así como su modelo de implementación de parches y minimalismo.</p> - +</ol> +<li>Intuitivamente, dwm&nbsp;coloca las ventanas exactamente donde yo las hubiera colocado.</li> +<li>De hecho,&nbsp;dwm&nbsp;hace que sea tan fácil mover ventanas que casi nunca echo de menos tener varios monitores. En mi casa o trabajo los tengo, pero cuando viajo no.</li> +<li>Me declaro adepto de la filosofía de suckless, así como su modelo de implementación de parches y minimalismo.</li> +</ol> </body> </html> \ No newline at end of file