Esiste un modo elegante per far funzionare l'OSD di notifica del volume con pulseaudio e ALSA? In questo momento quelli desktop standard funzionano solo con pulseaudio per me. Che ne dici di un OSD verticale che posso usare come un calo nella sostituzione o chiamare dalla riga di comando per segnalare graficamente le variazioni in percentuali arbitrarie, come una barra che si sposta su e giù?
Il motivo per cui ne ho bisogno per funzionare sia con ALSA che con pulseaudio è che sto usando un'applicazione WINE che non funziona bene con il polso, quindi uccido il polso prima di avviare l'app di Windows per utilizzare ALSA senza il livello di astrazione aggiuntivo. Quando mi sono reso conto che i tasti del volume sulla mia tastiera non funzionavano senza impulsi, ho scritto alcuni script bash che chiamo con Compiz o Openbox (configurati rispettivamente tramite CCSM e lxde-rc.xml) per catturare il segnale di uscita da pulseaudio --check
e quindi regolare il volume di conseguenza:
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
Gli script funzionano benissimo e si abbinano perfettamente ai pulsanti, ma non ho più un buon modo di vedere il feedback visivo - nemmeno con quelli pulseaudio poiché sto rilevando gli eventi dei pulsanti (XF86AudioLowerVolume, ecc.). Ovviamente potrei semplicemente mappare i tasti del volume ALSA su qualcos'altro, ma non ha senso duplicare i tasti di scelta rapida.
Ho trovato un controllo del volume Python che posso chiamare negli script sopra:
https://github.com/fishman/utils/blob/master/pvol.py
pvol.py -s
mostra l'attuale livello del volume sullo schermo sia per ALSA che per pulseaudio, ma è terribilmente piccolo rispetto allo OSD gnomo che avevo usato e non è verticale (barra in alto, vecchio OSD in basso):
Quindi, l'ho ingrandito e lo ho floppato:
Ma, anche cambiando l'orientamento in verticale, il tema GTK blu predefinito non è così fluido come VLC (vedi sotto).
Gran parte di ciò che ho trovato nella ricerca di implementazioni OSD sono messaggi sui comandi di notifica-invio che mancano dell'intero concetto della barra di avanzamento. Altrimenti, si tratta principalmente di barre orizzontali (e molti contatori di segnaposto negli script bash). Davvero tutto ciò che devo fare è chiamare amix e pactl, quindi qualcosa di semplice come la barra di avanzamento di gtk in pvol.py sarebbe fantastico - solo non così blu e non proprio nel mezzo dello schermo.
VLC ha un buon esempio di ciò che ho in mente quando si fa scorrere la rotellina del mouse in modalità a schermo intero:
È molto meno ostruttivo rispetto alle solite scatole che si trovano al centro dello schermo:
L'intera analogia dei cursori orizzontali non ha mai avuto molto senso per me al di fuori del panning audio tra i diffusori sinistro e destro.
Ad ogni modo, come mai vengono chiamate le notifiche desktop predefinite (in particolare LXDE)? Vedo molti post sulla configurazione degli eventi di stampa chiave, ma non molto su quali script attivano quegli eventi. Quali altre opzioni ci sono nel reparto di fantasia verticale?
Inoltre, c'è qualche pacchetto che dovrei disinstallare per evitare che sorgano conflitti tra gli eventi che sto gestendo tramite script e comandi compiz o openbox?
Aggiornamento: per capire quale OSD sto attualmente usando, non ho cambiato il modo in cui gestisco il pulsante di disattivazione immediata. Uccidere xfce4-notifyd e quindi premere il pulsante mute genera un nuovo processo xfce4-notifyd, quindi immaginavo che la grande icona dell'altoparlante provenisse da qualcosa come xfce4-volumed, ma in realtà non ho installato quel pacchetto ... Ah ah! Uccidere gnome-settings-daemon arresta il grande OSD al centro dello schermo.