Qtopia on X11

From Openmoko

(Difference between revisions)
Jump to: navigation, search
(Integration with Desktop)
(catspec Category:Qtopia)
 
(44 intermediate revisions by 10 users not shown)
Line 1: Line 1:
= Qtopia on X11 =
 
 
 
== What ==
 
== What ==
 
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...
 
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 [http://git.openmoko.org/?p=qtopia.git;a=summary 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:
 +
git clone git://git.openmoko.org/git/qtopia.git
 +
 +
Then read the README.x11 and have fun.
  
 
== Open issues ==
 
== Open issues ==
* QCOP warning (empty setDocument) in todolist, datebook
+
* Fixup packaging in OpenEmbedded (html help files).
* Launching of applications
+
* Sync/Fix races in the phone libraries and callscreen.
 +
* disable more stuff from Qtopia.
 +
* Sometimes the soft menu does not get updated
 +
* Playing the ringtone is "slow". Is this an issue with our QCOP implementation?
 +
 
 +
== Open issues for after april update ==
 +
* modem communication, modem support, multiplexer, GPRS, dial on demand
 +
* implement freesmartphone.org DBus interfaces
 +
* asserts in the server and library code can degrade the user experience. E.g. I managed to hit !syncTime.isValid() in the PIM lib (they don't happen since we install timezone files)
 +
* Make Qtopia parse the menu file and freedesktop.org desktop files
 +
 
 +
== 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
 
* Interaction between screen lock and qpe e.g. with incoming phone calls while being suspended
* 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.
 
* 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.
+
* modem state, airplane mode
* Packaging in OpenEmbedded
+
 
 +
 
 +
 
 +
== Need QA verification ==
 +
 
 +
== Discussion ==
 +
=== Homescreen, CBS and Airplane mode ===
 +
The homescreen can not be used, CBS can only be shown as Popup, need to update the CBS apps and tools to show them as popup. To indicate signal strength, requiring pin, registration, airplane mode we will create a D-Bus interface in QPE and emit signals for this status. A gadget in illume can pick this up and it is planned that it will pick it up. The D-Bus interface should be similar to the one mickeyl is supposed to come up with to ease migrating to this interface.
  
 
== Integration with Desktop ==
 
== Integration with Desktop ==
Line 19: Line 43:
 
* How to approach dbus (besides defining QTOPIA_DBUS_IPC
 
* How to approach dbus (besides defining QTOPIA_DBUS_IPC
 
* Brining power of Input methods to freedesktop.org
 
* Brining power of Input methods to freedesktop.org
 +
 +
== Midterm/Longterm ==
 +
* Better PIN Handling (SIM PIM, etc..) in EFL, more appealing UI
 +
 +
=== Launching of applications ===
 +
To assure single exec we run the execution through the QPE process. The downside is that we currently have two copies of .desktop files with two similar standards. Also this is creating an island, where 'services' are only available on QPE. The minimum for Qt would be to parse fd.org desktop files so that we can throw Qtopia's copy of them away.
 +
Also launching should not be done by the qpe process in the future. Currently we invoke qcop and the Launcher to service and request to launch applications.
  
 
== What to learn from it ==
 
== What to learn from it ==
Line 33: Line 64:
 
=== Input methods ===
 
=== Input methods ===
 
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. [http://doc.trolltech.com/qtopia4.3/qtopiaapplication.html#setInputMethodHint 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.
 
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. [http://doc.trolltech.com/qtopia4.3/qtopiaapplication.html#setInputMethodHint 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.
 +
 +
== Pending Qt(opia) Bugs ==
 +
*Some on the mailinglists...
 +
*[http://trolltech.com/developer/task-tracker/index_html?id=199781&method=entry keyboard navigation in phonebrowser]
 +
*[http://trolltech.com/developer/task-tracker/index_html?id=201850&method=entry showMail in qtmail busted]
 +
*[http://trolltech.com/developer/task-tracker/index_html?id=201869&method=entry setArgs for !QWS]
  
 
== Weekly reports ==
 
== Weekly reports ==
[http://lists.openmoko.org/pipermail/openmoko-devel/2008-February/001950.html Introduction]
+
*[http://lists.openmoko.org/pipermail/openmoko-devel/2008-February/001950.html Introduction]
[http://lists.openmoko.org/pipermail/distro-devel/2008-February/000258.html 1st report]
+
*[http://lists.openmoko.org/pipermail/distro-devel/2008-February/000258.html 1st report]
[http://lists.openmoko.org/pipermail/distro-devel/2008-March/000262.html 2nd report]
+
*[http://lists.openmoko.org/pipermail/distro-devel/2008-March/000262.html 2nd report]
 +
*[http://lists.openmoko.org/pipermail/distro-devel/2008-March/000271.html 3rd report]
 +
 
 +
[[Category:Qtopia]]

Latest revision as of 04:55, 12 October 2009

Contents

[edit] What

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...

[edit] 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:

git clone git://git.openmoko.org/git/qtopia.git

Then read the README.x11 and have fun.

[edit] Open issues

  • Fixup packaging in OpenEmbedded (html help files).
  • Sync/Fix races in the phone libraries and callscreen.
  • disable more stuff from Qtopia.
  • Sometimes the soft menu does not get updated
  • Playing the ringtone is "slow". Is this an issue with our QCOP implementation?

[edit] Open issues for after april update

  • modem communication, modem support, multiplexer, GPRS, dial on demand
  • implement freesmartphone.org DBus interfaces
  • asserts in the server and library code can degrade the user experience. E.g. I managed to hit !syncTime.isValid() in the PIM lib (they don't happen since we install timezone files)
  • Make Qtopia parse the menu file and freedesktop.org desktop files

[edit] 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
  • 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.
  • modem state, airplane mode


[edit] Need QA verification

[edit] Discussion

[edit] Homescreen, CBS and Airplane mode

The homescreen can not be used, CBS can only be shown as Popup, need to update the CBS apps and tools to show them as popup. To indicate signal strength, requiring pin, registration, airplane mode we will create a D-Bus interface in QPE and emit signals for this status. A gadget in illume can pick this up and it is planned that it will pick it up. The D-Bus interface should be similar to the one mickeyl is supposed to come up with to ease migrating to this interface.

[edit] 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

[edit] Midterm/Longterm

  • Better PIN Handling (SIM PIM, etc..) in EFL, more appealing UI

[edit] Launching of applications

To assure single exec we run the execution through the QPE process. The downside is that we currently have two copies of .desktop files with two similar standards. Also this is creating an island, where 'services' are only available on QPE. The minimum for Qt would be to parse fd.org desktop files so that we can throw Qtopia's copy of them away. Also launching should not be done by the qpe process in the future. Currently we invoke qcop and the Launcher to service and request to launch applications.

[edit] What to learn from it

[edit] 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.

[edit] Content management

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?

[edit] Value Space

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.

[edit] Input methods

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.

[edit] Pending Qt(opia) Bugs

[edit] Weekly reports

Personal tools

Qtopia on X11

What

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...

Open issues

  • QCOP warning (empty setDocument) in todolist, datebook
  • Launching of applications
  • Interaction between screen lock and qpe e.g. with incoming phone calls while being suspended
  • 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

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 management

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?

Value Space

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.

Input methods

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.

Weekly reports

Introduction
1st report
2nd report