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