Zombie objects and the event-system are finished. The event-system is preliminary, but it is now possible to work with multiple applications while switching through them using the Focusmanager. Yep! Again, one point less on my todo list. But the next is near:
Currently, when a new application is started, it is placed in a slot (so I call the 3D equavilent of a window). A slot is an oriented cubic extent, where applications may show their 3D appearance and interact with the user. The slot management in its current state is not sufficient to continue development and is one of the more aesthetically relevant modules that needs special attention.
For example, a slot manager could organise new applications in a grid, or on the sides of a cube (for 2D applications) or on a cylindrical surface, where the user can operate inside the cylinder. Slots and slot spaces (the space a slotmanager creates and is responsible for) should be configurable, and there may be even slot spaces lying inside other slots. This is similar to a hierarchical windowing system (on Windows for example, buttons are subwindows, too).
A few thoughts and requirements:
I can think of a client/server protocol design for a slotmanager, to support an implementation inside the server and optionally in clients. There are a number of issues: zombie objects, event delivery and subspace management may all be difficult to solve. Perhaps in future versions, a scripting language could be used to support uploading of slotmanagers.
All in all, this topic is much more complex than I have expected. Let’s start.
It’s all about organising space, prepare for it!