diff --git a/helpers/DATA/compton/trisquel-compton-switcher b/helpers/DATA/compton/trisquel-compton-switcher index 107f9e6..36baabe 100644 --- a/helpers/DATA/compton/trisquel-compton-switcher +++ b/helpers/DATA/compton/trisquel-compton-switcher @@ -1,63 +1,113 @@ -#!/bin/bash - -#Check if compton is currently running. -case "$(pgrep -u $USER compton | wc -w)" in - - 0) COMPTON_RUNNING=false - ;; - 1) COMPTON_RUNNING=true - ;; -esac - - -if $COMPTON_RUNNING; then - COMPTON=true - DISCOMPTON=false - -elif ! $COMPTON_RUNNING; then - COMPTON=false - DISCOMPTON=true - -fi - -#The text that will be showed to the user. -TEXT="Use Compton compositor if 3d acceleration available" -TITLE="Choose between enabling or disabling Compton" -COMPTON_ENABLED="Compton enabled" -COMPTON_DISABLED="Compton disabled" -INFO="Compton is already running" - - -#Checks the languange of the system (more can be added in the future) and displays the text corresponding to the language selected. -if [ $LANG = es_ES.UTF-8 ]; then - TEXT="Usar el compositor Compton si el equipo soporta aceleración 3D" - TITLE="Seleccionar entre habilitar o deshabilitar los efectos de Compton" - COMPTON_ENABLED="Compton habilitado" - COMPTON_DISABLED="Compton deshabilitado" - INFO="Compton ya se encuentra en ejecución" -fi - -#Zenity is summoned to interact with the user. -ans=$(zenity --list --hide-header\ - --title "$TITLE"\ - --text "$TEXT"\ - --radiolist\ - --column "" --column ""\ - $COMPTON "$COMPTON_ENABLED"\ - $DISCOMPTON "$COMPTON_DISABLED") - -#The program reacts to the user's decision. -if [[ $ans = "$COMPTON_ENABLED" ]] && ! $COMPTON_RUNNING; then - rm $HOME/.config/disable-compton - compton-launcher - -#A message is displayed if the user decides to run a program that is already running -elif [[ $ans = "$COMPTON_ENABLED" ]] && $COMPTON_RUNNING; then - zenity --info \ - --text="$INFO" - -else - killall compton - touch $HOME/.config/disable-compton - +#!/bin/bash + + +DONT_SUPPORT_3D="Your machine does not support 3D acceleration" + +if [ $LANG = es_ES.UTF-8 ]; then + DONT_SUPPORT_3D="Su equipo no soporta aceleración 3D" +fi + +# First, check if the computer +# supports 3D acceleration. If not, it +# it informs the user and then exits. +[ 0 = $(glxinfo |grep "renderer string:" |grep -v llvmpipe | wc -c) ] && zenity \ + --info --text="$DONT_SUPPORT_3D" && exit 0 + +# Check if compton is currently running. +case "$(pgrep -u $USER compton | wc -w)" in + + 0) COMPTON_RUNNING=false + ;; + 1) COMPTON_RUNNING=true + ;; +esac + + +if $COMPTON_RUNNING; then + COMPTON=true + DISCOMPTON=false + +elif ! $COMPTON_RUNNING; then + COMPTON=false + DISCOMPTON=true +fi + +# The text that will be showed to the user. +TEXT="Use Compton compositor if 3d acceleration available" +TITLE="Choose between enabling or disabling Compton" +COMPTON_ENABLED="Compton enabled" +COMPTON_DISABLED="Compton disabled" +INFO="Compton is already running" + + +#Checks the languange of the system (more can be added in the future) and displays the text corresponding to the language selected. +if [ $LANG = es_ES.UTF-8 ]; then + TEXT="Usar el compositor Compton si el equipo soporta aceleración 3D" + TITLE="Seleccionar entre habilitar o deshabilitar los efectos de Compton" + COMPTON_ENABLED="Compton habilitado" + COMPTON_DISABLED="Compton deshabilitado" + INFO="Compton ya se encuentra en ejecución" +fi + +# Zenity is summoned to interact with the user. +# The XOR with the "exit 0" means that the script +# will exit with no error if zenity is "canceled" +# (user clicking on the "cancel" button, for +# instance). +ans=$(zenity --list --hide-header\ + --title "$TITLE"\ + --text "$TEXT"\ + --radiolist\ + --column "" --column ""\ + $COMPTON "$COMPTON_ENABLED"\ + $DISCOMPTON "$COMPTON_DISABLED" || exit 0) + +# Evaluate if compton is runnning or not, if it does, +# warn the user if he/she tries to run compton again +# or disable the compositor if he/she select to disable +# it. If compton is not running, run and enable it if +# the user selects to do so: +# .-----------------. +# | | +# | | +# | Compton running | +# | | +# | | +# '-----------------' +# | +# | .-----------------. .-----------------. +# |-->| User selects no |-->| Disable compton | +# | '-----------------' '-----------------' +# | .------------------. .-----------------. +# '-->| User selects yes |->| Inform the user | +# '------------------' '-----------------' +# .---------------------. +# | | +# | | +# | Compton not running | +# | | +# | | +# '---------------------' +# | +# | .-----------------. .------------. +# |-->| User selects no |-->| Do nothing | +# | '-----------------' '------------' +# | .------------------. .-----------------. +# '-->| User selects yes |-->| Enable compton | +# '------------------' '-----------------' +if $COMPTON_RUNNING # Compton running +then + if [[ $ans == $COMPTON_DISABLED ]]; then + touch $HOME/.config/disable-compton + killall compton + elif [[ $ans == $COMPTON_ENABLED ]]; then + zenity --info --text="$INFO" + fi +else # Compton not running + if [[ $ans == $COMPTON_ENABLED ]]; then + rm -f $HOME/.config/disable-compton + compton-launcher + else + exit 0 + fi fi \ No newline at end of file diff --git a/helpers/make-compton b/helpers/make-compton index 05f118d..b8ce5ef 100644 --- a/helpers/make-compton +++ b/helpers/make-compton @@ -18,7 +18,7 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=6 +VERSION=7 . ./config