您的位置:首页 > 其它

在moblin上创建一个NBTK的小例子:Hello Moblin

2009-11-30 17:04 162 查看
  moblin是基于clutter的UI,而提供的NBTK将协助建议buttons,tooltips,scrollbars等UI,并支持CSS的堆叠风格表格。在非moblin的linux操作系统上安装nbtk有些麻烦,我们需要对configure作一些修订,例如clutter如果不是使用rpm的方式安装,而是采用source编译,在确保已经安装的前提下,我们在NBTK REQUIREMENT将所需的CLUTTER的rpm软件包给注释掉,同样我们处理css(可以在repo.moblin.org中下载)。如果有moblin的操作系统就非常方便,只要yum就OK。

  我想了解一些NBTK所能提供的功能,看看是否对clutter开发有帮助。今天更新了netbook的版本之2.1 final,比原来的版本有很多改进,至少叫做能用了,改善了原来在UI/UX上很多不方便,例如firefox中的copy功能欠缺,不能对字体/图片的缩放等等,感觉上好了很多。在moblin社区上有个Hello Moblin的例子,援用之,上面使用了辅助工具,还要安装这,安装那,比较麻烦(其实是自己懒)。下面是我的处理过程。

一、在用户目录下创建例子目录hello-1.0.0,在里面有下面的文件



文件1

:配置文件configure,设置为可执行模式,如下:

[wei@wei-desktop hello-1.0.0]$ cat configure

echo "Hello, This is configure file."

文件2

:源代码文件hello.c,如下:

#include <nbtk/nbtk.h>

int main (int argc , char * argv[])

{

ClutterActor * stage;

NbtkWidget * button;

clutter_init(&argc, & argv);

stage = clutter_stage_get_default();

button = nbtk_button_new_with_label("Hello Moblin!");

clutter_container_add_actor(CLUTTER_CONTAINER(stage),CLUTTER_ACTOR(button));

clutter_actor_show(stage);

clutter_main();

return 0;

}

文件3

:desktop文件,desktop文件的说明可参考:http://www.ibm.com/developerworks/cn/linux/l-cn-dtef/

[Desktop Entry]

Version=1.0.0

Encoding=UTF-8

Name=NBTK Hello Testing

Name[zh_CN]=NBTK的测试小程序

Comment=NBTK Hello little program for testing

Comment[zh_CN]=NBTK的测试小程序Hello world!

Exec=hello

Icon=/usr/local/share/icon/hello.png

Terminal=false

Type=Application

StartupNotify=true

Categories=Applications;Office;

文件4

:图标文件hello.png

文件5

:Makefile文件,可参考kernel编译和RPM打包

,如下

CC = gcc

CFLAGS += -Wall -g `pkg-config clutter-1.0 nbtk-1.2 --cflags`

INCLUDE =

LIBS += -Wall -g `pkg-config clutter-1.0 nbtk-1.2 --libs`

OBJECTS = hello.o

TARGET = hello

DESTDIR =

all: $(TARGET)

hello.o:

$(CC) $(CFLAGS) -c hello.c

$(TARGET):$(OBJECTS)

$(CC) $(LIBS) -o hello $(OBJECTS)

install:

cp $(TARGET) $(DESTDIR)/usr/local/bin/$(TARGET)

cp $(TARGET).desktop $(DESTDIR)/usr/local/share/applications/$(TARGET).desktop

cp $(TARGET).png $(DESTDIR)/usr/local/share/icon/$(TARGET).png

rm: clean

clean:

rm -f *.o

rm $(TARGET) $(DESTDIR)/usr/local/bin/$(TARGET)

rm $(DESTDIR)/usr/local/share/applications/$(TARGET).desktop

rm $(DESTDIR)/usr/local/share/icon/$(TARGET).png

二、封装为RPM包

  将hello-1.0.0文件夹压缩打包为hello-1.0.0.tar.gz并放置于~/rpmbuild/SOURCES中,我们在~/rpmbuild/SPECS中创建文件hello.spec,可参考kernel编译和RPM打包
http://hlee.javaeye.com/blog/343499
如下:

Name: hello

Version: 1.0.0

Release: 1

Summary: NBTK hello testing

Group: Development/Tools

License: GPL

#URL:

Source0: hello-1.0.0.tar.gz



BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)

BuildRequires: clutter-devel >= 1.0 nbtk-devel >= 1.1.13

Requires: clutter >= 1.0 nbtk >= 1.1.13

%description

The NBTK hello little program is used to test how to build an application in moblin, just for study.

%prep

%setup -q

%build

%configure

#make %{?_smp_mflags}

make

%install

rm -rf $RPM_BUILD_ROOT

install -d $RPM_BUILD_ROOT/usr/local/bin

install -d $RPM_BUILD_ROOT/usr/local/share/applications

install -d $RPM_BUILD_ROOT/usr/local/share/icon

make install DESTDIR=$RPM_BUILD_ROOT

%clean

rm -rf $RPM_BUILD_ROOT

%files

%defattr(-,root,root,-)

/usr/local/bin/hello

/usr/local/share/applications/hello.desktop

/usr/local/share/icon/hello.png

#%doc

%changelog

  之后运行rpmbuild -ba hello.spec

,如果命令无效,安装rpmbuild,yum install rpm-build。

三、安装hello

  在~/rpmbuild/RPMS/i386中找到两个rmp包,分别是:hello-1.0.0-1.i386.rpm和hello-debuginfo-1.0.0-1.i386.rpm,我们安装hello rpm,sudo rpm -ivh hello-1.0.0-1.i386.rpm

,之后我们在moblin的应用程序中看到相关图标,我们可以按下图钉,在首页myzone那里出现快捷键。











相关链接:

我的Clutter相关博客

我的moblin相关文章
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: