Moblin Applets

Introduction

The focus of moblin-applets is on the creation and maintenance of configuration utilities for the moblin desktop environment. Configuration utilities are pieces of software which provide the ability to change the settings for one or more features of a mobile device. Each supports an independent GUI; usually in the form of a dialog.

These utilities are not independent applications with their own process execution spaces. They are applets that exist as dynamic libraries that are loaded into the desktop manager's execution space. The applets moblin-applets installs are of two possible types: control panel applets and status bar applets. The control panel applets show up on the desktop under the "Settings" category. They are executed in the same way as applications: by clicking their associated icon. The status bar applets show up as buttons on the marquee at the top of the screen. They are executed by clicking the button.

View the moblin-applets complete Version History

Package Contents

The overall structure and layout of the moblin-applets package is inherited largely from gnome-control-center 2.18.1 as that is where the bulk of the applet code originated, but it has been altered significantly to support the needs of a mobile device environment.

There are currently a total of ten control panel applets and three status bar applets built and installed by moblin-applets; along with two daemons (one system, the other session), and a collection of utilities and libraries.



Control Panel Applets
Status Bar Applets
Supporting Infrastructure

The latest moblin-applets package can be downloaded here: http://moblin.org/build-results/projects/moblin-applets/lpia/

Retrieving the moblin-applets source

The moblin-applets git repository can be viewed here: http://moblin.org/repos/projects/moblin-applets.git/

The source is maintained in a repository on moblin.org. It is readable by anyone but only the project owner and developers have write permission. It can be retrieved anonymously with the following command:


if you are behind a proxy, set the RSYNC_PROXY variable
(remember not to include http://)
$ export RSYNC_PROXY= <server:port>
$ git-clone rsync://moblin.org/repos/projects/moblin-applets.git
$ cd moblin-applets


Or, if you have a moblin.org account, you can retrieve it this way:

if you are behind a proxy, set the http_proxy variable
$ export http_proxy=http://<server:port>
$ git-clone ssh://<username>@moblin.org/home/repos/projects/moblin-applets.git
$ cd moblin-applets

Configuring the source

You will probably want to build moblin-applets inside of a moblin-image-creator project root so as not to clutter up your workstation. The easiest way to do this is to mount the moblin-applets source directory into your project's file-system. For instance, the following mounts it into a directory called /moblin-applets.


$ mkdir /usr/src/projects/<projectname>/moblin-applets
$ mount --bind <moblin-applets path> /usr/src/projects/<projectname>/moblin-applets
$ image-creator -c chroot-project --project-name <projectname>
$ cd /moblin-applets


Now on to the source. First, you need to install all of the packages moblin-applets needs in order to build. This is most easily done using pbuilder. Install pbuilder and run pbuilder-satisfydepends.

$ image-creator -c chroot-project --project-name <projectname>
$ cd /moblin-applets
$ apt-get update
$ apt-get install dpkg-dev pbuilder
$ /usr/lib/pbuilder/pbuilder-satisfydepends


If, for some reason, you cannot run pbuilder, you can install the deps manually. The package dependencies are listed in <moblin-applets-source>/debian/control at the line "Build-Depends". You will have to install all of these packages for the source to be built. The manual way to do this is to take this line in debian/control, remove the commas and version parentheses, and put it as an argument to "apt-get install".

Second, the configuration scripts have to be generated. This involves the creation of a configure script from the configure.in source, and creation of Makefile.in files from every automake file (Makefile.am) in the tree. This is handled by a small script in the topmost directory called autogen.sh.

$ ./autogen.sh


Third, the source tree needs to be configured. This involves testing the system to ensure that all the needed packages and tools are installed, and creating Makefiles for every Makefile.in found in the tree. The configure script generated in the first step handles this.

$ ./configure prefix=/usr
or, add --enable-debug if you want debug information and symbols
$ ./configure --enable-debug prefix=/usr


The prefix=/usr argument is needed because by default the binaries will be installed onto the system at /usr/local/..., and thus won't be detected by the moblin desktop.

Building and installing

Now that things are configured, building the source is as simple as typing make.

$ make


Installing the source is also done with make, but with the option of a DESTDIR variable which will install it into a filesystem different from the one you're operating out of. If you're inside a moblin project root, you will want to install moblin-applets into the target's root. If the DESTDIR variable is not supplied, moblin-applets will be installed into your current file-system at /usr.

$ make DESTDIR=/targets/<targetname>/fs install

Testing

At this point moblin-applets should be installed and you can view it by running xephyr in a target root.

$ xhost +
$ image-creator -c chroot-target --project-name <projectname> --target-name <targetname>
$ export DISPLAY=":0"
$ xinit /etc/X11/xinit/xinitrc -- /usr/bin/Xephyr :2 -host-cursor -screen 1024x600x32 -dpi 96 -ac

Original Code Base

The majority of the applets, the daemons, and the package infrastructure were based on the following.

Contact Info

Moblin-Applets is managed by Todd Brandt