Qtopia on X11
Qtopia on X11
Running Qtopia apps and services on X11 with enlightenment as window manager. This is done to benefit from the applications and working services but still allow integration with other toolkits and systems. The difficulty is to integrate Qtopia into the freedesktop.org world. This includes launching of apps, services, window management, installation, FHS obeyance...
Getting the code
There is a gitweb for browsing the code and in the future the rsync branches will be merged instead of rebased.
The command to clone the tree is:
Then read the README.x11 and have fun.
- QCOP warning (empty setDocument) in todolist, datebook
- Launching of applications
- Launch an application from the server to launch an application, needed for race free single-exec, there should be only one application that is launching.
- better GTA02 integration
- Screenlock, blanking, suspend handling, e.g. Qtopia wants to know when it is waking up, the blanking of the screen should be handled by e though.
- Services, Single launching of apps.
- Packaging in OpenEmbedded
Needs e work
- Launch an application on incoming phone calls, to inform the screen lock about it
- Interaction between screen lock and qpe e.g. with incoming phone calls while being suspended
Integration with Desktop
- Write proper freedesktop.org files
- How to generalize the Service concept
- How to generalize the Softmenu
- How to approach dbus (besides defining QTOPIA_DBUS_IPC
- Brining power of Input methods to freedesktop.org
What to learn from it
Service defintions and Service Providers
With Qtopia you can describe a service and give the user the choice to pick the preferred service. Read more about services here. Basicly you define a service Foo.servie and then have a directory Foo/ and providers of this service can put a file with their name into this directory.
Content is abstracted from a file hierachy to be type based. To continue with this thought and to make it scale RDF, tree views, indexing comes into mind. Is there something we can learn from here besides making it scale?
What is a value space? It looks like it is a cross process way to define a tree of values. You can query state, features and similar things with it. The entry to the documentation can be found here.
Besides using an optimized Trie with a mmapable representation (fast lookups even of huge dictionaries!) you can attach a input method hint to any QWidget.E.g. if you need to insert an IP address into a QLineEdit the input method could show a special mode to assist in this. Setting a hint for the current widget, this can be an arbitrary string, the actual hint is then a file in the etc/im directory.