hacer inmune una aplicaci�n a limpiado de escritorio

Germán Poó Caamaño gpoo en ubiobio.cl
Sab Jul 23 22:49:55 CLT 2005


El dom, 24-07-2005 a las 09:44 +0800, mauricio vargas escribió:
> Hola
> 
> Tengo un calendario de escritorio, de python, que lanzo al comienzo de la sesión. 
> La lanzo con nohup para que no haya terminal.

Pienso que puede ser Karamba o gDesklets, aunque me inclino por el 
segundo, dado que me consta que está escrito en Python ;-)

Aunque hubiera sido mejor precisar.

> Al limpiar el escritorio con el botón que minimiza las ventanas el calendario 
> desaparece y no hay ícono para devolverlo al escritorio (obvio, es un
> script). Pero el proceso sigue corriendo.
> 
> Deseo que esa aplicación no se baje al limpiar el escritorio no desaparezca. 
> ¿Es posible?

La respuesta corta es: No, no es posible.

La respuesta no tan corta es:
No es posible, dado que en XWindow se dibujan ventanas, éstas deben
corresponder a un tipo (DESKTOP, MENU, etc.) Las aplicaciones
deben definir un tipo de ventana; y en la espeficación actual[1] no
existe ningún tipo que pueda servir para estos efectos.  La ventana
que no se minimiza es aquella definida como DESKTOP, pero ésta es la
encargada de mostrar los iconos en el escritorio, etc.

Así, si defines una ventana de tipo DESKTOP, ésta ocupara todo el 
escritorio.  Por lo que si queda "encima", no podrás acceder a los
iconos de Nautilus/Konqueror en el escritorio.  Si queda abajo de la
ventana de Nautilus/Konqueror, entonces no podrías acceder al
calendario.

Luego, el truco de la aplicación consiste en crear una ventana de 
tipo NORMAL, pero sin decoraciones (bordes de ventana) y cuyo 
estado es "BELOW"; pero al ser una ventana NORMAL estará sobre
una de tipo DESKTOP; así da la sensación de estar "pegada" en el
escritorio.

Para solucionar eso, habría que añadir un nuevo estado, de tal forma
que los manejadores de ventanas (como metacity, fwvm2, etc.) sepan
que ese tipo no debe ocultarse cuando se pida mostrar el escritorio.

[1] La sección en donde se definen los tipos de ventanas se encuentra
en FreeDesktop:
http://standards.freedesktop.org/wm-spec/wm-spec-1.3.html#id2507144

-- 
Germán Poó Caamaño
mailto:gpoo en ubiobio.cl
http://www.ubiobio.cl/~gpoo/



Más información sobre la lista de distribución Linux