Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1052353
  • 博文数量: 836
  • 博客积分: 43880
  • 博客等级: 大将
  • 技术积分: 5485
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-20 17:36
文章分类

全部博文(836)

文章存档

2011年(1)

2008年(835)

我的朋友

分类: LINUX

2008-08-20 18:24:26


每一个KDE桌面(从版本2.0起)都包含了一个鲜为人知但非常强大的部件,叫做“DesktopCOmmunicationProtocol”,或者简称为DCOP.从开发者的角度来看,利用DCOP可以很方便地将强大的脚本功能添加到您的应用程序中。从用户的角度来看,利用DCOP可以容易地控制您的KDE应用程序,并可以将它们以有趣且强大的方式组合起来。 什么是DCOP? 就其本质而言,DCOP是一个操作于套接字之上的轻量级进程间通信机制。DCOP由一个服务器(即dcopserver,它在KDE启动时会自动启动)和任意多个客户机(支持DCOP的应用程序)构成。DCOP客户机之间可以互相发送消息(通过服务器)来请求信息,要求执行函数,等等。例如,Konqueror可能会(确实是)向KMail发送DCOP消息,让它启动一个新窗口,新窗口的“To”域在点击“mailto”链接时填好。 使用DCOP 为帮助我们使用DCOP,KDE桌面附带了两个有用的工具:dcop和kdcop。 KDEDCOP浏览器--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(例如“”)并点击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支持通配符,因此下面的命令: dcopkonq* 将显示出所有以“konq”打头的活动的dcop客户机。按Unix惯例,我们可以与head命令组合使用,只得到第一个结果,如下:
dcopkonq*|head-1
1 2 3 4 下一页>>


下载本文示例代码
阅读(316) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~