2011-12-30 14 views
6

Usando XMonad.Layout.PerWorkspace, puede configurar diseños independientes para cada área de trabajo y ajustarlos para sus aplicaciones. Sin embargo, me gustaría que algunos espacios de trabajo hagan un seguimiento de mi configuración. P.ej. si pulso Mod-h en el Espacio de trabajo 2 usando el diseño Alto, quiero que el diseño Alto en el espacio de trabajo 2 tenga un panel maestro ligeramente más pequeño la próxima vez que arranque (o reinicie X, para el caso) también.¿Recuerda el diseño del espacio de trabajo de xmonad?

Esta es una característica requerida con frecuencia, pero no puedo encontrar una solución en ningún lado.

Idealmente, esto sería almacenado en algunos archivos ~/.xmonad/persistentLayouts/workspace*/layout*.conf que puede borrar/editar manualmente si es necesario. Pero eso sería solo una ventaja.

Podría vivir con la implementación de esto por mi mismo si no existe, pero mi archivo-I/O haskell es un poco rooky, así que tal vez alguien pueda proporcionar algunos consejos.

+0

¿Alguna vez te has planteado construir algo como esto? – egasimus

+0

@egasimus: Lo siento, nunca llegué a eso hasta ahora. Si alguna vez lo hago, lo publicaré aquí. – bitmask

Respuesta

6

xmonad ya preserva su estado en reinicios ejecutables (por ejemplo, mod + q y similar), entonces ¿por qué no robar ese mecanismo? Creo que solo usa leer y mostrar, por lo que no debería necesitar habilidades de IO especialmente fuertes; readFile y writeFile deberían ser suficientes. Puede robar un código de xmonad. El código de serialización proviene del restart, y el código de deserialización proviene del xmonad. Tendrá que modificarlo levemente; no desea conservar la información de identificación de la ventana, ya que será invalidada por la nueva sesión X, pero gran parte de ella probablemente se pueda tomar al por mayor.

Cuestiones relacionadas