如何从脚本(某些#general和#nickserv选项卡)closurespidgin对话窗口中的多个选项卡。 我试图使用xdotool和devilspie但没有结果。
linux命令“符号
如何从PHP cli获得Linux控制台$ COLUMNS和$ ROWS?
PHPUnit命令行工具不起作用
curl:从CLI的每个文件附加头文件(用于多部分POST,SOAP等)
如何使用命令行更改Windows服务的启动types
您可以使用Pidgin的DBus API关闭对话。 见Pidgin的DbusHowto 。 以下Python代码关闭所有对话窗口,名称与to_close列表匹配。 (我使用IM用户名进行了测试,但是没有使用IRC聊天室名称,因此可能需要针对您的目的进行一些额外的调整。)
to_close = ["#general","nickserv"] for conv in purple.PurpleGetConversations(): if purple.PurpleConversationGetName(conv) in to_close: purple.PurpleConversationDestroy(conv)
在Python文件的顶部放置以下内容以初始化用于通过D-Bus(来自DbusHowTo )与Pidgin / Finch进行通信的purple对象:
#!/usr/bin/env python import dbus import sys # Based off http://developer.pidgin.im/wiki/DbusHowto bus = dbus.SessionBus() obj = bus.get_object("im.pidgin.purple.PurpleService","/im/pidgin/purple/PurpleObject") purple = dbus.Interface(obj,"im.pidgin.purple.PurpleInterface")
对于那些不喜欢Python的人来说,使用purple-remote (注意, for arg迭代脚本的参数),在sh重写的是同样的东西:
#!/bin/sh # Note that the result of sed here is a string like "(1234) (5678)". for conversation in `purple-remote PurpleGetConversations | sed 's/^.*[[]//' | sed 's/].*$//' | sed s/dbus.Int32//g | sed s/,//g` do conv_name=`purple-remote "PurpleConversationGetName$conversation"` for arg do if [ "$arg" = "$conv_name" ] then purple-remote "PurpleConversationDestroy$conversation" fi done done
尽管如此,我完全不确定管道是多么的脆弱。 Python似乎更干净。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。