Como posso definir automaticamente meu status como Ocupado quando o Empathy é iniciado?


Respostas:


10

Após algumas pesquisas, encontrei um aplicativo que se comunica com o Empathy via dbus. Peguei um código e criei um script que definirá seu status.


A configuração é bem fácil:

Faça o download do script aqui ( página do github ).

Requer algumas bibliotecas python que estão nos repositórios (e podem ser instaladas por padrão):

sudo apt-get install python-dbus python-notify

Em seguida, para configurá-lo para iniciar o login, execute Aplicativos de Inicialização, clique em Adicionar e preencha os campos como este:

  • Nome: Personalizado - Iniciar Empatia Ocupada
  • Comando: / usr / bin / python /path/to/empathy_set_status.py dnd
  • Comentário: inicie a empatia e defina o status como ocupado (não perturbe).

O campo de comando inclui qual status definir. Se você não quiser ocupado (dnd), poderá usar um destes valores: disponível, dnd, ausente, xa, oculto, offline.

Agora, quando você efetua login, o script deve ter empatia, aguardar um pouco e definir seu status. Você deve receber uma notificação quando tentar definir seu status.

Não verifico se o status está definido corretamente, portanto, só tenho um tempo de espera para esperar que a empatia esteja pronta para nos permitir alterar o status. Ajuste seu tempo se não estiver funcionando. Aumente o valor EMPATHY_STARTUP_SECONDSaté que funcione quando você fizer login. Se você precisar digitar uma senha para desbloquear seu chaveiro para o login de IM, o atraso terá que ser longo o suficiente para que o Empathy seja iniciado, para que você digite sua senha e para que o Empathy faça login em suas contas.


Isso parece não funcionar mais (Ubuntu 13.04). Ele define o status especificado, mas não é possível abrir a janela Empathy (lista de contatos) quando você clica no menu Mensagens.
Sadi

2

um erro sobre a incapacidade de usar algo diferente de 'disponível' como o status padrão no Empathy. No entanto, se você estiver disposto a considerar um programa diferente, o Pidgin permite definir um status inicial diferente.


1

A empatia não permite isso diretamente. No entanto, você pode tentar o seguinte.

Em resumo, você pode gravar os eventos de movimento do mouse nos quais você normalmente clicaria no Menu Me e escolheria o status "Ocupado". Como alternativa, você pode navegar para a mesma entrada do Menu Me através do atalho de teclado F10 e das teclas de seta. Em seguida, você pode reproduzir esses eventos no logon através de uma entrada do Aplicativo de Inicialização.

Isso pode ocorrer através de um aplicativo chamado "cnee". No entanto, a versão em Maverick & Natty não funciona. Se você compilar a partir do código-fonte, ele funciona.

Faça o download do código fonte mais recente aqui .

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

Se o configure reclamar sobre uma biblioteca ou bibliotecas ausentes, instale a biblioteca que está faltando:

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

Em seguida, grave os eventos do mouse executando o seguinte (após a contagem regressiva) e movendo o mouse para o Menu Me e clicando no status Ocupado, seguido pela tecla 'h' do teclado para interromper a gravação

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

Como alternativa, grave eventos do teclado escolhendo o atalho do teclado F10 + SETA ESQUERDA + SETA ESQUERDA + SETA ABAIXO (duas vezes) + ENTER + h

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

Crie um aplicativo de inicialização com o comando

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

Boa ideia! Embora eu tenha descoberto que o Empathy responde aos comandos dbus deste blog !
Idbrii

1

Observe que isso não funcionará para contas irc (talvez outras?). Coloque um bloco try / except no final do script para corrigir isso:

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

0

Use Pidgin. Ferramentas> Preferências> Status / Inatividade> verifique o "usar status da última saída na inicialização". Empatia não suporta o que você está tentando fazer, desculpe.


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.