entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

2votos

Crear un entorno de escritorio utilizando Python3 + Gtk3

Desde hace un tiempo estoy intentando crear un entorno de escritorio(utilizo Antergos, derivado de ArchLinux).
Ya he logrado agregar una entrada para seleccionar mi "entorno de escritorio"[1] pero cuando selecciono la opción de mi creación, simplemente vuelve a esa pantalla.
Voy a explicar lo que sé para que alguien me pueda corregir(aviso que no estoy interesado en crear un Display Manager o algo así, simplemente crear el escritorio desde 0, pero utilizando los recursos existentes como GDM).

Según tengo entendido, los entornos de escritorios son una ventana(en este caso, de Gtk) que se modifica para que ocupe toda la pantalla, donde también se pueden crear paneles y esas cosas.
Buscando por internet encontré que lo que tengo que modificar se resume en este código:

win = _DISPLAY.create_resource_object('window', xid)
win.change_property(_DISPLAY.intern_atom('_NET_WM_WINDOW_TYPE'),
                    _DISPLAY.intern_atom('_NET_WM_WINDOW_TYPE_DESKTOP'), 32, [0, 0, 0, 0])
_DISPLAY.sync()

Siendo xid el xid de la GdkWindow de mi ventana Gtk y _DISPLAY un Xlib.display.get_default().
Bueno, la verdad no sé que se supone que este código haga, porque realmente no se ve que haga nada. Realmente lo único que entendí, es que la lista [0, 0, 0, 0] contiene valores de separación hacia los bordes de la pantalla(no recuerdo el orden, pero creo que era: arriba, abajo, derecha e izquierda).

Desde ya, Gracias.
<p>
<p>
<p>
</p>
</p>
</p>
1: http://2.bp.blogspot.com/-0mPMdA2PNs8/UPqhuipXMtI/AAAAAAAAAX4/2N7qjpHdftE/s1600/session+login.png

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta