Egg Window Manager

José Expósito, estudiante de ingeniería informática, me escribe para informar sobre su trabajo en el desarrollo de un gestor de ventanas. Podéis ver un pantallazo – estilizado, simplicidad Zen, estéticamente agradable – corriendo junto con docky y xcompmgr pinchando en la imagen que acompaña este post. Vamos allá:

«Acabo de publicar la primera versión de mi último proyecto de software libre: Egg Window Manager. EggWM es, como su nombre indica un gestor de ventanas, escrito en C++ haciendo uso de las librerías Qt. Por ahora el gestor de ventanas, aunque muy estable, carece de la funcionalidad que cabría esperar de este tipo de software, por eso te estaría muy agradecido si lo dieses a conocer.. a ver si alguien se anima a colaborar 😉

Los objetivos principales del gestor de ventanas, por orden de prioridad son:

  • Mantener el código simple y bien documentado
  • Ser compatible con los estándares ICCCM, EWMH, etc
  • Mantener un bajo consumo de recursos
  • En el futuro, añadir soporte por gestos para manejar las ventanas

Como te decía la funcionalidad por el momento es básica, aunque ya soporta temas (decoración de ventanas con css) es compatible con docks como AWN, Docky, etc.

Y bueno, si el proyecto sale adelante pues también empezaré a desarrollar una serie de herramientas adicionales como un panel, un dock, un escritorio…

La página oficial del proyecto, donde por supuesto se puede descargar el código fuente, ya que EggWM está licenciado bajo GPL v3 está disponible en Google Code

Sobra decir que si alguien más está interesado en publicitar su proyecto de software libre en este blog, como ha hecho José Expósito, estaré encantando de ayudar. Basta con que me enviéis un email (mi dirección está en la pestaña «Contacto» que puedes encontrar en la parte superior derecha).

Tip: montar carpetas Samba for dummies

En el trabajo disponemos de un servidor NAS que comparte carpetas a través de Samba. El acceso a las mismas a través de Nautilus es trivial, basta con poner en la barra de direcciones (Ctrl+L) :

smb://direccion.ip.del.servidor

y ya podremos ver todas las carpetas compartidas por ese server. Ahora, pulsando sobre cualquiera de esas carpetas, un cuadro de diálogo nos pedirá login/password y nombre del grupo. A partir de ahí, funcionaremos como si las carpetas fueran locales, sin más preocupaciones.

Ahora bien, a veces no interesa acceder a esas carpetas compartidas desde la línea de comandos. Y héte aquí que al lanzar el comando mount vemos que aparentemente esas carpetas Samba con las que podemos trabajar perfectamente en Nautilus, resulta que no están montadas. Digo aparentemente porque sí que lo están. Están disponibles en el directorio .gvfs de tu home (por ejemplo, en /home/juanan/.gvfs). Lo bonito de ésto es que no tienes que andar recordando cuál era la sintaxis correcta de smbmount para montar recursos compartidos vía Samba protegidos por password.

Tip: cosas que no sabías del comando top

El comando top sirve para (entre otras cosas) pode ver, de forma ordenada, un listado de los procesos actualmente en ejecución, en función de distintos criterios: consumo de CPU, consumo de memoria RAM, tiempo que llevan ejecutándose, PID…

Lo que tal vez no sabías era que puedes cambiar el criterio de ordenación pulsando las teclas «<" y/o ">» para moverte en los criterios/columnas hacia la izquierda o derecha. Para ver qué columna es la que ha fijado el criterio lo mejor es que pulses la tecla Z que permite ver en color la pantalla del top (las columnas aparecerán en rojo salvo la columna/criterio actual, que aparecerá en blanco). Para ordenar de forma creciente o decreciente, pulsa «R».

Urte berri on! Feliz año nuevo

Se está convirtiendo en costumbre hacer un hueco el último día del año para hacer un pequeño balance y desearos a todos lo mejor en 2011. Es una sana costumbre que se remonta muchos años atrás en el tiempo…

