在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相关文章
我想了解一些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相关文章
相关文章推荐
- Flex中如何通过设置editable属性创建一个可编辑的DataGrid控件的例子
- 初学Struts 2创建一个Hello World例子(注解版)
- wxPython 一个很好的窗口、菜单创建例子
- MascotWorld例子:创建一个场景,添加物体并畅游世界
- ICE第二篇--一个"hello world"的简单例子
- Flex中如何利用PopUpManager类创建一个弹出Image控件的例子
- 使用XmlSerializer创建xml文件的一个例子
- Flex中如何创建一个线性斜度填充列图(ColumnChart)的例子
- 使用JavaBean创建您的网上日历本 有的朋友曾经说过,如果有一个网上的日记本,或者一个网上的万年历能提醒自己到时去干什么事情就好了。其实呀,这样的日历本您自己也能做一个。不信你看下面的例子: 〈
- 使用eclipse创建JPA-->:附带一个简单的例子
- javascript事件小例子(利用ActiveX对象创建一个进度条)
- 【Linux】一个简单的线程创建和同步的例子
- 轻松创建nodejs服务器(1):一个简单nodejs服务器例子
- 创建一个HelloQuartz
- Flex中如何利用PopUpButton控件创建一个弹出TitleWindow的例子
- Python入门的36个例子 之 29 -> OOP – 创建一个类
- 用VB.NET创建一个三层应用程序的例子……
- 使用maven创建一个例子
- win32 api 创建窗口的一个简单例子
- 使用idea创建一个wordcount例子