Skip to content
Snippets Groups Projects
Commit 6b3a64e4 authored by Montaño Sarria, Andres Felipe's avatar Montaño Sarria, Andres Felipe
Browse files

Removed personal configuration files

parent 0a582e93
Branches
No related tags found
No related merge requests found
#!/usr/bin/env bash
# Autor: Thiago Silva
# Contact: thiagos.dasilva@gmail.com
# URL: https://github.com/thiggy01/change-gdm-background
# =================================================================== #
# Check if script is run by root.
if [ "$(id -u)" -ne 0 ] ; then
echo 'This script must be run as root or with the sudo command.'
exit 1
fi
# Check what linux distro is being used.
distro="$(lsb_release -c | cut -f 2)"
if ! [[ "$distro" =~ (focal|groovy|hirsute) ]]; then
echo 'Sorry, this script only works with focal, groovy or hirsute distros.'
exit 1
fi
# Check if glib 2.0 development libraries are installed.
if [ ! -x "$(command -v glib-compile-resources)" ]; then
echo 'Additional glib 2.0 libraries need to be installed.'
read -p 'Type y or Y to proceed. Any other key to exit: ' -n 1
if [[ "$REPLY" =~ ^[yY]$ ]]; then
apt install libglib2.0-dev-bin
else
echo "This tool can't run without required libraries"
echo "Exiting."
echo
exit 1
fi
fi
# Assign the default gdm theme file path.
if [ "$(lsb_release -i | awk '{print $3}')" == 'Ubuntu' ]; then
gdm3Resource=/usr/share/gnome-shell/theme/Yaru/gnome-shell-theme.gresource
elif [ "$(lsb_release -i | awk '{print $3}')" == 'Pop' ]; then
gdm3Resource=/usr/share/gnome-shell/theme/Pop/gnome-shell-theme.gresource
fi
# Create a backup file of the original theme if there isn't one.
[ ! -f "$gdm3Resource"~ ] && cp "$gdm3Resource" "$gdm3Resource~"
# Restore backup function.
restore () {
mv "$gdm3Resource~" "$gdm3Resource"
if [ "$?" -eq 0 ]; then
chmod 644 "$gdm3Resource"
echo 'GDM background sucessfully restored.'
read -p 'Do you want to restart gdm to apply change? (y/n):' -n 1
echo
if [[ "$REPLY" =~ ^[yY]$ ]]; then
service gdm restart
else
echo 'Restart GDM service to apply change.'
exit 0
fi
fi
}
# Restore the original gdm3 theme.
[ "$1" == "--restore" ] && restore
#Define main variables.
gdm3xml=$(basename "$gdm3Resource").xml
workDir="/tmp/gdm3-theme"
# Create directories from resource list.
CreateDirs() {
for resource in `gresource list "$gdm3Resource~"`; do
resource="${resource#\/org\/gnome\/shell\/}"
if [ ! -d "$workDir"/"${resource%/*}" ]; then
mkdir -p "$workDir"/"${resource%/*}"
fi
done
}
# Extract resources from binary file.
ExtractRes() {
for resource in `gresource list "$gdm3Resource~"`; do
gresource extract "$gdm3Resource~" "$resource" > \
"$workDir"/"${resource#\/org\/gnome\/shell\/}"
done
}
# Compile resources into a gresource binary file.
CompileRes() {
glib-compile-resources --sourcedir=$workDir/theme/ $workDir/theme/"$gdm3xml"
}
# Moves the newly created resource to its default place.
MoveRes() {
mv $workDir/theme/gnome-shell-theme.gresource $gdm3Resource
}
# Check if gresource was sucessfuly moved to its default folder.
Check() {
if [ "$?" -eq 0 ]; then
# Solve a permission change issue (thanks to @huepf from github).
chmod 644 "$gdm3Resource"
echo 'GDM background sucessfully changed.'
read -p 'Do you want to restart gdm to apply change? (y/n):' -n 1
echo
# If change was successful apply ask for gdm restart.
if [[ "$REPLY" =~ ^[yY]$ ]]; then
service gdm restart
else
echo "Change will be applied only after restarting gdm"
echo
fi
else
# If something went wrong, restore backup file.
echo 'something went wrong.'
restore
echo 'No changes were applied.'
fi
}
CleanUp() {
# Remove temporary directories and files.
rm -r "$workDir"
exit 0
}
# Test if argument is an image file.
if [[ $(file --mime-type -b "$1") == image/*g ]]; then
# Define image variables.
gdmBgImg=$(realpath "$1")
imgFile=$(basename "$gdmBgImg")
# Call procedures to create directories and extract resources to them.
CreateDirs
ExtractRes
# Copy selected image to the resources directory.
cp "$gdmBgImg" "$workDir"/theme
# Change gdm background to the image you submited.
oldBg="#lockDialogGroup \{.*?\}"
newBg="#lockDialogGroup {
background: url('resource:\/\/\/org\/gnome\/shell\/theme\/$imgFile');
background-size: cover; }"
perl -i -0777 -pe "s/$oldBg/$newBg/s" "$workDir"/theme/gdm3.css
# Generate gresource xml file.
echo '<?xml version="1.0" encoding="UTF-8"?>
<gresources>
<gresource prefix="/org/gnome/shell/theme">' > "$workDir"/theme/"$gdm3xml"
for file in `gresource list "$gdm3Resource~"`; do
echo " <file>${file#\/org\/gnome/shell\/theme\/}</file>" \
>> "$workDir"/theme/"$gdm3xml"
done
echo " <file>$imgFile</file>" >> "$workDir"/theme/"$gdm3xml"
echo ' </gresource>
</gresources>' >> "$workDir"/theme/"$gdm3xml"
# Compile the new gresource.
CompileRes
# Move gresource to the default place.
MoveRes
# Check if everything was successful.
Check
# Remove temporary files and exit.
CleanUp
# Change background colors.
elif [[ "$1" =~ ^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$ ]]; then
# Store selected background color.
BgColor="$1"
CreateDirs
ExtractRes
# Change gdm background to the color you submited.
oldBg="#lockDialogGroup \{.*?\}"
newBg="#lockDialogGroup {
background: $BgColor;
background-size: cover; }"
perl -i -0777 -pe "s/$oldBg/$newBg/s" "$workDir"/theme/gdm3.css
# Generate the gresource xml file.
echo '<?xml version="1.0" encoding="UTF-8"?>
<gresources>
<gresource prefix="/org/gnome/shell/theme">' > "$workDir"/theme/"$gdm3xml"
for file in `gresource list "$gdm3Resource~"`; do
echo " <file>${file#\/org\/gnome/shell\/theme\/}</file>" \
>> "$workDir"/theme/"$gdm3xml"
done
echo ' </gresource>
</gresources>' >> "$workDir"/theme/"$gdm3xml"
# Compile the new gresource.
CompileRes
# Move gresource to the default place.
MoveRes
# Remove temporary files and exit.
CleanUp
else
# If no file was submited or file submited isn't an image,
# show this message.
echo 'Image file not found or wrong color hex code.'
echo 'Please, submit a .jpg or .png image file or a valid hex code.'
echo 'Usage: sudo ./ubuntu-20.04-change-gdm-background /path/to/image.*g'
echo 'Usage: sudo ./ubuntu-20.04-change-gdm-background \#yourhexcode'
fi
File deleted
File deleted
File deleted
File deleted
checkingplaneitor
git@git.code.tecnalia.com:unai.antero/checkingplaneitor.git
gdm-tools
https://github.com/realmazharhussain/gdm-tools.git
pdfmixtool
git@gitlab.com:scarpetta/pdfmixtool.git
plymouth-theme
https://github.com/pop-os/plymouth-theme.git
pop-fonts
https://github.com/pop-os/fonts.git
pop-theme
https://github.com/pop-os/gtk-theme
vortex-ubuntu-plymouth-theme
https://github.com/emanuele-scarsella/vortex-ubuntu-plymouth-theme.git
disk-usage-space
https://github.com/anfemosa/disk-usage-space.git
roscon_2015
https://github.com/ros-industrial-consortium/roscon_2015.git
roscon_workshop_2021
https://github.com/ros-industrial-consortium/roscon_workshop_2021
ros_tutorial
https://github.com/anfemosa/ros_tutorial.git
bat
https://github.com/sharkdp/bat.git
iscan-bundle
https://support.epson.net/linux/en/iscan_c.php?version=2.30.4
lsd
https://github.com/Peltoche/lsd.git
powerlevel10k
https://github.com/mattmc3/antidote
https://phuctm97.com/blog/zsh-antigen-ohmyzsh
https://github.com/romkatv/powerlevel10k
https://github.com/zsh-users
https://github.com/mattmc3/zdotdir
Antidote
git clone --depth=1 https://github.com/mattmc3/antidote.git ${ZDOTDIR:-~}/.antidote
zsh-you-shuould-use
https://github.com/MichaelAquilina/zsh-you-should-use.git
git@git.code.tecnalia.com:miguel.prada/rosem.git
git@git.code.tecnalia.com:miguel.prada/gitlab_templates.git
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment