502 lines
22 KiB
Bash
Executable File
502 lines
22 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
#############################################################
|
|
# Zenity interface for G203 (Prodigy & Ligthsync) driver #
|
|
# Last change: 24-08-2021 #
|
|
# Author: q3aql #
|
|
# Contact: q3aql@duck.com #
|
|
# License: GPL v2.0 #
|
|
#############################################################
|
|
VERSION="1.3"
|
|
M_DATE="240821"
|
|
|
|
# Variables
|
|
iconPath="/usr/share/icons/logitech/logitech-black.png"
|
|
imagesPath="/usr/share/icons/logitech/images"
|
|
|
|
# Variables DPI & Polling rate
|
|
numberDPI=""
|
|
numberPolling=""
|
|
|
|
# Function to check admin rights.
|
|
function rootMessage() {
|
|
mkdir -p /etc/root &> /dev/null
|
|
administrador=$?
|
|
if [ ${administrador} -eq 0 ] ; then
|
|
rm -rf /etc/root
|
|
else
|
|
zenity --title "zenidrv-g203-prodigy ${VERSION} (${M_DATE})" --window-icon=${iconPath} --warning \
|
|
--width=340 --text "Son requeridos permisos de Administrador"
|
|
echo ""
|
|
echo "* zenidrv-g203-prodigy ${VERSION} (${M_DATE}) (GPL v2.0)"
|
|
echo ""
|
|
echo "* Son requeridos permisos de Administrador"
|
|
echo ""
|
|
exit
|
|
fi
|
|
}
|
|
|
|
#Function to check ratbag dependence
|
|
function checkRatbag(){
|
|
dependence="0"
|
|
if [ -f "/usr/bin/ratbagctl" ] ; then
|
|
dependence="1"
|
|
elif [ -f "/bin/ratbagctl" ] ; then
|
|
dependence="1"
|
|
elif [ -f "/usr/local/bin/ratbagctl" ] ; then
|
|
dependence="1"
|
|
fi
|
|
echo ${dependence}
|
|
}
|
|
|
|
# Function to show about
|
|
function aboutZenidrv() {
|
|
zenity --title "About" --window-icon=${iconPath} --info --width=330 \
|
|
--text "Interfaz GUI: zenidrv-g203 ${VERSION} (${M_DATE})\nRepo: https://github.com/q3aql/zenidrv-g203\nAutor: q3aql\nContacto: q3aql@duck.com\nLicencia: GPL v2.0\n\nBackend: g203-led\nRepo: https://github.com/smasty/g203-led\nAutor: smasty\nContacto: https://smasty.net\nLicencia: Licencia MIT\n\nBackend: libratbag\nAutor: Equipo libratbag\nRepo: https://github.com/libratbag/libratbag\nLicencia: Licencia RedHat"
|
|
}
|
|
|
|
# Function to set polling rate
|
|
function setPollingRate(){
|
|
checkNumbers=$(checkRatbag)
|
|
if [ "${checkNumbers}" == "1" ] ; then
|
|
selectedPolling=$(zenity --window-icon=${iconPath} --width=225 --height=265 --list --title "zenidrv-g203-prodigy ${VERSION} (${M_DATE})" \
|
|
--window-icon=${iconPath} --column "Selecciona el polling rate:" "100hz" "125hz" "250hz" "500hz" "1000hz")
|
|
if [ "${selectedPolling}" == "100hz" ] ; then
|
|
sleep 2 | zenity --progress --title "zenidrv-g203-prodigy ${VERSION} (${M_DATE})" --text "Estableciendo polling rate a 100hz" \
|
|
--window-icon=${iconPath} --pulsate --no-cancel --auto-close
|
|
device_name=$(ratbagctl list | head -1 | cut -d ":" -f 1)
|
|
ratbagctl "${device_name}" rate set 100
|
|
erroPoll=$?
|
|
if [ ${erroPoll} -eq 0 ] ; then
|
|
echo > /dev/null
|
|
else
|
|
zenity --title "zenidrv-g203-prodigy ${VERSION} ($M_DATE)" --error --window-icon=${iconPath} --width=260 \
|
|
--text "Error configurando el polling rate"
|
|
fi
|
|
elif [ "${selectedPolling}" == "125hz" ] ; then
|
|
sleep 2 | zenity --progress --title "zenidrv-g203-prodigy ${VERSION} (${M_DATE})" --text "Estableciendo polling rate a 125hz" \
|
|
--window-icon=${iconPath} --pulsate --no-cancel --auto-close
|
|
device_name=$(ratbagctl list | head -1 | cut -d ":" -f 1)
|
|
ratbagctl "${device_name}" rate set 125
|
|
erroPoll=$?
|
|
if [ ${erroPoll} -eq 0 ] ; then
|
|
echo > /dev/null
|
|
else
|
|
zenity --title "zenidrv-g203-prodigy ${VERSION} ($M_DATE)" --error --window-icon=${iconPath} --width=260 \
|
|
--text "Error configurando el polling rate"
|
|
fi
|
|
elif [ "${selectedPolling}" == "250hz" ] ; then
|
|
sleep 2 | zenity --progress --title "zenidrv-g203-prodigy ${VERSION} (${M_DATE})" --text "Estableciendo polling rate a 250hz" \
|
|
--window-icon=${iconPath} --pulsate --no-cancel --auto-close
|
|
device_name=$(ratbagctl list | head -1 | cut -d ":" -f 1)
|
|
ratbagctl "${device_name}" rate set 250
|
|
erroPoll=$?
|
|
if [ ${erroPoll} -eq 0 ] ; then
|
|
echo > /dev/null
|
|
else
|
|
zenity --title "zenidrv-g203-prodigy ${VERSION} ($M_DATE)" --error --window-icon=${iconPath} --width=260 \
|
|
--text "Error configurando el polling rate"
|
|
fi
|
|
elif [ "${selectedPolling}" == "500hz" ] ; then
|
|
sleep 2 | zenity --progress --title "zenidrv-g203-prodigy ${VERSION} (${M_DATE})" --text "Estableciendo polling rate a 500hz" \
|
|
--window-icon=${iconPath} --pulsate --no-cancel --auto-close
|
|
device_name=$(ratbagctl list | head -1 | cut -d ":" -f 1)
|
|
ratbagctl "${device_name}" rate set 500
|
|
erroPoll=$?
|
|
if [ ${erroPoll} -eq 0 ] ; then
|
|
echo > /dev/null
|
|
else
|
|
zenity --title "zenidrv-g203-prodigy ${VERSION} ($M_DATE)" --error --window-icon=${iconPath} --width=260 \
|
|
--text "Error configurando el polling rate"
|
|
fi
|
|
elif [ "${selectedPolling}" == "1000hz" ] ; then
|
|
sleep 2 | zenity --progress --title "zenidrv-g203-prodigy ${VERSION} (${M_DATE})" --text "Estableciendo polling rate a 1000hz" \
|
|
--window-icon=${iconPath} --pulsate --no-cancel --auto-close
|
|
device_name=$(ratbagctl list | head -1 | cut -d ":" -f 1)
|
|
ratbagctl "${device_name}" rate set 1000
|
|
erroPoll=$?
|
|
if [ ${erroPoll} -eq 0 ] ; then
|
|
echo > /dev/null
|
|
else
|
|
zenity --title "zenidrv-g203-prodigy ${VERSION} ($M_DATE)" --error --window-icon=${iconPath} --width=260 \
|
|
--text "Error configurando el polling rate"
|
|
fi
|
|
else
|
|
echo null > /dev/null
|
|
fi
|
|
else
|
|
zenity --title "zenidrv-g203 ${VERSION} (ratbagd requerido)" --window-icon=${iconPath} --warning --width=350 \
|
|
--text "No puedes configurar el polling rate. Es necesario tener instalado el paquete ratbagd (libratbag).\n\nPuedes instalarlo desde el repositorio o accediendo al siguiente enlace:\nhttps://github.com/libratbag/libratbag"
|
|
fi
|
|
}
|
|
|
|
# Show menu with options.
|
|
showMenu=0
|
|
rootMessage
|
|
while [ ${showMenu} -eq 0 ] ; do
|
|
clear
|
|
# Check dpi & polling rate to show in menu
|
|
checkNumbers=$(checkRatbag)
|
|
if [ "${checkNumbers}" == "1" ] ; then
|
|
device_name=$(ratbagctl list | head -1 | cut -d ":" -f 1)
|
|
get_rate=$(ratbagctl "${device_name}" rate get)
|
|
get_dpi=$(ratbagctl "${device_name}" dpi get | cut -d "d" -f 1)
|
|
numberDPI="(${get_dpi})"
|
|
numberPolling="(${get_rate})"
|
|
fi
|
|
opcion=$(zenity --width=280 --height=410 --list --title "zenidrv-g203-prodigy ${VERSION} ($M_DATE)" \
|
|
--window-icon=${iconPath} --imagelist --column "Icono" --column "Efecto/Opcion" ${imagesPath}/solid.png "Solido" \
|
|
${imagesPath}/cycle.png "Ciclo" ${imagesPath}/breathe.png "Respiracion" ${imagesPath}/intro-on.png \
|
|
"Intro (Activado)" ${imagesPath}/intro-off.png "Intro (Desactivado)" ${imagesPath}/mouse-dpi.png "Establecer DPI ${numberDPI}" \
|
|
${imagesPath}/mouse-polling-rate.png "Polling Rate ${numberPolling}" ${imagesPath}/light-off.png "Apagar luz" \
|
|
${imagesPath}/about.png "Acerca" ${imagesPath}/exit.png "Salir")
|
|
if [ "${opcion}" == "${imagesPath}/solid.png" ] ; then
|
|
color_selected=$(zenity --list --width=260 --height=570 --title "zenidrv-g203-prodigy ${VERSION} ($M_DATE)" \
|
|
--window-icon=${iconPath} --imagelist --column "Color" --column "Nombre color" ${imagesPath}/custom.png Personalizado \
|
|
${imagesPath}/white.png Blanco ${imagesPath}/red.png Rojo ${imagesPath}/lime.png Lima ${imagesPath}/blue.png Azul \
|
|
${imagesPath}/yellow.png Amarillo ${imagesPath}/cyan.png Cian ${imagesPath}/magenta.png Magenta \
|
|
${imagesPath}/silver.png Plateado ${imagesPath}/gray.png Gris ${imagesPath}/maroon.png Granate \
|
|
${imagesPath}/olive.png Oliva ${imagesPath}/green.png Verde ${imagesPath}/purple.png Purpura ${imagesPath}/teal.png Cerceta \
|
|
${imagesPath}/navy.png Marino)
|
|
canceled=$?
|
|
if [ ${canceled} -eq 0 ] ; then
|
|
if [ "${color_selected}" == "${imagesPath}/custom.png" ] ; then
|
|
custom_color=$(zenity --color-selection)
|
|
# Crop numbers from rgb system
|
|
first_value=$(echo ${custom_color} | cut -d "(" -f 2 | cut -d "," -f 1)
|
|
second_value=$(echo ${custom_color} | cut -d "(" -f 2 | cut -d "," -f 2)
|
|
third_value_prev=$(echo ${custom_color} | cut -d "(" -f 2 | cut -d "," -f 3)
|
|
third_value=$(echo ${third_value_prev} | cut -d ")" -f 1)
|
|
# Convert rgb numbers to hex
|
|
first_hex=$(echo "obase=16; ${first_value}" | bc)
|
|
second_hex=$(echo "obase=16; ${second_value}" | bc)
|
|
third_hex=$(echo "obase=16; ${third_value}" | bc)
|
|
# Apply number 0 after if have only one number
|
|
if [ ${first_hex} == "0" ] ; then
|
|
first_hex="00"
|
|
elif [ ${first_hex} == "1" ] ; then
|
|
first_hex="01"
|
|
elif [ ${first_hex} == "2" ] ; then
|
|
first_hex="02"
|
|
elif [ ${first_hex} == "3" ] ; then
|
|
first_hex="03"
|
|
elif [ ${first_hex} == "4" ] ; then
|
|
first_hex="04"
|
|
elif [ ${first_hex} == "5" ] ; then
|
|
first_hex="05"
|
|
elif [ ${first_hex} == "6" ] ; then
|
|
first_hex="06"
|
|
elif [ ${first_hex} == "7" ] ; then
|
|
first_hex="07"
|
|
elif [ ${first_hex} == "8" ] ; then
|
|
first_hex="08"
|
|
elif [ ${first_hex} == "9" ] ; then
|
|
first_hex="09"
|
|
fi
|
|
if [ ${second_hex} == "0" ] ; then
|
|
second_hex="00"
|
|
elif [ ${second_hex} == "1" ] ; then
|
|
second_hex="01"
|
|
elif [ ${second_hex} == "2" ] ; then
|
|
second_hex="02"
|
|
elif [ ${second_hex} == "3" ] ; then
|
|
second_hex="03"
|
|
elif [ ${second_hex} == "4" ] ; then
|
|
second_hex="04"
|
|
elif [ ${second_hex} == "5" ] ; then
|
|
second_hex="05"
|
|
elif [ ${second_hex} == "6" ] ; then
|
|
second_hex="06"
|
|
elif [ ${second_hex} == "7" ] ; then
|
|
second_hex="07"
|
|
elif [ ${second_hex} == "8" ] ; then
|
|
second_hex="08"
|
|
elif [ ${second_hex} == "9" ] ; then
|
|
second_hex="09"
|
|
fi
|
|
if [ ${third_hex} == "0" ] ; then
|
|
third_hex="00"
|
|
elif [ ${third_hex} == "1" ] ; then
|
|
third_hex="01"
|
|
elif [ ${third_hex} == "2" ] ; then
|
|
third_hex="02"
|
|
elif [ ${third_hex} == "3" ] ; then
|
|
third_hex="03"
|
|
elif [ ${third_hex} == "4" ] ; then
|
|
third_hex="04"
|
|
elif [ ${third_hex} == "5" ] ; then
|
|
third_hex="05"
|
|
elif [ ${third_hex} == "6" ] ; then
|
|
third_hex="06"
|
|
elif [ ${third_hex} == "7" ] ; then
|
|
third_hex="07"
|
|
elif [ ${third_hex} == "8" ] ; then
|
|
third_hex="08"
|
|
elif [ ${third_hex} == "9" ] ; then
|
|
third_hex="09"
|
|
fi
|
|
# Custom color in hex
|
|
color_custom=$(echo ${first_hex}${second_hex}${third_hex})
|
|
color_apply="${color_custom}"
|
|
elif [ "${color_selected}" == "${imagesPath}/white.png" ] ; then
|
|
color_apply="FFFFFF"
|
|
elif [ "${color_selected}" == "${imagesPath}/red.png" ] ; then
|
|
color_apply="FF0000"
|
|
elif [ "${color_selected}" == "${imagesPath}/lime.png" ] ; then
|
|
color_apply="00FF00"
|
|
elif [ "${color_selected}" == "${imagesPath}/blue.png" ] ; then
|
|
color_apply="0000FF"
|
|
elif [ "${color_selected}" == "${imagesPath}/yellow.png" ] ; then
|
|
color_apply="FFFF00"
|
|
elif [ "${color_selected}" == "${imagesPath}/cyan.png" ] ; then
|
|
color_apply="00FFFF"
|
|
elif [ "${color_selected}" == "${imagesPath}/magenta.png" ] ; then
|
|
color_apply="FF00FF"
|
|
elif [ "${color_selected}" == "${imagesPath}/silver.png" ] ; then
|
|
color_apply="C0C0C0"
|
|
elif [ "${color_selected}" == "${imagesPath}/gray.png" ] ; then
|
|
color_apply="808080"
|
|
elif [ "${color_selected}" == "${imagesPath}/maroon.png" ] ; then
|
|
color_apply="800000"
|
|
elif [ "${color_selected}" == "${imagesPath}/olive.png" ] ; then
|
|
color_apply="808000"
|
|
elif [ "${color_selected}" == "${imagesPath}/green.png" ] ; then
|
|
color_apply="008000"
|
|
elif [ "${color_selected}" == "${imagesPath}/purple.png" ] ; then
|
|
color_apply="800080"
|
|
elif [ "${color_selected}" == "${imagesPath}/teal.png" ] ; then
|
|
color_apply="008080"
|
|
elif [ "${color_selected}" == "${imagesPath}/navy.png" ] ; then
|
|
color_apply="000080"
|
|
fi
|
|
if [ -z "${color_apply}" ] ; then
|
|
color_apply="none"
|
|
else
|
|
sleep 2 | zenity --progress --title "zenidrv-g203-prodigy ${VERSION} (${M_DATE})" --text "Aplicando efecto solido" \
|
|
--window-icon=${iconPath} --pulsate --no-cancel --auto-close
|
|
g203-led.py solid "${color_apply}"
|
|
device_error=$?
|
|
if [ ${device_error} -eq 0 ] ; then
|
|
echo > /dev/null
|
|
else
|
|
zenity --title "zenidrv-g203-prodigy ${VERSION} ($M_DATE)" --error --window-icon=${iconPath} --width=280 \
|
|
--text "Dispositivo no encontrado o conectado"
|
|
fi
|
|
color_apply="none"
|
|
fi
|
|
else
|
|
color_apply="none"
|
|
fi
|
|
elif [ "${opcion}" == "${imagesPath}/cycle.png" ] ; then
|
|
sleep 2 | zenity --progress --title "zenidrv-g203-prodigy ${VERSION} (${M_DATE})" --text "Aplicando efecto ciclo" \
|
|
--window-icon=${iconPath} --pulsate --no-cancel --auto-close
|
|
g203-led.py cycle
|
|
device_error=$?
|
|
if [ ${device_error} -eq 0 ] ; then
|
|
echo > /dev/null
|
|
else
|
|
zenity --title "zenidrv-g203-prodigy ${VERSION} ($M_DATE)" --error --window-icon=${iconPath} --width=280 \
|
|
--text "Dispositivo no encontrado o conectado"
|
|
fi
|
|
elif [ "${opcion}" == "${imagesPath}/breathe.png" ] ; then
|
|
color_selected=$(zenity --list --width=260 --height=565 --title "zenidrv-g203-prodigy ${VERSION} ($M_DATE)" \
|
|
--window-icon=${iconPath} --imagelist --column "Color" --column "Nombre color" ${imagesPath}/custom.png Personalizado \
|
|
${imagesPath}/white.png Blanco ${imagesPath}/red.png Rojo ${imagesPath}/lime.png Lima ${imagesPath}/blue.png Azul \
|
|
${imagesPath}/yellow.png Amarillo ${imagesPath}/cyan.png Cian ${imagesPath}/magenta.png Magenta \
|
|
${imagesPath}/silver.png Plateado ${imagesPath}/gray.png Gris ${imagesPath}/maroon.png Granate \
|
|
${imagesPath}/olive.png Olive ${imagesPath}/green.png Verde ${imagesPath}/purple.png Purpura ${imagesPath}/teal.png Cerceta \
|
|
${imagesPath}/navy.png Marino)
|
|
canceled=$?
|
|
if [ ${canceled} -eq 0 ] ; then
|
|
if [ "${color_selected}" == "${imagesPath}/custom.png" ] ; then
|
|
custom_color=$(zenity --color-selection)
|
|
# Crop numbers from rgb system
|
|
first_value=$(echo ${custom_color} | cut -d "(" -f 2 | cut -d "," -f 1)
|
|
second_value=$(echo ${custom_color} | cut -d "(" -f 2 | cut -d "," -f 2)
|
|
third_value_prev=$(echo ${custom_color} | cut -d "(" -f 2 | cut -d "," -f 3)
|
|
third_value=$(echo ${third_value_prev} | cut -d ")" -f 1)
|
|
# Convert rgb numbers to hex
|
|
first_hex=$(echo "obase=16; ${first_value}" | bc)
|
|
second_hex=$(echo "obase=16; ${second_value}" | bc)
|
|
third_hex=$(echo "obase=16; ${third_value}" | bc)
|
|
# Apply number 0 after if have only one number
|
|
if [ ${first_hex} == "0" ] ; then
|
|
first_hex="00"
|
|
elif [ ${first_hex} == "1" ] ; then
|
|
first_hex="01"
|
|
elif [ ${first_hex} == "2" ] ; then
|
|
first_hex="02"
|
|
elif [ ${first_hex} == "3" ] ; then
|
|
first_hex="03"
|
|
elif [ ${first_hex} == "4" ] ; then
|
|
first_hex="04"
|
|
elif [ ${first_hex} == "5" ] ; then
|
|
first_hex="05"
|
|
elif [ ${first_hex} == "6" ] ; then
|
|
first_hex="06"
|
|
elif [ ${first_hex} == "7" ] ; then
|
|
first_hex="07"
|
|
elif [ ${first_hex} == "8" ] ; then
|
|
first_hex="08"
|
|
elif [ ${first_hex} == "9" ] ; then
|
|
first_hex="09"
|
|
fi
|
|
if [ ${second_hex} == "0" ] ; then
|
|
second_hex="00"
|
|
elif [ ${second_hex} == "1" ] ; then
|
|
second_hex="01"
|
|
elif [ ${second_hex} == "2" ] ; then
|
|
second_hex="02"
|
|
elif [ ${second_hex} == "3" ] ; then
|
|
second_hex="03"
|
|
elif [ ${second_hex} == "4" ] ; then
|
|
second_hex="04"
|
|
elif [ ${second_hex} == "5" ] ; then
|
|
second_hex="05"
|
|
elif [ ${second_hex} == "6" ] ; then
|
|
second_hex="06"
|
|
elif [ ${second_hex} == "7" ] ; then
|
|
second_hex="07"
|
|
elif [ ${second_hex} == "8" ] ; then
|
|
second_hex="08"
|
|
elif [ ${second_hex} == "9" ] ; then
|
|
second_hex="09"
|
|
fi
|
|
if [ ${third_hex} == "0" ] ; then
|
|
third_hex="00"
|
|
elif [ ${third_hex} == "1" ] ; then
|
|
third_hex="01"
|
|
elif [ ${third_hex} == "2" ] ; then
|
|
third_hex="02"
|
|
elif [ ${third_hex} == "3" ] ; then
|
|
third_hex="03"
|
|
elif [ ${third_hex} == "4" ] ; then
|
|
third_hex="04"
|
|
elif [ ${third_hex} == "5" ] ; then
|
|
third_hex="05"
|
|
elif [ ${third_hex} == "6" ] ; then
|
|
third_hex="06"
|
|
elif [ ${third_hex} == "7" ] ; then
|
|
third_hex="07"
|
|
elif [ ${third_hex} == "8" ] ; then
|
|
third_hex="08"
|
|
elif [ ${third_hex} == "9" ] ; then
|
|
third_hex="09"
|
|
fi
|
|
# Custom color in hex
|
|
color_custom=$(echo ${first_hex}${second_hex}${third_hex})
|
|
color_apply="${color_custom}"
|
|
elif [ "${color_selected}" == "${imagesPath}/white.png" ] ; then
|
|
color_apply="FFFFFF"
|
|
elif [ "${color_selected}" == "${imagesPath}/red.png" ] ; then
|
|
color_apply="FF0000"
|
|
elif [ "${color_selected}" == "${imagesPath}/lime.png" ] ; then
|
|
color_apply="00FF00"
|
|
elif [ "${color_selected}" == "${imagesPath}/blue.png" ] ; then
|
|
color_apply="0000FF"
|
|
elif [ "${color_selected}" == "${imagesPath}/yellow.png" ] ; then
|
|
color_apply="FFFF00"
|
|
elif [ "${color_selected}" == "${imagesPath}/cyan.png" ] ; then
|
|
color_apply="00FFFF"
|
|
elif [ "${color_selected}" == "${imagesPath}/magenta.png" ] ; then
|
|
color_apply="FF00FF"
|
|
elif [ "${color_selected}" == "${imagesPath}/silver.png" ] ; then
|
|
color_apply="C0C0C0"
|
|
elif [ "${color_selected}" == "${imagesPath}/gray.png" ] ; then
|
|
color_apply="808080"
|
|
elif [ "${color_selected}" == "${imagesPath}/maroon.png" ] ; then
|
|
color_apply="800000"
|
|
elif [ "${color_selected}" == "${imagesPath}/olive.png" ] ; then
|
|
color_apply="808000"
|
|
elif [ "${color_selected}" == "${imagesPath}/green.png" ] ; then
|
|
color_apply="008000"
|
|
elif [ "${color_selected}" == "${imagesPath}/purple.png" ] ; then
|
|
color_apply="800080"
|
|
elif [ "${color_selected}" == "${imagesPath}/teal.png" ] ; then
|
|
color_apply="008080"
|
|
elif [ "${color_selected}" == "${imagesPath}/navy.png" ] ; then
|
|
color_apply="000080"
|
|
fi
|
|
if [ -z "${color_apply}" ] ; then
|
|
color_apply="none"
|
|
else
|
|
sleep 2 | zenity --progress --title "zenidrv-g203-prodigy ${VERSION} (${M_DATE})" --text "Aplicando efecto respiracion" \
|
|
--window-icon=${iconPath} --pulsate --no-cancel --auto-close
|
|
g203-led.py breathe "${color_apply}"
|
|
device_error=$?
|
|
if [ ${device_error} -eq 0 ] ; then
|
|
echo > /dev/null
|
|
else
|
|
zenity --title "zenidrv-g203-prodigy ${VERSION} ($M_DATE)" --error --window-icon=${iconPath} --width=280 \
|
|
--text "Dispositivo no encontrado o conectado"
|
|
fi
|
|
color_apply="none"
|
|
fi
|
|
else
|
|
color_apply="none"
|
|
fi
|
|
elif [ "${opcion}" == "${imagesPath}/intro-on.png" ] ; then
|
|
sleep 2 | zenity --progress --title "zenidrv-g203-prodigy ${VERSION} (${M_DATE})" --text "Activando efecto de arranque" \
|
|
--window-icon=${iconPath} --pulsate --no-cancel --auto-close
|
|
g203-led.py intro on
|
|
device_error=$?
|
|
if [ ${device_error} -eq 0 ] ; then
|
|
echo > /dev/null
|
|
else
|
|
zenity --title "zenidrv-g203-prodigy ${VERSION} ($M_DATE)" --error --window-icon=${iconPath} --width=280 \
|
|
--text "Dispositivo no encontrado o conectado"
|
|
fi
|
|
elif [ "${opcion}" == "${imagesPath}/intro-off.png" ] ; then
|
|
sleep 2 | zenity --progress --title "zenidrv-g203-prodigy ${VERSION} (${M_DATE})" --text "Desactivando efecto de arranque" \
|
|
--window-icon=${iconPath} --pulsate --no-cancel --auto-close
|
|
g203-led.py intro off
|
|
device_error=$?
|
|
if [ ${device_error} -eq 0 ] ; then
|
|
echo > /dev/null
|
|
else
|
|
zenity --title "zenidrv-g203-prodigy ${VERSION} ($M_DATE)" --error --window-icon=${iconPath} --width=280 \
|
|
--text "Dispositivo no encontrado o conectado"
|
|
fi
|
|
elif [ "${opcion}" == "${imagesPath}/mouse-dpi.png" ] ; then
|
|
dpi_number=$(zenity --entry --title "Set DPI (from 200 to 8000)" --window-icon=${iconPath} --text "Introduce el numero de DPI (desde 200 hasta 8000):" --entry-text "800")
|
|
if [ -z ${dpi_number} ] ; then
|
|
echo > /dev/null
|
|
else
|
|
sleep 2 | zenity --progress --title "zenidrv-g203-prodigy ${VERSION} (${M_DATE})" --text "Configurando DPI a ${dpi_number}" \
|
|
--window-icon=${iconPath} --pulsate --no-cancel --auto-close
|
|
g203-led.py dpi ${dpi_number}
|
|
device_error=$?
|
|
if [ ${device_error} -eq 0 ] ; then
|
|
checkNumbers=$(checkRatbag)
|
|
if [ "${checkNumbers}" == "1" ] ; then
|
|
device_name=$(ratbagctl list | head -1 | cut -d ":" -f 1)
|
|
ratbagctl "${device_name}" dpi set "${dpi_number}"
|
|
fi
|
|
else
|
|
zenity --title "zenidrv-g203-prodigy ${VERSION} ($M_DATE)" --error --window-icon=${iconPath} --width=280 \
|
|
--text "Dispositivo no encontrado o conectado"
|
|
fi
|
|
fi
|
|
elif [ "${opcion}" == "${imagesPath}/mouse-polling-rate.png" ] ; then
|
|
setPollingRate
|
|
elif [ "${opcion}" == "${imagesPath}/light-off.png" ] ; then
|
|
sleep 2 | zenity --progress --title "zenidrv-g203-prodigy ${VERSION} (${M_DATE})" --text "Apagando la luz del dispositivo" \
|
|
--window-icon=${iconPath} --pulsate --no-cancel --auto-close
|
|
g203-led.py breathe 000000 1000 0
|
|
device_error=$?
|
|
if [ ${device_error} -eq 0 ] ; then
|
|
echo > /dev/null
|
|
else
|
|
zenity --title "zenidrv-g203-prodigy ${VERSION} ($M_DATE)" --error --window-icon=${iconPath} --width=280 \
|
|
--text "Dispositivo no encontrado o conectado"
|
|
fi
|
|
elif [ "${opcion}" == "${imagesPath}/about.png" ] ; then
|
|
aboutZenidrv
|
|
elif [ "${opcion}" == "${imagesPath}/exit.png" ] ; then
|
|
showMenu=1
|
|
else
|
|
zenity --title "zenidrv-g203-prodigy ${VERSION} (${M_DATE})" --window-icon=${iconPath} --warning \
|
|
--width=300 --text "Elige una de las opciones del menu"
|
|
fi
|
|
done
|