This is a fairly complete set of icons for Gnome, KDE Plasma, XFCE, LXQt, Cinnamon and Mate, based on the icons and artwork by Paul Davey (Mattahan) (http://www.mattahan.com/).
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
2.2 KiB
57 lines
2.2 KiB
#!/bin/bash
|
|
|
|
if [ "$#" -ne 3 ]; then
|
|
echo -e "\nThis script attempts to transfers all the symbolic links in buuf-nestort's theme to any other theme\n"
|
|
echo -e "Usage: $(basename "$0") <source theme base directory> <destination theme base directory> <destination file extension>"
|
|
echo -e "eg: $(basename "$0") . ~/Themes/icons/elementary-xfce svg\n"
|
|
exit 1
|
|
fi
|
|
|
|
extension=$3
|
|
|
|
THEME_A=$(readlink -f "$1")
|
|
THEME_DEST=$(readlink -f "$2")
|
|
|
|
# Ensure both directories exist
|
|
if [ ! -d "$THEME_A" ] || [ ! -d "$THEME_DEST" ]; then
|
|
echo "Error: One or both directories do not exist."
|
|
exit 1
|
|
fi
|
|
|
|
declare -a FOLDERS=(actions applets apps categories devices emblems emotes mimetypes places status)
|
|
|
|
|
|
for folder in "${FOLDERS[@]}"; do
|
|
THEME_A_FOLDER="$THEME_A/$folder"
|
|
THEME_DEST_FOLDER="$THEME_DEST/$folder"
|
|
|
|
# Ensure the folder exists both in source and destination
|
|
if [ ! -d "$THEME_A_FOLDER" ] || [ ! -d "$THEME_DEST_FOLDER" ]; then
|
|
echo "skipping '$folder' folder because it does not exist both in source ($THEME_A_FOLDER) and destination ($THEME_DEST_FOLDER) themes..."
|
|
continue
|
|
fi
|
|
|
|
find "$THEME_A_FOLDER" -type l | while read -r symlink; do
|
|
link_name=$(basename "$symlink")
|
|
target=$(readlink "$symlink")
|
|
target_name=$(basename "$target")
|
|
target_folder=$(dirname "$target")
|
|
|
|
#remove the links' extensions
|
|
link_no_ext="${link_name%.*}"
|
|
target_no_ext="${target_name%.*}"
|
|
echo -e " found a link: $link_no_ext -> $target_folder/$target_no_ext"
|
|
|
|
for res_folder in $(ls "$THEME_DEST_FOLDER"); do
|
|
echo -e " entering '$THEME_DEST_FOLDER/$res_folder' to see if the destination exists for the link, and there is no file already with this name"
|
|
link_source="$THEME_DEST_FOLDER/$res_folder/$link_no_ext.$extension"
|
|
link_dest="$THEME_DEST_FOLDER/$target_folder/$res_folder/$target_no_ext.$extension"
|
|
if [ ! -f "$link_source" ] && [ -f "$link_dest" ]; then
|
|
echo " Destination exists and source doesn't, so I'll create the link: $link_source -> $link_dest"
|
|
ln -sr "$link_dest" "$link_source"
|
|
fi
|
|
done
|
|
|
|
done
|
|
done
|
|
|
|
|