qtnx on maemo

qtnx on maemo

Henning Heinold
Karma: 27
2008-09-05 09:54 UTC
Hi all,

and sorry for the cross post, but I think it is intressting for both
lists.

I want to annouce that I am working on qtnx and nxcl to get it running
on the nokia n800 and n810 devices.

With the new effort on http://qt4.garage.maemo.org/ qt-4.4 now runs in a
accetable manner on the devices. So compiling and running qtnx on
the devices was not such a problem. The problems are in the details.

First the configure-widget was not scrollbar and tried to display
all fields in the same widget. This causes some strange resize effects
and made the configure-widget rather useless. I found a easily
solution and wrapped it into a ScrollArea with qt-designer.
The patch can be found here:
http://developer.berlios.de/patch/?func=detailpatch&patch_id=2557&group_id=2978

Second Problem is that the nxproxy/nxcl setup not always run and you have
to restart qtnx serval times until it shows the window from the nxserver.
I will try to solve that later, which means I will work on and improve nxcl stuff.

The greatest Problem is that x-window which comes from nxagent(which is
modified xnest-server) on the server side has no hildon-framework
support. That means the virtual keyboard on the n800 is not workable.
Luckily the keyboard on the n810 is working. Another effect is if loose
the focus on this x-window. You can not access it anymore. I hope that
I will get some help from the maemo people in this field.

I setup up a wiki/documentation-page and project-page here:

https://wiki.evolvis.org/nx-mobile/index.php/Main_Page
http://evolvis.org/projects/nx-mobile

and the binary and source are located here, based on the latest
debian package of qtnx:

http://evolvis.org/frs/?group_id=67

Bye,

Henning
  •  Reply

Re: qtnx on maemo

Eero Tamminen
Karma: 161
2008-09-05 13:08 UTC
Hi,

ext Henning Heinold wrote:
> The greatest Problem is that x-window which comes from nxagent(which is
> modified xnest-server) on the server side has no hildon-framework
> support.

Hildon-framework is nowadays open source. I guess it would be enough to
build & install the hildon-im module for Gtk apps at the other end
(and I guess similar thing can be done for Qt apps).


> That means the virtual keyboard on the n800 is not workable.
> Luckily the keyboard on the n810 is working. Another effect is if loose
> the focus on this x-window. You can not access it anymore.

The "StartupWMClass" field in the application .desktop file and
and "WM_CLASS" property in the application window need to match,
otherwise TN doesn't know how to map the application windows against
the information in the .desktop file. (Gtk sets WM_CLASS
automatically to the name of the binary)


- Eero
  •  Reply

Re: qtnx on maemo

Antonio Aloisio
Karma: 261
2008-09-05 13:41 UTC
Hi Henning,

> I want to annouce that I am working on qtnx and nxcl to get it running
> on the nokia n800 and n810 devices.
Great!

> First the configure-widget was not scrollbar and tried to display
> all fields in the same widget. This causes some strange resize effects
> and made the configure-widget rather useless. I found a easily
> solution and wrapped it into a ScrollArea with qt-designer.
> The patch can be found here:
> http://developer.berlios.de/patch/?func=detailpatch&patch_id=2557&group_id=2978
This is a workaround. The solution is to redesign the UI in order to
fit into device screen.
By the way I'm going to modify Qt in order to wrap the QDialog content
widgets with a QScrollArea. The scrollbars will shown
automatically when needed.
Thus no changes are needed to have a working Qt app in maemo.
However for a better usability the developer MUST adapt the UI to the
small screen size.

> The greatest Problem is that x-window which comes from nxagent(which is
> modified xnest-server) on the server side has no hildon-framework
> support. That means the virtual keyboard on the n800 is not workable.
> Luckily the keyboard on the n810 is working.
You need to port the hildon input method.
The code that you need is in the "hildon-input-method-framework".
apt-get source hildon-input-method-framework

BR,
Antonio
  •  Reply

Re: qtnx on maemo

Henning Heinold
Karma: 27
2008-09-08 10:37 UTC
On Fri, Sep 05, 2008 at 04:08:23PM +0300, Eero Tamminen wrote:
> Hi,
>
> ext Henning Heinold wrote:
>> The greatest Problem is that x-window which comes from nxagent(which is
>> modified xnest-server) on the server side has no hildon-framework
>> support.
>
> Hildon-framework is nowadays open source. I guess it would be enough to
> build & install the hildon-im module for Gtk apps at the other end
> (and I guess similar thing can be done for Qt apps).

Sorry I did mention that I already tried this. I installed
hildon-input-method-framework package on the server and
setup /etc/gtk-2.0/gtk.immodules. Unfornatly then only in
gtk-apps from the server the keyboard pops up and there is one problem
if you work on the server. The enter-key is not functional anymore
within gtk-apps.

>
>> That means the virtual keyboard on the n800 is not workable.
>> Luckily the keyboard on the n810 is working. Another effect is if loose
>> the focus on this x-window. You can not access it anymore.
>
> The "StartupWMClass" field in the application .desktop file and
> and "WM_CLASS" property in the application window need to match,
> otherwise TN doesn't know how to map the application windows against
> the information in the .desktop file. (Gtk sets WM_CLASS
> automatically to the name of the binary)

Hm here the problems starts. qtnx only made setup stuff, than it
launch ssh to the server for authorization and start the nxagent on the
server.
After this it is firing up nxproxy on the client which controlls and compress the
x-stuff of nxagent. If I do an xprop on the window on the n800/n810
it shows that the window comes from nxagent, which has no
binary on the client side.

>
> - Eero

Bye,

Henning
  •  Reply

Re: qtnx on maemo

Eero Tamminen
Karma: 161
2008-09-09 15:29 UTC
Hi,

ext Henning Heinold wrote:
>> The "StartupWMClass" field in the application .desktop file and
>> and "WM_CLASS" property in the application window need to match,
>> otherwise TN doesn't know how to map the application windows against
>> the information in the .desktop file. (Gtk sets WM_CLASS
>> automatically to the name of the binary)
>
> Hm here the problems starts. qtnx only made setup stuff, than it
> launch ssh to the server for authorization and start the nxagent on the
> server.
>
> After this it is firing up nxproxy on the client which controlls and compress
> the x-stuff of nxagent. If I do an xprop on the window on the n800/n810
> it shows that the window comes from nxagent,

Does nxagent window have WM_CLASS property? If yes, just install
suitable .desktop file for nxagent in the qtnx package.


> which has no binary on the client side.

.desktop file just describes apps, nothing says they have to be
installed on the device. :-) There might be some property that
states that the app shouldn't be shown in the Task navigator
applications start menu which you can use, or nxagent .desktop
file could also start qtnx.


- Eero
  •  Reply

Re: qtnx on maemo

Henning Heinold
Karma: 27
2008-09-10 13:08 UTC
On Tue, Sep 09, 2008 at 06:29:30PM +0300, Eero Tamminen wrote:
> Hi,
> Does nxagent window have WM_CLASS property? If yes, just install
> suitable .desktop file for nxagent in the qtnx package.

I found the place where I could change it in the nxagent binary
and set it the right hints.

>
>
> > which has no binary on the client side.
>
> .desktop file just describes apps, nothing says they have to be
> installed on the device. :-) There might be some property that
> states that the app shouldn't be shown in the Task navigator
> applications start menu which you can use, or nxagent .desktop
> file could also start qtnx.
>

Okay I understand the process now and it is working. Thank you verymuch for
the hints.

>
> - Eero


Bye Henning
  •  Reply