设为首页
加入收藏
网站地图
动力论坛
今天:
维修首页 服务流程 服务项目 服务报价 网上学堂 购机指南 电脑优化 软件下载 技术交流
最新动态

热烈庆祝芯动力在@世界06年
@世界电脑城3周年庆典活动
国庆芯动力电脑连锁机构
国庆芯动力电脑连锁机构
芯动力数据恢复中心升级成
芯动力数据恢复中心升级成
More..

028-85353216 028-66742224
点击这里给我发消息 点击这里给我发消息
就业服务热线:

028-85350886

edu@cdwxw.net

三星COMBO时尚首选
一分钟教你辨别返修硬盘
硬件学堂之---谈超频的概念
内存品质的细微体现
AMD Athlon64处理器实际运
More...

手工彻底清除Backdoor.PWS
宽带时代的防毒措施
11.27预警:监控登陆窗口窃
光华反病毒资讯(11.27-12.
“USB间谍”变种a
更多...

用“替换法”“对照法”处
随机性死机故障分析与排除
全面深入了解电脑死机的原
“蓝屏”的原因及处理方法
黑屏的几个原因
电脑死机原因大全
更多...

当前位置:

首页>>电脑维修>>网络学堂>>操作系统>>Linux>>正文

用 DCOP 连接 KDE 应用程序


来源:  作者:  点击数:
 
www.ibm.com/developerWorks

在 bash 中, $! 被 shell 自动替换为在后台启动的最后一个进程的 PID,这样,这个命令将改变我们刚刚启动的 Konqueror 应用程序的 URL。

最后,我们想让 Konqueror 全屏;这稍微复杂一些。

对 kdcop 的一个短期调查显示,这里有一些看起来有趣的函数可能会有帮助。

konqueror-mainwindow#1 接口有一个 actions() 函数;执行这个函数我们会得到 action() 函数所有可用参数一个列表。查看这个列表,我们会看到其中有一个操作叫 做 fullscreen 。到现在为止,一切还都不错 -- 不过在 kdcop 中调用 action() 函数并将 fullscreen 作为参数传递给这个函数,会返回一个错误。看一下 action() 函数的函数原型就会明白,它返回的是一个 DCOPRef 类型。不幸的是,kdcop 不能正确地显示这些返回类型。

不过这没关系;我们可以用 dcop 完成同样的事情:

dcop konqueror-$! konqueror-mainwindow#1 action fullscreen

这将返回

DCOPRef(konqueror-NNNNN,konqueror-mainwindow#1/action/fullscreen)

我们可以将这个返回值传递到 dcop 的另一个实例(还是借助方便的 ` 字符):

dcop `dcop konqueror-$! konqueror-mainwindow#1 action fullscreen`

这会向我们给出可用函数的一个列表,其中 activate 看起来最像是我们要找的。让我们来试试:

dcop `dcop konqueror-$! konqueror-mainwindow#1 action fullscreen` activate

就是那样,Konqueror 进入了全屏模式。

最终的脚本如下所示:

konqueror &
dcop konqueror-$! konqueror-mainwindow#1 openURL www.ibm.com/developerWorks
dcop `dcop konqueror-$! konqueror-mainwindow#1 action fullscreen` activate

注意,要退出全屏模式,您只需要右击 Konqueror 并在弹出的菜单中选择“Exit Full-Screen Mode”。

例 5. 当联系者上线时立即发送消息
最后这个例子用到了 Kopete -- 一个 KDE 即时消息客户机。

到 现在,这个脚本应该非常容易理解。它接受两个参数,联系者名 ($1) 和消息 ($2)。然后它进行循环,通过 dcop 得到可达联系者列表,并用 grep 来检查给出的名字是否出现,如果没有,则继续循环。如果出现了,循环终止并向联系者发送一条消息(还是用 DCOP)。
清单 1. 向 Falken 教授问候

name=$1; 
msg=$2; 
echo Waiting for $name to come online 
while ((`dcop kopete KopeteIface reachableContacts | grep -c $name` == 0)) 
do 
   sleep 5 
done 
echo Sending message "$msg" to "$name" 
dcop kopete KopeteIface messageContact $name "$msg"

创建一个 DCOP 感知的应用程序


现在我们将创建一个 DCOP 感知的应用程序。

简单起见,我将使用“KDevelop”集成开发环境,它有一个非常好的应用程序向导,可以为我们完成大部分工作。

由于我是一个极端的人,我现在用的是 KDevelop 3.0 beta2,但是老一些的版本的步骤也基本上相同。

一个简单的 DCOP 感知的应用程序


开始,启动 KDevelop(我从 K 菜单中使用 run 命令)。
我们在 Project 菜单中选择“New Project”,这将激活“Create New Project”向导。
如 果在其中展开 C++ 树,并展开 C++ 树下的 KDE 树,我们应该会看一个叫做“Application Framework”的条目。选择这个条目,给出您的应用程序名(例如 dwdcopapp)并填写其他需要的地方。
继续完成向导其余的部分(大部分情况下您可以只是选择“Next”),直到结束。

本新闻共3页,当前在第2页  1  2  3  

  下一篇:基于Linux的路由器和防火墙配置

上一篇:Linux操作系统12则经典应用技巧

  相关内容
 
关于我们|版权申明|广告服务网站地图友情链接人才招聘