当移情开始时,如何自动将我的状态设置为“忙碌”?


Answers:


10

经过一番搜索,我找到了一个通过dbus与Empathy通信的应用程序。我从中提取了一些代码,并创建了一个脚本来设置您的状态。


设置起来非常简单:

此处下载脚本(github页面)。

它需要一些位于回购协议中的python库(默认情况下可能已安装):

sudo apt-get install python-dbus python-notify

然后将其设置为在登录时开始,运行“启动应用程序”,单击“添加”,然后填写如下字段:

  • 名称: 自定义-开始移情忙
  • 命令: / usr / bin / python /path/to/empathy_set_status.py dnd
  • 注释: 开始同理并将状态设置为忙(请勿打扰)。

命令字段包括要设置的状态。如果您不想忙(dnd),则可以使用以下值之一:available,dnd,away,xa,hidden,offline。

现在,当您登录时,脚本应该运行同理心,稍等片刻,然后设置您的状态。尝试设置您的状态时,您应该会看到一条通知。

我没有检查状态设置是否正确,因此我只是等待一段时间,希望移情已准备好让我们更改状态。如果不起作用,请调整时间。增加值,EMPATHY_STARTUP_SECONDS直到登录成功。如果您需要输入密码来解锁IM登录的钥匙串,则延迟时间必须足够长,以使Empathy能够启动,您输入密码以及Empathy登录您的帐户。


这似乎不再起作用(Ubuntu 13.04)。它设置了指定的状态,但是当您在“消息传递”菜单中单击“移情”(联系人列表)窗口时,便无法打开该窗口。
2013年

2

关于无法使用“可用”以外的其他东西作为“移情”的默认状态存在一个错误。但是,如果您愿意考虑使用其他程序,则Pidgin可以让您设置其他初始状态。


1

移情不允许直接这样做。但是,您可以尝试以下方法。

总而言之,您可以记录鼠标移动事件,通常可以单击“我”菜单并选择“忙”状态。或者,您可以通过键盘快捷键F10和箭头键导航到相同的“我的菜单”条目。然后,您可以通过“启动应用程序”条目在登录时重播这些事件。

这可以通过名为“ cnee”的应用程序关闭。但是,Maverick&Natty中的版本不起作用。如果从源代码编译,它确实可以工作。

此处下载最新的源代码。

cd ~/Downloads
tar -xvf xnee-cvs-20110508.tar.gz
cd xnee-cvs-20110508
sudo apt-get install build-essential
./configure --disable-gnome-applet --disable-gui
make
sudo make install

如果configure抱怨缺少一个或多个库,请安装报告为丢失的库:

sudo apt-get install lib<name of library>-dev

然后通过运行以下命令(倒数之后)并将鼠标移至“我”菜单并单击“忙碌”状态,然后单击“ h”键盘键来停止记录,以记录鼠标事件

cnee --record -o ~/changebusy.xnr --mouse --time 5 --stop-key h

或者,通过选择键盘快捷键F10 +左键+左键+向下键(两次)+ ENTER + h来记录键盘事件

cnee --record -o ~/changebusy.xnr --keyboard --time 5 --stop-key h

使用以下命令创建启动应用程序

sh -c "sleep 10 && cnee --replay -f ~/changebusy.xnr"

好点子!尽管我发现Empathy会响应此博客中的 dbus命令!
idbrii 2011年

1

请注意,这不适用于irc帐户(也许还有其他帐户)。将try / except块放在脚本的末尾以解决此问题:

        try:
            simple_presence.SetPresence(status, _STATUSES.get(status))
        except dbus.exceptions.DBusException:
            print(status + ' is not supported by ' + valid_account)

0

使用Pidgin。工具>偏好设置>状态/空闲>检查“启动时最后一次退出时的使用状态”。抱歉,同理心不支持您要尝试做的事情。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.