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:
commit
c477472af7
2 changed files with 113 additions and 63 deletions
|
|
@ -1,6 +1,19 @@
|
|||
#!/bin/bash
|
||||
|
||||
#Check if compton is currently running.
|
||||
|
||||
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
|
||||
|
|
@ -17,10 +30,9 @@ if $COMPTON_RUNNING; then
|
|||
elif ! $COMPTON_RUNNING; then
|
||||
COMPTON=false
|
||||
DISCOMPTON=true
|
||||
|
||||
fi
|
||||
|
||||
#The text that will be showed to the user.
|
||||
# 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"
|
||||
|
|
@ -37,27 +49,65 @@ if [ $LANG = es_ES.UTF-8 ]; then
|
|||
INFO="Compton ya se encuentra en ejecución"
|
||||
fi
|
||||
|
||||
#Zenity is summoned to interact with the user.
|
||||
# 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")
|
||||
$DISCOMPTON "$COMPTON_DISABLED" || exit 0)
|
||||
|
||||
#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
|
||||
# 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
|
||||
|
|
@ -18,7 +18,7 @@
|
|||
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
#
|
||||
|
||||
VERSION=6
|
||||
VERSION=7
|
||||
|
||||
. ./config
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue