• PycaWM

Versión analizada

0.2, publicada el 1 de marzo de 2009.

Página oficial

Desapareció en 2011, pero aún puede verse una réplica de ella en The Internet Archive.

Estado actual

Su desarrollo fue corto, un par de años entre 2007 y 2009. Durante esa época despertó cierto interés por tratarse de un proyecto atípico —¡un gestor de ventanas escrito en Python!—, alguna distribución de Linux lo incluyó en sus repositorios, y ganó un reducido grupo de usuarios. Tras su abandono cayó paulatinamente en la oscuridad, y hoy resulta muy poco probable que quede alguien utilizándolo.

Características resumidas

Esc. Virtuales Menús Iconos Temas Dockapps At. de teclado Barra de tareas
No No No

Descripción


Captura de PycaWM

PycaWM, tal y como viene de fábrica, fondo de escritorio incluido. Arriba, de izquierda a derecha encontramos un paginador, dos botones para controlar reproductores de música, y otros dos que invocan sendos menús.


PycaWM vino desde Francia firmado por dos autores, Vincent Rasneur y Anaël Verrier. Es un gestor de pila que sigue las convenciones acostumbradas: ventanas flotantes que el usuario puede mover libremente por el escritorio, protagonismo del ratón, minimizar y maximizar, etc. Así que en principio no trae nada extraordinario.

Su rasgo más llamativo lo encontramos en el hecho de que está escrito en Python , una elección poco habitual para programar gestores de ventanas —para la gran mayoría de ellos se utiliza C, o C++ ocasionalmente—. Aunque tampoco es tan raro, porque existieron otros experimentos anteriores con este lenguaje: PLWM, PyWM, Tritium... PycaWM tuvo una vida corta entre 2008 y 2009, pero llegó a un estado relativamente completo.

Cuenta con escritorios virtuales, por defecto tres, y un paginador para orientarse en ellos. También atajos de teclado para agilizar algunas operaciones. Y hay menús, muchos menús: un menú principal que aparece al clicar con el botón izquierdo del ratón sobre el escritorio, un menú de aplicaciones que se construye automáticamente a partir del software instalado en el sistema, un menú de tareas, otro con el único propósito de recuperar ventanas minimizadas... Incluso es posible hacer algunos ajustes básicos —el modelo de enfoque— desde ellos.

Parte de la funcionalidad de PycaWM está organizada en módulos independientes que el usuario puede utilizar a voluntad. El paginador, por ejemplo, es uno de ellos. Otros se ocupan de pequeños detalles como la posibilidad de ceñir ventanas a los bordes de la pantalla —StickyRootEdges—, o mostrar información extra al mover o redimensionar ventanas —MovePos y ResizePos—. Y por último hay un par de ellos que añaden botones al escritorio con funciones diversas: los de MusicActionButtonBox facilitan el manejo de reproductores de música, y los de ActionButtonBox servirán para ejecutar casi cualquier cosa.

Existe además una línea de comandos desde la que darle órdenes directas —en Python, claro— al gestor. Con el módulo RemoteREPL activo, se accede a ella cargando el archivo ejecutable pycarepl desde una terminal.

La configuración viene en un archivo llamado config.py, que el usuario debe guardar en el directorio ~/.config/PycaWM. Hablamos por supuesto de un bloque de código Python. En realidad lo que hace este fichero es definir los atajos de teclado, el menú de inicio y otras cuestiones, y acto seguido iniciar el bucle principal del gestor: se trata por tanto del primer paso de su proceso de arranque. De hecho resulta posible iniciar PycaWM con una orden como:

$ python ~/.config/PycaWM/config.py

Aunque es más recomendable utilizar el script preparado para ello, pycawm_launcher, que tras instalar el programa debería estar en /usr/bin o /usr/local/bin.

Sólo me queda comentar que... ¡Existe un diálogo gráfico de configuración! Se trata de una utilidad externa que se invoca escribiendo «pycagenconf» desde una terminal. Escrito también en Python y basado en GTK2, es más bien rudimentario.

Instalación


Captura de PycaWM

Haciendo mis deberes... Y realmente prefiero preparar los documentos con LaTeX que pelear con Abiword, que en mi sistema no funciona muy bien. Además, el resultado suele ser más bonito.


PycaWM es compatible con las ramas de Python 2.5, 2.6 y 2.7. Luego tiene otros requerimientos adicionales:

