Espandi il controllo del volume della rotellina del mouse su tutto il pannello

C’è un’applicazione che mi è sfuggita da Windows ed è Volumouse . App semplice ma efficace che ti consente di controllare il volume dall’intera barra delle applicazioni (pannello) non solo dall’icona dell’indicatore. Soprattutto se usi il mouse wireless apprezzerai quanto sia pratico. Dal momento che non esiste una soluzione simile per Ubuntu sarebbe bello avere uno script che lo copra.

I dispositivi mouse moderni hanno più di un ID quando si esegue l’ xinput list query xinput list . Questo script coprirà anche questi dispositivi, ma deve essere determinato prima id corretto. La selezione si basa sulla differenza tra gli output del xinput query-state e l’ipotesi che un id abbia una chiave 245 in output, da cui la riga:

 moid0=$(xinput query-state $moid1 | grep 245) 

Per il tuo dispositivo la differenza tra le uscite può variare, ma puoi usare un’altra parola chiave non 245 e cambiare la linea.
Quindi lo script assomiglia a questo:

 #!/bin/bash vctrl1 () { xinput test $mo | while read line do eval $(xdotool getmouselocation --shell) if [ $Y -gt 24 ]; then break elif [ "$wnn" != "Desktop" ] && [ $sd3 == $wg2 ]; then break elif [[ $line == "button release 5" ]] ; then xdotool key XF86AudioLowerVolume elif [[ $line == "button release 4" ]] ; then xdotool key XF86AudioRaiseVolume fi done } sd1=$(xdpyinfo | grep dimensions) sd2="${sd1#*dimensions: }" sd3="${sd2%% pixels*}" while : do moid=$(xinput list | grep -iPo 'mouse.*id=\K\d+') eval $(xdotool getmouselocation --shell) if [[ $Y -le 24 && ! -z $moid ]]; then wg1=$(xdotool getactivewindow getwindowgeometry) wg2="${wg1#*Geometry: }" wnn=$(xdotool getactivewindow getwindowname) read moid1 moid2 < <(echo $moid) moid0=$(xinput query-state $moid1 | grep 245) if [[ ! -z $moid0 ]]; then mo=$moid2 && vctrl1 else mo=$moid1 && vctrl1 fi elif [[ -z $moid ]]; then sleep 3 fi sleep 0.2 done 

Permetterà il controllo del volume con la rotellina del mouse mentre si passa il mouse sopra il pannello.

Inoltre puoi usare questo script python per controllare il volume con la rotella del mouse da qualsiasi punto dello schermo. Basta modificare il codice come vuoi. https://github.com/mnural/pyvolume