Meego Wiki
Views

Maliit/Development

From MeeGo wiki
< Maliit(Difference between revisions)
Jump to: navigation, search
(move team section from fontpage)
 
(18 intermediate revisions not shown)
Line 1: Line 1:
-
[[Category:Maliit]][[Category:MeeGo Input Methods]]
+
{{MaliitNavigationBar}}
-
== Documentation ==
+
Most development of Maliit happens [http://maliit.org upstream]. This page contains development information specific Maliit to MeeGo.
-
 
+
-
* [http://apidocs.meego.com/1.1/platform/html/meego-im-framework/main.html Old MeeGo 1.1 Input method engine and framework] - note that there has been changes in API since then
+
-
* Documentation webpage for the latest git version has been requested. See [https://bugs.meego.com/show_bug.cgi?id=14382 bug 14382]
+
-
* Generate from source code with doxygen.
+
-
 
+
-
Some of the documentation is slighly outdated, and we are working to improve this. Use our [[Maliit#Communication_Channels|communication channels]] if there are any issues.
+
== Repositories ==
== Repositories ==
-
* [http://meego.gitorious.org/meegotouch/meegotouch-inputmethodframework meego-im-framework]:<pre>git clone git@gitorious.org:meegotouch/meegotouch-inputmethodframework.git</pre>
+
For MeeGo 1.2, the following branches are used:
-
* [http://meego.gitorious.org/meegotouch/meegotouch-inputmethodengine meego-im-engine]:<pre>git clone git@gitorious.org:meegotouch/meegotouch-inputmethodengine.git</pre>
+
* https://meego.gitorious.org/meegotouch/meegotouch-inputmethodframework/commits/meego-1.2
-
* [http://meego.gitorious.org/meegotouch/meegotouch-inputmethodkeyboard meego-keyboard]:<pre>git clone git@gitorious.org:meegotouch/meegotouch-inputmethodkeyboard.git</pre>
+
* https://meego.gitorious.org/meegotouch/meegotouch-inputmethodkeyboard/commits/meego-1.2
 +
== Meego packaging ==
 +
* [http://build.meego.com/project/show?project=devel%3Ainput-methods devel:input-methods on MeeGo OBS]
 +
* [http://build.meego.com/project/monitor?commit=Filter%3A&succeeded=1&failed=1&unresolvable=1&broken=1&blocked=1&dispatching=1&scheduled=1&building=1&finished=1&signing=1&pkgname=maliit&repo_standard=1&repo_weekly=1&arch_armv8el=1&arch_i586=1&project=Trunk&defaults=0 Status in Trunk]
 +
* [http://build.meego.com/project/monitor?commit=Filter%3A&succeeded=1&failed=1&unresolvable=1&broken=1&blocked=1&dispatching=1&scheduled=1&building=1&finished=1&signing=1&pkgname=inputmethod&repo_standard=1&arch_armv8el=1&arch_i586=1&project=MeeGo%3A1.2%3Aoss&defaults=0 Status in 1.2]
 +
* [http://build.meego.com/project/monitor?commit=Filter%3A&succeeded=1&failed=1&unresolvable=1&broken=1&blocked=1&dispatching=1&scheduled=1&building=1&finished=1&signing=1&pkgname=inputmethod&repo_standard=1&arch_armv7el=1&arch_i586=1&lastbuild=1&project=MeeGo%3A1.1%3ACore&defaults=0 Status in 1.1]
-
== Team ==
+
== QA Reports ==
-
* [http://meego.com/users/otso Otso Virtanen] (Product Manager)
+
Latest inputmethod packages QA reports using recent Meego images can be found at the [http://qa-reports.meego.com/1.2/Handset/Basic%20Feature%20Testing/N900 QA Basic Feature Testing] section of [http://qa-reports.meego.com http://qa-reports.meego.com].
-
* [http://meego.com/users/x2 Richard Sun] (Project Manager)
+
== How to write an input method engine plugin ==
-
* [http://meego.com/users/mdamt Mohammad Anwari] (Architect)
+
Step by step procedure with a working plugin can be found http://wiki.meego.com/Input_Method_Engine_Plug-in_for_MeeGo
-
* Aapo Kojo (ScrumMaster)
+
-
* Pekka Vuorela (Lead Developer)
+
-
* Kimmo Surakka (Lead Developer)
+
-
* [http://meego.com/users/mikhas Michael Hasselmann] (Developer)
+
-
* Viacheslav Sobolev (Developer)
+
-
* Ning Chi (Developer)
+
-
* [http://meego.com/users/jonnor Jon Nordby] (Developer)
+
-
* Hannu Könönen (Test Developer)
+
-
* Rakesh Cherian (Test Developer, Bug Triager)
+
-
* [http://meego.com/users/brangi Gibran Rodriguez] (Test Engineer)
+
-
* [http://meego.com/users/jpetersen Jan Arne Petersen] (Developer)
+
-
== Contributing ==
+
== Open bug reports ==
-
We use gitorious to handle patches and reviews. Clone our repository, and create a merge request with the commits you want merged. As a general rule, do not send patches to the mailinglist.
+
Open bugs under [https://bugs.meego.com/buglist.cgi?query_format=advanced&bug_status=NEW&bug_status=NEEDINFO&bug_status=ASSIGNED&bug_status=WAITING%20FOR%20UPSTREAM&bug_status=REOPENED&component=maliit-framework&component=maliit-plugins&product=MeeGo%20Distribution%20Packages MeeGo Distribution Packages -> Maliit] (for Meego 1.3+)
-
If you are implementing a new feature, it is smart to discuss it on the mailing list first.
+
Open bugs under [https://bugs.meego.com/buglist.cgi?query_format=advanced&bug_status=NEW&bug_status=NEEDINFO&bug_status=ASSIGNED&bug_status=WAITING%20FOR%20UPSTREAM&bug_status=REOPENED&component=meegotouch-inputmethodbridges&component=meegotouch-inputmethodengine&component=meegotouch-inputmethodframework&component=meegotouch-inputmethodkeyboard&product=MeeGo%20Distribution%20Packages&classification=MeeGo%20Platform MeeGo Distribution Packages -> meegotouch-inputmethod] (not in use)
-
If you have a fix for a bug that affects Meego, file a bugreport at bugs.meego.com and link your merge request there.
+
-
We currently do not have a concrete policy for giving out commit rights to the mainline repositories. However, it is our intention that contributors
+
Open bugs under [https://bugs.meego.com/buglist.cgi?classification=MeeGo%20Platform&query_based_on=virtual%20keyboard&query_format=advanced&bug_status=NEW&bug_status=NEEDINFO&bug_status=ASSIGNED&bug_status=WAITING%20FOR%20UPSTREAM&bug_status=REOPENED&component=Virtual%20keyboard&product=OS%20Base&known_name=virtual%20keyboard OS Base -> Virtual keyboard] (for Meego 1.0, 1.1 and 1.2)
-
that builds up a track record with the project are able to get commit rights.
+
-
Do note that also those who have commit rights have to submit and get their merge requests reviewed prior to changes going in.
+
-
 
+
-
== Installing ==
+
-
 
+
-
=== Meego ===
+
-
Meego Input Methods comes preinstalled on:
+
-
* Meego Handset UX 1.1 and later
+
-
* Meego Tablet UX 1.2 and later
+
-
 
+
-
'''Meego Netbook UX'''
+
-
 
+
-
These steps have been tested on Meego 1.1.
+
-
 
+
-
* Enable the 'handset' repository. For example:
+
-
 
+
-
$ sudo zypper addrepo <nowiki>http://repo.meego.com/MeeGo/releases/1.1/handset/repos/ia32/packages/</nowiki> handset
+
-
$ sudo zypper refresh
+
-
 
+
-
* Install these packages:
+
-
** meegotouch-inputmethodbridges
+
-
** meegotouch-inputmethodkeyboard.
+
-
* Modify <code>/etc/xdg/autostart/meego-im-uiserver.desktop</code> to look like this:
+
-
 
+
-
[Desktop Entry]
+
-
Exec=/usr/bin/meego-im-uiserver -target slate -bypass-wm-hint
+
-
X-Moblin-Priority=High
+
-
OnlyShowIn=X-MEEGO-HS;X-MEEGO-NB
+
-
 
+
-
This will work with 1024x600 resolution. Replace 'slate' with other code if you have different resolution. See /etc/meegotouch/devices.conf for different codes.
+
-
 
+
-
* Add this line to ~/.bashrc (any better place in X configs? /etc/X11/xinitrc-common failed for me) to activate the inputmethod plugin for Qt-based programs:
+
-
export QT_IM_MODULE=MInputContext
+
-
 
+
-
* Relogin (or reboot) to desktop
+
-
 
+
-
=== Ubuntu (10.04 Lucid Lynx / 10.10 Maveric Meerkat) ===
+
-
The MeeGo Input Methods are not yet in any official Ubuntu repository. However, the packages are available through [http://launchpad.net Launchpad]. They are provided to ease development of input method plugins, without the need of using the MeeGo SDK or even scratchbox.
+
-
 
+
-
To install the packages, you will need to add two Launchpad PPA's to your system's software sources:
+
-
* Under System → Administration → Software Sources, select "Other Software" '''or'''
+
-
**Alternatively you can run Synaptics Package Manager and choose the menu ''Setting'' --> ''Package Sources'' where you can add the following PPA's in the tab "Other Software"
+
-
*<code>Add ppa:openismus-team/openismus-meego-im</code>
+
-
*<code>Add ppa:kubuntu-ppa/backports</code> (needed for Qt 4.7, on Lucid/Meerkat)
+
-
*Install meego-keyboard-dev and meegotouch-demos-widgetsgallery (for simple testing) through Synaptics Package Manager '''or'''
+
-
**using this command line command(make sure that Synaptics is closed already):
+
-
sudo apt-get update && sudo apt-get install meego-keyboard-dev meegotouch-demos-widgetsgallery
+
-
 
+
-
=== Debian, and Ubuntu derivatives ===
+
-
You might be able to use the packages above.
+
-
 
+
-
=== Arch Linux ===
+
-
Preliminary git packages are available [http://aur.archlinux.org/packages.php?O=0&K=meegotouch-input&do_Search=Go in AUR]
+
-
 
+
-
=== Other GNU/Linux ===
+
-
Grab the source source code from the git repositories above.
+
-
 
+
-
Meego Input Methods uses the qmake build system. So, to do a standard build and install, do:
+
-
qmake
+
-
make
+
-
make install
+
-
 
+
-
'''Dependencies'''
+
-
* All components have a hard dependency on Qt 4.7.
+
-
* Framework uses libmeegotouch by default. Pass CONFIG+=nomeegotouch to qmake to disable.
+
-
* Keyboard uses meego feedback framework (with reactionmaps) by default. Pass CONFIG+=noreactionmaps to qmake to disable.
+
-
* Keyboard currently has a hard dependency on libmeegotouch.
+
-
 
+
-
Work is ongoing to reduce the amount of dependencies in the different components.
+
-
 
+
-
== Using ==
+
-
To quickly test your installation, it is recommended to use the widgetsgallery:
+
-
# Make sure you have a compositing window manager running: Go to System → Appearance, select "Visual Effects" and choose either normal or extra.
+
-
# Start the meego-im-uiserver (responsible for handling input method plugins and communication with the application) using a shell:
+
-
  meego-im-uiserver -software -bypass-wm-hint
+
-
# Test virtual keyboard in MeeGo Touch's widgetsgallery (in a seperate shell):
+
-
  QT_IM_MODULE=MInputContext widgetsgallery
+
-
 
+
-
To integrate it with your system or product, use the distro-recommended way to start above daemon and setting the environment variable for all applications.
+
-
 
+
-
== Open bug reports ==
+
{{#bugzilla:
{{#bugzilla:
Line 130: Line 36:
}}
}}
-
== Meego packaging ==
+
{{MaliitNavigationBar}}
-
[http://build.meego.com/project/monitor?commit=Filter%3A&succeeded=1&failed=1&unresolvable=1&broken=1&blocked=1&dispatching=1&scheduled=1&building=1&finished=1&signing=1&pkgname=inputmethod&repo_standard=1&repo_weekly=1&arch_armv7el=1&arch_armv8el=1&arch_i586=1&project=Trunk&defaults=0 Status in Trunk]
+
-
 
+
-
== QA Reports ==
+
-
 
+
-
Latest inputmethod packages QA reports using recent Meego images can be found at the [http://qa-reports.meego.com/1.2/Handset/Basic%20Feature%20Testing/N900 QA Basic Feature Testing] section of [http://qa-reports.meego.com http://qa-reports.meego.com].
+

Latest revision as of 09:03, 16 September 2011

Maliit - Input Methods for MeeGo
Overview · Development · Installing · Roadmap

Most development of Maliit happens upstream. This page contains development information specific Maliit to MeeGo.

Contents

Repositories

For MeeGo 1.2, the following branches are used:

Meego packaging

QA Reports

Latest inputmethod packages QA reports using recent Meego images can be found at the QA Basic Feature Testing section of http://qa-reports.meego.com.

How to write an input method engine plugin

Step by step procedure with a working plugin can be found http://wiki.meego.com/Input_Method_Engine_Plug-in_for_MeeGo

Open bug reports

Open bugs under MeeGo Distribution Packages -> Maliit (for Meego 1.3+)

Open bugs under MeeGo Distribution Packages -> meegotouch-inputmethod (not in use)

Open bugs under OS Base -> Virtual keyboard (for Meego 1.0, 1.1 and 1.2)

IDStatusAssigneeSeverityVersionSummary (11 tasks)
Low
18665*
18665 Unless you need to develop target (platform/device) specific things, I recommend just using your host system when developing Maliit.
NEWx2enhancement1.4[FEA] API missing for Cleanup activity during im-plug-in Unloading
Medium
13375*
N900CE, triaged13375 Situation should be re-evaluated with new libmaliit (soon-to-be) in MeeGo trunk.
ASSIGNEDmikhasnormal1.2MInputContext forwards incorrect orientation in non-MTF apps (w/patch)
15517*
triaged15517 bugzilla shifted the bug when i hit save. error. this is not started on yet.
ASSIGNEDmcberardinormal1.2Unable to disable VKB when external USB keyboard plugged in
22123*
triaged22123

(In reply to comment #3) > If this is only for MeeGo 1.2 Harmattan, the bug is in wrong place.

No, this bug is for MeeGo proper.

I've filed the bug in the Harmattan bugzilla too:

http://www.developer.nokia.com/bugs/show_bug.cgi?id=349
ASSIGNEDmikhasnormal1.3Virtual keyboard layouts should allow for arrow keys
16992*
triaged16992

Well still Keyboard looks the same as in base theme. While running Uiserver, I get

MAssemblyPrivate: load stylesheet from /usr/share/themes/base/meegotouch/libmeego-keyboard/style/libmeego-keyboard.css MAssemblyPrivate: load stylesheet from /usr/share/themes/n900de/meegotouch/libmeego-keyboard/style/libmeego-keyboard.css Successfully resolved MeeGo graphics system: /usr/lib/qt4/plugins/graphicssystems/libqmeegographicssystem.so

MeegoGraphics: found EGL_NOK_image_shared

MeegoGraphics: found EGL_KHR_lock_surface2 MeegoGraphics: found EGL_KHR_fence_sync MThemePrivate: pixmapChangedSlot - pixmap reload failed (null handle): "default_pixmap_meegotouch-keyboard-key-disabled_0_0" MThemePrivate: pixmapChangedSlot - pixmap reload failed (null handle): "default_pixmap_meegotouch-keyboard-key-highlighted_0_0"

MThemePrivate: pixmapChangedSlot - pixmap reload failed (null handle): "default_pixmap_meegotouch-keyboard-key-highlighted-pressed_0_0" 
MThemePrivate: pixmapChangedSlot - pixmap reload failed (null handle): "default_pixmap_meegotouch-keyboard-key-selected-highlighted_0_0" 
MThemePrivate: pixmapChangedSlot - pixmap reload failed (null handle): "default_pixmap_meegotouch-keyboard-key-pressed-selected-highlighted_0_0" 
MThemePrivate: pixmapChangedSlot - pixmap reload failed (null handle): "default_pixmap_meegotouch-keyboard-function-key-disabled_0_0" 
MThemePrivate: pixmapChangedSlot - pixmap reload failed (null handle): "default_pixmap_meegotouch-keyboard-function-key-selected-highlighted_0_0" 
MThemePrivate: pixmapChangedSlot - pixmap reload failed (null handle): "default_pixmap_meegotouch-keyboard-function-key-pressed-selected-highlighted_0_0" 
void MVirtualKeyboard::setLayout(int) 
  ""  ->  "en_gb.xml"  index= 0 
Some files seem to be missing in theme/icons which causes the issue.
NEWx2normal1.2Virtual keyboard uses suboptimal theming in MeeGo Tablet UX
19562*
19562

(In reply to comment #2)

As I said here: http://forum.meego.com/showpost.php?p=24704&postcount=13 I suggest to split the bug in two, - The Japanese Input - The sliding feature

> We will also need engine support.

There are many open source possibilities, the most efficient ones are in my opinion Anthy and Mozc.

If I misunderstood what you mean please forgive me.
NEWx2normal1.3[FEA]Missing Japanese virtual keyboard layout
20615*
triaged20615

I'm investigating a similar crash issue related to corewatcher.

Could you test it without corewatcher to see if you still meet any crash: After meego-im-uiserver launched, kill corewatcher process and do the same tests.

Note that without corewatcher, you can still find core files under /tmp with the PID when it is core dumping. (You might need "ulimit -c unlimited" to enable core dump.)
NEWx2major1.2Meego-im-uiserver crashed with 2/10 possibility
22570*
22570

(In reply to comment #3) > Core OS Bug Triage: > > Priority -> medium > > Assigned to -> araujo


Hi, I have analyzed it and created a merge request at https://gitorious.org/maliit/maliit-plugins/merge_requests/7

Please look at it.

Thanks,

kalinga
NEWaraujonormal1.2Insert of a punctuation character un-necessarily deleting the last character of the previously committed word
15025*
triaged15025

(In reply to comment #28) > (In reply to comment #27) > > Will not be fixed for 1.2. Moving to 1.3. > > And based on what do you make that decision, your majesty?

that time is up and the proposed fix doesn't apply since it involves a package that is not part of 1.2 and shifting everything over to the new codebase at this extreme late hour would be an unacceptable risk.

This.... and none of the meego-ux apps are impacted by this bug. For 1.3 it's easy, we include the change to use the new libmaliit and we are done with it.
REOPENEDx2major1.3MInputMethod does not rotate for QML and Qt Applications
Undecided
23506*
23506 In order to integrate properly with the netbook UI the virtual keyboard also needs a clutter-imcontext backend. I am told that this is 'quite a lot like the gtk one' which is good, since we have one of those already.
NEWx2normal1.2.0meegotouch-inputmethodbridges needs a clutter-imcontext backend
23171*REOPENEDaraujonormal1.3[CE] VKB stays open after opening HWKB.
Maliit - Input Methods for MeeGo
Overview · Development · Installing · Roadmap
Personal tools