|
每一个 KDE 桌面(从版本 2.0 起)都包含了一个鲜为人知但非常强大的部件,叫做“Desktop COmmunication Protocol”,或者简称为 DCOP.从开发者的角度来看,利用 DCOP 可以很方便地将强大的脚本功能添加到您的应用程序中。从用户的角度来看,利用 DCOP 可以容易地控制您的 KDE 应用程序,并可以将它们以有趣且强大的方式组合起来。 什么是 DCOP? 就其本质而言,DCOP 是一个操作于套接字之上的轻量级进程间通信机制。DCOP 由一个服务器(即 dcopserver,它在 KDE 启动时会自动启动)和任意多个客户机(支持 DCOP 的应用程序)构成。DCOP 客户机之间可以互相发送消息(通过服务器)来请求信息,要求执行函数,等等。例如,Konqueror 可能会(确实是)向 KMail 发送 DCOP 消息,让它启动一个新窗口,新窗口的“To”域在点击“mailto”链接时填好。 使用 DCOP 为帮助我们使用 DCOP,KDE 桌面附带了两个有用的工具:dcop 和 kdcop。 KDE DCOP 浏览器 -- kdcop 这是一个图形化的小工具,运行后可以列举出机器上正在运行的所有 DCOP 客户机,并以树状视图的形式显示出来。然后每个客户机都可以被展开,以显示出它支持哪些接口。 图 1. 使用 DCOP这还可以进一步展开,直到找到期望的函数。双击那个函数可以调用它(如果需要参数的话会询问)。 例 1. 刷新桌面 自终端或者 KDE 菜单栏启动 kdcop。 在应用程序列表中,展开“kwin”(KDE 窗口管理器)。 现在展开“KWinInterface”以显示出接口所提供的所有函数。 现在可以双击那些函数来执行它们。比如,双击 refresh() ,然后您就会看到桌面被刷新了,双击 nextDesktop() ,显示就会切换到下一个虚拟桌面。 例 2. 打开一个新的 Konqueror 窗口 自终端或者 KDE 菜单栏启动 kdcop。 确保您有一个 Konqueror 实例在运行 -- 如果在列表中没有出现,那么启动一个新的实例。它应该显示为“konqueror-NNNNN”,其中 NNNNN 是 Konqueror 进程的 PID 号。 在应用程序列表中,展开“konqueror-NNNNN”。 现在展开“KonquerorInterface”以显示出接口所提供的所有函数。 现在双击 openBrowserWindow() 。 将显示出一个对话框,要求您给出一个 URL 参数。输入一个您选择的完整的 URL(例如“http://www.ibm.com/”)并点击 OK。 现在您应该会看一个定向到您所指定的 URL 的新的浏览器窗口。 图 2. 输入 URL 图 3. 弹出您喜爱的站点kdcop 是一个优秀的小工具,可以用来发现一个应用程序支持哪些接口,而第二个标准工具,简单地叫做“dcop”,可以更好地满足日常工作的需要。 KDE 控制台 DCOP 客户机 -- dcop 命令行工具“dcop”本质上与 kdcop 是相同的,但是它是在命令行中使用。因此,它对于编写脚本来说更为有用。 做一点说明,从现在起,小写的 dcop 表示命令行工具,大写的 DCOP 表示泛泛的 DCOP 体系结构。 让我们来举出一些例子,看看您可以用 dcop 工具来做哪些事情。 例 3. 加载 developerWorks 与前面一样,Konqueror 进程在 dcop 中显示为“konqueror-NNNNN”,其中 NNNNN 是 pid(进程 ID)。 幸好,dcop 支持通配符,因此下面的命令: dcop konq* 将显示出所有以“konq”打头的活动的 dcop 客户机。按 Unix 惯例,我们可以与 head 命令组合使用,只得到第一个结果,如下: dcop konq* | head -1 Linux联盟收集整理
 |
频道声明:本频道的文章除部分特别声明禁止转载的专稿外,可以自由转载.但请务必注明出出处和原始作者 文章版权归本频道与文章作者所有.对于被频道转载文章的个人和网站,我们表示深深的谢意。
| 原始作者:佚名 |
录入时间:2007-5-12 03:57:50 |
| 信息来源:不详 |
投稿信箱:itqoo@126.com |
|
|
 |
|