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
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).pngrm: 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 testingGroup: 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那里出现快捷键。
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.e1idc.net