Free Pascal Window Manager/es

From Lazarus wiki
Jump to: navigation, search

English (en) español (es)

Historia

fpwm running in Xnest (circa 2008)

   El Gestor de Ventanas de Free Pascal comenzó su diseño en el año 2006. Fué una iniciativa de Andrew Haines, Daniel Franzini y Felipe Monteiro de Carvalho. La mayor motivación para comenzar el proyecto fue para propiciar una gran visibilidad para las aplicaciones escritas en Free Pascal, que encara dificultades para encontrar un adecuado desarrollo en Linux, debido a que sus diferentes distribuciones (distros) prefieren diseñar sus programas estándar empaquetándolos para cada Gestor de Ventanas (Window Manager), tales como Gnome, KDE, ....

   FPWM (Free Pascal Window Manager) pretende ser simple, pero fácil de utilizar, y que además disponga de un conjunto de aplicaciones útiles. Este conjunto de aplicaciones se desarrolla en el proyecto "Suite de Aplicaciones de FreePascal" Free Pascal Application Suite. Desafortunadamente, debido a la falta de tiempo libre y de suficiente conocimiento de X11 y a las dificultades en general para encontrar información sobre como escribir un Gestor de Ventanas, el proyecto se estancó pronto.

   En la segunda mitad de 2010 la universidad de São Paulo por medio del Prof. Dr. Pedro Luiz Pizzigatti Corrêa relanzó el proyecto creando un equipo de 4 estudiantes dispuestos a colaborar en su desarrollo durante un semestre como parte del curso de ingeniería en la universidad. Esto contaba como 2 créditos. En este proyecto, con la mayor parte del código y soluciones provinientes de Felipe, alcanzó la conversión total del Gestor de Ventanas wm2 a Pascal, haciéndolo ya funcional hacia el principio de 2011.

   El siguiente paso después de alcanzar un Gestor de Ventanas funcional es modificar las ventanas para lograr una disposición más normal.

Guía de uso

   FPWM debería ser simple, liviano y fácil de utilizar. Debería ser usable tanto para dispositivos tipo tabletas / pantallas táctiles como para ordenadores de escritorio con ratón. Debería proveer de una barra de tareas similar a la de Windows, además de iconos en el escritorio (típico de un gestor de escritorio). Debería tener bordes e iconos largos en modo tableta y una apariencia más común en la modalidad escritorio. Debería además proveer un área para iconos en la barra de sistema así como respetar las especificaciones Free Desktop para Gestores de Ventanas.

Subversion

 svn co https://fpwm.svn.sourceforge.net/svnroot/fpwm fpwm

Arbol de Código

 http://sourceforge.net/p/fpwm/code/HEAD/tree/

Tutorials

Instalando Linux en una máquina virtual dentro Windows

Adicionalmente teniendo soporte para virtualización a nivel de hardware, es perfectamente factible utilizando sobre la máquina física una instalación de Linux teniendo las ventajas que aporta KVM y LibVirt para hacer esto mismo bajo un linux, permitiéndonos tener instantaneas de la virtualización para guardar el progreso del proyecto.

Configurando la pantalla de login en Linux

Añadiendo XTerm como opción en la pantalla de login

   Para propósitos de depuración se puede añadir XTerm como un Gestor de Ventanas en la pantalla de login.

   Entones cuando nos logeamos seleccionamos XTerm destro del listado de Gestores de Ventanas. Esto abrirá un entorno X11 vacío (X11 es el servidor de entorno gráfico de Linux sobre el que se instala el resto de Gestores de Ventana y Gestores de Escritorio) con una instancia de XTerm (Terminal del sistema X, que es el equivalente la línea de mandatos de otros shell, para entendernos). Por decirlo de un modo muy, muy, pero que muy simplista sería como tener el antiguo initgraph que arrancariamos con una orden tal como xinit (lógicamente no tiene punto de comparación, para más información leer http://es.wikipedia.org/wiki/Sistema_de_ventanas_X ).

   Una vez que nos encontramos en dicha línea de mandatos podemos o bien arrancar simplemente el sistema gráfico X con xinit que no nos dará más que una ventana por así decirlo o bien arrancar un Gestor de Ventanas real como fpwm por ejemplo.


   Se pueden utilizar los siguientes mandatos de terminal para arrancar fpwm:

 cd /trayecto/a/fpwm
 xinit
 ./'''fpwm<'''


   Como es un gestor de ventanas lo primero que hace es chequear si ya existe otro cargado, en mi caso lo arranco desde la línea de mandatos sin que previamente arranque ningún otro.

A fecha Marzo de 2017 lo he compilado y una vez arrancado me sale una ventana donde se pueden escribir mandatos para arrancar aplicaciones por ejemplo fp o startlazarus.

Una aplicación interesante como complemento es idesk que nos va a permitir tener iconos en el escritorio, además de permitirnos definir un fondo de pantalla.

   Para añadir XTerm en el listado de elecciones, debería añadirse el fichero 99xterm.desktop a una carpeta que contenga un fichero .desktop por Gestor de Ventanas. Este fichero se puede obtener desde http://fpwm.svn.sourceforge.net/viewvc/fpwm/resources/99XTERM.desktop?revision=107&view=markup

   Y debería ser similar a esto:

 [Desktop Entry]
 Encoding=UTF-8
 Name=XTerm
 Comment=XTerm
 TryExec=xterm
 Exec=/usr/share/X11/xdm/Xsession xterm
 Icon=
 Type=Application


   En Mandriva Linux con GDM (gestor de login Gnome) la carpeta para ubicar este fichero es: /etc/X11/dm/Sessions/

   En Mandriva Linux con KDM (gestor de login KDE) la carpeta para ubicar este fichero es: /usr/share/apps/kdm/sessions/

Proyecto Lap-Tupniquim

   Este Gestor de Ventanas debería utilizarse en los escritorios digitales de las escuelas brasileñas si se comprueba que es suficientemente bueno para ello:

Incidencias

<<< Marzo 2017 >>>

Tratando de compilarlo (ultimo snapshot desde sourceforge) desde Lazarus 1.6 con FPC 3.0.0 genera el siguiente error:

Compilar Proyecto, Objetivo: fpwm: Código de salida 256, errores: 1 sugerencias: 4


fpwmrotated.pas(406,34) Error: Illegal type conversion: "ShortString" to "Pchar"

El resto de sugerencias son:

fpwmgeneral.pas(65,17) Hint: Local variable "sAct" does not seem to be initialized

fpwmgeneral.pas(21,6) Hint: Unit "xlib" not used in fpwmgeneral

xproto.pas(74,6) Hint: Unit "x" not used in xproto

xproto.pas(74,9) Hint: Unit "xmd" not used in xproto

Si comento la línea del error compila correctamente. A continuación arranco xinit y después ./fpwm pero únicamente sale una pequeña ventana que puedo cerrar a modo de shell. No muestra icononos ni una barra de menú funcional. No se si alguien utiliza este gestor pero es una pena que probablemente con pocos retoques funcionaría bien.

Tengo instalado otro gestor de ventanas y funciona bien, también arranca correctamente el sistema X con xinit.

Noticias

Existe un fork de fpwm en GitHub que se basa en FreePascal y fpGUI, aunque ya indica que no tiene espectativas de dedicar mucho tiempo al proyecto, pero que si admite gente que contribuya con parches o que lo mejore.

https://github.com/andrewd207/fpwm

External links