2
8
2010
0

maemo launcher&invoker(1)

今天在http://maemo.gitorious.com/maemo-af/maemo-launcher上用git下了一个maemo-launcher的源码。

先做一个最基本的实验,如何使用maemo-launcher启动一个应用。

1.编译maemo-laucher,会生成几个文件(只关心launcher目录),包括:

   (1)maemo-launcher

   (2)maemo-invoker

   (3)maemo-summoner,defender,booster-gtk.so,booster-null.so

2.运行maemo-launcher,指定预加载那些库,可以先不指定,默认为booster-null.so

3.打开另一个终端,进入/tmp目录中,编写test.c

  

#include <stdio.h>
#include <stdlib.h>

int 
main(int argc, char * argv[])
{
    
    printf( "%s %s %d\n", __FILE__, __FUNCTION__, __LINE__ );
    
    return 0;
}

程序仅仅是打印出一些信息

编译: gcc test.c -shared -rdynamic -o test

4.使用maemo-invoker运行test应用

  maemo-invoke /tmp/test

 

 参考:http://maemomm.garage.maemo.org/docs/tutorial/html/ch07.html

 

Category: maemo | Tags:
2
3
2010
0

maemo System Software Achitecture

System Software架构分3个子系统:

(1) System Control(SC)

(2) Energy Management(EM)

(3) Power Management(PM)

System control负责设备状态管理(DSME),模式管理(MCE)和一些UI组件。另外,System Control子系统还包括硬件抽象层,maemo-launcher,alarm事件处理,时间管理,同步和profile handling(这是什么?)。System control位于用户空间。

Energy Management负责电池的充电功能。Energy Management包括电压监测,recognition(识别什么?),充电(通过USB)和充电器识别。硬件抽象层的电池插件为其他应用提供了标准的DBus接口。EM子系统位于用户空间和内核空间。

Power Management主要负责将OMAP和外围设备设置为低功耗状态。PM位于内核空间。

Category: maemo | Tags:
2
3
2010
7

maem UI Framework

UI Framework的子系统包括:

Subsystem Function
hildon-desktop OpenGL graphics API
hildon-home Home widget API and loading, notification service and plugins, background image and loading
hildon-status-menu X clipboard selection management
Hildon Input Method Localized text input UI
Control Panel Control Panel applet and loading
Startup Wizard first boot and system time setting
Startup scripts AF startup scripts
RFS and CUD framework Reset factory settings and clear user data
I18 data POSIX data

1.hildon-desktop类似于一种compositing window manager,所有的屏幕绘制工作,都是通过Clutter的画布库来完成的。hildon-desktop会将所有的已map的窗口都看作是Clutter的actor。(什么是portrait模式?)任务的启动和切换都是由hildon-desktop实现,

2.hildon-home进程实现了对home applets、notification service和背景图片的加载。存在多个home view(传说中的workspace?),用户可以滚动屏幕来选择home view。每个每个home view都有自己的一套程序,包括动态加载的home applets,小应用,X window。home view有一种布局模式,在这种模式下,窗口可以移动,resize和将他们拖动到其他home view中。hildon-home提供了notification的功能,通过Dbus session实现。

Category: maemo | Tags:

Host by is-Programmer.com | Power by Chito 1.3.3 beta | Theme: Aeros 2.0 by TheBuckmaker.com