Bagaimana saya bisa secara otomatis mengatur status saya ke Sibuk ketika Empati dimulai?

Jawaban:

10

Setelah beberapa pencarian, saya menemukan aplikasi yang berkomunikasi dengan Empathy via dbus. Saya menarik beberapa kode dari itu dan membuat skrip yang akan mengatur status Anda.


Pengaturannya cukup mudah:

Unduh skrip di sini ( halaman github ).

Ini membutuhkan beberapa pustaka python yang ada dalam repo (dan mungkin diinstal secara default):

sudo apt-get install python-dbus python-notify

Kemudian untuk mengaturnya agar mulai saat login, jalankan Aplikasi Startup, klik Tambah, dan isi bidang seperti ini:

  • Nama: Kustom - Mulai Empati Sibuk
  • Perintah: / usr / bin / python /path/to/empathy_set_status.py dnd
  • Komentar: Mulai empati dan atur status ke sibuk (jangan ganggu).

Bidang perintah mencakup status apa yang akan ditetapkan. Jika Anda tidak ingin sibuk (dnd), maka Anda dapat menggunakan salah satu dari nilai-nilai ini: available, dnd, away, xa, hidden, offline.

Sekarang ketika Anda masuk, skrip harus menjalankan empati, tunggu sebentar, dan kemudian atur status Anda. Anda akan melihat pemberitahuan ketika mencoba mengatur status Anda.

Saya tidak memeriksa apakah status sudah diatur dengan benar, jadi saya hanya menunggu waktu untuk berharap empati akan siap untuk membiarkan kami mengubah status. Sesuaikan waktu Anda jika tidak berfungsi. Tingkatkan nilai EMPATHY_STARTUP_SECONDShingga berfungsi saat Anda masuk. Jika Anda perlu memasukkan kata sandi untuk membuka kunci gantungan kunci Anda untuk login IM Anda, penundaan harus cukup lama untuk memulai, untuk Anda memasukkan kata sandi, dan untuk Empati untuk masuk ke akun Anda.

idbrii
sumber
Ini sepertinya tidak berfungsi lagi (Ubuntu 13.04). Ini menetapkan status yang ditentukan, tetapi kemudian Anda tidak dapat membuka jendela Empati (daftar kontak) ketika Anda mengkliknya di Menu Pesan.
Sadi
2

Ada bug tentang ketidakmampuan untuk menggunakan sesuatu selain 'tersedia' sebagai status default di Empathy. Namun, jika Anda bersedia untuk mempertimbangkan program yang berbeda, Pidgin membiarkan Anda mengatur status awal yang berbeda.

Mandy
sumber
1

Empati tidak mengizinkan ini secara langsung. Namun, Anda dapat mencoba yang berikut ini.

Singkatnya, Anda dapat merekam acara gerakan mouse di mana Anda biasanya mengklik Menu Saya dan memilih status "Sibuk". Atau Anda dapat menavigasi ke entri Menu Saya yang sama melalui pintasan Keyboard F10 dan tombol panah. Anda kemudian dapat memutar ulang acara ini saat masuk melalui entri Aplikasi Mulai.

Ini bisa diturunkan melalui aplikasi yang disebut "cnee". Namun, versi di Maverick & Natty tidak berfungsi. Jika Anda mengkompilasi dari sumber, itu berfungsi meskipun.

Unduh kode sumber terbaru dari sini .

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

Jika mengonfigurasi komplain tentang pustaka yang hilang / atau pustaka, pasang pustaka yang dilaporkan hilang:

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

Kemudian rekam peristiwa mouse dengan menjalankan yang berikut (setelah hitung mundur) dan memindahkan mouse Anda ke Me Menu dan mengklik status Sibuk, diikuti oleh tombol keyboard 'h' untuk berhenti merekam

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

Sebagai alternatif, rekam acara keyboard dengan memilih jalan pintas keyboard F10 + PANAH KIRI + PANAH KIRI + PANAH BAWAH (dua kali) + ENTER + h

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

Buat Aplikasi Startup dengan perintah

sh -c "sleep 10 && cnee --replay -f ~/changebusy.xnr"
kebebasan fosil
sumber
Ide yang hebat! Meskipun saya menemukan bahwa Empati merespons perintah dbus dari blog ini !
idbrii
1

Perhatikan bahwa ini tidak akan berfungsi untuk akun irc (mungkin orang lain?). Letakkan blok coba / kecuali di akhir skrip untuk memperbaikinya:

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

Gunakan Pidgin. Alat> Preferensi> Status / Idle> periksa "status penggunaan dari keluar terakhir saat startup". Empati tidak mendukung hal yang Anda coba lakukan, maaf.

menyelinap
sumber
-1

Coba pidgin.

Silakan lihat tautan di bawah ini

http://ubuntuforums.org/showthread.php?p=9241006

Deepak Rajput
sumber
Jawaban rangkap, tetapi snevs menjelaskan cara mengaturnya. (Utas itu hanya mengatakan "Gunakan pidgin".)
idbrii