Merge branch 'belenos' into 'belenos'

Belenos

Greetings, I took the feedback and I changed some things:

1) I added some lines at the beginning to check if the computer handles 3D acceleration: I decided not doing anything at first because I knew that compton-launcher already checks for that but then I realize that If the user is not properly informed, she/he could think it is a bug so I decided to do something about that. Please, could you check the lines 13 and 14? even though I did some tests to make sure it works, I don't have much experience in shell programming to be 100% sure.

2) I decided to take the other way around about treating the user's imput because I felt that it was more intuitive to treat first if compton was running or not and then evaluate the user's action. Don't worry if the user starts or stops compton by their own, the scripts checks if it is running by looking at the computer's processes and I've already took at into account while I was writing it (No complications added, just treat everything normally)

3) I think I went a little bit too far with the comments... But I prefer you to to decide if that was too much.

Thank you for your patience and I hope this is good enough to be included.

See merge request !106
This commit is contained in:
Ruben Rodriguez 2015-06-24 18:08:11 +00:00
commit c477472af7
2 changed files with 113 additions and 63 deletions

View file

@ -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

View file

@ -18,7 +18,7 @@
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#
VERSION=6
VERSION=7
. ./config