Linux 关闭pidgin对话窗口中的选项卡
如何从脚本关闭pidgin对话窗口中的几个选项卡一些常规选项卡和nickserv选项卡。我尝试使用xdool和devilspie,但没有结果。您可以使用Pidgin的DBUSAPI来结束对话。看见下面的Python代码关闭所有名称与to_close列表匹配的对话窗口。我用IM用户名进行了测试,但没有用IRC聊天室的名称,所以出于您的目的,它可能需要一些额外的调整Linux 关闭pidgin对话窗口中的选项卡,linux,bash,command-line-interface,pidgin,Linux,Bash,Command Line Interface,Pidgin,如何从脚本关闭pidgin对话窗口中的几个选项卡一些常规选项卡和nickserv选项卡。我尝试使用xdool和devilspie,但没有结果。您可以使用Pidgin的DBUSAPI来结束对话。看见下面的Python代码关闭所有名称与to_close列表匹配的对话窗口。我用IM用户名进行了测试,但没有用IRC聊天室的名称,所以出于您的目的,它可能需要一些额外的调整 to_close = ["#general", "nickserv"] for conv in purple.PurpleGetCon
to_close = ["#general", "nickserv"]
for conv in purple.PurpleGetConversations():
if purple.PurpleConversationGetName(conv) in to_close:
purple.PurpleConversationDestroy(conv)
将以下内容放在Python文件的顶部,以初始化紫色对象,以便通过D-Bus从中与Pidgin/Finch通信:
对于那些不喜欢Python的人来说,这里有一个相同的东西,使用purple remote在sh中重写,注意For arg迭代脚本的参数:
#!/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
不过,我完全不确定SED管道有多脆弱。Python看起来更干净。您可以使用Pidgin的DBUSAPI来结束对话。看见下面的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从中与Pidgin/Finch通信:
对于那些不喜欢Python的人来说,这里有一个相同的东西,使用purple remote在sh中重写,注意For arg迭代脚本的参数:
#!/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
不过,我完全不确定SED管道有多脆弱。Python看起来干净多了。再次非常感谢您!我说的是错的。英语不是我的母语。我要把你早期的代码改写成bash。很抱歉给您添麻烦。另外,你的代码比我的好。再次非常感谢你!我说的是错的。英语不是我的母语。我要把你早期的代码改写成bash。很抱歉给您添麻烦。另外,你的代码比我的好。