hildon-desktop-1:2.0.7.debian.1.orig » src 中代码初步分析(2)
来源:互联网 发布:美国linux主机 编辑:程序博客网 时间:2024/06/06 00:09
程序总结:
通过和各位兄弟们交流,收获不小,下面是我对这个程序运行机制的初步总结,可能不100%正确,错误之处希望大家指正。
0)准备:
启动脚本af***.sh,将最后面有一处"hildon-desktop"的注释掉,再运行
>af***.sh start
如果不注释,将启动原来的图形界面了。
1)编译:
当前目录为src,命令:
>cd ../
>make
只运行make即可,这样会在src目录下生成一个hildon-desktop,这是一个脚本文件,实际的可执行文件在./.libs/hildon-destop中,但是运行两者没有什么区别。
2)运行
命令:
>cd src/
>run-standalone ./hildon-desktop
**************以上内容对大家没有用,这里开始有用信息*****************************
程序会读取配置文件,然后再根据配置文件加载,最后将图形显示出来。ctrl+c终止。
(具体名字记不住了,所以上面命令或者文件名可能有些错误)
3)配置文件:
~/.osso下面的配置文件都是***.conf的,描述了插件的全局属性,供程序读取,并且它将有某个字段连向相应的***.desktop文件。
/usr/share/application/hildon下面的文件就是***.conf指定的***.desktop文件,该文件描述了插件的具体属性,其中包括某个字段,该字段指向运行插件的具体模块一般为***.so文件。我们要编写的大概就是这个文件吧。
**************以上内容对代码可能没用这里是分析******************
4)代码分析:
在上次的基础上我进一步分析了hd_desktop_load_containers,现在把它的大体过程写出来:
hd_desktop_load_containers(...)
{
初始化变量;
加载配置文件到keyfile;
for(每个插件)
{
通过keyfile读取配置文件中的各种参数信息;
如果是home插件
{
加载相应于home的信息;
根据加载的信息创建该插件;
}
如果是panel插件
{
加载相应于panel的信息;
如果是panel中的非扩展插件
{
创建非扩展panel(就是左侧的);
}
如果是panel中的扩展插件
{
创建扩展panel(就是顶部的"statusbar");
}
}
如果既不是home也不是panel
{
报警告;
}
为插件链接信号和回调函数;
加载和显示插件;
}
释放资源;
}
- hildon-desktop-1:2.0.7.debian.1.orig » src 中代码初步分析(2)
- hildon-desktop-1:2.0.7.debian.1.orig » src 中代码初步分析(1)
- maemo hildon-desktop(2)
- maemo hildon-desktop(1)
- APM代码中MAVLINK的初步分析。
- jquery.desktop.js 代码分析
- installling Debian Desktop System
- The Perfect Desktop - Debian Etch (Debian 4.0)
- imageview怎么在代码中设置src
- iOS开发代码工具————Github Desktop的简介及初步使用
- Qlik Sense Desktop 初步体验
- Java Launcher代码分析(JDK src 下Launcher包)
- AdLint代码分析工具入门初步
- 理解 Hildon
- hildon-desktopStartProcess
- debian linux root login on desktop
- Debian desktop share diretories or files
- How to change debian desktop wallpaper
- 系统时间是12小时制 asp 参与计算
- **一个睡五分钟等于六个钟头的方法【实用】**
- linux下查看动态链接库so文件的依赖的相关组建
- DM 快速分区格式化
- 有感于今天新入职员工的努力
- hildon-desktop-1:2.0.7.debian.1.orig » src 中代码初步分析(2)
- RAR 压缩文件管理器
- DM分区方法精解
- Head First C# 中文版 图文皆译 第七章 接口和抽象类 page279
- struts+hibernate+spring事务配置
- 关于 T(n) = a*T(n/b)+c*n^k;T(1) = c
- [linux]警告:检测到时钟错误。您的创建可能是不完整的。
- Arm history introduction
- 一段备用JS代码