Apakah ada cara mewah untuk mendapatkan notifikasi volume OSD untuk bekerja dengan pulseaudio dan ALSA? Saat ini desktop standar hanya bekerja dengan pulseaudio untuk saya. Bagaimana dengan OSD vertikal yang dapat saya gunakan sebagai setetes penggantian atau panggilan dari baris perintah untuk melaporkan perubahan dalam persentase sewenang-wenang secara grafis, sebagai bilah yang bergerak naik dan turun?
Alasan mengapa saya memerlukannya untuk bekerja dengan ALSA dan pulseaudio adalah karena saya menggunakan aplikasi WINE yang tidak cocok dengan pulsa, jadi saya mematikan pulsa sebelum memulai aplikasi Windows untuk menggunakan ALSA tanpa lapisan abstraksi ekstra. Ketika saya menyadari bahwa tombol volume pada keyboard saya tidak berfungsi tanpa pulsa, saya menulis beberapa skrip bash yang saya panggil dengan Compiz atau Openbox (masing-masing dikonfigurasi melalui CCSM dan lxde-rc.xml) untuk menangkap sinyal keluar dari pulseaudio --check
dan kemudian sesuaikan volume sesuai:
vol_step_up
#!/bin/bash
pulseaudio --check
if [ $? -eq 0 ] ; then
pactl set-sink-volume 0 -- +3db
else
amixer -c0 set Master playback 3+
fi
vol_step_down
#!/bin/bash
pulseaudio --check
if [ $? -eq 0 ] ; then
pactl set-sink-volume 0 -- -3db
else
amixer -c0 set Master playback 3-
fi
Skrip bekerja dengan baik dan memetakan ke tombol dengan baik, tetapi saya tidak memiliki cara yang baik untuk melihat umpan balik visual lagi - bahkan dengan pulseaudio karena saya menangkap peristiwa tombol (XF86AudioLowerVolume, dll.). Jelas saya hanya bisa memetakan kunci volume ALSA ke sesuatu yang lain, tetapi tidak ada gunanya menduplikasi tombol pintas.
Saya memang menemukan kontrol volume python yang bisa saya panggil dalam skrip di atas:
https://github.com/fishman/utils/blob/master/pvol.py
pvol.py -s
menunjukkan level volume saat ini di layar untuk ALSA dan pulseaudio, tetapi sangat kecil dibandingkan dengan OSD gnome yang saya gunakan, dan ini bukan vertikal (bilah di atas, OSD lama di bawah):
Jadi, saya membuatnya lebih besar dan menjatuhkannya di sekitar:
Tetapi, bahkan dengan mengalihkan orientasi ke yang vertikal, tema GTK standar biru tidak cukup apik seperti VLC (lihat di bawah).
Banyak dari apa yang saya temukan dalam mencari implementasi OSD adalah posting tentang perintah notify-send yang tidak memiliki keseluruhan konsep progress bar. Jika tidak, sebagian besar bilah horizontal (dan banyak penghitung placeholder dalam skrip bash). Benar-benar semua yang perlu saya lakukan adalah memanggil amix & pactl, jadi sesuatu yang sederhana seperti progress bar gtk di pvol.py akan bagus - tidak begitu biru dan tidak tepat di tengah layar.
VLC memiliki contoh bagus tentang apa yang ada dalam pikiran saya ketika Anda menggulir roda mouse dalam mode layar penuh:
Ini jauh lebih sedikit obstruktif daripada kotak biasa yang duduk di tengah layar:
Analogi slider horizontal keseluruhan tidak pernah masuk akal bagi saya di luar audio panning antara speaker kiri dan kanan.
Lagi pula, bagaimana mungkin notifikasi desktop default dipanggil (terutama LXDE)? Saya melihat banyak posting tentang mengkonfigurasi acara pers utama, tetapi tidak banyak tentang skrip apa yang dipicu oleh peristiwa tersebut. Apa pilihan lain di luar sana di departemen mewah vertikal?
Juga, apakah ada beberapa paket yang harus saya hapus untuk mencegah konflik muncul antara peristiwa yang saya tangani melalui scripting dan compiz atau perintah openbox?
Pembaruan: Demi mencari tahu OSD apa yang saya gunakan saat ini, saya tidak langsung mengubah cara saya menangani tombol bisu. Membunuh xfce4-notifyd dan kemudian menekan tombol mute memunculkan proses xfce4-notifyd baru, jadi saya menduga ikon speaker besar berasal dari sesuatu seperti xfce4-volumed, tapi saya tidak benar-benar menginstal paket itu ... Ah ha! Membunuh gnome-settings-daemon menghentikan OSD besar di tengah layar.