Y de forma opcional, sólo para quien desee probar la configuración gráfica con Pycagenconf:

En 2020 se trata ya de software antiguo que habrá que instalar a mano. Esto tal vez resulte problemático.

Primeras impresiones

¡Eh, parece bastante completo! Por algún motivo yo esperaba un experimento muy básico, en la línea de proyectos como PerlWM; vamos, apenas lo imprescindible para cumplir la definición de gestor de ventanas. En cambio, apenas lo puse en marcha... ¡Escritorios virtuales! ¡Y acompañados de un paginador! Y eso que hay en el borde superior de la pantalla son... ¿Botones que hacen cosas? En efecto, clico en uno de ellos y aparece un menú de aplicaciones. Y las ventanas se dibujan con decoración, que incluye un buen puñado de controles.

Vaya, hay aquí más de lo que imaginaba. Quedé sorprendido, gratamente sorprendido.

El paginador se ubica en la esquina superior izquierda, lugar más bien infrecuente. A su derecha, cerca de él, hay dos botoncitos con los símbolos de «reproducir» y «saltar adelante» de todo reproductor de música. Obviamente los probé: rápidamente se presentó XMMS con la lista de canciones que el programa recuerda de la última vez que estuvo en marcha. Vamos, ¡PycaWM me permite controlar mi reproductor de música! Sí, esto podría hacerse también con otros gestores de ventanas, mas no hablamos de una posibilidad muy habitual, y menos ya incluida en una configuración por defecto.

Y un fondo de escritorio con un conejito. Queda así como entrañable, me gusta. Aunque PycaWM parece bastante monocromático, todos sus elementos —el paginador, la decoración de las ventanas con sus respectivos controles, los menús, el dichoso conejito— se componen mayormente de blanco, negro y gris. Vista en conjunto se trata de una estética un tanto peculiar.

Usando PycaWM

No es complicado. Se trata de un gestor de pila cuyo manejo descansa principalmente en el ratón. Y el ratón carece de la inmediatez del teclado, pero a cambio resulta muy intuitivo: no requiere conocimientos previos y permite al usuario ir experimentando y familiarizándose con la interfaz, clic a clic. De todas formas tampoco hay aquí ningún concepto inédito que descubrir. Ventanas flotantes que se mueven por el escritorio, cuyos tamaños pueden cambiarse arrastrando sus esquinas con el ratón; las clásicas operaciones de minimizarlas o ampliarlas a pantalla completa... Llevamos viendo todo esto desde antes de 1990.


Captura de PycaWM

Ya he empezado a configurar el gestor. En primer plano puede verse el menú principal, que aparece al clicar sobre el escritorio. Hay también una ventana enrollada en el borde inferior.


Existen, no obstante, algunas peculiaridades que destacar:

En fin, son detallitos que me han llamado la atención, pero ya digo que por lo demás el manejo de PycaWM depara pocas sorpresas.

Las ventanas pueden minimizarse como iconos en el escritorio, igual que se hacía en muchas interfaces gráficas de los años noventa: como este gestor es de 2009, se me antoja un anacronismo curioso. Ahora, sólo sucede así con el módulo MiniIconBox activado. Si se prescinde de él estos iconos no se muestran, las ventanas minimizadas desaparecen completamente y deben recuperarse con el menú mencionado arriba.

Hablando ya de otras cuestiones... Normalmente cabría considerar a Python un lenguaje interpretado —aunque sobre esto habría algo que matizar—, y yo pensaba que por ello PycaWM funcionaría con cierta lentitud. Bueno, en realidad es así; aunque menos de lo que me temía, porque el efecto no suele ser muy perceptible. Sólo en situaciones de carga, con el procesador muy ocupado en otras tareas, he podido notarlo con claridad: el puntero del ratón se mueve entre ventanas y el foco se demora unos instantes, los cambios de escritorio virtual también, etc. Sí puedo decir que los menús, especialmente el de aplicaciones, responden casi siempre con un poco de pesadez. Y sería posible arañar algo más de rendimiento compilando el código de PycaWM y sus dependencias con Pypy o Nuitka , pero así se pierden todas las posibilidades de configuración; yo probé Nuitka y la ganancia resulta muy discreta, y no merece la pena.

