#!/bin/bash ############################################################# # Zenity interface for G203 (Prodigy & Ligthsync) driver # # Last change: 28-03-2021 # # Author: q3aql # # Contact: q3aql@protonmail.ch # # License: GPL v2.0 # ############################################################# VERSION="1.0" M_DATE="060721" # Variables iconPath="/usr/share/icons/logitech/logitech-black.png" # 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-lightsync ${VERSION} (${M_DATE})" --window-icon=${iconPath} --warning --width=340 --text "Administrator permissions are required" echo "" echo "* zenidrv-g203-lightsync ${VERSION} (${M_DATE}) (GPL v2.0)" echo "" echo "* Administrator permissions are required" echo "" exit fi } # Show menu with options. showMenu=0 rootMessage while [ ${showMenu} -eq 0 ] ; do clear opcion=$(zenity --width=280 --height=380 --list --title "zenidrv-g203-lightsync ${VERSION} ($M_DATE)" \ --window-icon=${iconPath} --column "Select effect or option :" "Solid" "Cycle" "Breathe" "Wave" "Blend" \ "Intro (On)" "Intro (Off)" "Set DPI" \ "Light off" "Exit") if [ "${opcion}" == "Solid" ] ; then color_selected=$(zenity --width=260 --height=520 --list --title "zenidrv-g203-lightsync ${VERSION} ($M_DATE)" \ --window-icon=${iconPath} --column "Select color from list :" "Black" "White" "Red" "Lime" "Blue" "Yellow" "Cyan" "Magenta" \ "Silver" "Gray" "Maroon" "Olive" "Green" "Purple" "Teal" "Navy" ) if [ "${color_selected}" == "Black" ] ; then color_apply="000000" elif [ "${color_selected}" == "White" ] ; then color_apply="FFFFFF" elif [ "${color_selected}" == "Red" ] ; then color_apply="FF0000" elif [ "${color_selected}" == "Lime" ] ; then color_apply="00FF00" elif [ "${color_selected}" == "Blue" ] ; then color_apply="0000FF" elif [ "${color_selected}" == "Yellow" ] ; then color_apply="FFFF00" elif [ "${color_selected}" == "Cyan" ] ; then color_apply="00FFFF" elif [ "${color_selected}" == "Magenta" ] ; then color_apply="FF00FF" elif [ "${color_selected}" == "Silver" ] ; then color_apply="C0C0C0" elif [ "${color_selected}" == "Gray" ] ; then color_apply="808080" elif [ "${color_selected}" == "Maroon" ] ; then color_apply="800000" elif [ "${color_selected}" == "Olive" ] ; then color_apply="808000" elif [ "${color_selected}" == "Green" ] ; then color_apply="008000" elif [ "${color_selected}" == "Purple" ] ; then color_apply="800080" elif [ "${color_selected}" == "Teal" ] ; then color_apply="008080" elif [ "${color_selected}" == "Navy" ] ; then color_apply="000080" fi g203-led.py lightsync solid "${color_apply}" color_apply="none" elif [ "${opcion}" == "Cycle" ] ; then g203-led.py lightsync cycle elif [ "${opcion}" == "Breathe" ] ; then color_selected=$(zenity --width=260 --height=520 --list --title "zenidrv-g203-lightsync ${VERSION} ($M_DATE)" \ --window-icon=${iconPath} --column "Select color from list :" "Black" "White" "Red" "Lime" "Blue" "Yellow" "Cyan" "Magenta" \ "Silver" "Gray" "Maroon" "Olive" "Green" "Purple" "Teal" "Navy" ) if [ "${color_selected}" == "Black" ] ; then color_apply="000000" elif [ "${color_selected}" == "White" ] ; then color_apply="FFFFFF" elif [ "${color_selected}" == "Red" ] ; then color_apply="FF0000" elif [ "${color_selected}" == "Lime" ] ; then color_apply="00FF00" elif [ "${color_selected}" == "Blue" ] ; then color_apply="0000FF" elif [ "${color_selected}" == "Yellow" ] ; then color_apply="FFFF00" elif [ "${color_selected}" == "Cyan" ] ; then color_apply="00FFFF" elif [ "${color_selected}" == "Magenta" ] ; then color_apply="FF00FF" elif [ "${color_selected}" == "Silver" ] ; then color_apply="C0C0C0" elif [ "${color_selected}" == "Gray" ] ; then color_apply="808080" elif [ "${color_selected}" == "Maroon" ] ; then color_apply="800000" elif [ "${color_selected}" == "Olive" ] ; then color_apply="808000" elif [ "${color_selected}" == "Green" ] ; then color_apply="008000" elif [ "${color_selected}" == "Purple" ] ; then color_apply="800080" elif [ "${color_selected}" == "Teal" ] ; then color_apply="008080" elif [ "${color_selected}" == "Navy" ] ; then color_apply="000080" fi g203-led.py lightsync breathe "${color_apply}" color_apply="none" elif [ "${opcion}" == "Wave" ] ; then g203-led.py lightsync wave elif [ "${opcion}" == "Blend" ] ; then g203-led.py lightsync blend elif [ "${opcion}" == "Intro (On)" ] ; then g203-led.py lightsync intro on elif [ "${opcion}" == "Intro (Off)" ] ; then g203-led.py lightsync intro off elif [ "${opcion}" == "Set DPI" ] ; then dpi_number=$(zenity --entry --title "Set DPI (from 50 to 8000)" --window-icon=${iconPath} --text "Enter DPI number (from 50 to 8000):" --entry-text "800") g203-led.py lightsync dpi ${dpi_number} elif [ "${opcion}" == "Light off" ] ; then g203-led.py lightsync breathe 00FFFF 1000 0 elif [ "${opcion}" == "Exit" ] ; then showMenu=1 else zenity --title "zenidrv-g203-lightsync ${VERSION} (${M_DATE})" --warning --width=300 --text "Choose one of the menu options" fi done