Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 关闭pidgin对话窗口中的选项卡_Linux_Bash_Command Line Interface_Pidgin - Fatal编程技术网

Linux 关闭pidgin对话窗口中的选项卡

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

如何从脚本关闭pidgin对话窗口中的几个选项卡一些常规选项卡和nickserv选项卡。我尝试使用xdool和devilspie,但没有结果。

您可以使用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看起来更干净。

您可以使用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。很抱歉给您添麻烦。另外,你的代码比我的好。