(Por dar un poco de contexto al párrafo anterior: mi ordenador es un Pentium 4 más antiguo que la Sábana Santa. Quizás en los años de desarrollo del gestor ya cabría considerarlo relativamente viejo. Imagino por lo tanto que la mayoría de los usuarios que alguna vez tuvo PycaWM disfrutarían de una experiencia mejor, aunque la mía no haya sido mala).


Captura de PycaWM

¡Un conejito diferente! Bajo el paginador se aprecian los iconos de dos ventanas minimizadas; la configuración por defecto les reserva ese lugar, y yo no vi una buena razón para cambiarlo.


Y yo no lo tenía previsto, pero al final husmeé un poco en el código del gestor y le saqué provecho a Python. Destiné la rueda del ratón, que en la configuración por defecto permanece sin uso, a cambiar de escritorio virtual. Y añadí funcionalidad para minimizar a la vez todas las ventanas visibles en la pantalla, o restaurar las previamente minimizadas. Ambas cosas pueden lograrse desde el archivo config.py. No es fácil, claro, me costó varias horas de estudio y pruebas; mas me ha quedado la impresión de que Python resulta bastante accesible para alguien inexperto como yo. De todos modos lo repito: no es fácil.

Opciones de personalización

Entre las más inmediatas se encuentran los atajos de teclado, el contenido del menú principal, el fondo de pantalla, el número de escritorios virtuales disponibles, el método de colocación de nuevas ventanas... Algún ajuste —el modelo de enfoque— incluso puede hacerse desde el menú principal.

No obstante al configurar el gestor tenemos en nuestras manos todos los recursos de un lenguaje de programación, Python en este caso. O sea, que es posible casi cualquier cosa. Sólo que «posible» no implica «sencillo»: hay que conocer la sintaxis básica de Python, al menos un poco del funcionamiento interno de PycaWM, y quizás algunos rudimentos del X Window System.

Documentación

Para un usuario casual, ninguna. Lo siento, esto es así. Sólo vienen tres textos, en el subdirectorio docs del código fuente, que explican someramente asuntos técnicos y de poca relevancia para el común de los mortales.

Aciertos


Captura de PycaWM

En primer plano, una terminal con el navegador Elinks; y la ventana grande de detrás es Opera, en concreto el viejo Opera 12.16.


Inconvenientes

Conclusión

No tenía apenas expectativas y PycaWM me ha sorprendido para bien. Sin llegar al extremo de FVWM, se trata de un gestor flexible que da un margen considerable al usuario para desenvolverse a su manera. Por ejemplo, uno puede apoyarse en los menús, o preferir los iconos y botones en el escritorio; ocultar ventanas, o sólo enrollarlas... Y si se tiene interés y soltura con Python resulta posible modificar a fondo el funcionamiento del gestor.

Sólo que hay dos inconvenientes importantes. Apenas se incluye documentación, y PycaWM lleva abandonado desde 2009 y se apoya en software hoy anticuado. Sobre todo este último punto lo descartaría para un empleo serio en un sistema actual.

Galería de imágenes

Más capturas de PycaWM para la posteridad, que en Internet ya apenas queda alguna:

Captura de PycaWM

Una sesión concurrida. Sobre las demás ventanas, el primer capítulo de la serie Chernobyl.

Captura de Fluxbox

Añadí más botones al borde superior y los hice más grandes, con iconos que preparé por mi cuenta. A la izquierda, el menú de tareas. Y como fondo de escritorio, un retrato de Milan Mladenović, cantante de Ekatarina Velika.

Captura de PycaWM

Abajo, a la derecha, se presenta el «PycaWM Config Generator», el diálogo gráfico de configuración del gestor. No os emocionéis, es primitivo y muy incompleto.

Captura de Fluxbox

Incluso resulta posible distribuir los botones en varias hileras, como se aprecia en esta captura; aunque eso lo hice sólo por experimentar. En el borde inferior, Dmenu .

Descargas

A estas alturas del siglo XXI puede haber en este mundo dos o tres personas interesadas en probar PycaWM. A ellas les dejo el siguiente material:

 

Artículo escrito el 14 de junio de 2020.


[Apta para cualquier navegador]  [Cumple con el estándar HTML]  [Cumple con el estándar CSS]

Podéis copiar libremente cualquier contenido de esta página.
Mandad opiniones, sugerencias o saludos a sovietskayarodina@gmail.com.