Transférer les fichiers vers ''

master
Mathis CHIRAT 1 year ago
parent 937a00d830
commit 0b1a427899

@ -0,0 +1,319 @@
#!/bin/bash
path=~/.i4lock/config.yml
ImageType=""
BlurType=""
FilePath=""
isConfigExist() {
cat $path 2>/dev/null
echo $?
}
#############################
#
# Fonction to write config
#
setConfig() {
echo "Image: $1" > $path
echo "Blur: $2" >> $path
echo "Sound: $3" >> $path
echo "PowerBtn: $4" >> $path
}
#############################
#
# Fonction to config Image
#
selectImage() {
title="Type Image"
prompt="Selectionner ci-dessous:"
options=("ScreenShot" "Fichier Existant" "Couleur")
PS3="$prompt "
while opt=$(zenity --title="$title" --text="$prompt" --list \
--width=480 --height=480 --column="Options" "${options[@]}" 2>/dev/null)
do
case "$opt" in
"${options[0]}") echo $opt; break;;
"${options[1]}") echo $opt; break;;
"${options[2]}") echo $opt; break;;
*) zenity --error --text="Option Invalide. Veuillez réessayer." 2>/dev/null;;
esac
done
}
#############################
#
# Fonction to config RGB Image
#
selectRGB() {
title="Couleur"
ask="Inserer votre couleur:  [Hex dans #]"
echo `zenity --entry --title $title --text $ask "ff0000" "00ff00" "0000ff" 2>/dev/null`
}
#############################
#
# Fonction to config blur
#
selectBlurType() {
title="Pourcentage de blur"
prompt="Selectionner ci-dessous:"
options=("0x0" "0x2" "0x4" "0x8" "0x16" "0x32" "0x64")
PS3="$prompt "
while opt=$(zenity --title="$title" --text="$prompt" --list \
--width=480 --height=480 --column="Options" "${options[@]}" 2>/dev/null)
do
case "$opt" in
"${options[0]}") echo $opt; break;;
"${options[1]}") echo $opt; break;;
"${options[2]}") echo $opt; break;;
"${options[3]}") echo $opt; break;;
"${options[4]}") echo $opt; break;;
"${options[5]}") echo $opt; break;;
"${options[6]}") echo $opt; break;;
*) zenity --error --text="Option Invalide. Veuillez réessayer." 2>/dev/null;;
esac
done
}
#############################
#
# Fonctions to config Sound
#
selectSoundBoolean() {
title="Son à l'activage"
prompt="Selectionner ci-dessous:"
options=("Oui" "Non")
PS3="$prompt "
while opt=$(zenity --title="$title" --text="$prompt" --list \
--width=480 --height=480 --column="Options" "${options[@]}" 2>/dev/null)
do
case "$opt" in
"${options[0]}") echo $opt; break;;
"${options[1]}") echo $opt; break;;
*) zenity --error --text="Option Invalide. Veuillez réessayer." 2>/dev/null;;
esac
done
}
selectSoundType() {
echo `zenity --file-selection 2>/dev/null`
}
#############################
#
# Fonction to config power button
#
selectPowerBoolean() {
title="Désactivage du Power Button"
prompt="Selectionner ci-dessous:"
options=("Oui" "Non")
PS3="$prompt "
while opt=$(zenity --title="$title" --text="$prompt" --list \
--width=480 --height=480 --column="Options" "${options[@]}" 2>/dev/null)
do
case "$opt" in
"${options[0]}") echo $opt; break;;
"${options[1]}") echo $opt; break;;
*) zenity --error --text="Option Invalide. Veuillez réessayer." 2>/dev/null;;
esac
done
}
#############################
#
# Fonction to select a file
#
selectFile() {
echo `zenity --file-selection 2>/dev/null`
}
#############################
#
# Fonction to setup config
# of i4lock.
#
setupNewUser() {
echo "Bienvenue sur i4lock,"
echo "Veuillez suivre les instructions afin de setup votre environnement."
TypeLock=""
ImageType=""
BlurType=""
SoundType=""
SoundBoolean=""
PowerButton=""
echo "Etape 1/5"
echo "| Selection Type"
ImageType="$(selectImage)"
if [[ $ImageType == "" ]]; then
exit 1
fi
if [[ $ImageType == "Fichier Existant" ]]; then
ImageType="$(selectFile)"
TypeLock="File"
if [[ $ImageType == "" ]]; then
exit 1
fi
elif [[ $ImageType == "Couleur" ]]; then
ImageType="$(selectRGB)"
TypeLock="RGB"
fi
echo "Etape 2/5"
echo "| Selection Blur"
if [[ $TypeLock != "RGB" ]]; then
BlurType="$(selectBlurType)"
else
BlurType="0x0"
fi
if [[ $BlurType == "" ]]; then
exit 1
fi
#echo $BlurType
echo "Etape 2/5"
echo "| Selection Sound"
SoundBoolean="$(selectSoundBoolean)"
SoundType="null"
if [[ $SoundBoolean == "Oui" ]]; then
echo "Etape 3/5"
echo "| Selection Sound 2"
SoundType="$(selectSoundType)"
fi
echo "Etape 4/5"
echo "| Selection Power Button"
PowerButton="$(selectPowerBoolean)"
echo "Etape 5/5"
echo "| Save Config"
mkdir ~/.i4lock 2>/dev/null
echo 'alias i4lock="~/../machirat1/public/i4lock.sh"' >> ~/.bashrc
setConfig $ImageType $BlurType $SoundType $PowerButton
}
rmtempfile() {
rm /tmp/lock2.png 2>/dev/null
rm /tmp/lock.png 2>/dev/null
}
##############
# #
# Global #
# #
##############
if [[ "$#" != "0" ]]; then
######################
#
# Code of args
#
######################
if [[ "$1" == "--help" ]]; then
echo "Utilisation : i4lock [OPTION]"
echo "Un i3lock custom à votre goût."
echo " "
echo "Options:"
echo "-c --config Permet de reconfigurer votre i4lock."
echo "-v --version Permet d'avoir la version de i4lock."
echo "-cl --clear Permet de clear sa config."
echo " "
echo "Dependencies:"
echo "- i3lock"
echo "- mpg123"
echo "- composite"
echo "- convert"
echo "- xinput"
elif [[ "$1" == "-c" || "$1" == "--config" ]]; then
setupNewUser
elif [[ "$1" == "-v" || "$1" == "--version" ]]; then
echo "i4lock version 1.0"
elif [[ "$1" == "-cl" || "$1" == "--clear" ]]; then
read -p "Press any key to clear data or cancel with Ctrl+c"
rm $path
else
echo "i4lock: option invalide -- '$1'"
echo "Saisissez « i4lock --help » pour plus d'informations."
fi
else
######################
#
# Main of i4lock
#
######################
configexist="$(isConfigExist)"
if [[ $configexist == "1" ]]; then
setupNewUser
else
rmtempfile
Image=`cat $path | grep Image | cut -f 2 -d ' '`
ClrImg=`echo $Image | grep /home | wc -l`
Blur=`cat $path | grep Blur | cut -f 2 -d ' '`
Sound=`cat $path | grep Sound | cut -f 2 -d ' '`
PowerBtn=`cat $path | grep PowerBtn | cut -f 2 -d ' '`
getpower=`xinput --list | grep Power | cut -f 35 -d ' ' | sed 's/[^0-9]*//g'`
if [[ $Sound != "null" ]]; then
mpg123 $Sound
fi
if [[ $PowerBtn == "Oui" ]]; then
for i in $getpower; do
xinput disable $i;
done
fi
scrot /tmp/lock.png
if [[ "$Image" == "ScreenShot" ]]; then
if [[ $Blur != "0px" ]]; then
convert -blur $Blur /tmp/lock.png /tmp/lock.png
fi
i3lock -i /tmp/lock.png
elif [[ "$ClrImg" == "0" ]]; then
i3lock -c $Image
else
cp $Image /tmp/lock2.png
convert /tmp/lock2.png -resize 1920x1080 /tmp/lock2.png
composite -gravity center /tmp/lock2.png /tmp/lock.png /tmp/lock.png
if [[ "$Blur" != "0px" ]]; then
convert -blur $Blur /tmp/lock.png /tmp/lock.png
fi
i3lock -i /tmp/lock.png
fi
for i in $getpower; do
xinput enable $i;
done
rmtempfile
fi
fi
Loading…
Cancel
Save