¿Cómo puedo configurar automáticamente mi estado como Ocupado cuando se inicia Empathy?


Respuestas:


10

Después de algunas búsquedas, encontré una aplicación que se comunica con Empathy a través de dbus. Saqué algo de código de eso y creé un script que establecerá su estado.


Configurarlo es bastante fácil:

Descargue el script aquí ( página de github ).

Requiere algunas bibliotecas de Python que están en los repositorios (y podrían instalarse por defecto):

sudo apt-get install python-dbus python-notify

Luego, para configurarlo para que se inicie al iniciar sesión, ejecute Aplicaciones de inicio, haga clic en Agregar y complete los campos de esta manera:

  • Nombre: Personalizado - Iniciar empatía ocupado
  • Comando: / usr / bin / python /path/to/empathy_set_status.py dnd
  • Comentario: Inicie la empatía y configure el estado como ocupado (no molestar).

El campo de comando incluye qué estado establecer. Si no desea ocupado (dnd), puede usar uno de estos valores: disponible, dnd, ausente, xa, oculto, sin conexión.

Ahora, cuando inicie sesión, el script debe ejecutar empatía, esperar un poco y luego establecer su estado. Debería ver una notificación cuando intenta establecer su estado.

No verifico que el estado esté configurado correctamente, así que solo tengo un tiempo de espera para esperar que la empatía esté lista para permitirnos cambiar el estado. Ajusta tu tiempo si no funciona. Aumente el valor de EMPATHY_STARTUP_SECONDShasta que funcione cuando inicie sesión. Si necesita ingresar una contraseña para desbloquear su llavero para su inicio de sesión de MI, la demora tendrá que ser lo suficientemente larga para que Empathy se inicie, para que ingrese su contraseña y para que Empathy inicie sesión en sus cuentas.


Esto ya no parece funcionar (Ubuntu 13.04). Establece el estado especificado, pero luego no puede abrir la ventana Empathy (lista de contactos) cuando hace clic en ella en el Menú de mensajería.
Sadi

2

Hay un error sobre la incapacidad de usar algo que no sea 'disponible' como el estado predeterminado en Empathy. Sin embargo, si está dispuesto a considerar un programa diferente, Pidgin le permite establecer un estado inicial diferente.


1

La empatía no permite esto directamente. Sin embargo, puede intentar lo siguiente.

En resumen, puede grabar los eventos de movimiento del mouse donde normalmente haría clic en el menú Yo y elegiría el estado "Ocupado". Alternativamente, puede navegar a la misma entrada del menú Me a través del atajo de teclado F10 y las teclas de flecha. Luego, puede reproducir estos eventos al iniciar sesión a través de una entrada de Aplicación de inicio.

Esto puede reducirse a través de una aplicación llamada "cnee". Sin embargo, la versión en Maverick & Natty no funciona. Sin embargo, si compila desde la fuente, funciona.

Descargue el último código fuente desde aquí .

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

Si configure se queja por la falta de una biblioteca o bibliotecas, instale la biblioteca que se informó que falta:

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

Luego, grabe los eventos del mouse ejecutando lo siguiente (después de la cuenta regresiva) y moviendo el mouse al menú Me y haciendo clic en el estado Ocupado, seguido de la tecla del teclado 'h' para detener la grabación

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

También puede grabar eventos de teclado eligiendo el atajo de teclado F10 + FLECHA IZQUIERDA + FLECHA IZQUIERDA + FLECHA ABAJO (dos veces) + ENTER + h

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

Crear una aplicación de inicio con el comando

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

¡Gran idea! ¡Aunque descubrí que Empathy responde a los comandos dbus de este blog !
idbrii

1

Tenga en cuenta que esto no funcionará para las cuentas IRC (¿tal vez otras?). Ponga un bloque try / except al final del script para arreglar esto:

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

0

Usa Pidgin. Herramientas> Preferencias> Estado / Inactivo> marque el "estado de uso desde la última salida al inicio". La empatía no respalda lo que intentas hacer, lo siento.


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.