$ whois diariolinux.com
[...]
Registered through: GoDaddy.com, Inc. (http://www.godaddy.com)
   Domain Name: DIARIOLINUX.COM
      Created on: 25-Nov-00
      Expires on: 25-Nov-11
      Last Updated on: 25-Sep-10

Sí señor, al 25 de Noviembre de 2000. Aunque realmente DiarioLinux se comenzó a publicar en 2001. Ha llovido desde entonces, ¿eh? 🙂

El año pasado despedí el año con algunas ideas que he cumplido y otras que aún quedan por realizar. Entre las que he cumplido, se encuentra BabeliumProject.com, un sistema online para la práctica oral de idiomas cuyo código estamos a punto de liberar (espero que en Enero tengamos todos los flecos atados) y que espero dé mucho de lo que hablar en 2011, así como material suficiente para redactar mi tesis 🙂 De hecho, en 2011 junto con los miembros del grupo de investigación abriremos un blog para hablar y discutir sobre esta herramienta entre todos aquellos interesados, cosa que hará que no publique tanto en DiarioLinux (aunque algunos de los temas más técnicos serán de interés en «ambos mundos» 😉

Por otra parte, tengo pendiente publicar, con el permiso del organizador principal ;-), la solución a los 13 niveles que superamos (11 en la propia party, los otros 2 post-mortem) en el HackIt! de la Euskal Encounter 2010.

Más cosas en las que trabajaré o quiero hacer en 2011 incluyen una nueva versión de Euskalbar para Chrome (basándome en otra extensión para Wikipedia…) , pasar unos días en Londres con la familia (tanto tiempo esperando!), aprobar el examen C1 de inglés (si digo sólo «presentarme» no me meto presión ;-)…

Muchas cosas, pero hay que entrar con ganas al nuevo año, ¿no? Jejeje…

Bueno gente, suerte, salud y fuerza para llevar a cabo vuestros propósitos en 2011 (!) Me tomaré una copa a vuestra salud, lectores fieles de DiarioLinux, espero que por muchos años más 😉

El albañil de la web

From Wikipedia, jugando con las palabras/enlaces: «Albañil […] también se refiere a aquel que se dedica a la reparación o reforma con materiales de obra. Antiguamente, al menos hasta el S. XIX, el oficio de albañilería era un oficio gremial. Para pertenecer a él, el candidato debía ser presentado por un miembro y ser aceptado formalmente como aprendiz. Una vez dentro del gremio podía conseguir distintos grados hasta llegar a maestro, que tenía una consideración social importante.»

Los albañiles de la web actual también deberían de pasar por un período de formación hasta conseguir el título de webmaster, tan en desuso hoy en en día…

Tenemos un problema a resolver: la siguiente web tiene un enlace para cambiar de idioma (de castellano a euskera o viceversa).

La cuestión es que al pinchar en el cambio de idioma, el navegador vuelve a la home de esa sección de la web, cambiando el contenido de la página por completo (cambia de idioma, pero nos lleva al «hall» de la web, en lugar de mantenernos donde estábamos)



Es decir, pasamos de estar aquí (navegando en español):

http://www.tic.ehu.es/p265-shintrct/es/contenidos/enlace/intrehutic_ldap_indice/es_indizea/ldap_indice.html

a estar aquí (navegando en euskera):

http://www.tic.ehu.es/p265-shintrhm/eu/

Podemos cambiar la URL original a mano, donde pone «es» lo sustituimos por «eu»… O bien, podemos hacer un pequeño script que lo haga por nosotros. Y si tenemos la ayuda de la consola de Chrome, mejor que mejor. Desde ese navegador, pulsamos el botón derecho sobre la página y seleccionamos «Inspect Element».

En la parte inferior izquierda, pulsamos sobre el botón que abre la consola. Veremos algo como lo siguiente:

En la parte inferior, he tecleado «wind» y el propio Chrome me sugiere que «window» es un objeto DOM válido, que puedo manipular vía Javascript. Estudiando un poco ese modelo DOM, y con la ayuda del propio navegador (autocompletamiento de nombres de objetos y propiedades), sabiendo que las teclas para movernos por una sugerencia de keyword son el tabulador y/o la «flecha derecha», llegaremos fácilmente a:

   window.location.href

Y si tras teclearlo pulsamos Enter: Vemos que Chrome nos da el valor de esa propiedad href. Lo que nos interesa ahora es cambiar toda aparición de «es» por «eu» automágicamente 🙂 ¿Toda? Bueno, toda no, porque el .es del dominio no lo queremos cambiar. ¿Cómo obtener la parte de la URL a la derecha del dominio? Curioseando en el modelo DOM, vemos que es la propiedad window.location.pathname. Ahora, un find&replace y lo tenemos 🙂

¿Cómo lo añadimos ahora a la barra de bookmarks de Chrome para tenerlo siempre disponible? Botón derecho sobre la barra de bookmarks, «Add page..», y tecleamos lo que ves en la imagen de la izquierda (ojo, pulsa sobre la imagen o no verás un carajo)

Listo! Cuando pulsemos en el enlace especial Javascript que acabamos de crear (bookmarklet se llaman), cambiará la URL de la página, de «es» a «eu», con un sólo click.

El albañil se va a por el bocata, satisfecho del trabajo bien hecho 🙂