QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6301|回复: 2

Eva 脚本编写指南

[复制链接]
发表于 2007-6-24 17:00:23 | 显示全部楼层 |阅读模式
Eva 脚本编写指南

1. 简介
Eva 可以通过打开独立进程来运行一个脚本。通过 KDE 目前的进程通讯机制 DCOP (在KDE4中, 将使用dbus)来进行进程间的通讯。
脚本可以通过Eva 提供的 DCOP 接口函数来调用 Eva 的功能, Eva 则通过写入脚本所在进程的“标准输入”来反馈消息。

2. Eva 脚本语言的要求
任何在linux上可以运行的脚本,理论上都可以被Eva 支持。 但是由于linux系统的定制性和多样性, 导致环境的不一致。 比如,如果在
没有安装pyKDE 支持的机器上, 含有 pyKDE 代码的 python 脚本就无法正常运行。 所以, 建议大家使用尽量少的外部依赖, 这样
可以确保脚本在更多机器上运行。比如 bash 脚本。

3.Eva 脚本安装包
由于Eva 脚本管理部分基本是学习Amarok而来, 所以很多地方和Amarok都保持了一致(脚本管理器代码大概80%代码是从Amarok复制而来)。

3.1 安装包的构成
一个标准(基本)的 Eva 脚本安装包包括: 脚本,规格文件,说明文件,许可说明 四个文件。

3.1.1 规格文件要求
目前规格文件包括两行:第一行是指定脚本名称,这个名称将会显示到Eva的脚本管理器中(请一定注意,这个名字在一些Eva的DCOP
方法里需要用到, 当传参数时,请使用这个文件里标注的名字), 第二行是脚本类型。
脚本类型在Eva 中实际上是注册脚本需要得到的消息类型

  1. name = 我的脚本
  2. type = message, status
复制代码

上面的例子是指定脚本名字叫“我的脚本”, 脚本需要接收聊天消息 还有好友状态改变消息。

3.1.2 说明文件要求
说明文件名规定为固定名称:README
内容没有特殊的要求, 可以使用HTML的tag,下面是一个简单的例子

  1. <div align="center"><b>我的脚本</b></div>

  2. <p>
  3. <b>关于:</b><br>
  4. 这是一个Eva脚本
  5. </p>

  6. <p>
  7. <b>使用方法:</b><br>
  8. 测试
  9. </p>

  10. <p>
  11. <b>依赖:</b><br>
  12. >=eva-20070620
  13. </p>

  14. <p>
  15. <b>感谢:</b><br>
  16. 感谢CCTV, 感谢TVB, 感谢湖南电视台 ~~~~
  17. </p>

  18. <p>
  19. <b>作者:</b><br>
  20. 你的名字, 你的email
  21. </p>
复制代码


3.1.3 许可说明文件要求
许可说明文件的文件名固定为“COPYING”
里面是文本的许可说明。我们建议使用GPL 第二版做为许可说明, 但您可以自由选择自己喜欢的许可说明

3.2 Eva 脚本安装包的制作
3.2.1 目录结构
制作Eva脚本,需要首先创建一个目录, 目录名称为你编写的脚本的名称(不含扩展名部分)。
然后, 将你的脚本文件, 规格文件,说明文件,许可说明文件复制到这个目录下。最后把这个目录
打包即可。

3.2.2 命名规则
上面已经提到过一点了。 目录名称需要和脚本名称以及规格文件名称一致。 脚本文件名的扩展名没有
要求。规格文件的扩展名固定为“.spec”。 说明文件名称固定为README, 许可说明文件名称固定为
COPYING。下面就是一个脚本为 myscript.sh 的目录结构

  1. myscript -- COPYING
  2.          |- myscript.sh
  3.          |- myscript.spec
  4.          |- README
复制代码


在做好了这个工作后, 需要把myscript 这个目录打包, 打包工作需要使用tar, bzip工具。 打包后
的文件名必须是如下三种格式之一, 包括压缩方式“*.evascript.tar *.evascript.tar.bz2 *.evascript.tar.gz”
就上面的例子而言, 可以使用命令

  1. tar cjvf myscript.evascript.tar.bz2 myscript
复制代码



最后, 有关Eva DCOP 和消息反馈的格式, 请参阅“Eva 脚本调用简述 ”一帖
脚本测试版本下载(注意:这是个测试版本, 存在很多不稳定因素, 建议普通用户使用sourceforge cvs 中的版本或者 0403 版本)
http://www.myswear.net/myswear/eva/beta/eva-20070623.tar.bz2
发表于 2007-6-25 21:44:55 | 显示全部楼层
我在服务器上打了包,试用了一下新版本,感觉不错。
回复

使用道具 举报

发表于 2007-6-29 09:56:53 | 显示全部楼层
真的很好,希望能及时发布新源
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-21 16:48 , Processed in 0.045585 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表