Buat sniqt mengenali semua kemampuan baki (atau buat indikator yang berfungsi di Qt)


9

Ada utas lama saya ini: Bagaimana cara membuat indikator bekerja dengan Qt / C ++? di mana saya disarankan untuk menggunakan perpustakaan QSystemTray untuk membuat ikon baki di Ubuntu untuk aplikasi saya.

Sniqt adalah program yang menangani sisanya. Seperti diketahui, Ubuntu telah menyingkirkan ikon baki. Sebaliknya, sekarang menggunakan indikator dan hanya indikator. Sniqt mengubah ikon baki Qt menjadi indikator yang berfungsi.

Masalahnya adalah itu tidak melakukan konversi yang sangat baik. Tindakan seperti klik tunggal, klik tengah dll tidak berfungsi, sementara itu dilakukan dalam sistem yang mendukung ikon baki.

Apakah ada cara untuk mengembalikan tindakan ini? Bisakah saya menggunakan ikon QSystemTray dan masih memiliki tindakan yang menarik (dan sangat membantu, pada kesempatan saya) di Ubuntu?

Saya akan senang mengetahui jawaban untuk utas lain yang saya bicarakan sebelumnya (bagaimana membuat indikator bekerja menggunakan perpustakaan GTK dan mencegah crash), juga.

Tautan untuk bug Sniqt: https://bugs.launchpad.net/sni-qt/+bug/1027652


Bukankah ini perilaku normal untuk semua indikator? Mereka hanya menerima klik kiri dan gulir acara.
Timo

Nggak! Jika Anda mis klik tengah ikon suara, itu akan mematikan / mengaktifkan suara. Dalam aplikasi saya, saya ingin membuatnya berhenti.
hytromo

@mateo_salta, harap bandingkan dengan askubuntu.com/questions/158323/…
hytromo

Jawaban:


0

Tampaknya Qt tidak mendukung hal ini, setidaknya di Ubuntu Unity, bahkan jika ia memiliki sinyal 'diaktifkan'. Jadi saya akan merekomendasikan Anda untuk menggunakan GTK dan trayicon normal, saya tidak melihat alternatif dengan Qt. Anda dapat menghubungi pengembang Qt untuk klarifikasi tentang ini.


1
Maaf tapi Qt memang memiliki fungsi ini di ikon baki-nya. Tindakan baki saya bekerja dengan sempurna di sistem lain. Ini adalah masalah Ubuntu dan keras kepala dengan indikatornya. Sniqt mungkin dapat menyelesaikan masalah ini
hytromo

2
Saya dapat mengkonfirmasi bahwa ini bukan kesalahan Qt. Saya juga meragukan masalahnya sniqt. Saya tidak mengetahui bahwa indikator aplikasi bahkan memiliki kemampuan untuk membedakan antara klik kiri dan kanan. Ini juga menjadi sumber frustrasi bagi saya.
Nathan Osman

1

Unity, dengan pilihan, tidak mendukung apa yang Anda sebut sebagai "ikon baki yang layak". Ini indikator atau tidak sama sekali. Dari sana Anda memiliki beberapa opsi:

  • Lakukan dengan kemampuan indikator terbatas. Anda dapat mengatur menu yang akan digunakan oleh indikator Anda dengan metode QSystemTray.setContextMenu () standar.

  • Lepaskan aplikasi Anda sepenuhnya dari systray. Seperti pada, ubah menjadi ikon mengambang di desktop, yang akan dapat menerima klik tengah dan kanan seperti yang Tuhan dan Matthias Ettrich maksudkan. Anda dapat menemukan contoh sederhana tentang bagaimana melakukan ini di sini: http://kde-apps.org/content/show.php/KEyes?content=51493 (Secara opsional, lakukan ini hanya ketika Anda mendeteksi bahwa Anda menjalankan di bawah Unity, yaitu jika $ DESKTOP_SESSION disetel ke 'ubuntu'.)

  • Deklarasikan Persatuan tidak didukung. Ini bukan pilihan yang sangat bagus.

Apakah Anda ingin menggunakan opsi 1 atau 2 tergantung pada apa yang dilakukan aplikasi Anda.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.