mirror of
				https://github.com/horst3180/arc-theme.git
				synced 2025-06-13 12:53:52 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			149 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			149 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/sh
 | |
| 
 | |
| # Script to upgrade/install the arc-theme
 | |
| 
 | |
| #URL
 | |
| theme_name=arc-flatabulous-theme
 | |
| 
 | |
| # Theme name
 | |
| download_url=https://github.com/andreisergiu98/$theme_name/archive/master.tar.gz
 | |
| 
 | |
| # for test purporses only (the repo needs to have this script)
 | |
| # download_url=https://github.com/leoheck/$theme_name/archive/master.tar.gz
 | |
| 
 | |
| # Tempdir
 | |
| tempdir=/tmp/$theme_name
 | |
| 
 | |
| # Directories
 | |
| lightdir=/usr/share/themes/Arc-Flatabulous
 | |
| darkerdir=/usr/share/themes/Arc-Flatabulous-Darker
 | |
| darkdir=/usr/share/themes/Arc-Flatabulous-Dark
 | |
| 
 | |
| userlightdir=$HOME/.themes/Arc-Flatabulous
 | |
| userdarkerdir=$HOME/.themes/Arc-Flatabulous-Darker
 | |
| userdarkdir=$HOME/.themes/Arc-Flatabulous-Dark
 | |
| 
 | |
| userlightdir2=$HOME/local/share/themes/Arc-Flatabulous
 | |
| userdarkerdir2=$HOME/local/share/themes/Arc-Flatabulous-Darker
 | |
| userdarkdir2=$HOME/local/share/themes/Arc-Flatabulous-Dark
 | |
| 
 | |
| #Functions
 | |
| show_error() {
 | |
| printf "\033[1;31m$@\033[0m\n"
 | |
| }
 | |
| 
 | |
| check_root() {
 | |
|   if [ "$(id -u)" -ne 0 ]; then
 | |
|     show_error "This script has to be run as root"
 | |
|     echo
 | |
|     exec sudo "$0" "$@" # Instead of exit, just re-execute as root
 | |
|   fi
 | |
| }
 | |
| 
 | |
| check_command() {
 | |
|   fail=false
 | |
| 
 | |
|   for i in "$@"
 | |
|   do
 | |
|     command -v $i >/dev/null 2>&1 || { show_error >&2 "This script requires "$i" but it's not installed."; fail=true; }
 | |
|   done
 | |
| 
 | |
|   if [ "$fail" = true ]; then
 | |
|     echo
 | |
|     echo "Aborting."
 | |
|     echo
 | |
|     exit 1;
 | |
|   fi
 | |
| }
 | |
| 
 | |
| check_directories() {
 | |
|   dirfound=false
 | |
| 
 | |
|   echo "Checking if theme is installed..."
 | |
|   echo
 | |
| 
 | |
|   for i in "$@"
 | |
|   do
 | |
|     if [ -d "$i" ]; then
 | |
|       echo "Found $i"
 | |
|       dirfound=true
 | |
|     fi
 | |
|   done
 | |
| 
 | |
|   if [ "$dirfound" = true ]; then
 | |
|     echo
 | |
|     echo "The above directories will be overwritten."
 | |
|   fi
 | |
| 
 | |
|   if [ "$dirfound" = false ]; then
 | |
|     echo "Theme is not installed."
 | |
|   fi
 | |
| }
 | |
| 
 | |
| install_theme() {
 | |
|   # Clean tempdir
 | |
|   rm -rf $tempdir && mkdir $tempdir && cd $tempdir
 | |
| 
 | |
|   # Get the sources && Remove current installation only if download and unpack are successful
 | |
|   wget $download_url && tar xf master.tar.gz && rm -rf $lightdir $darkerdir $darkdir && cd "$theme_name"-master 
 | |
| 
 | |
|   # Build and install
 | |
|   ./autogen.sh --prefix=/usr
 | |
|   make install
 | |
| 
 | |
|   # Install this script
 | |
|   if [ -f $(basename $0) ]; then
 | |
|     if [ ! -f /usr/bin/$(basename $0) ]; then
 | |
|       echo
 | |
|       read -r -p "Do you like to install the $(basename $0) for future upgrades? [y/N] " response
 | |
|       case $response in
 | |
|         [yY][eE][sS]|[yY])
 | |
|           echo "Installing $(basename $0) on /usr/bin/"
 | |
|           cp -r arc-flatabulous-theme-upgrade /usr/bin/
 | |
|           ;;
 | |
|         *)
 | |
|           echo "Aborted by user"
 | |
|           exit 0;
 | |
|         ;;
 | |
|       esac
 | |
|     else
 | |
|       echo "Upgrading $(basename $0)"
 | |
|       cp -f $(basename $0) /usr/bin/
 | |
|     fi
 | |
|   fi
 | |
| 
 | |
|   # Remove the sources
 | |
|   rm -rf $tempdir
 | |
| 
 | |
|   echo
 | |
|   echo "Installation complete."
 | |
| }
 | |
| 
 | |
| # Main part
 | |
| clear
 | |
| echo '################################################'
 | |
| echo '#     Arc-Flatabulous Theme Install Script     #'
 | |
| echo '################################################'
 | |
| echo
 | |
| 
 | |
| #Check available commands
 | |
| check_command automake wget pkg-config autoconf make tar
 | |
| 
 | |
| #Check if we are root
 | |
| check_root
 | |
| 
 | |
| #Check if theme is installed
 | |
| check_directories $lightdir $darkerdir $darkdir
 | |
| 
 | |
| echo
 | |
| read -r -p "Do you want to continue installation? [y/N] " response
 | |
| case $response in
 | |
|   [yY][eE][sS]|[yY]) 
 | |
|     install_theme
 | |
|     ;;
 | |
|   *)
 | |
|     echo "Aborted by user"
 | |
|     exit 0;
 | |
|     ;;
 | |
| esac
 |