Add maliit-inputcontext-gtk3 maliit-inputcontext-gtk2 to default Ubuntu Touch image

Bug #1648913 reported by Kris
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Canonical System Image
Incomplete
High
Unassigned
Libertine
Invalid
Undecided
Unassigned

Bug Description

This is a feature request. It is already possible to run Gtk apps directly on the phone via XMir, out of the box, on a fresh clean system. However in order to enjoy the onscreen keyboard in those applications, it is required to manually remount / to writable, install maliit-inputcontext-gtk3 and maliit-inputcontext-gtk2 and remount the / back to read-only.
For an average user this is inconvenient to say the least.

So I would like to ask kindly to just include these two packages in the default image because:

1. Since running gtk apps is supported (X-Ubuntu-XMir-Enable=true) the osk support should be supported out of the box as well
2. These packages both are very very light in size anyways
3. Gtk port for Mir is in works, so this would have it settled ahead of time

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

I thought Brandon had solved this problem already?

affects: mir (Ubuntu) → canonical-devices-system-image
Changed in canonical-devices-system-image:
status: New → Invalid
status: Invalid → New
tags: added: unity8-desktop
Changed in canonical-devices-system-image:
importance: Undecided → High
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Maybe it's more appropriate to just add these as dependencies for Libertine?

Revision history for this message
Christopher Townsend (townsend) wrote :

These packages are already installed during a Libertine container creation, so this is not a Libertine issue.

The request is for adding these packages on the touch image itself when running Gtk apps natively on the device either w/ Mir or Xmir, ie, not in a Libertine container.

IMO, I doubt this will be accepted since the Libertine solution currently works, but let's leave it open for management to consider.

Changed in libertine:
status: New → Invalid
Revision history for this message
Stephen M. Webb (bregma) wrote :

The onscreen keyboard has full automatic functionality if the applications are installed using the supported configuration of a confined Libertine container. Any other way of using X11 under Unity 8 is not supported.

Are these GTK+ applications installed outside of a Libertine aegis? If so, how are they installed without making the system writable?

Changed in libertine:
status: Invalid → Incomplete
Revision history for this message
Kris (k-k-jacewicz) wrote :

listen guys, I am running Gtk apps directly in the Ubuntu Touch, not in Libertine, not in any other container. It works. Just this simple. The ONLY thing is, that in order to have onscreen keybard user currently has to manually :
$ sudo apt-get install maliit-inputcontext-gtk3 maliit-inputcontext-gtk2

These 2 libraries are very very light too. It's just inconvenient that user has to manually install them (also needs mount -o remount,rw / and then back to ro)

All I am asking is to include these two libraries, because:

1. They help and they almost don't weight anything
2. Gtk support in Mir is already in works, this will eventually have to land anyways, so why not now, so people can make use of it without going to terminal first

Revision history for this message
Kris (k-k-jacewicz) wrote :

Stephen, I do not know what is "aegis", but these gtk apps are jsut installed in the user's home directory, nothing goes outside. Also nothing requires sudo. Just plain standalone gtk compiled apps.

Changed in libertine:
status: Incomplete → Invalid
Revision history for this message
Stephen M. Webb (bregma) wrote :

@Kris, it's not possible to install debs on Ubuntu Touch without making your system writable, in which case you're entirely responsible for your own support. If you compiled and installed the GTK+ apps locally on your own, great, but you also support them on your own.

The only officially supported configuration for installing and running GTK+ applications on Ubuntu Touch is confined in a Libertine container.

Stephen M. Webb (bregma)
Changed in canonical-devices-system-image:
status: New → Incomplete
Revision history for this message
Kris (k-k-jacewicz) wrote :

@Christopher, nobody is talking debs. Listen, I know and understand what you're saying, but please understand what I am saying. No deb, no sudo. Just an app. Perhaps tared app (tar.gz) if it has some data files. App is just put in its folder under your home. no deb, you put it there via adb, scp, wget or sth else like that. A Gtk app compiled for arm. Compiled on qemu-system-arm chroot, or on raspberry pi3 running ubuntu mate desktop, or on the Ubuntu Phone itself.

I write apps with FreePascal. I install FPC directly on the phone. no debs, no sudo. I use fpc compiler to compile apps. I have an executable file that I run on the phone. Easy. Just need an extra step for the onscreen keyboard.

Also, the Gtk is coming officially too. Not sure when, but it's already in works. The only difference will be that the very same apps I won't need XMir to run anymore.

Really, it's this easy.

Attached is screen from my Meizu MX4 Ubuntu Edition, running Lazarud IDE with FreePascal compiler FPC3.0. Installed on the phone without any debs, clicks, without any sudo, nothing like that. Running via Xmir, without Libertine. I can create apps for the phone on the phone. I prefer using it over ssh with X forwarding though, because of the big screen. When on the go I can do on the phone, with bluetooth keyboard and mouse.

There are scenarios beyond what you anticipated, but these scenarios are there. Check my blog: kriscode.blogspot.com, follow me on G+, you'll see.

Revision history for this message
Kris (k-k-jacewicz) wrote :
Revision history for this message
Kris (k-k-jacewicz) wrote :

and this next attachement shows 2 Gtk apps running, one of which is a snake game I wrote, the other is app installer, that I wrote, that installs apps across ubuntu x86_64 and ARM. Al these happen to be Gtk apps written in Lazarus IDE in Free Pascal and they are Gtk apps. Work both in Windowed and staged mode, in landscape and portrait. Out of the box! The only thing is the onscreen keyboaard, the maliit keyboard. It will only work when these two packages are installed. It is inconvenient to go to terminal just for that.

Revision history for this message
Kris (k-k-jacewicz) wrote :

Perhaps an example would be easier than explaining everything in words. I invite all of you to try these commands directly in the phone's shell, be it adb shell, ssh or Terminal app:

$ wget http://opensoftwarehub.org/download/OSH_arminstall.sh -O osh.sh
$ chmod +x osh.sh
$ ./osh.sh

this will work even on a fresh clean installation of Ubuntu Touch, requires no sudo, uses no debs or clicks or snaps, no Libertine. After you do this you will find a new app listed, called Open Software Hub. Run it, go to "App Database" and you will see 3 sample apps, try lazSnake. You can even install Open Store with it, without click.
The OSH itself is Gtk, as well as is lazSnake. There is lazScripter app listed there as well, but it will fail to download. Intentionally, I am testing installation error scenario with it.

This is a pre-release version so you could understand the concept here, I will later launch it officially on opensoftwarehub.org.

Now the key poitn, if you install lazSnake, you can play the game. Out of the box. However, if you go to settings, there is a text field, that you won't be able to type text into, unless you connect a physical keyboard. The only way you could get the osk to appear, would be to manually install maliit-inputcontext-gtk3 and maliit-inputcontext-gtk2.

I hope this example will help you all understand why this discussion started. And that maliit support for gtk will land in the default os image. Again, it seems inevitable anyways, at latest will need to land when Gtk gets fully ported to Mir. So why not now?

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.