[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: non-x window manager

From: Banlu Kemiyatorn
Subject: Re: non-x window manager
Date: Wed, 22 Oct 2003 17:34:35 +0700
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0.2) Gecko/20030708

Rogelio M.Serrano Jr. wrote:

is there a gnustep window manager that uses only gnustep-gui? no x dependency at all.

Is it possible to create one?

window manager has x dependency by itself. but I think you mean windowing system. basicly, for a non x-dependency window manager-like thing, you'll have to implement a layer that can wrap the windowing system's api (either X11,directfb,Y) with GSDisplayServer [1] which is an abstract class. For directfb, AFAIK, it is easiest to have only one process managing the current resource so you'll need a complete window system wrapper that communicate to other applications. It's hard to explain. I will show some graphics that explain this.


From this diagram, the application clients will have a small backend that will form a communication layer between the clients and the window server. From this model, to add a support to any system, I must write a WMDevice for that system. eg. WMDirectFBDevice. And to draw on each window device, it must either uses libart or cairo for PostScript operations. With X11, this server will create a window with X api, with opengl, it will create a single window and map all opengl window into it. For the rest, it will not need any window manager if you only want to run GNUstep apps. (Note that I am not saying that this model is better than current model that applications actually own their window in anyway, it was just made with purpose of being a OpenGL windowing system)

I have a seperate plan for a window manager for x11 in addition the the project above. It was Kika-ka (previously known as WOOM[2] but WOOM became something else I mentioned above) which.. will be done in a form of x11 backend extension that will be able to manage other X11 applications and use AppKit for any dialogs and decoration. The plan of Kika-ka was to write a wrapper over XGServer (x11-back) and let it processes events that belong to window manager before passing the rest to the application body. This will required that only one app has to use Kika-ka as the backend. (Thus, others may fall back to the code that isn't a window manager, but it isn't safe because you can't just quit the first application
you run because it became a window manager.)

But after all. I'm too busy with another project of cloning photoshop. So I suspended all these tasks and the only thing available is a bunch of cairo-backend code (working already but without text support) which I planned to reuse it later in the window system above. The cairo-backend will be eventually maintained after Cairo's api is more stable and when I know better how text system exactly work.

[1] http://www.gnustep.org/resources/documentation/gui/GSDisplayServer.html
[2] http://www.nongnu.org/woom/

reply via email to

[Prev in Thread] Current Thread [Next in Thread]