5392 lines
		
	
	
	
		
			212 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			5392 lines
		
	
	
	
		
			212 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
| #!/usr/bin/env bash
 | ||
| 
 | ||
| # screenFetch - a CLI Bash script to show system/theme info in screenshots
 | ||
| 
 | ||
| # Copyright (c) 2010-2017 Brett Bohnenkamper <kittykatt@kittykatt.us>
 | ||
| 
 | ||
| #  This program is free software: you can redistribute it and/or modify
 | ||
| #  it under the terms of the GNU General Public License as published by
 | ||
| #  the Free Software Foundation, either version 3 of the License, or
 | ||
| #  (at your option) any later version.
 | ||
| #
 | ||
| #  This program is distributed in the hope that it will be useful,
 | ||
| #  but WITHOUT ANY WARRANTY; without even the implied warranty of
 | ||
| #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | ||
| #  GNU General Public License for more details.
 | ||
| #
 | ||
| #  You should have received a copy of the GNU General Public License
 | ||
| #  along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | ||
| 
 | ||
| # Yes, I do realize some of this is horribly ugly coding. Any ideas/suggestions would be
 | ||
| # appreciated by emailing me or by stopping by http://github.com/KittyKatt/screenFetch. You
 | ||
| # could also drop in on the IRC channel at irc://irc.rizon.net/screenFetch.
 | ||
| # to put forth suggestions/ideas. Thank you.
 | ||
| 
 | ||
| # Requires: bash 4.0+
 | ||
| # Optional dependencies: xorg-xdpyinfo (resoluton detection)
 | ||
| #                        scrot (screenshot taking)
 | ||
| #                        curl (screenshot uploading)
 | ||
| 
 | ||
| 
 | ||
| #LANG=C
 | ||
| #LANGUAGE=C
 | ||
| #LC_ALL=C
 | ||
| 
 | ||
| 
 | ||
| scriptVersion="3.8.0"
 | ||
| 
 | ||
| ######################
 | ||
| # Settings for fetcher
 | ||
| ######################
 | ||
| 
 | ||
| # This setting controls what ASCII logo is displayed.
 | ||
| distro="Milis Linux 1.0 Atilla"
 | ||
| 
 | ||
| # This sets the information to be displayed. Available: distro, Kernel, DE, WM, Win_theme, Theme, Icons, Font, Background, ASCII. To get just the information, and not a text-art logo, you would take "ASCII" out of the below variable.
 | ||
| #display="distro host kernel uptime pkgs shell res de wm wmtheme gtk disk cpu gpu mem"
 | ||
| valid_display=( distro host kernel uptime pkgs shell res de wm wmtheme gtk disk cpu gpu mem )
 | ||
| display=( distro host kernel uptime pkgs shell res de wm wmtheme gtk cpu gpu mem )
 | ||
| # Display Type: ASCII or Text
 | ||
| display_type="ASCII"
 | ||
| # Plain logo
 | ||
| display_logo="no"
 | ||
| 
 | ||
| # Colors to use for the information found. These are set below according to distribution. If you would like to set your OWN color scheme for these, uncomment the lines below and edit them to your heart's content.
 | ||
| # textcolor="\e[0m"
 | ||
| # labelcolor="\e[1;34m"
 | ||
| 
 | ||
| # WM & DE process names
 | ||
| # Removed WM's: compiz
 | ||
| wmnames=( fluxbox openbox blackbox xfwm4 metacity kwin twin icewm pekwm flwm flwm_topside fvwm dwm awesome wmaker stumpwm musca xmonad.* i3 ratpoison scrotwm spectrwm wmfs wmii beryl subtle e16 enlightenment sawfish emerald monsterwm dminiwm compiz Finder herbstluftwm howm notion bspwm cinnamon 2bwm echinus swm budgie-wm dtwm 9wm chromeos-wm deepin-wm sway )
 | ||
| denames=( gnome-session xfce-mcs-manage xfce4-session xfconfd ksmserver lxsession lxqt-session gnome-settings-daemon mate-session mate-settings-daemon Finder deepin )
 | ||
| 
 | ||
| # Screenshot Settings
 | ||
| # This setting lets the script know if you want to take a screenshot or not. 1=Yes 0=No
 | ||
| screenshot=
 | ||
| # This setting lets the script know if you want to upload the screenshot to a filehost. 1=Yes 0=No
 | ||
| upload=
 | ||
| # This setting lets the script know where you would like to upload the file to. Valid hosts are: teknik, mediacrush, imgur, hmp, and a configurable local.
 | ||
| uploadLoc=
 | ||
| # You can specify a custom screenshot command here. Just uncomment and edit. Otherwise, we'll be using the default command: scrot -cd3.
 | ||
| # screenCommand="scrot -cd5"
 | ||
| shotfile=$(printf "screenFetch-`date +'%Y-%m-%d_%H-%M-%S'`.png")
 | ||
| 
 | ||
| # Verbose Setting - Set to 1 for verbose output.
 | ||
| verbosity=
 | ||
| 
 | ||
| 
 | ||
| # The below function will allow you to add custom lines of text to the screenfetch output.
 | ||
| # It will automatically be executed at the right moment if use_customlines is set to 1.
 | ||
| use_customlines=
 | ||
| customlines () {
 | ||
| 	# The following line can serve as an example.
 | ||
| 	# feel free to let the computer generate the output: e. g. using $(cat /etc/motd) or $(upower -d | grep THISORTHAT)
 | ||
| 	# In the example cutom0 line replace <YOUR LABEL> and <your text> with options specified by you.
 | ||
| 	# Also make sure the $custom0 variable in out_array=... matches the one at the beginning of the line
 | ||
| 	#
 | ||
| 	custom0=$(echo -e "$labelcolor YOUR LABEL:$textcolor your text"); out_array=( "${out_array[@]}" "$custom0" ); ((display_index++));
 | ||
| 
 | ||
| 	# Battery percentage and time to full/empty:
 | ||
| 	# (uncomment lines below to use)
 | ||
| 	#
 | ||
| 	#custom1=$(echo -e "$labelcolor Battery:$textcolor $(upower -d | grep percentage | head -n1 | cut -d ' ' -f 15-)"); out_array=( "${out_array[@]}" "$custom1" ); ((display_index++));
 | ||
| 	#if [ "$(upower -d | grep time)" ]; then
 | ||
| 	#	battery_time="$(upower -d | grep time | head -n1 | cut -d ' ' -f 14-) $(upower -d | grep time | head -n1 | cut -d ' ' -f 6-7 | cut -d ':' -f1)"
 | ||
| 	#else
 | ||
| 	#	battery_time="power supply plugged in"
 | ||
| 	#fi
 | ||
| 	#custom2=$(echo -e "$labelcolor $(echo '  `->')$textcolor $battery_time"); out_array=( "${out_array[@]}" "$custom2" ); ((display_index++));
 | ||
| 
 | ||
| 	# Display public IP:
 | ||
| 	#custom3=$(echo -e "$labelcolor Public IP:$textcolor $(curl -s ipinfo.io/ip)"); out_array=( "${out_array[@]}" "$custom3" ); ((display_index++));
 | ||
| 
 | ||
| 	###########################################
 | ||
| 	##	MY CUSTOM LINES
 | ||
| 	###########################################
 | ||
| 
 | ||
| 	#custom4=...
 | ||
| }
 | ||
| 
 | ||
| 
 | ||
| #############################################
 | ||
| #### CODE No need to edit past here CODE ####
 | ||
| #############################################
 | ||
| 
 | ||
| #########################################
 | ||
| # Static Variables and Common Functions #
 | ||
| #########################################
 | ||
| c0="\033[0m" # Reset Text
 | ||
| bold="\033[1m" # Bold Text
 | ||
| underline="\033[4m" # Underline Text
 | ||
| display_index=0
 | ||
| 
 | ||
| # User options
 | ||
| gtk_2line="no"
 | ||
| 
 | ||
| # Static Color Definitions
 | ||
| colorize () {
 | ||
| 	printf "\033[38;5;$1m"
 | ||
| }
 | ||
| getColor () {
 | ||
| 	if [[ -n "$1" ]]; then
 | ||
| 		if [[ ${BASH_VERSINFO[0]} -ge 4 ]]; then
 | ||
| 			if [[ ${BASH_VERSINFO[0]} -eq 4 && ${BASH_VERSINFO[1]} -gt 1 ]] || [[ ${BASH_VERSINFO[0]} -gt 4 ]]; then
 | ||
| 				tmp_color=${1,,}
 | ||
| 			else
 | ||
| 				tmp_color="$(tr '[:upper:]' '[:lower:]' <<< ${1})"
 | ||
| 			fi
 | ||
| 		else
 | ||
| 			tmp_color="$(tr '[:upper:]' '[:lower:]' <<< ${1})"
 | ||
| 		fi
 | ||
| 		case "${tmp_color}" in
 | ||
| 			'black')	color_ret='\033[0m\033[30m';;
 | ||
| 			'red')		color_ret='\033[0m\033[31m';;
 | ||
| 			'green')	color_ret='\033[0m\033[32m';;
 | ||
| 			'brown')	color_ret='\033[0m\033[33m';;
 | ||
| 			'blue')		color_ret='\033[0m\033[34m';;
 | ||
| 			'purple')	color_ret='\033[0m\033[35m';;
 | ||
| 			'cyan')		color_ret='\033[0m\033[36m';;
 | ||
| 			'yellow')	color_ret='\033[0m\033[1;33m';;
 | ||
| 			'white')	color_ret='\033[0m\033[1;37m';;
 | ||
| 
 | ||
| 			'dark grey')	color_ret='\033[0m\033[1;30m';;
 | ||
| 			'light red')	color_ret='\033[0m\033[1;31m';;
 | ||
| 			'light green')	color_ret='\033[0m\033[1;32m';;
 | ||
| 			'light blue')	color_ret='\033[0m\033[1;34m';;
 | ||
| 			'light purple')	color_ret='\033[0m\033[1;35m';;
 | ||
| 			'light cyan')	color_ret='\033[0m\033[1;36m';;
 | ||
| 			'light grey')	color_ret='\033[0m\033[37m';;
 | ||
| 			# Some 256 colors
 | ||
| 			'orange') color_ret="$(colorize '202')";;
 | ||
| 			# HaikuOS
 | ||
| 			'black_haiku') color_ret="$(colorize '7')";;
 | ||
| 			#ROSA color
 | ||
| 			'rosa_blue') color_ret='\033[01;38;05;25m';;
 | ||
| 		esac
 | ||
| 		[[ -n "${color_ret}" ]] && echo "${color_ret}"
 | ||
| 	else
 | ||
| 		:
 | ||
| 	fi
 | ||
| }
 | ||
| 
 | ||
| verboseOut () {
 | ||
| 	if [[ "$verbosity" -eq "1" ]]; then
 | ||
| 		printf "\033[1;31m:: \033[0m$1\n"
 | ||
| 	fi
 | ||
| }
 | ||
| 
 | ||
| errorOut () {
 | ||
| 	printf "\033[1;37m[[ \033[1;31m! \033[1;37m]] \033[0m$1\n"
 | ||
| }
 | ||
| stderrOut () {
 | ||
| 	while IFS='' read -r line; do printf "\033[1;37m[[ \033[1;31m! \033[1;37m]] \033[0m${line}\n"; done
 | ||
| }
 | ||
| 
 | ||
| 
 | ||
| ####################
 | ||
| #  Color Defines
 | ||
| ####################
 | ||
| 
 | ||
| colorNumberToCode () {
 | ||
| 	number="$1"
 | ||
| 	if [[ "${number}" == "na" ]]; then
 | ||
| 		unset code
 | ||
| 	elif [[ $(tput colors) -eq "256" ]]; then
 | ||
| 		code=$(colorize "${number}")
 | ||
| 	else
 | ||
| 		case "$number" in
 | ||
| 			0|00) code=$(getColor 'black');;
 | ||
| 			1|01) code=$(getColor 'red');;
 | ||
| 			2|02) code=$(getColor 'green');;
 | ||
| 			3|03) code=$(getColor 'brown');;
 | ||
| 			4|04) code=$(getColor 'blue');;
 | ||
| 			5|05) code=$(getColor 'purple');;
 | ||
| 			6|06) code=$(getColor 'cyan');;
 | ||
| 			7|07) code=$(getColor 'light grey');;
 | ||
| 			8|08) code=$(getColor 'dark grey');;
 | ||
| 			9|09) code=$(getColor 'light red');;
 | ||
| 			  10) code=$(getColor 'light green');;
 | ||
| 			  11) code=$(getColor 'yellow');;
 | ||
| 			  12) code=$(getColor 'light blue');;
 | ||
| 			  13) code=$(getColor 'light purple');;
 | ||
| 			  14) code=$(getColor 'light cyan');;
 | ||
| 			  15) code=$(getColor 'white');;
 | ||
| 			*) unset code;;
 | ||
| 		esac
 | ||
| 	fi
 | ||
| 	echo -n "${code}"
 | ||
| }
 | ||
| 
 | ||
| 
 | ||
| detectColors () {
 | ||
| 	my_colors=$(sed 's/^,/na,/;s/,$/,na/;s/,/ /' <<< "${OPTARG}")
 | ||
| 	my_lcolor=$(awk -F' ' '{print $1}' <<< "${my_colors}")
 | ||
| 	my_lcolor=$(colorNumberToCode "${my_lcolor}")
 | ||
| 
 | ||
| 	my_hcolor=$(awk -F' ' '{print $2}' <<< "${my_colors}")
 | ||
| 	my_hcolor=$(colorNumberToCode "${my_hcolor}")
 | ||
| }
 | ||
| 
 | ||
| supported_distros="Alpine Linux, Antergos, Arch Linux (Old and Current Logos), BLAG, BunsenLabs, CentOS, Chakra, Chapeau, Chrome OS, Chromium OS, CrunchBang, CRUX, Debian, Deepin, DesaOS,Devuan, Dragora, elementary OS, Evolve OS, Exherbo, Fedora, Frugalware, Fuduntu, Funtoo, Fux, Gentoo, gNewSense, Jiyuu Linux, Kali Linux, KaOS, KDE neon, Kogaion, Korora, LinuxDeepin, Linux Mint, LMDE, Logos, Mageia, Mandriva/Mandrake, Manjaro, Mer, Netrunner, NixOS, openSUSE, Oracle Linux, Parabola GNU/Linux-libre, Pardus, Parrot Security, PCLinuxOS, PeppermintOS, Qubes OS, Raspbian, Red Hat Enterprise Linux, ROSA, Sabayon, SailfishOS, Scientific Linux, Slackware, Solus, SparkyLinux, SteamOS, SUSE Linux Enterprise, SwagArch, TinyCore, Trisquel, Ubuntu, Viperr and Void."
 | ||
| supported_other="Dragonfly/Free/Open/Net BSD, Haiku, Mac OS X, Windows+Cygwin and Windows+MSYS2."
 | ||
| supported_dms="KDE, GNOME, Unity, Xfce, LXDE, Cinnamon, MATE, Deepin, CDE, RazorQt and Trinity."
 | ||
| supported_wms="2bwm, 9wm, Awesome, Beryl, Blackbox, Cinnamon, chromeos-wm, Compiz, deepin-wm, dminiwm, dwm, dtwm, E16, E17, echinus, Emerald, FluxBox, FLWM, FVWM, herbstluftwm, howm, IceWM, KWin, Metacity, monsterwm, Musca, Gala, Mutter, Muffin, Notion, OpenBox, PekWM, Ratpoison, Sawfish, ScrotWM, SpectrWM, StumpWM, subtle, sway, TWin, WindowMaker, WMFS, wmii, Xfwm4, XMonad and i3."
 | ||
| 
 | ||
| displayHelp () {
 | ||
| 	printf "${underline}Usage${c0}:\n"
 | ||
| 	printf "  ${0} [OPTIONAL FLAGS]\n\n"
 | ||
| 	printf "screenFetch - a CLI Bash script to show system/theme info in screenshots.\n\n"
 | ||
| 	printf "${underline}Supported GNU/Linux Distributions${c0}:\n"
 | ||
| 	printf "${supported_distros}" | fold -s | sed 's/^/\t/g'
 | ||
| 	printf "\n\n"
 | ||
| 	printf "${underline}Other Supported Systems${c0}:\n"
 | ||
| 	printf "${supported_other}" | fold -s | sed 's/^/\t/g'
 | ||
| 	printf "\n\n"
 | ||
| 	printf "${underline}Supported Desktop Managers${c0}:\n"
 | ||
| 	printf "${supported_dms}" | fold -s | sed 's/^/\t/g'
 | ||
| 	printf "\n\n"
 | ||
| 	printf "${underline}Supported Window Managers${c0}:\n"
 | ||
| 	printf "${supported_wms}" | fold -s | sed 's/^/\t/g'
 | ||
| 	printf "\n\n"
 | ||
| 	printf "${underline}Options${c0}:\n"
 | ||
| 	printf "   ${bold}-v${c0}                 Verbose output.\n"
 | ||
| 	printf "   ${bold}-o 'OPTIONS'${c0}       Allows for setting script variables on the\n"
 | ||
| 	printf "                      command line. Must be in the following format...\n"
 | ||
| 	printf "                      'OPTION1=\"OPTIONARG1\";OPTION2=\"OPTIONARG2\"'\n"
 | ||
| 	printf "   ${bold}-d '+var;-var;var'${c0} Allows for setting what information is displayed\n"
 | ||
| 	printf "                      on the command line. You can add displays with +var,var. You\n"
 | ||
| 	printf "                      can delete displays with -var,var. Setting without + or - will\n"
 | ||
| 	printf "                      set display to that explicit combination. Add and delete statements\n"
 | ||
| 	printf "                      may be used in conjunction by placing a ; between them as so:\n"
 | ||
| 	printf "                      +var,var,var;-var,var.\n"
 | ||
| 	printf "   ${bold}-n${c0}                 Do not display ASCII distribution logo.\n"
 | ||
| 	printf "   ${bold}-L${c0}                 Display ASCII distribution logo only.\n"
 | ||
| 	printf "   ${bold}-N${c0}                 Strip all color from output.\n"
 | ||
| 	printf "   ${bold}-w${c0}                 Wrap long lines.\n"
 | ||
| 	printf "   ${bold}-t${c0}                 Truncate output based on terminal width (Experimental!).\n"
 | ||
| 	printf "   ${bold}-p${c0}                 Portrait output.\n"
 | ||
| 	printf "   ${bold}-s [-u IMGHOST]${c0}    Using this flag tells the script that you want it\n"
 | ||
| 	printf "                      to take a screenshot. Use the -u flag if you would like\n"
 | ||
| 	printf "                      to upload the screenshots to one of the pre-configured\n"
 | ||
| 	printf "                      locations. These include: teknik, imgur, mediacrush and hmp.\n"
 | ||
| 	printf "   ${bold}-c string${c0}          You may change the outputted colors with -c. The format is\n"
 | ||
| 	printf "                      as follows: [0-9][0-9],[0-9][0-9]. The first argument controls the\n"
 | ||
| 	printf "                      ASCII logo colors and the label colors. The second argument\n"
 | ||
| 	printf "                      controls the colors of the information found. One argument may be\n"
 | ||
| 	printf "                      used without the other.\n"
 | ||
| 	printf "   ${bold}-a 'PATH'${c0}          You can specify a custom ASCII art by passing the path\n"
 | ||
| 	printf "                      to a Bash script, defining \`startline\` and \`fulloutput\`\n"
 | ||
| 	printf "                      variables, and optionally \`labelcolor\` and \`textcolor\`.\n"
 | ||
| 	printf "                      See the \`asciiText\` function in the source code for more\n"
 | ||
| 	printf "                      informations on the variables format.\n"
 | ||
| 	printf "   ${bold}-S 'COMMAND'${c0}       Here you can specify a custom screenshot command for\n"
 | ||
| 	printf "                      the script to execute. Surrounding quotes are required.\n"
 | ||
| 	printf "   ${bold}-D 'DISTRO'${c0}        Here you can specify your distribution for the script\n"
 | ||
| 	printf "                      to use. Surrounding quotes are required.\n"
 | ||
| 	printf "   ${bold}-A 'DISTRO'${c0}        Here you can specify the distribution art that you want\n"
 | ||
| 	printf "                      displayed. This is for when you want your distro\n"
 | ||
| 	printf "                      detected but want to display a different logo.\n"
 | ||
| 	printf "   ${bold}-E${c0}                 Suppress output of errors.\n"
 | ||
| 	printf "   ${bold}-V, --version${c0}      Display current script version.\n"
 | ||
| 	printf "   ${bold}-h, --help${c0}         Display this help.\n"
 | ||
| }
 | ||
| 
 | ||
| 
 | ||
| displayVersion () {
 | ||
| 	printf ${underline}"screenFetch"${c0}" - Version ${scriptVersion}\n"
 | ||
| 	printf "Created by and licensed to Brett Bohnenkamper <kittykatt@kittykatt.us>\n"
 | ||
| 	printf "OS X porting done almost solely by shrx (https://github.com/shrx) and John D. Duncan, III (https://github.com/JohnDDuncanIII).\n\n"
 | ||
| 	printf "This is free software; see the source for copying conditions.  There is NO warranty; not even MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
 | ||
| }
 | ||
| 
 | ||
| 
 | ||
| #####################
 | ||
| # Begin Flags Phase
 | ||
| #####################
 | ||
| 
 | ||
| case $1 in
 | ||
| 	--help) displayHelp; exit 0;;
 | ||
| 	--version) displayVersion; exit 0;;
 | ||
| esac
 | ||
| 
 | ||
| 
 | ||
| while getopts ":hsu:evVEnLNtlS:A:D:o:c:d:pa:w" flags; do
 | ||
| 	case $flags in
 | ||
| 		h) displayHelp; exit 0 ;;
 | ||
| 		s) screenshot='1' ;;
 | ||
| 		S) screenCommand="${OPTARG}" ;;
 | ||
| 		u) upload='1'; uploadLoc="${OPTARG}" ;;
 | ||
| 		v) verbosity=1 ;;
 | ||
| 		V) displayVersion; exit 0 ;;
 | ||
| 		E) errorSuppress='1' ;;
 | ||
| 		D) distro="${OPTARG}" ;;
 | ||
| 		A) asc_distro="${OPTARG}" ;;
 | ||
| 		t) truncateSet='Yes' ;;
 | ||
| 		n) display_type='Text' ;;
 | ||
| 		L) display_type='ASCII'; display_logo='Yes' ;;
 | ||
| 		o) overrideOpts="${OPTARG}" ;;
 | ||
| 		c) detectColors "${OPTARGS}" ;;
 | ||
| 		d) overrideDisplay="${OPTARG}" ;;
 | ||
| 		N) no_color='1' ;;
 | ||
| 		p) portraitSet='Yes' ;;
 | ||
| 		a) art="${OPTARG}" ;;
 | ||
| 		w) lineWrap='Yes' ;;
 | ||
| 		:) errorOut "Error: You're missing an argument somewhere. Exiting."; exit 1 ;;
 | ||
| 		?) errorOut "Error: Invalid flag somewhere. Exiting."; exit 1 ;;
 | ||
| 		*) errorOut "Error"; exit 1 ;;
 | ||
| 	esac
 | ||
| done
 | ||
| 
 | ||
| ###################
 | ||
| # End Flags Phase
 | ||
| ###################
 | ||
| 
 | ||
| 
 | ||
| ############################
 | ||
| # Override Options/Display
 | ||
| ############################
 | ||
| 
 | ||
| if [[ "$overrideOpts" ]]; then
 | ||
| 	verboseOut "Found 'o' flag in syntax. Overriding some script variables..."
 | ||
| 	OLD_IFS="$IFS"
 | ||
| 	IFS=";"
 | ||
| 	for overopt in "${overrideOpts}"; do
 | ||
| 		eval "${overrideOpts}"
 | ||
| 	done
 | ||
| 	IFS="$OLD_IFS"
 | ||
| fi
 | ||
| 
 | ||
| 
 | ||
| #########################
 | ||
| # Begin Detection Phase
 | ||
| #########################
 | ||
| 
 | ||
| # Distro Detection - Begin
 | ||
| detectdistro () {
 | ||
| 	if [[ -z "${distro}" ]]; then
 | ||
| 		distro="Unknown"
 | ||
| 		# LSB Release Check
 | ||
| 		if type -p lsb_release >/dev/null 2>&1; then
 | ||
| 			# read distro_detect distro_release distro_codename <<< $(lsb_release -sirc)
 | ||
| 			distro_detect=( $(lsb_release -sirc) )
 | ||
| 			if [[ ${#distro_detect[@]} -eq 3 ]]; then
 | ||
| 				distro_codename=${distro_detect[2]}
 | ||
| 				distro_release=${distro_detect[1]}
 | ||
| 				distro_detect=${distro_detect[0]}
 | ||
| 			else
 | ||
| 				for ((i=0; i<${#distro_detect[@]}; i++)); do
 | ||
| 					if [[ ${distro_detect[$i]} =~ ^[[:digit:]]+((.[[:digit:]]+|[[:digit:]]+|)+)$ ]]; then
 | ||
| 						distro_release=${distro_detect[$i]}
 | ||
| 						distro_codename=${distro_detect[@]:$(($i+1)):${#distro_detect[@]}+1}
 | ||
| 						distro_detect=${distro_detect[@]:0:${i}}
 | ||
| 						break 1
 | ||
| 					elif [[ ${distro_detect[$i]} =~ [Nn]/[Aa] || ${distro_detect[$i]} == "rolling" ]]; then
 | ||
| 						distro_release=${distro_detect[$i]}
 | ||
| 						distro_codename=${distro_detect[@]:$(($i+1)):${#distro_detect[@]}+1}
 | ||
| 						distro_detect=${distro_detect[@]:0:${i}}
 | ||
| 						break 1
 | ||
| 					fi
 | ||
| 				done
 | ||
| 			fi
 | ||
| 			case "${distro_detect}" in
 | ||
| 				"CentOS"|"Chapeau"|"Deepin"|"Devuan"|"DesaOS"|"Fedora"|"gNewSense"|"Jiyuu Linux"|"Kogaion"|"Korora"|"Mageia"|"Netrunner"|"NixOS"|"Pardus"|"Raspbian"|"Sabayon"|"Solus"|"SteamOS"|"Trisquel"|"Ubuntu"|"GrombyangOS"|"Scientific Linux")
 | ||
| 					# no need to fix $distro/$distro_codename/$distro_release
 | ||
| 					distro="${distro_detect}"
 | ||
| 					;;
 | ||
| 				"archlinux"|"Arch Linux"|"arch"|"Arch"|"archarm")
 | ||
| 					distro="Arch Linux"
 | ||
| 					distro_release="n/a"
 | ||
| 					if grep -q 'antergos' /etc/os-release; then
 | ||
| 						distro="Antergos"
 | ||
| 						distro_release="n/a"
 | ||
| 					fi
 | ||
| 					if grep -q -i 'logos' /etc/os-release; then
 | ||
| 						distro="Logos"
 | ||
| 						distro_release="n/a"
 | ||
| 					fi
 | ||
| 					if grep -q -i 'swagarch' /etc/os-release; then
 | ||
| 						distro="SwagArch"
 | ||
| 						distro_release="n/a"
 | ||
| 					fi
 | ||
| 					;;
 | ||
| 				"BLAG")
 | ||
| 					distro="BLAG"
 | ||
| 					distro_more="$(head -n1 /etc/fedora-release)"
 | ||
| 					;;
 | ||
| 				"Chakra")
 | ||
| 					distro="Chakra"
 | ||
| 					distro_release=""
 | ||
| 					;;
 | ||
| 				"BunsenLabs")
 | ||
| 					distro=$(source /etc/lsb-release; echo "$DISTRIB_ID")
 | ||
| 					distro_release=$(source /etc/lsb-release; echo "$DISTRIB_RELEASE")
 | ||
| 					distro_codename=$(source /etc/lsb-release; echo "$DISTRIB_CODENAME")
 | ||
| 					;;
 | ||
| 				"Debian")
 | ||
| 					if [[ -f /etc/crunchbang-lsb-release || -f /etc/lsb-release-crunchbang ]]; then
 | ||
| 						distro="CrunchBang"
 | ||
| 						distro_release=$(awk -F'=' '/^DISTRIB_RELEASE=/ {print $2}' /etc/lsb-release-crunchbang)
 | ||
| 						distro_codename=$(awk -F'=' '/^DISTRIB_DESCRIPTION=/ {print $2}' /etc/lsb-release-crunchbang)
 | ||
| 					elif [[ -f /etc/os-release ]]; then
 | ||
| 						if [[ "$(cat /etc/os-release)" =~ "Raspbian" ]]; then
 | ||
| 							distro="Raspbian"
 | ||
| 							distro_release=$(awk -F'=' '/^PRETTY_NAME=/ {print $2}' /etc/os-release)
 | ||
|             fi
 | ||
| 						if [[ "$(cat /etc/os-release)" =~ "BlankOn" ]]; then
 | ||
| 							distro="BlankOn"
 | ||
| 							distro_release=$(awk -F'=' '/^PRETTY_NAME=/ {print $2}' /etc/os-release)
 | ||
| 						else
 | ||
| 							distro="Debian"
 | ||
| 						fi
 | ||
| 					else
 | ||
| 						distro="Debian"
 | ||
| 					fi
 | ||
| 					;;
 | ||
| 				"elementary"|"elementary OS")
 | ||
| 					distro="elementary OS"
 | ||
| 					;;
 | ||
| 				"EvolveOS")
 | ||
| 					distro="Evolve OS"
 | ||
| 					;;
 | ||
| 				"KaOS"|"kaos")
 | ||
| 					distro="KaOS"
 | ||
| 					;;
 | ||
| 				"frugalware")
 | ||
| 					distro="Frugalware"
 | ||
| 					distro_codename=null
 | ||
| 					distro_release=null
 | ||
| 					;;
 | ||
| 				"Fuduntu")
 | ||
| 					distro="Fuduntu"
 | ||
| 					distro_codename=null
 | ||
| 					;;
 | ||
| 				"Fux")
 | ||
| 					distro="Fux"
 | ||
| 					distro_codename=null
 | ||
| 					;;
 | ||
| 				"Gentoo")
 | ||
| 					if [[ "$(lsb_release -sd)" =~ "Funtoo" ]]; then
 | ||
| 						distro="Funtoo"
 | ||
| 					else
 | ||
| 						distro="Gentoo"
 | ||
| 					fi
 | ||
| 					. /etc/portage/make.conf #detecting release stable/testing/experimental
 | ||
| 					case $ACCEPT_KEYWORDS in
 | ||
|         				[a-z]*) distro_release=stable       ;;
 | ||
|         				~*)     distro_release=testing      ;;
 | ||
|         				'**')   distro_release=experimental ;; #experimental usually includes git-versions.
 | ||
| 					esac
 | ||
| 					;;
 | ||
| 				"LinuxDeepin")
 | ||
| 					distro="LinuxDeepin"
 | ||
| 					distro_codename=null
 | ||
| 					;;
 | ||
| 				"Kali"|"Debian Kali Linux")
 | ||
| 					distro="Kali Linux"
 | ||
| 					if [[ "${distro_codename}" =~ "kali-rolling" ]]; then
 | ||
| 						distro_codename="n/a"
 | ||
| 						distro_release="n/a"
 | ||
| 					fi
 | ||
| 					;;
 | ||
| 				"Lunar Linux"|"lunar")
 | ||
| 					distro="Lunar Linux"
 | ||
| 					;;
 | ||
| 				"MandrivaLinux")
 | ||
| 					distro="Mandriva"
 | ||
| 					case "${distro_codename}" in
 | ||
| 						"turtle"|"Henry_Farman"|"Farman"|"Adelie"|"pauillac")
 | ||
| 							distro="Mandriva-${distro_release}"
 | ||
| 							distro_codename=null
 | ||
| 							;;
 | ||
| 					esac
 | ||
| 					;;
 | ||
| 				"ManjaroLinux")
 | ||
| 					distro="Manjaro"
 | ||
| 					;;
 | ||
| 				"Mer")
 | ||
| 					distro="Mer"
 | ||
| 					if [[ -f /etc/os-release ]]; then
 | ||
| 						if grep -q 'SailfishOS' /etc/os-release; then
 | ||
| 							distro="SailfishOS"
 | ||
| 							distro_codename="$(grep 'VERSION=' /etc/os-release | cut -d '(' -f2 | cut -d ')' -f1)"
 | ||
| 							distro_release="$(awk -F'=' '/^VERSION=/ {print $2}' /etc/os-release)"
 | ||
| 						fi
 | ||
| 					fi
 | ||
| 					;;
 | ||
| 				"neon"|"KDE neon")
 | ||
| 					distro="KDE neon"
 | ||
| 					distro_codename="n/a"
 | ||
| 					distro_release="n/a"
 | ||
| 					if [[ -f /etc/issue ]]; then
 | ||
| 						if grep -q "^KDE neon" /etc/issue ; then
 | ||
| 							distro_release="$(grep '^KDE neon' /etc/issue | cut -d ' ' -f3)"
 | ||
| 						fi
 | ||
| 					fi
 | ||
| 					;;
 | ||
| 				"Ol"|"ol"|"Oracle Linux")
 | ||
| 					distro="Oracle Linux"
 | ||
| 					[ -f /etc/oracle-release ] && distro_release="$(sed 's/Oracle Linux //' /etc/oracle-release)"
 | ||
| 					;;
 | ||
| 				"LinuxMint")
 | ||
| 					distro="Mint"
 | ||
| 					if [[ "${distro_codename}" == "debian" ]]; then
 | ||
| 						distro="LMDE"
 | ||
| 						distro_codename="n/a"
 | ||
| 						distro_release="n/a"
 | ||
| 					fi
 | ||
| 					;;
 | ||
| 				"openSUSE"|"openSUSE project"|"SUSE LINUX")
 | ||
| 					distro="openSUSE"
 | ||
| 					if [ -f /etc/os-release ]; then
 | ||
| 						if [[ "$(cat /etc/os-release)" =~ "SUSE Linux Enterprise" ]]; then
 | ||
| 							distro="SUSE Linux Enterprise"
 | ||
| 							distro_codename="n/a"
 | ||
| 							distro_release=$(awk -F'=' '/^VERSION_ID=/ {print $2}' /etc/os-release | tr -d '"')
 | ||
| 						fi
 | ||
| 					fi
 | ||
| 					if [[ "${distro_codename}" == "Tumbleweed" ]]; then
 | ||
| 						distro_release="n/a"
 | ||
| 					fi
 | ||
| 					;;
 | ||
| 				"Parabola GNU/Linux-libre"|"Parabola")
 | ||
| 					distro="Parabola GNU/Linux-libre"
 | ||
| 					distro_codename="n/a"
 | ||
| 					distro_release="n/a"
 | ||
| 					;;
 | ||
| 				"Parrot"|"Parrot Security")
 | ||
| 					distro="Parrot Security"
 | ||
| 					;;
 | ||
| 				"PCLinuxOS")
 | ||
| 					distro="PCLinuxOS"
 | ||
| 					distro_codename="n/a"
 | ||
| 					distro_release="n/a"
 | ||
| 					;;
 | ||
| 				"Peppermint")
 | ||
| 					distro="Peppermint"
 | ||
| 					distro_codename=null
 | ||
| 					;;
 | ||
| 				"rhel")
 | ||
| 					distro="Red Hat Enterprise Linux"
 | ||
| 					;;
 | ||
| 				"RosaDesktopFresh")
 | ||
| 					distro="ROSA"
 | ||
| 					distro_release=$(grep 'VERSION=' /etc/os-release | cut -d ' ' -f3 | cut -d "\"" -f1)
 | ||
| 					distro_codename=$(grep 'PRETTY_NAME=' /etc/os-release | cut -d ' ' -f4,4)
 | ||
| 					;;
 | ||
| 				"SailfishOS")
 | ||
| 					distro="SailfishOS"
 | ||
| 					if [[ -f /etc/os-release ]]; then
 | ||
| 						distro_codename="$(grep 'VERSION=' /etc/os-release | cut -d '(' -f2 | cut -d ')' -f1)"
 | ||
| 						distro_release="$(awk -F'=' '/^VERSION=/ {print $2}' /etc/os-release)"
 | ||
| 					fi
 | ||
| 					;;
 | ||
| 				"Sparky"|"SparkyLinux")
 | ||
| 					distro="SparkyLinux"
 | ||
| 					;;
 | ||
| 				"Viperr")
 | ||
| 					distro="Viperr"
 | ||
| 					distro_codename=null
 | ||
| 					;;
 | ||
| 				*)
 | ||
| 					if [ "x$(printf "${distro_detect}" | od -t x1 | sed -e 's/^\w*\ *//' | tr '\n' ' ' | grep 'eb b6 89 ec 9d 80 eb b3 84 ')" != "x" ]; then
 | ||
| 						distro="Red Star OS"
 | ||
| 						distro_codename="n/a"
 | ||
| 						distro_release=$(printf "${distro_release}" | grep -o '[0-9.]' | tr -d '\n')
 | ||
| 					fi
 | ||
| 					;;
 | ||
| 			esac
 | ||
| 			if [[ "${distro_detect}" =~ "RedHatEnterprise" ]]; then distro="Red Hat Enterprise Linux"; fi
 | ||
| 			if [[ "${distro_detect}" =~ "SUSELinuxEnterprise" ]]; then distro="SUSE Linux Enterprise"; fi
 | ||
| 			if [[ -n ${distro_release} && ${distro_release} != "n/a" ]]; then distro_more="$distro_release"; fi
 | ||
| 			if [[ -n ${distro_codename} && ${distro_codename} != "n/a" ]]; then distro_more="$distro_more $distro_codename"; fi
 | ||
| 		fi
 | ||
| 
 | ||
| 		# Existing File Check
 | ||
| 		if [ "$distro" == "Unknown" ]; then
 | ||
| 			if [ $(uname -o 2>/dev/null) ]; then
 | ||
| 				os="$(uname -o)"
 | ||
| 				case "$os" in
 | ||
| 					"Cygwin"|"FreeBSD"|"OpenBSD"|"NetBSD")
 | ||
| 						distro="$os"
 | ||
| 						fake_distro="${distro}"
 | ||
| 					;;
 | ||
| 					"DragonFly")
 | ||
| 						distro="DragonFlyBSD"
 | ||
| 						fake_distro="${distro}"
 | ||
| 					;;
 | ||
| 					"Msys")
 | ||
| 						distro="Msys"
 | ||
| 						fake_distro="${distro}"
 | ||
| 						distro_more="${distro} $(uname -r | head -c 1)"
 | ||
| 					;;
 | ||
| 					"Haiku")
 | ||
| 						distro="Haiku"
 | ||
| 						distro_more="$(uname -v | tr ' ' '\n' | grep 'hrev')"
 | ||
| 					;;
 | ||
| 					"GNU/Linux")
 | ||
| 						if type -p crux >/dev/null 2>&1; then
 | ||
| 							distro="CRUX"
 | ||
| 							distro_more="$(crux | awk '{print $3}')"
 | ||
| 						fi
 | ||
| 						if type -p nixos-version >/dev/null 2>&1; then
 | ||
| 							distro="NixOS"
 | ||
| 							distro_more="$(nixos-version)"
 | ||
| 						fi
 | ||
| 					;;
 | ||
| 				esac
 | ||
| 			fi
 | ||
| 			if [[ "${distro}" == "Cygwin" || "${distro}" == "Msys" ]]; then
 | ||
| 				# https://msdn.microsoft.com/en-us/library/ms724832%28VS.85%29.aspx
 | ||
| 				if [ "$(wmic os get version | grep -o '^\(6\.[23]\|10\)')" ]; then
 | ||
| 					fake_distro="Windows - Modern"
 | ||
| 				fi
 | ||
| 			fi
 | ||
| 			if [[ "${distro}" == "Unknown" ]]; then
 | ||
| 				if [ -f /etc/os-release ]; then
 | ||
| 					distrib_id=$(</etc/os-release);
 | ||
| 					for l in $(echo $distrib_id); do
 | ||
| 						if [[ ${l} =~ ^ID= ]]; then
 | ||
| 							distrib_id=${l//*=}
 | ||
| 							distrib_id=${distrib_id//\"/}
 | ||
| 							break 1
 | ||
| 						fi
 | ||
| 					done
 | ||
| 					if [[ -n ${distrib_id} ]]; then
 | ||
| 						if [[ -n ${BASH_VERSINFO} && ${BASH_VERSINFO} -ge 4 ]]; then
 | ||
| 							distrib_id=$(for i in ${distrib_id}; do echo -n "${i^} "; done)
 | ||
| 							distro=${distrib_id% }
 | ||
| 							unset distrib_id
 | ||
| 						else
 | ||
| 							distrib_id=$(for i in ${distrib_id}; do FIRST_LETTER=$(echo -n "${i:0:1}" | tr "[:lower:]" "[:upper:]"); echo -n "${FIRST_LETTER}${i:1} "; done)
 | ||
| 							distro=${distrib_id% }
 | ||
| 							unset distrib_id
 | ||
| 						fi
 | ||
| 					fi
 | ||
| 
 | ||
| 					# Hotfixes
 | ||
| 					[[ "${distro}" == "void" ]] && distro="Void"
 | ||
| 					[[ "${distro}" == "evolveos" ]] && distro="Evolve OS"
 | ||
| 					[[ "${distro}" == "antergos" ]] && distro="Antergos"
 | ||
| 					[[ "${distro}" == "logos" ]] && distro="Logos"
 | ||
| 					[[ "${distro}" == "Arch" || "${distro}" == "Archarm" || "${distro}" == "archarm" ]] && distro="Arch Linux"
 | ||
| 					[[ "${distro}" == "elementary" ]] && distro="elementary OS"
 | ||
| 					[[ "${distro}" == "Fedora" && -d /etc/qubes-rpc ]] && distro="qubes" # Inner VM
 | ||
| 					[[ "${distro}" == "Ol" || "${distro}" == "ol" ]] && distro="Oracle Linux"
 | ||
| 					if [[ "${distro}" == "Oracle Linux" ]] && [ -f /etc/oracle-release ]; then
 | ||
| 						distro_more="$(sed 's/Oracle Linux //' /etc/oracle-release)"
 | ||
| 					fi
 | ||
| 					[[ "${distro}" == "rhel" ]] && distro="Red Hat Enterprise Linux"
 | ||
| 					[[ "${distro}" == "Neon" ]] && distro="KDE neon"
 | ||
| 					[[ "${distro}" == "SLED" || "${distro}" == "sled" || "${distro}" == "SLES" || "${distro}" == "sles" ]] && distro="SUSE Linux Enterprise"
 | ||
| 					if [[ "${distro}" == "SUSE Linux Enterprise" ]] && [ -f /etc/os-release ]; then
 | ||
| 						distro_more="$(awk -F'=' '/^VERSION_ID=/ {print $2}' /etc/os-release | tr -d '"')"
 | ||
| 					fi
 | ||
| 				fi
 | ||
| 			fi
 | ||
| 
 | ||
| 			if [[ "${distro}" == "Unknown" ]]; then
 | ||
| 				if [[ "${OSTYPE}" == "linux-gnu" || "${OSTYPE}" == "linux" ]]; then
 | ||
| 					if [ -f /etc/lsb-release ]; then
 | ||
| 						LSB_RELEASE=$(</etc/lsb-release)
 | ||
| 						distro=$(echo ${LSB_RELEASE} | awk 'BEGIN {
 | ||
| 							distro = "Unknown"
 | ||
| 						}
 | ||
| 						{
 | ||
| 							if ($0 ~ /[Uu][Bb][Uu][Nn][Tt][Uu]/) {
 | ||
| 								distro = "Ubuntu"
 | ||
| 								exit
 | ||
| 							}
 | ||
| 							else if ($0 ~ /[Mm][Ii][Nn][Tt]/ && $0 ~ /[Dd][Ee][Bb][Ii][Aa][Nn]/) {
 | ||
| 								distro = "LMDE"
 | ||
| 								exit
 | ||
| 							}
 | ||
| 							else if ($0 ~ /[Mm][Ii][Nn][Tt]/) {
 | ||
| 								distro = "Mint"
 | ||
| 								exit
 | ||
| 							}
 | ||
| 						} END {
 | ||
| 							print distro
 | ||
| 						}')
 | ||
| 					fi
 | ||
| 				fi
 | ||
| 			fi
 | ||
| 
 | ||
| 			if [[ "${distro}" == "Unknown" ]]; then
 | ||
| 				if [[ "${OSTYPE}" == "linux-gnu" || "${OSTYPE}" == "linux" || "${OSTYPE}" == "gnu" ]]; then
 | ||
| 					if [ -f /etc/arch-release ]; then distro="Arch Linux"
 | ||
| 					elif [ -f /etc/chakra-release ]; then distro="Chakra"
 | ||
| 					elif [ -f /etc/crunchbang-lsb-release ]; then distro="CrunchBang"
 | ||
| 					elif [ -f /etc/debian_version ]; then
 | ||
| 						if [ -f /etc/issue ]; then
 | ||
| 							if grep -q "gNewSense" /etc/issue ; then
 | ||
| 								distro="gNewSense"
 | ||
| 							elif grep -q "^KDE neon" /etc/issue ; then
 | ||
| 								distro="KDE neon"
 | ||
| 								distro_more="$(cut -d ' ' -f3 /etc/issue)"
 | ||
| 							else
 | ||
| 								distro="Debian"
 | ||
| 							fi
 | ||
| 						fi
 | ||
| 						if grep -q "Kali" /etc/debian_version ; then
 | ||
| 							distro="Kali Linux"
 | ||
| 						fi
 | ||
| 					elif [ -f /etc/dragora-version ]; then distro="Dragora" && distro_more="$(cut -d, -f1 /etc/dragora-version)"
 | ||
| 					elif [ -f /etc/evolveos-release ]; then distro="Evolve OS"
 | ||
| 					elif [ -f /etc/exherbo-release ]; then distro="Exherbo"
 | ||
| 					elif [ -f /etc/fedora-release ]; then
 | ||
| 						if grep -q "Korora" /etc/fedora-release; then
 | ||
| 							distro="Korora"
 | ||
| 						elif grep -q "BLAG" /etc/fedora-release; then
 | ||
| 							distro="BLAG"
 | ||
| 							distro_more="$(head -n1 /etc/fedora-release)"
 | ||
| 						else
 | ||
| 							distro="Fedora"
 | ||
| 						fi
 | ||
| 					elif [ -f /etc/frugalware-release ]; then distro="Frugalware"
 | ||
| 					elif [ -f /etc/fux-release ]; then distro="Fux"
 | ||
| 					elif [ -f /etc/gentoo-release ]; then
 | ||
| 						if grep -q "Funtoo" /etc/gentoo-release ; then
 | ||
| 							distro="Funtoo"
 | ||
| 						else
 | ||
| 							distro="Gentoo"
 | ||
| 						fi
 | ||
| 					elif [ -f /etc/kogaion-release ]; then distro="Kogaion"
 | ||
| 					elif [ -f /etc/mageia-release ]; then distro="Mageia"
 | ||
| 					elif [ -f /etc/mandrake-release ]; then
 | ||
| 						if grep -q "PCLinuxOS" /etc/mandrake-release ; then
 | ||
| 							distro="PCLinuxOS"
 | ||
| 						else
 | ||
| 							distro="Mandrake"
 | ||
| 						fi
 | ||
| 					elif [ -f /etc/mandriva-release ]; then
 | ||
| 						if grep -q "PCLinuxOS" /etc/mandriva-release ; then
 | ||
| 							distro="PCLinuxOS"
 | ||
| 						else
 | ||
| 							distro="Mandriva"
 | ||
| 						fi
 | ||
| 					elif [ -f /etc/NIXOS ]; then distro="NixOS"
 | ||
| 					elif [ -f /etc/obarun-release ]; then distro="Obarun"
 | ||
| 					elif [ -f /etc/oracle-release ]; then
 | ||
| 						distro="Oracle Linux"
 | ||
| 						distro_more="$(sed 's/Oracle Linux //' /etc/oracle-release)"
 | ||
| 					elif [ -f /etc/SuSE-release ]; then
 | ||
| 						distro="openSUSE"
 | ||
| 						if [ -f /etc/os-release ]; then
 | ||
| 							if [[ "$(cat /etc/os-release)" =~ "SUSE Linux Enterprise" ]]; then
 | ||
| 								distro="SUSE Linux Enterprise"
 | ||
| 								distro_more=$(awk -F'=' '/^VERSION_ID=/ {print $2}' /etc/os-release | tr -d '"')
 | ||
| 							fi
 | ||
| 						fi
 | ||
| 						if [[ "${distro_more}" =~ "Tumbleweed" ]]; then distro_more="Tumbleweed"; fi
 | ||
| 					elif [ -f /etc/pardus-release ]; then distro="Pardus"
 | ||
| 					elif [ -f /etc/pclinuxos-release ]; then distro="PCLinuxOS"
 | ||
| 					elif [ -f /etc/redstar-release ]; then
 | ||
| 						distro="Red Star OS"
 | ||
| 						distro_more=$(grep -o '[0-9.]' /etc/redstar-release | tr -d '\n')
 | ||
| 					elif [ -f /etc/redhat-release ]; then
 | ||
| 						if grep -q "CentOS" /etc/redhat-release; then
 | ||
| 							distro="CentOS"
 | ||
| 						elif grep -q "PCLinuxOS" /etc/redhat-release; then
 | ||
| 							distro="PCLinuxOS"
 | ||
| 						elif [ "x$(od -t x1 /etc/redhat-release | sed -e 's/^\w*\ *//' | tr '\n' ' ' | grep 'eb b6 89 ec 9d 80 eb b3 84 ')" != "x" ]; then
 | ||
| 							distro="Red Star OS"
 | ||
| 							distro_more=$(grep -o '[0-9.]' /etc/redhat-release | tr -d '\n')
 | ||
| 						else
 | ||
| 							distro="Red Hat Enterprise Linux"
 | ||
| 						fi
 | ||
| 					elif [ -f /etc/rosa-release ]; then distro="ROSA"
 | ||
| 					elif [ -f /etc/slackware-version ]; then distro="Slackware"
 | ||
| 					elif [ -f /usr/share/doc/tc/release.txt ]; then
 | ||
| 						distro="TinyCore"
 | ||
| 						distro_more="$(cat /usr/share/doc/tc/release.txt)"
 | ||
| 					elif [ -f /etc/sabayon-edition ]; then distro="Sabayon"; fi
 | ||
| 				else
 | ||
| 					if [[ -x /usr/bin/sw_vers ]] && /usr/bin/sw_vers | grep -i "Mac OS X" >/dev/null; then
 | ||
| 						distro="Mac OS X"
 | ||
| 					elif [[ -f /var/run/dmesg.boot ]]; then
 | ||
| 						distro=$(awk 'BEGIN {
 | ||
| 							distro = "Unknown"
 | ||
| 						}
 | ||
| 						{
 | ||
| 							if ($0 ~ /DragonFly/) {
 | ||
| 								distro = "DragonFlyBSD"
 | ||
| 								exit
 | ||
| 							}
 | ||
| 							else if ($0 ~ /FreeBSD/) {
 | ||
| 								distro = "FreeBSD"
 | ||
| 								exit
 | ||
| 							}
 | ||
| 							else if ($0 ~ /NetBSD/) {
 | ||
| 								distro = "NetBSD"
 | ||
| 								exit
 | ||
| 							}
 | ||
| 							else if ($0 ~ /OpenBSD/) {
 | ||
| 								distro = "OpenBSD"
 | ||
| 								exit
 | ||
| 							}
 | ||
| 						} END {
 | ||
| 							print distro
 | ||
| 						}' /var/run/dmesg.boot)
 | ||
| 					fi
 | ||
| 				fi
 | ||
| 			fi
 | ||
| 
 | ||
| 			if [[ "${distro}" == "Unknown" ]] && [[ "${OSTYPE}" == "linux-gnu" || "${OSTYPE}" == "linux" || "${OSTYPE}" == "gnu" ]]; then
 | ||
| 				if [[ -f /etc/issue ]]; then
 | ||
| 					distro=$(awk 'BEGIN {
 | ||
| 						distro = "Unknown"
 | ||
| 					}
 | ||
| 					{
 | ||
| 						if ($0 ~ /"LinuxDeepin"/) {
 | ||
| 							distro = "LinuxDeepin"
 | ||
| 							exit
 | ||
| 						}
 | ||
| 						else if ($0 ~ /"Obarun"/) {
 | ||
| 							distro = "Obarun"
 | ||
| 							exit
 | ||
| 						}
 | ||
| 						else if ($0 ~ /"Parabola GNU\/Linux-libre"/) {
 | ||
| 							distro = "Parabola GNU/Linux-libre"
 | ||
| 							exit
 | ||
| 						}
 | ||
| 						else if ($0 ~ /"Solus"/) {
 | ||
| 							distro = "Solus"
 | ||
| 							exit
 | ||
| 						}
 | ||
| 					} END {
 | ||
| 						print distro
 | ||
| 					}' /etc/issue)
 | ||
| 				fi
 | ||
| 			fi
 | ||
| 
 | ||
| 			if [[ "${distro}" == "Unknown" ]] && [[ "${OSTYPE}" == "linux-gnu" || "${OSTYPE}" == "linux" || "${OSTYPE}" == "gnu" ]]; then
 | ||
| 				if [[ -f /etc/system-release ]]; then
 | ||
| 					if grep -q "Scientific Linux" /etc/system-release; then
 | ||
| 						distro="Scientific Linux"
 | ||
| 					elif grep -q "Oracle Linux" /etc/system-release; then
 | ||
| 						distro="Oracle Linux"
 | ||
| 					fi
 | ||
| 				elif [[ -f /etc/lsb-release ]]; then
 | ||
| 					if grep -q "CHROMEOS_RELEASE_NAME" /etc/lsb-release; then
 | ||
| 						distro="$(awk -F'=' '/^CHROMEOS_RELEASE_NAME=/ {print $2}' /etc/lsb-release)"
 | ||
| 						distro_more="$(awk -F'=' '/^CHROMEOS_RELEASE_VERSION=/ {print $2}' /etc/lsb-release)"
 | ||
| 					fi
 | ||
| 				fi
 | ||
| 			fi
 | ||
| 		fi
 | ||
| 	fi
 | ||
| 
 | ||
| 	if [[ -n ${distro_more} ]]; then
 | ||
| 		distro_more="${distro} ${distro_more}"
 | ||
| 	fi
 | ||
| 
 | ||
| 	if [[ "${distro}" != "Haiku" ]]; then
 | ||
| 		if [[ ${BASH_VERSINFO[0]} -ge 4 ]]; then
 | ||
| 			if [[ ${BASH_VERSINFO[0]} -eq 4 && ${BASH_VERSINFO[1]} -gt 1 ]] || [[ ${BASH_VERSINFO[0]} -gt 4 ]]; then
 | ||
| 				distro=${distro,,}
 | ||
| 			else
 | ||
| 				distro="$(tr '[:upper:]' '[:lower:]' <<< ${distro})"
 | ||
| 			fi
 | ||
| 		else
 | ||
| 			distro="$(tr '[:upper:]' '[:lower:]' <<< ${distro})"
 | ||
| 		fi
 | ||
| 	fi
 | ||
| 
 | ||
| 	case $distro in
 | ||
| 		alpine) distro="Alpine Linux" ;;
 | ||
| 		antergos) distro="Antergos" ;;
 | ||
| 		arch*linux*old) distro="Arch Linux - Old" ;;
 | ||
| 		arch|arch*linux) distro="Arch Linux" ;;
 | ||
| 		blag) distro="BLAG" ;;
 | ||
| 		bunsenlabs) distro="BunsenLabs" ;;
 | ||
| 		centos) distro="CentOS" ;;
 | ||
| 		chakra) distro="Chakra" ;;
 | ||
| 		chapeau) distro="Chapeau" ;;
 | ||
| 		chrome*|chromium*) distro="Chrome OS" ;;
 | ||
| 		crunchbang) distro="CrunchBang" ;;
 | ||
| 		crux) distro="CRUX" ;;
 | ||
| 		cygwin) distro="Cygwin" ;;
 | ||
| 		debian) distro="Debian" ;;
 | ||
| 		devuan) distro="Devuan" ;;
 | ||
| 		deepin) distro="Deepin" ;;
 | ||
| 		desaos) distro="DesaOS" ;;
 | ||
| 		dragonflybsd) distro="DragonFlyBSD" ;;
 | ||
| 		dragora) distro="Dragora" ;;
 | ||
| 		elementary|'elementary os') distro="elementary OS";;
 | ||
| 		evolveos) distro="Evolve OS" ;;
 | ||
| 		exherbo|exherbo*linux) distro="Exherbo" ;;
 | ||
| 		fedora) distro="Fedora" ;;
 | ||
| 		freebsd) distro="FreeBSD" ;;
 | ||
| 		freebsd*old) distro="FreeBSD - Old" ;;
 | ||
| 		frugalware) distro="Frugalware" ;;
 | ||
| 		fuduntu) distro="Fuduntu" ;;
 | ||
| 		funtoo) distro="Funtoo" ;;
 | ||
| 		fux) distro="Fux" ;;
 | ||
| 		gentoo) distro="Gentoo" ;;
 | ||
| 		gnewsense) distro="gNewSense" ;;
 | ||
| 		haiku) distro="Haiku" ;;
 | ||
| 		kali*linux) distro="Kali Linux" ;;
 | ||
| 		kaos) distro="KaOS";;
 | ||
| 		kde*neon|neon) distro="KDE neon" ;;
 | ||
| 		kogaion) distro="Kogaion" ;;
 | ||
| 		korora) distro="Korora" ;;
 | ||
| 		linuxdeepin) distro="LinuxDeepin" ;;
 | ||
| 		lmde) distro="LMDE" ;;
 | ||
| 		logos) distro="Logos" ;;
 | ||
| 		lunar|lunar*linux) distro="Lunar Linux";;
 | ||
| 		mac*os*x|os*x) distro="Mac OS X" ;;
 | ||
| 		manjaro) distro="Manjaro" ;;
 | ||
| 		mageia) distro="Mageia" ;;
 | ||
| 		mandrake) distro="Mandrake" ;;
 | ||
| 		mandriva) distro="Mandriva" ;;
 | ||
| 		mer) distro="Mer" ;;
 | ||
| 		mint|linux*mint) distro="Mint" ;;
 | ||
| 		msys|msys2) distro="Msys" ;;
 | ||
| 		netbsd) distro="NetBSD" ;;
 | ||
| 		netrunner) distro="Netrunner" ;;
 | ||
| 		nix|nix*os) distro="NixOS" ;;
 | ||
| 		obarun) distro="Obarun" ;;
 | ||
| 		ol|oracle*linux) distro="Oracle Linux" ;;
 | ||
| 		openbsd) distro="OpenBSD" ;;
 | ||
| 		opensuse) distro="openSUSE" ;;
 | ||
| 		parabolagnu|parabolagnu/linux-libre|'parabola gnu/linux-libre'|parabola) distro="Parabola GNU/Linux-libre" ;;
 | ||
| 		pardus) distro="Pardus" ;;
 | ||
| 		parrot|parrot*security) distro="Parrot Security" ;;
 | ||
| 		pclinuxos|pclos) distro="PCLinuxOS" ;;
 | ||
| 		peppermint) distro="Peppermint" ;;
 | ||
| 		qubes) distro="Qubes OS" ;;
 | ||
| 		raspbian) distro="Raspbian" ;;
 | ||
| 		red*hat*|rhel) distro="Red Hat Enterprise Linux" ;;
 | ||
| 		rosa) distro="ROSA" ;;
 | ||
| 		red*star|red*star*os) distro="Red Star OS" ;;
 | ||
| 		sabayon) distro="Sabayon" ;;
 | ||
| 		sailfish|sailfish*os) distro="SailfishOS" ;;
 | ||
| 		slackware) distro="Slackware" ;;
 | ||
| 		solus) distro="Solus" ;;
 | ||
| 		sparky|sparky*linux) distro="SparkyLinux" ;;
 | ||
| 		steam|steam*os) distro="SteamOS" ;;
 | ||
| 		suse*linux*enterprise) distro="SUSE Linux Enterprise" ;;
 | ||
| 		swagarch) distro="SwagArch" ;;
 | ||
| 		tinycore|tinycore*linux) distro="TinyCore" ;;
 | ||
| 		trisquel) distro="Trisquel";;
 | ||
| 		grombyangos) distro="GrombyangOS" ;;
 | ||
| 		ubuntu)
 | ||
| 			distro="Ubuntu"
 | ||
| 			if grep -q 'Microsoft' /proc/version 2>/dev/null || \
 | ||
| 			   grep -q 'Microsoft' /proc/sys/kernel/osrelease 2>/dev/null
 | ||
| 			then
 | ||
| 				uow=$(echo -e "$(getColor 'yellow') [Ubuntu on Windows 10]")
 | ||
| 			fi
 | ||
| 			;;
 | ||
| 		viperr) distro="Viperr" ;;
 | ||
| 		void) distro="Void" ;;
 | ||
| 	esac
 | ||
| 	verboseOut "Finding distro...found as '${distro} ${distro_release}'"
 | ||
| }
 | ||
| # Distro Detection - End
 | ||
| 
 | ||
| # Host and User detection - Begin
 | ||
| detecthost () {
 | ||
| 	myUser=${USER}
 | ||
| 	myHost=${HOSTNAME}
 | ||
| 	if [[ -z "$USER" ]]; then myUser=$(whoami); fi
 | ||
| 	if [[ "${distro}" == "Mac OS X" ]]; then myHost=${myHost/.local}; fi
 | ||
| 	verboseOut "Finding hostname and user...found as '${myUser}@${myHost}'"
 | ||
| }
 | ||
| 
 | ||
| # Find Number of Running Processes
 | ||
| # processnum="$(( $( ps aux | wc -l ) - 1 ))"
 | ||
| 
 | ||
| # Kernel Version Detection - Begin
 | ||
| detectkernel () {
 | ||
| 	if [[ "$distro" == "OpenBSD" ]]; then
 | ||
| 		kernel=$(sysctl kern.version|awk -F'[ =:]' 'NR==1{print $3" "$4" "$5}')
 | ||
| 	else
 | ||
| 		# compatibility for older versions of OS X:
 | ||
| 		kernel=$(uname -m && uname -sr)
 | ||
| 		kernel=${kernel//$'\n'/ }
 | ||
| 		#kernel=( $(uname -srm) )
 | ||
| 		#kernel="${kernel[${#kernel[@]}-1]} ${kernel[@]:0:${#kernel[@]}-1}"
 | ||
| 		verboseOut "Finding kernel version...found as '${kernel}'"
 | ||
| 	fi
 | ||
| }
 | ||
| # Kernel Version Detection - End
 | ||
| 
 | ||
| 
 | ||
| # Uptime Detection - Begin
 | ||
| detectuptime () {
 | ||
| 	unset uptime
 | ||
| 	if [[ "${distro}" == "Mac OS X" || "${distro}" == "FreeBSD" || "${distro}" == "DragonFlyBSD" ]]; then
 | ||
| 		boot=$(sysctl -n kern.boottime | cut -d "=" -f 2 | cut -d "," -f 1)
 | ||
| 		now=$(date +%s)
 | ||
| 		uptime=$(($now-$boot))
 | ||
| 	elif [[ "${distro}" == "OpenBSD" ]]; then
 | ||
| 		boot=$(sysctl -n kern.boottime)
 | ||
| 		now=$(date +%s)
 | ||
| 		uptime=$((${now} - ${boot}))
 | ||
| 	elif [[ "${distro}" == "Haiku" ]]; then
 | ||
| 		uptime=$(uptime | cut -d ',' -f2,3 | sed 's/ up //; s/ hour,/h/; s/ minutes/m/;')
 | ||
| 	else
 | ||
| 		if [[ -f /proc/uptime ]]; then
 | ||
| 			uptime=$(</proc/uptime)
 | ||
| 			uptime=${uptime//.*}
 | ||
| 		fi
 | ||
| 	fi
 | ||
| 
 | ||
| 	if [[ -n ${uptime} ]] && [[ "${distro}" != "Haiku" ]]; then
 | ||
| 		secs=$((${uptime}%60))
 | ||
| 		mins=$((${uptime}/60%60))
 | ||
| 		hours=$((${uptime}/3600%24))
 | ||
| 		days=$((${uptime}/86400))
 | ||
| 		uptime="${mins}m"
 | ||
| 		if [ "${hours}" -ne "0" ]; then
 | ||
| 			uptime="${hours}h ${uptime}"
 | ||
| 		fi
 | ||
| 		if [ "${days}" -ne "0" ]; then
 | ||
| 			uptime="${days}d ${uptime}"
 | ||
| 		fi
 | ||
| 	else
 | ||
| 		if [[ "$distro" =~ "NetBSD" ]]; then uptime=$(awk -F. '{print $1}' /proc/uptime); fi
 | ||
| 		if [[ "$distro" =~ "BSD" ]]; then uptime=$(uptime | awk '{$1=$2=$(NF-6)=$(NF-5)=$(NF-4)=$(NF-3)=$(NF-2)=$(NF-1)=$NF=""; sub(" days","d");sub(",","");sub(":","h ");sub(",","m"); print}'); fi
 | ||
| 	fi
 | ||
| 	verboseOut "Finding current uptime...found as '${uptime}'"
 | ||
| }
 | ||
| # Uptime Detection - End
 | ||
| 
 | ||
| 
 | ||
| # Package Count - Begin
 | ||
| detectpkgs () {
 | ||
| 	pkgs="Unknown"
 | ||
| 	case "${distro}" in
 | ||
| 		'Alpine Linux') pkgs=$(apk info | wc -l) ;;
 | ||
| 		'Arch Linux'|'Parabola GNU/Linux-libre'|'Chakra'|'Manjaro'|'Antergos'|'Netrunner'|'KaOS'|'Obarun'|'SwagArch') pkgs=$(pacman -Qq | wc -l) ;;
 | ||
| 		'Chrome OS')
 | ||
| 			if [ -d "/usr/local/lib/crew/packages" ]; then
 | ||
| 				pkgs=$(ls -l /usr/local/etc/crew/meta/*.filelist | wc -l)
 | ||
| 			else
 | ||
| 				pkgs=$(ls -d /var/db/pkg/*/* | wc -l)
 | ||
| 			fi
 | ||
| 		;;
 | ||
| 		'Dragora') pkgs=$(ls -1 /var/db/pkg | wc -l) ;;
 | ||
| 		'Frugalware') pkgs=$(pacman-g2 -Q | wc -l) ;;
 | ||
| 		'Debian'|'Ubuntu'|'Mint'|'Fuduntu'|'KDE neon'|'Devuan'|'Raspbian'|'LMDE'|'CrunchBang'|'Peppermint'|'LinuxDeepin'|'Deepin'|'Kali Linux'|'Trisquel'|'elementary OS'|'gNewSense'|'BunsenLabs'|'SteamOS'|'Parrot Security'|'GrombyangOS'| 'DesaOS') pkgs=$(dpkg -l | grep -c ^i) ;;
 | ||
| 		'Slackware') pkgs=$(ls -1 /var/log/packages | wc -l) ;;
 | ||
| 		'Gentoo'|'Sabayon'|'Funtoo'|'Kogaion') pkgs=$(ls -d /var/db/pkg/*/* | wc -l) ;;
 | ||
| 		'NixOS') pkgs=$(ls -d -1 /nix/store/*/ | wc -l) ;;
 | ||
| 		'Fedora'|'Fux'|'Korora'|'BLAG'|'Chapeau'|'openSUSE'|'SUSE Linux Enterprise'|'Red Hat Enterprise Linux'|'ROSA'|'Oracle Linux'|'CentOS'|'Mandriva'|'Mandrake'|'Mageia'|'Mer'|'SailfishOS'|'PCLinuxOS'|'Viperr'|'Qubes OS'|'Red Star OS') pkgs=$(rpm -qa | wc -l) ;;
 | ||
| 		'Void') pkgs=$(xbps-query -l | wc -l) ;;
 | ||
| 		'Evolve OS'|'Solus') pkgs=$(pisi list-installed | wc -l) ;;
 | ||
| 		'CRUX') pkgs=$(pkginfo -i | wc -l) ;;
 | ||
| 		'Lunar Linux') pkgs=$(lvu installed | wc -l) ;;
 | ||
| 		'TinyCore') pkgs=$(tce-status -i | wc -l) ;;
 | ||
| 		'Exherbo')
 | ||
| 			xpkgs=$(ls -d -1 /var/db/paludis/repositories/cross-installed/*/data/* | wc -l)
 | ||
| 			pkgs=$(ls -d -1 /var/db/paludis/repositories/installed/data/* | wc -l)
 | ||
| 			pkgs=$((${pkgs} + ${xpkgs}))
 | ||
| 		;;
 | ||
| 		'Mac OS X')
 | ||
| 			if [ -d "/usr/local/bin" ]; then
 | ||
| 				loc_pkgs=$(ls -l /usr/local/bin/ | grep -v "\(../Cellar/\|brew\)" | wc -l)
 | ||
| 				pkgs=$((${loc_pkgs} -1));
 | ||
| 			fi
 | ||
| 
 | ||
| 			if type -p port >/dev/null 2>&1; then
 | ||
| 				port_pkgs=$(port installed 2>/dev/null | wc -l)
 | ||
| 				pkgs=$((${pkgs} + (${port_pkgs} -1)))
 | ||
| 			fi
 | ||
| 
 | ||
| 			if type -p brew >/dev/null 2>&1; then
 | ||
| 				brew_pkgs=$(brew list -1 2>/dev/null | wc -l)
 | ||
| 				pkgs=$((${pkgs} + ${brew_pkgs}))
 | ||
| 			fi
 | ||
| 			if type -p pkgin >/dev/null 2>&1; then
 | ||
| 				pkgsrc_pkgs=$(pkgin list 2>/dev/null | wc -l)
 | ||
| 				pkgs=$((${pkgs} + ${pkgsrc_pkgs}))
 | ||
| 			fi
 | ||
| 		;;
 | ||
| 		'DragonFlyBSD')
 | ||
| 			pkgs=$(if TMPDIR=/dev/null ASSUME_ALWAYS_YES=1 PACKAGESITE=file:///nonexistent pkg info pkg >/dev/null 2>&1; then
 | ||
| 				pkg info | wc -l | awk '{print $1}'; else pkg_info | wc -l | tr -d ' '; fi)
 | ||
| 		;;
 | ||
| 		'OpenBSD')
 | ||
| 			pkgs=$(pkg_info | grep -c .)
 | ||
| 		;;
 | ||
| 		'FreeBSD')
 | ||
| 			pkgs=$(if TMPDIR=/dev/null ASSUME_ALWAYS_YES=1 PACKAGESITE=file:///nonexistent pkg info pkg >/dev/null 2>&1; then
 | ||
| 				pkg info | wc -l | awk '{print $1}'; else pkg_info | wc -l | awk '{sub(" ", "");print $1}'; fi)
 | ||
| 		;;
 | ||
| 		'NetBSD')
 | ||
| 			pkgs=$(pkg_info | wc -l | tr -d ' ')
 | ||
| 		;;
 | ||
| 		'Cygwin')
 | ||
| 			cygfix=2
 | ||
| 			pkgs=$(($(cygcheck -cd | wc -l) - ${cygfix}))
 | ||
| 			if [ -d "/cygdrive/c/ProgramData/chocolatey/lib" ]; then
 | ||
| 				chocopkgs=$(( $(ls -1 /cygdrive/c/ProgramData/chocolatey/lib | wc -l) ))
 | ||
| 				pkgs=$((${pkgs} + ${chocopkgs}))
 | ||
| 			fi
 | ||
| 		;;
 | ||
| 		'Msys')
 | ||
| 			pkgs=$(pacman -Qq | wc -l)
 | ||
| 			if [ -d "/c/ProgramData/chocolatey/lib" ]; then
 | ||
| 				chocopkgs=$(( $(ls -1 /c/ProgramData/chocolatey/lib | wc -l) ))
 | ||
| 				pkgs=$((${pkgs} + ${chocopkgs}))
 | ||
| 			fi
 | ||
| 		;;
 | ||
| 		'Haiku')
 | ||
| 			haikualpharelease="no"
 | ||
| 			if [ -d /boot/system/package-links ]; then
 | ||
| 				pkgs=$(ls /boot/system/package-links | wc -l)
 | ||
| 			elif type -p installoptionalpackage >/dev/null 2>&1; then
 | ||
| 				haikualpharelease="yes"
 | ||
| 				pkgs=$(installoptionalpackage -l | sed -n '3p' | wc -w)
 | ||
| 			fi
 | ||
| 		;;
 | ||
| 	esac
 | ||
| 	verboseOut "Finding current package count...found as '$pkgs'"
 | ||
| }
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| # CPU Detection - Begin
 | ||
| detectcpu () {
 | ||
| 	REGEXP="-r"
 | ||
| 	if [ "$distro" == "Mac OS X" ]; then
 | ||
| 		cpu=$(machine)
 | ||
| 		if [[ $cpu == "ppc750" ]]; then
 | ||
| 			cpu="IBM PowerPC G3"
 | ||
| 		elif [[ $cpu == "ppc7400" || $cpu == "ppc7450" ]]; then
 | ||
| 			cpu="IBM PowerPC G4"
 | ||
| 		elif [[ $cpu == "ppc970" ]]; then
 | ||
| 			cpu="IBM PowerPC G5"
 | ||
| 		else
 | ||
| 			cpu=$(sysctl -n machdep.cpu.brand_string)
 | ||
| 		fi
 | ||
| 		REGEXP="-E"
 | ||
| 	elif [ "$OSTYPE" == "gnu" ]; then
 | ||
| 		# no /proc/cpuinfo on GNU/Hurd
 | ||
| 		if [ "$(uname -m | grep 'i.86')" ]; then
 | ||
| 			cpu="Unknown x86"
 | ||
| 		else
 | ||
| 			cpu="Unknown"
 | ||
| 		fi
 | ||
| 	elif [ "$distro" == "FreeBSD" ]; then
 | ||
| 		cpu=$(dmesg | grep 'CPU:' | head -n 1 | sed -r 's/CPU: //' | sed -e 's/([^()]*)//g')
 | ||
| 	elif [ "$distro" == "DragonFlyBSD" ]; then
 | ||
| 		cpu=$(sysctl -n hw.model)
 | ||
| 	elif [ "$distro" == "OpenBSD" ]; then
 | ||
| 		cpu=$(sysctl -n hw.model | sed 's/@.*//')
 | ||
| 	elif [ "$distro" == "Haiku" ]; then
 | ||
| 		cpu=$(sysinfo -cpu | grep 'CPU #0' | cut -d'"' -f2 | awk 'BEGIN{FS=" @"; OFS="\n"} { print $1; exit }')
 | ||
| 		cpu_mhz=$(sysinfo -cpu | grep 'running at' | awk 'BEGIN{FS="running at "} { print $2; exit }' | cut -d'M' -f1)
 | ||
| 		if [ $(echo $cpu_mhz) -gt 999 ]; then
 | ||
| 			cpu_ghz=$(awk '{print $1/1000}' <<< "${cpu_mhz}")
 | ||
| 			cpufreq="${cpu_ghz}GHz"
 | ||
| 		else
 | ||
| 			cpufreq="${cpu_mhz}MHz"
 | ||
| 		fi
 | ||
| 	else
 | ||
| 		cpu=$(awk 'BEGIN{FS=":"} /model name/ { print $2; exit }' /proc/cpuinfo | awk 'BEGIN{FS=" @"; OFS="\n"} { print $1; exit }')
 | ||
| 		cpun=$(grep -c '^processor' /proc/cpuinfo)
 | ||
| 		if [ -z "$cpu" ]; then
 | ||
| 			cpu=$(awk 'BEGIN{FS=":"} /Hardware/ { print $2; exit }' /proc/cpuinfo)
 | ||
| 		fi
 | ||
| 		if [ -z "$cpu" ]; then
 | ||
| 			cpu=$(awk 'BEGIN{FS=":"} /^cpu/ { gsub(/  +/," ",$2); print $2; exit}' /proc/cpuinfo | sed 's/, altivec supported//;s/^ //')
 | ||
| 			if [[ $cpu =~ ^(PPC)*9.+ ]]; then
 | ||
| 				model="IBM PowerPC G5 "
 | ||
| 			elif [[ $cpu =~ 740/750 ]]; then
 | ||
| 				model="IBM PowerPC G3 "
 | ||
| 			elif [[ $cpu =~ ^74.+ ]]; then
 | ||
| 				model="Motorola PowerPC G4 "
 | ||
| 			elif [[ "$(cat /proc/cpuinfo)" =~ "BCM2708" ]]; then
 | ||
| 				model="Broadcom BCM2835 ARM1176JZF-S"
 | ||
| 			else
 | ||
| 				arch=$(uname -m)
 | ||
| 				if [ "$arch" = "s390x" ] || [ "$arch" = "s390" ]; then
 | ||
| 					cpu=""
 | ||
| 					args=$(grep 'machine' /proc/cpuinfo | sed 's/^.*://g; s/ //g; s/,/\n/g' | grep '^machine=.*')
 | ||
| 					eval $args
 | ||
| 					case "$machine" in
 | ||
| 						# information taken from https://github.com/SUSE/s390-tools/blob/master/cputype
 | ||
| 						2064) model="IBM eServer zSeries 900" ;;
 | ||
| 						2066) model="IBM eServer zSeries 800" ;;
 | ||
| 						2084) model="IBM eServer zSeries 990" ;;
 | ||
| 						2086) model="IBM eServer zSeries 890" ;;
 | ||
| 						2094) model="IBM System z9 Enterprise Class" ;;
 | ||
| 						2096) model="IBM System z9 Business Class" ;;
 | ||
| 						2097) model="IBM System z10 Enterprise Class" ;;
 | ||
| 						2098) model="IBM System z10 Business Class" ;;
 | ||
| 						2817) model="IBM zEnterprise 196" ;;
 | ||
| 						2818) model="IBM zEnterprise 114" ;;
 | ||
| 						2827) model="IBM zEnterprise EC12" ;;
 | ||
| 						2828) model="IBM zEnterprise BC12" ;;
 | ||
| 						2964) model="IBM z13" ;;
 | ||
| 						*) model="IBM S/390 machine type $machine" ;;
 | ||
| 					esac
 | ||
| 				else
 | ||
| 					model="Unkown"
 | ||
| 				fi
 | ||
| 			fi
 | ||
| 			cpu="${model}${cpu}"
 | ||
| 		fi
 | ||
| 		loc="/sys/devices/system/cpu/cpu0/cpufreq"
 | ||
| 		bl="${loc}/bios_limit"
 | ||
| 		smf="${loc}/scaling_max_freq"
 | ||
| 		if [ -f "$bl" ] && [ -r "$bl" ]; then
 | ||
| 			cpu_mhz=$(awk '{print $1/1000}' "$bl")
 | ||
| 		elif [ -f "$smf" ] && [ -r "$smf" ]; then
 | ||
| 			cpu_mhz=$(awk '{print $1/1000}' "$smf")
 | ||
| 		else
 | ||
| 			cpu_mhz=$(awk -F':' '/cpu MHz/{ print int($2+.5) }' /proc/cpuinfo | head -n 1)
 | ||
| 		fi
 | ||
| 		if [ -n "$cpu_mhz" ]; then
 | ||
| 			if [ $(echo $cpu_mhz | cut -d. -f1) -gt 999 ]; then
 | ||
| 				cpu_ghz=$(awk '{print $1/1000}' <<< "${cpu_mhz}")
 | ||
| 				cpufreq="${cpu_ghz}GHz"
 | ||
| 			else
 | ||
| 				cpufreq="${cpu_mhz}MHz"
 | ||
| 			fi
 | ||
| 		fi
 | ||
| 	fi
 | ||
| 	if [[ "${cpun}" -gt "1" ]]; then
 | ||
| 		cpun="${cpun}x "
 | ||
| 	else
 | ||
| 		cpun=""
 | ||
| 	fi
 | ||
| 	if [ -z "$cpufreq" ]; then
 | ||
| 		cpu="${cpun}${cpu}"
 | ||
| 	else
 | ||
| 		cpu="$cpu @ ${cpun}${cpufreq}"
 | ||
| 	fi
 | ||
| 	thermal="/sys/class/hwmon/hwmon0/temp1_input"
 | ||
| 	if [ -e $thermal ]; then
 | ||
| 		temp=$(bc <<< "scale=1; $(cat $thermal)/1000")
 | ||
| 	fi
 | ||
| 	if [ -n "$temp" ]; then
 | ||
| 		cpu="$cpu [${temp}°C]"
 | ||
| 	fi
 | ||
| 	cpu=$(sed $REGEXP 's/\([tT][mM]\)|\([Rr]\)|[pP]rocessor|CPU//g' <<< "${cpu}" | xargs)
 | ||
| 	verboseOut "Finding current CPU...found as '$cpu'"
 | ||
| }
 | ||
| # CPU Detection - End
 | ||
| 
 | ||
| 
 | ||
| # GPU Detection - Begin (EXPERIMENTAL!)
 | ||
| detectgpu () {
 | ||
| 	if [[ "${distro}" == "FreeBSD" || "${distro}" == "DragonFlyBSD" ]]; then
 | ||
| 		nvisettexist=$(which nvidia-settings)
 | ||
| 		if [ -x "$nvisettexist" ]; then
 | ||
| 			gpu="$(nvidia-settings -t -q gpus | grep \( | sed 's/.*(\(.*\))/\1/')"
 | ||
| 		else
 | ||
| 			gpu_info=$(pciconf -lv 2> /dev/null | grep -B 4 VGA)
 | ||
| 			gpu_info=$(grep -E 'device.*=.*' <<< "${gpu_info}")
 | ||
| 			gpu="${gpu_info##*device*= }"
 | ||
| 			gpu="${gpu//\'}"
 | ||
| 			# gpu=$(sed 's/.*device.*= //' <<< "${gpu_info}" | sed "s/'//g")
 | ||
| 		fi
 | ||
| 	elif [[ "${distro}" == "OpenBSD" ]]; then
 | ||
| 		gpu=$(glxinfo 2> /dev/null | grep 'OpenGL renderer string' | sed 's/OpenGL renderer string: //')
 | ||
| 	elif [[ "${distro}" == "Mac OS X" ]]; then
 | ||
| 		gpu=$(system_profiler SPDisplaysDataType | awk -F': ' '/^\ *Chipset Model:/ {print $2}' | awk '{ printf "%s / ", $0 }' | sed -e 's/\/ $//g')
 | ||
| 	elif [[ "${distro}" == "Cygwin" || "${distro}" == "Msys" ]]; then
 | ||
| 		gpu=$(wmic path Win32_VideoController get caption | sed -n '2p')
 | ||
| 	elif [[ "${distro}" == "Haiku" ]]; then
 | ||
| 		gpu="$(listdev | grep -A2 -e 'device Display controller' | tail -n1 | sed 's/  device ....: //')"
 | ||
| 	else
 | ||
| 		if [[ -n "$(PATH="/opt/bin:$PATH" type -p nvidia-smi)" ]]; then
 | ||
| 			gpu=$($(PATH="/opt/bin:$PATH" type -p nvidia-smi | cut -f1) -q | awk -F':' '/Product Name/ {gsub(/: /,":"); print $2}' | sed ':a;N;$!ba;s/\n/, /g')
 | ||
| 		elif [[ -n "$(PATH="/usr/sbin:$PATH" type -p glxinfo)" && -z "${gpu}" ]]; then
 | ||
| 			gpu_info=$($(PATH="/usr/sbin:$PATH" type -p glxinfo | cut -f1) 2>/dev/null)
 | ||
| 			gpu=$(grep "OpenGL renderer string" <<< "${gpu_info}" | cut -d ':' -f2 | sed -n '1h;2,$H;${g;s/\n/,/g;p}')
 | ||
| 			gpu="${gpu:1}"
 | ||
| 			gpu_info=$(grep "OpenGL vendor string" <<< "${gpu_info}")
 | ||
| 		elif [[ -n "$(PATH="/usr/sbin:$PATH" type -p lspci)" && -z "$gpu" ]]; then
 | ||
| 			gpu_info=$($(PATH="/usr/bin:$PATH" type -p lspci | cut -f1) 2> /dev/null | grep VGA)
 | ||
| 			gpu=$(grep -oE '\[.*\]' <<< "${gpu_info}" | sed 's/\[//;s/\]//' | sed -n '1h;2,$H;${g;s/\n/, /g;p}')
 | ||
| 		fi
 | ||
| 	fi
 | ||
| 
 | ||
| 	if [ -n "$gpu" ];then
 | ||
| 		if [ $(grep -i nvidia <<< "${gpu_info}" | wc -l) -gt 0 ];then
 | ||
| 			gpu_info="NVidia "
 | ||
| 		elif [ $(grep -i intel <<< "${gpu_info}" | wc -l) -gt 0 ];then
 | ||
| 			gpu_info="Intel "
 | ||
| 		elif [ $(grep -i amd <<< "${gpu_info}" | wc -l) -gt 0 ];then
 | ||
| 			gpu_info="AMD "
 | ||
| 		elif [[ $(grep -i ati <<< "${gpu_info}" | wc -l) -gt 0  || $(grep -i radeon <<< "${gpu_info}" | wc -l) -gt 0 ]]; then
 | ||
| 			gpu_info="ATI "
 | ||
| 		else
 | ||
| 			gpu_info=$(cut -d ':' -f2 <<< "${gpu_info}")
 | ||
| 			gpu_info="${gpu_info:1} "
 | ||
| 		fi
 | ||
| 		gpu="${gpu}"
 | ||
| 	else
 | ||
| 		gpu="Not Found"
 | ||
| 	fi
 | ||
| 
 | ||
| 	verboseOut "Finding current GPU...found as '$gpu'"
 | ||
| }
 | ||
| # GPU Detection - End
 | ||
| 
 | ||
| # Detect Intel GPU  #works in dash
 | ||
| # Run it only on Intel Processors if GPU is unknown
 | ||
| DetectIntelGPU() {
 | ||
| 	gpu=$(awk '{print $2}' /proc/fb)
 | ||
| 
 | ||
| 	case $gpu in
 | ||
| 		*intel*) gpu=intel ;;
 | ||
| 	esac
 | ||
| 
 | ||
|         if [[ $gpu = intel ]]; then
 | ||
| 		#Detect CPU
 | ||
| 		local CPU=$(uname -p | awk '{print $3}')
 | ||
| 		CPU=${CPU#*'-'}; #Detect CPU number
 | ||
| 
 | ||
|           	#Detect Intel GPU
 | ||
| 	  	case $CPU in
 | ||
| 	  	[3-6][3-9][0-5]|[3-6][3-9][0-5][K-Y])  gpu='Intel HD Graphics'            ;; #1st
 | ||
| 	            2[1-5][0-3][0-2]*|2390T|2600S)     gpu='Intel HD Graphics 2000'       ;; #2nd
 | ||
| 		    2[1-5][1-7][0-8]*|2105|2500K)      gpu='Intel HD Graphics 3000'       ;; #2nd
 | ||
| 		    32[1-5]0*|3[4-5][5-7]0*|33[3-4]0*) gpu='Intel HD Graphics 2500'       ;; #3rd
 | ||
| 		    3570K|3427U)                       gpu='Intel HD Graphics 4000'       ;; #3rd
 | ||
| 		    4[3-7][0-9][0-5]*)                 gpu='Intel HD Graphics 4600'       ;; #4th Haswell
 | ||
| 		    5[5-6]75[C-R]|5350H)               gpu='Intel Iris Pro Graphics 6200' ;; #5th Broadwell
 | ||
| 		                                                                             #6th Skylake
 | ||
|                                                                                              #7th Kabylake
 | ||
|                                                                                              #8th Cannonlake
 | ||
| 	   	esac
 | ||
|         fi
 | ||
| }
 | ||
| 
 | ||
| # Disk Usage Detection - Begin
 | ||
| detectdisk () {
 | ||
| 	diskusage="Unknown"
 | ||
| 	if type -p df >/dev/null 2>&1; then
 | ||
| 		if [[ "${distro}" =~ (Free|Net|Open|DragonFly)BSD ]]; then
 | ||
| 			totaldisk=$(df -h -c 2>/dev/null | tail -1)
 | ||
| 		elif [[ "${distro}" == "Mac OS X" ]]; then
 | ||
| 			totaldisk=$(df -H / 2>/dev/null | tail -1)
 | ||
| 		else
 | ||
| 			totaldisk=$(df -h -x aufs -x tmpfs --total 2>/dev/null | tail -1)
 | ||
| 		fi
 | ||
| 		disktotal=$(awk '{print $2}' <<< "${totaldisk}")
 | ||
| 		diskused=$(awk '{print $3}' <<< "${totaldisk}")
 | ||
| 		diskusedper=$(awk '{print $5}' <<< "${totaldisk}")
 | ||
| 		diskusage="${diskused} / ${disktotal} (${diskusedper})"
 | ||
| 		diskusage_verbose=$(sed 's/%/%%/' <<< $diskusage)
 | ||
| 	fi
 | ||
| 	verboseOut "Finding current disk usage...found as '$diskusage_verbose'"
 | ||
| }
 | ||
| # Disk Usage Detection - End
 | ||
| 
 | ||
| 
 | ||
| # Memory Detection - Begin
 | ||
| detectmem () {
 | ||
| 	if [ "$distro" == "Mac OS X" ]; then
 | ||
| 		totalmem=$(echo "$(sysctl -n hw.memsize)" / 1024^2 | bc)
 | ||
| 		wiredmem=$(vm_stat | grep wired | awk '{ print $4 }' | sed 's/\.//')
 | ||
| 		activemem=$(vm_stat | grep ' active' | awk '{ print $3 }' | sed 's/\.//')
 | ||
| 		compressedmem=$(vm_stat | grep occupied | awk '{ print $5 }' | sed 's/\.//')
 | ||
| 		if [[ ! -z "$compressedmem | tr -d" ]]; then
 | ||
| 			compressedmem=0
 | ||
| 		fi
 | ||
| 		usedmem=$(((${wiredmem} + ${activemem} + ${compressedmem}) * 4 / 1024))
 | ||
| 	elif [[ "${distro}" == "Cygwin" || "${distro}" == "Msys" ]]; then
 | ||
| 		total_mem=$(awk '/MemTotal/ { print $2 }' /proc/meminfo)
 | ||
| 		totalmem=$((${total_mem} / 1024))
 | ||
| 		free_mem=$(awk '/MemFree/ { print $2 }' /proc/meminfo)
 | ||
| 		used_mem=$((${total_mem} - ${free_mem}))
 | ||
| 		usedmem=$((${used_mem} / 1024))
 | ||
| 	elif [[ "$distro" == "FreeBSD"  || "$distro" == "DragonFlyBSD" ]]; then
 | ||
| 		phys_mem=$(sysctl -n hw.physmem)
 | ||
| 		size_mem=$phys_mem
 | ||
| 		size_chip=1
 | ||
| 		guess_chip=`echo "$size_mem / 8 - 1" | bc`
 | ||
| 		while [ $guess_chip != 0 ]; do
 | ||
| 			guess_chip=`echo "$guess_chip / 2" | bc`
 | ||
| 			size_chip=`echo "$size_chip * 2" | bc`
 | ||
| 		done
 | ||
| 		round_mem=`echo "( $size_mem / $size_chip + 1 ) * $size_chip " | bc`
 | ||
| 		totalmem=$(($round_mem / 1024^2 ))
 | ||
| 		pagesize=$(sysctl -n hw.pagesize)
 | ||
| 		inactive_count=$(sysctl -n vm.stats.vm.v_inactive_count)
 | ||
| 		inactive_mem=$(($inactive_count * $pagesize))
 | ||
| 		cache_count=$(sysctl -n vm.stats.vm.v_cache_count)
 | ||
| 		cache_mem=$(($cache_count * $pagesize))
 | ||
| 		free_count=$(sysctl -n vm.stats.vm.v_free_count)
 | ||
| 		free_mem=$(($free_count * $pagesize))
 | ||
| 		avail_mem=$(($inactive_mem + $cache_mem + $free_mem))
 | ||
| 		used_mem=$(($round_mem - $avail_mem))
 | ||
| 		usedmem=$(($used_mem / 1024^2 ))
 | ||
| 	elif [ "$distro" == "OpenBSD" ]; then
 | ||
| 		totalmem=$(($(sysctl -n hw.physmem) / 1024 / 1024))
 | ||
| 		usedmem=$(($(vmstat | awk '!/[a-z]/{print $4}') / 1024))
 | ||
| 	elif [ "$distro" == "NetBSD" ]; then
 | ||
| 		phys_mem=$(awk '/MemTotal/ { print $2 }' /proc/meminfo)
 | ||
| 		totalmem=$((${phys_mem} / 1024))
 | ||
| 		if grep -q 'Cached' /proc/meminfo; then
 | ||
| 			cache=$(awk '/Cached/ {print $2}' /proc/meminfo)
 | ||
| 			usedmem=$((${cache} / 1024))
 | ||
| 		else
 | ||
| 			free_mem=$(awk '/MemFree/ { print $2 }' /proc/meminfo)
 | ||
| 			used_mem=$((${phys_mem} - ${free_mem}))
 | ||
| 			usedmem=$((${used_mem} / 1024))
 | ||
| 		fi
 | ||
| 	elif [ "$distro" == "Haiku" ]; then
 | ||
| 		totalmem=$(( $(sysinfo -mem | head -n1 | cut -d'/' -f3 | tr -d ' ' | tr -d ')') / 1024^2 ))
 | ||
| 		usedmem=$(( $(sysinfo -mem | head -n1 | cut -d'/' -f2 | sed 's/max//; s/ //g') / 1024^2 ))
 | ||
| 	else
 | ||
| 		# MemUsed = Memtotal + Shmem - MemFree - Buffers - Cached - SReclaimable
 | ||
| 		# Source: https://github.com/dylanaraps/neofetch/pull/391/files#diff-e863270127ca6116fd30e708cdc582fc
 | ||
| 		mem_info=$(</proc/meminfo)
 | ||
| 		mem_info=$(echo $(echo $(mem_info=${mem_info// /}; echo ${mem_info//kB/})))
 | ||
| 		for m in $mem_info; do
 | ||
| 			case ${m//:*} in
 | ||
| 				"MemTotal") usedmem=$((usedmem+=${m//*:})); totalmem=${m//*:} ;;
 | ||
| 				"ShMem") usedmem=$((usedmem+=${m//*:})) ;;
 | ||
| 				"MemFree"|"Buffers"|"Cached"|"SReclaimable") usedmem=$((usedmem-=${m//*:})) ;;
 | ||
| 			esac
 | ||
| 		done
 | ||
| 		usedmem=$((usedmem / 1024))
 | ||
| 		totalmem=$((totalmem / 1024))
 | ||
| 	fi
 | ||
| 	mem="${usedmem}MiB / ${totalmem}MiB"
 | ||
| 	verboseOut "Finding current RAM usage...found as '$mem'"
 | ||
| }
 | ||
| # Memory Detection - End
 | ||
| 
 | ||
| 
 | ||
| # Shell Detection - Begin
 | ||
| detectshell_ver () {
 | ||
| 	local version_data='' version='' get_version='--version'
 | ||
| 
 | ||
| 	case $1 in
 | ||
| 		# ksh sends version to stderr. Weeeeeeird.
 | ||
| 		ksh)
 | ||
| 			version_data="$( $1 $get_version 2>&1 )"
 | ||
| 			;;
 | ||
| 		*)
 | ||
| 			version_data="$( $1 $get_version 2>/dev/null )"
 | ||
| 			;;
 | ||
| 	esac
 | ||
| 
 | ||
| 	if [[ -n $version_data ]];then
 | ||
| 		version=$(awk '
 | ||
| 		BEGIN {
 | ||
| 			IGNORECASE=1
 | ||
| 		}
 | ||
| 		/'$2'/ {
 | ||
| 			gsub(/(,|v|V)/, "",$'$3')
 | ||
| 			if ($2 ~ /[Bb][Aa][Ss][Hh]/) {
 | ||
| 				gsub(/\(.*|-release|-version\)/,"",$4)
 | ||
| 			}
 | ||
| 			print $'$3'
 | ||
| 			exit # quit after first match prints
 | ||
| 		}' <<< "$version_data")
 | ||
| 	fi
 | ||
| 	echo "$version"
 | ||
| }
 | ||
| detectshell () {
 | ||
| 	if [[ ! "${shell_type}" ]]; then
 | ||
| 		if [[ "${distro}" == "Cygwin" || "${distro}" == "Msys" || "${distro}" == "Haiku" || "${distro}" == "Alpine Linux" || "${OSTYPE}" == "gnu" || "${distro}" == "TinyCore" || "${distro}" == "Raspbian" ]]; then
 | ||
| 			shell_type=$(echo "$SHELL" | awk -F'/' '{print $NF}')
 | ||
| 		elif readlink -f "$SHELL" | grep -q "busybox"; then
 | ||
| 			shell_type="BusyBox"
 | ||
| 		else
 | ||
| 			if [[ "${OSTYPE}" == "linux-gnu" || "${OSTYPE}" == "linux" || "${OSTYPE}" == "linux-musl" ]]; then
 | ||
| 				shell_type=$(cat /proc/$PPID/cmdline|tr '\0' '\n'|head -n 1)
 | ||
| 			elif [[ "${distro}" == "Mac OS X" || "${distro}" == "DragonFlyBSD" || "${distro}" == "FreeBSD" || "${distro}" == "OpenBSD" || "${distro}" == "NetBSD" ]]; then
 | ||
| 				shell_type=$(ps -p $PPID -o command | tail -1)
 | ||
| 			else
 | ||
| 				shell_type=$(ps -p $(ps -p $PPID | awk '$1 !~ /PID/ {print $1}') | awk 'FNR>1 {print $1}')
 | ||
| 			fi
 | ||
| 			shell_type=${shell_type/-}
 | ||
| 			shell_type=${shell_type//*\/}
 | ||
| 		fi
 | ||
| 	fi
 | ||
| 
 | ||
| 	case $shell_type in
 | ||
| 		bash)
 | ||
| 			shell_version_data=$( detectshell_ver "$shell_type" "^GNU.bash,.version" "4" )
 | ||
| 			;;
 | ||
| 		BusyBox)
 | ||
| 			shell_version_data=$( busybox | head -n1 | cut -d ' ' -f2 )
 | ||
| 			;;
 | ||
| 		csh)
 | ||
| 			shell_version_data=$( detectshell_ver "$shell_type" "$shell_type" "3" )
 | ||
| 			;;
 | ||
| 		dash)
 | ||
| 			shell_version_data=$( detectshell_ver "$shell_type" "$shell_type" "3" )
 | ||
| 			;;
 | ||
| 		ksh)
 | ||
| 			shell_version_data=$( detectshell_ver "$shell_type" "version" "5" )
 | ||
| 			;;
 | ||
| 		tcsh)
 | ||
| 			shell_version_data=$( detectshell_ver "$shell_type" "^tcsh" "2" )
 | ||
| 			;;
 | ||
| 		zsh)
 | ||
| 			shell_version_data=$( detectshell_ver "$shell_type" "^zsh" "2" )
 | ||
| 			;;
 | ||
| 		fish)
 | ||
| 			shell_version_data=$( fish --version | awk '{print $3}' )
 | ||
| 			;;
 | ||
| 	esac
 | ||
| 
 | ||
| 	if [[ -n $shell_version_data ]];then
 | ||
| 		shell_type="$shell_type $shell_version_data"
 | ||
| 	fi
 | ||
| 
 | ||
| 	myShell=${shell_type}
 | ||
| 	verboseOut "Finding current shell...found as '$myShell'"
 | ||
| }
 | ||
| # Shell Detection - End
 | ||
| 
 | ||
| 
 | ||
| # Resolution Detection - Begin
 | ||
| detectres () {
 | ||
| 	if [[ ${distro} != "Mac OS X" && ${distro} != "Cygwin" && "${distro}" != "Msys" && ${distro} != "Haiku" ]]; then
 | ||
| 		if [[ -n ${DISPLAY} ]]; then
 | ||
| 			if type -p xdpyinfo >/dev/null 2>&1; then
 | ||
| 				if [[ "$distro" =~ "BSD" ]]; then
 | ||
| 					xResolution=$(xdpyinfo | sed -n 's/.*dim.* \([0-9]*x[0-9]*\) .*/\1/pg' | tr '\n' ' ')
 | ||
| 				else
 | ||
| 					xResolution=$(xdpyinfo | sed -n 's/.*dim.* \([0-9]*x[0-9]*\) .*/\1/pg' | sed ':a;N;$!ba;s/\n/ /g')
 | ||
| 				fi
 | ||
| 			fi
 | ||
| 		fi
 | ||
| 	elif [[ ${distro} == "Mac OS X" ]]; then
 | ||
| 		xResolution=$(system_profiler SPDisplaysDataType | awk '/Resolution:/ {print $2"x"$4" "}')
 | ||
| 		if [[ "$(echo $xResolution | wc -l)" -ge 1 ]]; then
 | ||
| 			xResolution=$(echo $xResolution | tr "\\n" "," | sed 's/\(.*\),/\1/')
 | ||
| 		fi
 | ||
| 	elif [[ "${distro}" == "Cygwin" || "${distro}" == "Msys" ]]; then
 | ||
| 		xResolution=$(wmic path Win32_VideoController get CurrentHorizontalResolution,CurrentVerticalResolution | awk 'NR==2 {print $1"x"$2}')
 | ||
| 	elif [[ "${distro}" == "Haiku" ]]; then
 | ||
| 		width=$(screenmode | cut -d ' ' -f2)
 | ||
| 		height=$(screenmode | cut -d ' ' -f3 | tr -d ',')
 | ||
| 		xResolution="$(echo ${width}x${height})"
 | ||
| 	else
 | ||
| 		xResolution="No X Server"
 | ||
| 	fi
 | ||
| 	verboseOut "Finding current resolution(s)...found as '$xResolution'"
 | ||
| }
 | ||
| # Resolution Detection - End
 | ||
| 
 | ||
| 
 | ||
| # DE Detection - Begin
 | ||
| detectde () {
 | ||
| 	DE="Not Present"
 | ||
| 	if [[ ${distro} != "Mac OS X" && ${distro} != "Cygwin" && "${distro}" != "Msys" ]]; then
 | ||
| 		if [[ -n ${DISPLAY} ]]; then
 | ||
| 			if type -p xprop >/dev/null 2>&1;then
 | ||
| 				xprop_root="$(xprop -root 2>/dev/null)"
 | ||
| 				if [[ -n ${xprop_root} ]]; then
 | ||
| 					DE=$(echo "${xprop_root}" | awk 'BEGIN {
 | ||
| 						de = "Not Present"
 | ||
| 					}
 | ||
| 					{
 | ||
| 						if ($1 ~ /^_DT_SAVE_MODE/) {
 | ||
| 							de = $NF
 | ||
| 							gsub(/\"/,"",de)
 | ||
| 							de = toupper(de)
 | ||
| 							exit
 | ||
| 						}
 | ||
| 						else if ($1 ~/^KDE_SESSION_VERSION/) {
 | ||
| 							de = "KDE"$NF
 | ||
| 							exit
 | ||
| 						}
 | ||
| 						else if ($1 ~ /^_MUFFIN/) {
 | ||
| 							de = "Cinnamon"
 | ||
| 							exit
 | ||
| 						}
 | ||
| 						else if ($1 ~ /^TDE_FULL_SESSION/) {
 | ||
| 							de = "Trinity"
 | ||
| 							exit
 | ||
| 						}
 | ||
| 						else if ($0 ~ /"xfce4"/) {
 | ||
| 							de = "Xfce4"
 | ||
| 							exit
 | ||
| 						}
 | ||
| 						else if ($0 ~ /"xfce5"/) {
 | ||
| 							de = "Xfce5"
 | ||
| 							exit
 | ||
| 						}
 | ||
| 					} END {
 | ||
| 						print de
 | ||
| 					}')
 | ||
| 				fi
 | ||
| 			fi
 | ||
| 
 | ||
| 			if [[ ${DE} == "Not Present" ]]; then
 | ||
| 				# Let's use xdg-open code for GNOME/Enlightment/KDE/LXDE/MATE/Xfce detection
 | ||
| 				# http://bazaar.launchpad.net/~vcs-imports/xdg-utils/master/view/head:/scripts/xdg-utils-common.in#L251
 | ||
| 				if [ -n "${XDG_CURRENT_DESKTOP}" ]; then
 | ||
| 					case "${XDG_CURRENT_DESKTOP}" in
 | ||
| 						ENLIGHTENMENT)
 | ||
| 							DE=Enlightenment;
 | ||
| 							;;
 | ||
| 						GNOME)
 | ||
| 							DE=GNOME;
 | ||
| 							;;
 | ||
| 						KDE)
 | ||
| 							DE=KDE;
 | ||
| 							;;
 | ||
| 						LUMINA|Lumina)
 | ||
| 							DE=Lumina;
 | ||
| 							;;
 | ||
| 						LXDE)
 | ||
| 							DE=LXDE;
 | ||
| 							;;
 | ||
| 						MATE)
 | ||
| 							DE=MATE;
 | ||
| 							;;
 | ||
| 						XFCE)
 | ||
| 							DE=Xfce
 | ||
| 							;;
 | ||
| 						'X-Cinnamon')
 | ||
| 							DE=Cinnamon
 | ||
| 							;;
 | ||
| 						Unity)
 | ||
| 							DE=Unity
 | ||
| 							;;
 | ||
| 						LXQt)
 | ||
| 							DE=LXQt
 | ||
| 							;;
 | ||
| 					esac
 | ||
| 				fi
 | ||
| 
 | ||
| 				if [ -n "$DE" ]; then
 | ||
| 					# classic fallbacks
 | ||
| 					if [ -n "$KDE_FULL_SESSION" ]; then DE=KDE;
 | ||
| 					elif [ -n "$TDE_FULL_SESSION" ]; then DE=Trinity;
 | ||
| 					elif [ -n "$GNOME_DESKTOP_SESSION_ID" ]; then DE=GNOME;
 | ||
| 					elif [ -n "$MATE_DESKTOP_SESSION_ID" ]; then DE=MATE;
 | ||
| 					elif `dbus-send --print-reply --dest=org.freedesktop.DBus /org/freedesktop/DBus org.freedesktop.DBus.GetNameOwner string:org.gnome.SessionManager > /dev/null 2>&1` ; then DE=GNOME;
 | ||
| 					elif xprop -root _DT_SAVE_MODE 2> /dev/null | grep ' = \"xfce4\"$' >/dev/null 2>&1; then DE=Xfce;
 | ||
| 					elif xprop -root 2> /dev/null | grep -i '^xfce_desktop_window' >/dev/null 2>&1; then DE=Xfce
 | ||
| 					elif echo $DESKTOP | grep -q '^Enlightenment'; then DE=Enlightenment;
 | ||
| 					fi
 | ||
| 				fi
 | ||
| 
 | ||
| 				case "$DESKTOP_SESSION" in
 | ||
| 					gnome|gnome-fallback|gnome-fallback-compiz )
 | ||
| 						DE=GNOME
 | ||
| 						;;
 | ||
| 					deepin)
 | ||
| 						DE=Deepin
 | ||
| 						;;
 | ||
| 				esac
 | ||
| 
 | ||
| 				if [ -n "$DE" ]; then
 | ||
| 					# fallback to checking $DESKTOP_SESSION
 | ||
| 					case "$DESKTOP_SESSION" in
 | ||
| 						gnome)
 | ||
| 							DE=GNOME;
 | ||
| 							;;
 | ||
| 						LUMINA|Lumina)
 | ||
| 							DE=Lumina;
 | ||
| 							;;
 | ||
| 						LXDE|Lubuntu)
 | ||
| 							DE=LXDE;
 | ||
| 							;;
 | ||
| 						MATE)
 | ||
| 							DE=MATE;
 | ||
| 							;;
 | ||
| 						xfce|xfce4|'Xfce Session')
 | ||
| 							DE=Xfce;
 | ||
| 							;;
 | ||
| 						'budgie-desktop')
 | ||
| 							DE=Budgie
 | ||
| 							;;
 | ||
| 						Cinnamon)
 | ||
| 							DE=Cinnamon
 | ||
| 							;;
 | ||
| 						trinity)
 | ||
| 							DE=Trinity
 | ||
| 							;;
 | ||
| 					esac
 | ||
| 				fi
 | ||
| 
 | ||
| 				if [ -n "$DE" ]; then
 | ||
| 					# fallback to checking $GDMSESSION
 | ||
| 					case "$GDMSESSION" in
 | ||
| 						Lumina*|LUMINA*|lumina*)
 | ||
| 							DE=Lumina
 | ||
| 							;;
 | ||
| 						MATE|mate)
 | ||
| 							DE=MATE
 | ||
| 							;;
 | ||
| 					esac
 | ||
| 				fi
 | ||
| 
 | ||
| 				if [[ ${DE} == "GNOME" ]]; then
 | ||
| 					if type -p xprop >/dev/null 2>&1; then
 | ||
| 						if xprop -name "unity-launcher" >/dev/null 2>&1; then
 | ||
| 							DE="Unity"
 | ||
| 						elif xprop -name "launcher" >/dev/null 2>&1 &&
 | ||
| 							xprop -name "panel" >/dev/null 2>&1; then
 | ||
| 
 | ||
| 							DE="Unity"
 | ||
| 						fi
 | ||
| 					fi
 | ||
| 				fi
 | ||
| 
 | ||
| 				if [[ ${DE} == "KDE" ]]; then
 | ||
| 					if [[ -n ${KDE_SESSION_VERSION} ]]; then
 | ||
| 						if [[ ${KDE_SESSION_VERSION} == '5' ]]; then
 | ||
| 							DE="KDE5"
 | ||
| 						elif [[ ${KDE_SESSION_VERSION} == '4' ]]; then
 | ||
| 							DE="KDE4"
 | ||
| 						fi
 | ||
| 					elif [[ "x${KDE_FULL_SESSION}" == "xtrue" ]]; then
 | ||
| 						DE="KDE"
 | ||
| 						DEver_data=$(kded --version 2>/dev/null)
 | ||
| 						DEver=$(grep -si '^KDE:' <<< "$DEver_data" | awk '{print $2}')
 | ||
| 					fi
 | ||
| 				fi
 | ||
| 			fi
 | ||
| 
 | ||
| 			if [[ ${DE} != "Not Present" ]]; then
 | ||
| 				if [[ ${DE} == "Cinnamon" ]]; then
 | ||
| 					if type -p >/dev/null 2>&1; then
 | ||
| 						DEver=$(cinnamon --version)
 | ||
| 						DE="${DE} ${DEver//* }"
 | ||
| 					fi
 | ||
| 				elif [[ ${DE} == "GNOME" ]]; then
 | ||
| 					if type -p gnome-session >/dev/null 2>&1; then
 | ||
| 						DEver=$(gnome-session --version 2> /dev/null)
 | ||
| 						DE="${DE} ${DEver//* }"
 | ||
| 					elif type -p gnome-session-properties >/dev/null 2>&1; then
 | ||
| 						DEver=$(gnome-session-properties --version 2> /dev/null)
 | ||
| 						DE="${DE} ${DEver//* }"
 | ||
| 					fi
 | ||
| 				elif [[ ${DE} == "KDE4" || ${DE} == "KDE5" ]]; then
 | ||
| 					if type -p kded${DE#KDE} >/dev/null 2>&1; then
 | ||
| 						DEver=$(kded${DE#KDE} --version)
 | ||
| 						if [[ $(( $(echo "$DEver" | wc -w) )) -eq 2 ]] && [[ "$(echo "$DEver" | cut -d ' ' -f1)" == "kded${DE#KDE}" ]]; then
 | ||
| 							DEver=$(echo "$DEver" | cut -d ' ' -f2)
 | ||
| 							DE="KDE ${DEver}"
 | ||
| 						else
 | ||
| 							for l in $(echo "${DEver// /_}"); do
 | ||
| 								if [[ ${l//:*} == "KDE_Development_Platform" ]]; then
 | ||
| 									DEver=${l//*:_}
 | ||
| 									DE="KDE ${DEver//_*}"
 | ||
| 								fi
 | ||
| 							done
 | ||
| 						fi
 | ||
| 						if pgrep plasmashell >/dev/null 2>&1; then
 | ||
| 							DEver=$(plasmashell --version | cut -d ' ' -f2)
 | ||
| 							DE="$DE / Plasma $DEver"
 | ||
| 						fi
 | ||
| 					fi
 | ||
| 				elif [[ ${DE} == "Lumina" ]]; then
 | ||
| 					if type -p Lumina-DE.real >/dev/null 2>&1; then
 | ||
| 						lumina="$(type -p Lumina-DE.real)"
 | ||
| 					elif type -p Lumina-DE >/dev/null 2>&1; then
 | ||
| 						lumina="$(type -p Lumina-DE)"
 | ||
| 					fi
 | ||
| 					if [ -n "$lumina" ]; then
 | ||
| 						if grep -e '--version' "$lumina" >/dev/null; then
 | ||
| 							DEver=$("$lumina" --version 2>&1 | tr -d \")
 | ||
| 							DE="${DE} ${DEver}"
 | ||
| 						fi
 | ||
| 					fi
 | ||
| 				elif [[ ${DE} == "MATE" ]]; then
 | ||
| 					if type -p mate-session >/dev/null 2>&1; then
 | ||
| 						DEver=$(mate-session --version)
 | ||
| 						DE="${DE} ${DEver//* }"
 | ||
| 					fi
 | ||
| 				elif [[ ${DE} == "Unity" ]]; then
 | ||
| 					if type -p unity >/dev/null 2>&1; then
 | ||
| 						DEver=$(unity --version)
 | ||
| 						DE="${DE} ${DEver//* }"
 | ||
| 					fi
 | ||
| 				elif [[ ${DE} == "Deepin" ]]; then
 | ||
| 					if [[ -f /etc/deepin-version ]]; then
 | ||
| 						DEver="$(awk -F '=' '/Version/ {print $2}' /etc/deepin-version)"
 | ||
| 						DE="${DE} ${DEver//* }"
 | ||
| 					fi
 | ||
| 				elif [[ ${DE} == "Trinity" ]]; then
 | ||
| 					if type -p tde-config >/dev/null 2>&1; then
 | ||
| 						DEver="$(tde-config --version | awk -F ' ' '/TDE:/ {print $2}')"
 | ||
| 						DE="${DE} ${DEver//* }"
 | ||
| 					fi
 | ||
| 				fi
 | ||
| 			fi
 | ||
| 
 | ||
| 			if [[ "${DE}" == "Not Present" ]]; then
 | ||
| 				if pgrep -U ${UID} lxsession >/dev/null 2>&1; then
 | ||
| 					DE="LXDE"
 | ||
| 					if type -p lxpanel >/dev/null 2>&1; then
 | ||
| 						DEver=$(lxpanel -v)
 | ||
| 						DE="${DE} $DEver"
 | ||
| 					fi
 | ||
| 				elif pgrep -U ${UID} lxqt-session >/dev/null 2>&1; then
 | ||
| 					DE="LXQt"
 | ||
| 				elif pgrep -U ${UID} razor-session >/dev/null 2>&1; then
 | ||
| 					DE="RazorQt"
 | ||
| 				elif pgrep -U ${UID} dtsession >/dev/null 2>&1; then
 | ||
| 					DE="CDE"
 | ||
| 				fi
 | ||
| 			fi
 | ||
| 		fi
 | ||
| 	elif [[ "${distro}" == "Mac OS X" ]]; then
 | ||
| 		if ps -U ${USER} | grep [F]inder >/dev/null 2>&1; then
 | ||
| 			DE="Aqua"
 | ||
| 		fi
 | ||
| 	elif [[ "${distro}" == "Cygwin" || "${distro}" == "Msys" ]]; then
 | ||
| 		# https://msdn.microsoft.com/en-us/library/ms724832%28VS.85%29.aspx
 | ||
| 		if [ "$(wmic os get version | grep -o '^\(6\.[01]\)')" ]; then
 | ||
| 			DE='Aero'
 | ||
| 		elif [ "$(wmic os get version | grep -o '^\(6\.[23]\|10\)')" ]; then
 | ||
| 			DE='Modern UI/Metro'
 | ||
| 		else
 | ||
| 			DE='Luna'
 | ||
| 		fi
 | ||
| 	fi
 | ||
| 	verboseOut "Finding desktop environment...found as '$DE'"
 | ||
| }
 | ||
| ### DE Detection - End
 | ||
| 
 | ||
| 
 | ||
| # WM Detection - Begin
 | ||
| detectwm () {
 | ||
| 	WM="Not Found"
 | ||
| 	if [[ ${distro} != "Mac OS X" && ${distro} != "Cygwin" && "${distro}" != "Msys" ]]; then
 | ||
| 		if [[ -n ${DISPLAY} ]]; then
 | ||
| 			for each in "${wmnames[@]}"; do
 | ||
| 				PID="$(pgrep -U ${UID} "^$each$")"
 | ||
| 				if [ "$PID" ]; then
 | ||
| 					case $each in
 | ||
| 						'2bwm') WM="2bwm";;
 | ||
| 						'9wm') WM="9wm";;
 | ||
| 						'awesome') WM="Awesome";;
 | ||
| 						'beryl') WM="Beryl";;
 | ||
| 						'blackbox') WM="BlackBox";;
 | ||
| 						'bspwm') WM="bspwm";;
 | ||
| 						'budgie-wm') WM="BudgieWM";;
 | ||
| 						'chromeos-wm') WM="chromeos-wm";;
 | ||
| 						'cinnamon') WM="Muffin";;
 | ||
| 						'compiz') WM="Compiz";;
 | ||
| 						'deepin-wm') WM="deepin-wm";;
 | ||
| 						'dminiwm') WM="dminiwm";;
 | ||
| 						'dtwm') WM="dtwm";;
 | ||
| 						'dwm') WM="dwm";;
 | ||
| 						'e16') WM="E16";;
 | ||
| 						'emerald') WM="Emerald";;
 | ||
| 						'enlightenment') WM="E17";;
 | ||
| 						'fluxbox') WM="FluxBox";;
 | ||
| 						'flwm'|'flwm_topside') WM="FLWM";;
 | ||
| 						'fvwm') WM="FVWM";;
 | ||
| 						'herbstluftwm') WM="herbstluftwm";;
 | ||
| 						'howm') WM="howm";;
 | ||
| 						'i3') WM="i3";;
 | ||
| 						'icewm') WM="IceWM";;
 | ||
| 						'kwin') WM="KWin";;
 | ||
| 						'metacity') WM="Metacity";;
 | ||
| 						'monsterwm') WM="monsterwm";;
 | ||
| 						'musca') WM="Musca";;
 | ||
| 						'notion') WM="Notion";;
 | ||
| 						'openbox') WM="OpenBox";;
 | ||
| 						'pekwm') WM="PekWM";;
 | ||
| 						'ratpoison') WM="Ratpoison";;
 | ||
| 						'sawfish') WM="Sawfish";;
 | ||
| 						'scrotwm') WM="ScrotWM";;
 | ||
| 						'spectrwm') WM="SpectrWM";;
 | ||
| 						'stumpwm') WM="StumpWM";;
 | ||
| 						'subtle') WM="subtle";;
 | ||
| 						'sway') WM="sway";;
 | ||
| 						'swm') WM="swm";;
 | ||
| 						'twin') WM="TWin";;
 | ||
| 						'wmaker') WM="WindowMaker";;
 | ||
| 						'wmfs') WM="WMFS";;
 | ||
| 						'wmii') WM="wmii";;
 | ||
| 						'xfwm4') WM="Xfwm4";;
 | ||
| 						'xmonad.*') WM="XMonad";;
 | ||
| 					esac
 | ||
| 				fi
 | ||
| 
 | ||
| 				if [[ ${WM} != "Not Found" ]]; then
 | ||
| 					break 1
 | ||
| 				fi
 | ||
| 			done
 | ||
| 
 | ||
| 			if [[ ${WM} == "Not Found" ]]; then
 | ||
| 				if type -p xprop >/dev/null 2>&1; then
 | ||
| 					WM=$(xprop -root _NET_SUPPORTING_WM_CHECK)
 | ||
| 					if [[ "$WM" =~ 'not found' ]]; then
 | ||
| 						WM="Not Found"
 | ||
| 					elif [[ "$WM" =~ 'Not found' ]]; then
 | ||
| 						WM="Not Found"
 | ||
| 					elif [[ "$WM" =~ '[Ii]nvalid window id format' ]]; then
 | ||
| 						WM="Not Found"
 | ||
| 					elif [[ "$WM" =~ "no such" ]]; then
 | ||
| 						WM="Not Found"
 | ||
| 					else
 | ||
| 						WM=${WM//* }
 | ||
| 						WM=$(xprop -id ${WM} 8s _NET_WM_NAME)
 | ||
| 						WM=$(echo $(WM=${WM//*= }; echo ${WM//\"}))
 | ||
| 					fi
 | ||
| 				fi
 | ||
| 			else
 | ||
| 				if [[ ${BASH_VERSINFO[0]} -ge 4 ]]; then
 | ||
| 					if [[ ${BASH_VERSINFO[0]} -eq 4 && ${BASH_VERSINFO[1]} -gt 1 ]] || [[ ${BASH_VERSINFO[0]} -gt 4 ]]; then
 | ||
| 						WM=${WM,,}
 | ||
| 					else
 | ||
| 						WM="$(tr '[:upper:]' '[:lower:]' <<< ${WM})"
 | ||
| 					fi
 | ||
| 				else
 | ||
| 					WM="$(tr '[:upper:]' '[:lower:]' <<< ${WM})"
 | ||
| 				fi
 | ||
| 				case ${WM} in
 | ||
| 					*'gala'*) WM="Gala";;
 | ||
| 					'2bwm') WM="2bwm";;
 | ||
| 					'awesome') WM="Awesome";;
 | ||
| 					'beryl') WM="Beryl";;
 | ||
| 					'blackbox') WM="BlackBox";;
 | ||
| 					'budgiewm') WM="BudgieWM";;
 | ||
| 					'chromeos-wm') WM="chromeos-wm";;
 | ||
| 					'cinnamon') WM="Cinnamon";;
 | ||
| 					'compiz') WM="Compiz";;
 | ||
| 					'deepin-wm') WM="Deepin WM";;
 | ||
| 					'dminiwm') WM="dminiwm";;
 | ||
| 					'dwm') WM="dwm";;
 | ||
| 					'e16') WM="E16";;
 | ||
| 					'echinus') WM="echinus";;
 | ||
| 					'emerald') WM="Emerald";;
 | ||
| 					'enlightenment') WM="E17";;
 | ||
| 					'fluxbox') WM="FluxBox";;
 | ||
| 					'flwm'|'flwm_topside') WM="FLWM";;
 | ||
| 					'fvwm') WM="FVWM";;
 | ||
| 					'gnome shell'*) WM="Mutter";;
 | ||
| 					'herbstluftwm') WM="herbstluftwm";;
 | ||
| 					'howm') WM="howm";;
 | ||
| 					'i3') WM="i3";;
 | ||
| 					'icewm') WM="IceWM";;
 | ||
| 					'kwin') WM="KWin";;
 | ||
| 					'metacity') WM="Metacity";;
 | ||
| 					'monsterwm') WM="monsterwm";;
 | ||
| 					'muffin') WM="Muffin";;
 | ||
| 					'musca') WM="Musca";;
 | ||
| 					'mutter'*) WM="Mutter";;
 | ||
| 					'notion') WM="Notion";;
 | ||
| 					'openbox') WM="OpenBox";;
 | ||
| 					'pekwm') WM="PekWM";;
 | ||
| 					'ratpoison') WM="Ratpoison";;
 | ||
| 					'sawfish') WM="Sawfish";;
 | ||
| 					'scrotwm') WM="ScrotWM";;
 | ||
| 					'spectrwm') WM="SpectrWM";;
 | ||
| 					'stumpwm') WM="StumpWM";;
 | ||
| 					'subtle') WM="subtle";;
 | ||
| 					'sway') WM="sway";;
 | ||
| 					'swm') WM="swm";;
 | ||
| 					'twin') WM="TWin";;
 | ||
| 					'wmaker') WM="WindowMaker";;
 | ||
| 					'wmfs') WM="WMFS";;
 | ||
| 					'wmii') WM="wmii";;
 | ||
| 					'xfwm4') WM="Xfwm4";;
 | ||
| 					'xmonad') WM="XMonad";;
 | ||
| 				esac
 | ||
| 			fi
 | ||
| 		fi
 | ||
| 	elif [[ ${distro} == "Mac OS X" && "${WM}" == "Not Found" ]]; then
 | ||
| 		if ps -U ${USER} | grep Finder >/dev/null 2>&1; then
 | ||
| 			WM="Quartz Compositor"
 | ||
| 		fi
 | ||
| 	elif [[ "${distro}" == "Cygwin" || "${distro}" == "Msys" ]]; then
 | ||
| 		bugn=$(tasklist | grep -o 'bugn' | tr -d '\r \n')
 | ||
| 		wind=$(tasklist | grep -o 'Windawesome' | tr -d '\r \n')
 | ||
| 		blackbox=$(tasklist | grep -o 'blackbox' | tr -d '\r \n')
 | ||
| 		if [ "$bugn" = "bugn" ]; then WM="bug.n"
 | ||
| 		elif [ "$wind" = "Windawesome" ]; then WM="Windawesome"
 | ||
| 		elif [ "$blackbox" = "blackbox" ]; then WM="Blackbox"
 | ||
| 		else WM="DWM/Explorer"; fi
 | ||
| 	fi
 | ||
| 	verboseOut "Finding window manager...found as '$WM'"
 | ||
| }
 | ||
| # WM Detection - End
 | ||
| 
 | ||
| 
 | ||
| # WM Theme Detection - BEGIN
 | ||
| detectwmtheme () {
 | ||
| 	Win_theme="Not Found"
 | ||
| 	case $WM in
 | ||
| 		'2bwm') Win_theme="Not Applicable";;
 | ||
| 		'9wm') Win_theme="Not Applicable";;
 | ||
| 		'Awesome') if [ -f ${XDG_CONFIG_HOME:-${HOME}/.config}/awesome/rc.lua ]; then Win_theme="$(grep -e '^[^-].*\(theme\|beautiful\).*lua' ${XDG_CONFIG_HOME:-${HOME}/.config}/awesome/rc.lua | grep '[a-zA-Z0-9]\+/[a-zA-Z0-9]\+.lua' -o | cut -d'/' -f1 | head -n1)"; fi;;
 | ||
| 		'BlackBox') if [ -f $HOME/.blackboxrc ]; then Win_theme="$(awk -F"/" '/styleFile/ {print $NF}' $HOME/.blackboxrc)"; fi;;
 | ||
| 		'Beryl') Win_theme="Not Applicable";;
 | ||
| 		'bspwm') Win_theme="Not Applicable";;
 | ||
| 		'BudgieWM')
 | ||
| 			Win_theme="$(gsettings get org.gnome.desktop.wm.preferences theme)"
 | ||
| 			Win_theme="${Win_theme//\'}"
 | ||
| 		;;
 | ||
| 		'Cinnamon'|'Muffin')
 | ||
| 			de_theme="$(gsettings get org.cinnamon.theme name)"
 | ||
| 			de_theme=${de_theme//"'"}
 | ||
| 			win_theme="$(gsettings get org.cinnamon.desktop.wm.preferences theme)"
 | ||
| 			win_theme=${win_theme//"'"}
 | ||
| 			Win_theme="${de_theme} (${win_theme})"
 | ||
| 		;;
 | ||
| 		'Compiz'|'Mutter'*|'GNOME Shell'|'Gala')
 | ||
| 			if type -p gsettings >/dev/null 2>&1; then
 | ||
| 				Win_theme="$(gsettings get org.gnome.shell.extensions.user-theme name 2>/dev/null)"
 | ||
| 				if [[ -z "$Win_theme" ]]; then
 | ||
| 					Win_theme="$(gsettings get org.gnome.desktop.wm.preferences theme)"
 | ||
| 				fi
 | ||
| 				Win_theme=${Win_theme//"'"}
 | ||
| 			elif type -p gconftool-2 >/dev/null 2>&1; then
 | ||
| 				Win_theme=$(gconftool-2 -g /apps/metacity/general/theme)
 | ||
| 			fi
 | ||
| 		;;
 | ||
| 		'Deepin WM')
 | ||
| 			if type -p gsettings >/dev/null 2>&1; then
 | ||
| 				Win_theme="$(gsettings get com.deepin.wrap.gnome.desktop.wm.preferences theme)"
 | ||
| 				Win_theme=${Win_theme//"'"}
 | ||
| 			fi
 | ||
| 		;;
 | ||
| 		'dminiwm') Win_theme="Not Applicable";;
 | ||
| 		'dwm') Win_theme="Not Applicable";;
 | ||
| 		'E16') Win_theme="$(awk -F"= " '/theme.name/ {print $2}' $HOME/.e16/e_config--0.0.cfg)";;
 | ||
| 		'E17'|'Enlightenment')
 | ||
| 			if [ "$(which eet 2>/dev/null)" ]; then
 | ||
| 				econfig="$(eet -d $HOME/.e/e/config/standard/e.cfg config | awk '/value \"file\" string.*.edj/{ print $4 }')"
 | ||
| 				econfigend="${econfig##*/}"
 | ||
| 				Win_theme=${econfigend%.*}
 | ||
| 			fi
 | ||
| 		;;
 | ||
| 		#E17 doesn't store cfg files in text format so for now get the profile as opposed to theme. atyoung
 | ||
| 		#TODO: Find a way to extract and read E17 .cfg files ( google seems to have nothing ). atyoung
 | ||
| 		'E17') Win_theme=${E_CONF_PROFILE};;
 | ||
| 		'echinus') Win_theme="Not Applicable";;
 | ||
| 		'Emerald') if [ -f $HOME/.emerald/theme/theme.ini ]; then Win_theme="$(for a in /usr/share/emerald/themes/* $HOME/.emerald/themes/*; do cmp "$HOME/.emerald/theme/theme.ini" "$a/theme.ini" &>/dev/null && basename "$a"; done)"; fi;;
 | ||
| 		'Finder') Win_theme="Not Applicable";;
 | ||
| 		'FluxBox'|'Fluxbox') if [ -f $HOME/.fluxbox/init ]; then Win_theme="$(awk -F"/" '/styleFile/ {print $NF}' $HOME/.fluxbox/init)"; fi;;
 | ||
| 		'FVWM') Win_theme="Not Applicable";;
 | ||
| 		'howm') Win_theme="Not Applicable";;
 | ||
| 		'i3') Win_theme="Not Applicable";;
 | ||
| 		'IceWM') if [ -f $HOME/.icewm/theme ]; then Win_theme="$(awk -F"[\",/]" '!/#/ {print $2}' $HOME/.icewm/theme)"; fi;;
 | ||
| 		'KWin'*)
 | ||
| 			if [[ -z $KDE_CONFIG_DIR ]]; then
 | ||
| 				if type -p kde5-config >/dev/null 2>&1; then
 | ||
| 					KDE_CONFIG_DIR=$(kde5-config --localprefix)
 | ||
| 				elif type -p kde4-config >/dev/null 2>&1; then
 | ||
| 					KDE_CONFIG_DIR=$(kde4-config --localprefix)
 | ||
| 				elif type -p kde-config >/dev/null 2>&1; then
 | ||
| 					KDE_CONFIG_DIR=$(kde-config --localprefix)
 | ||
| 				fi
 | ||
| 			fi
 | ||
| 
 | ||
| 			if [[ -n $KDE_CONFIG_DIR ]]; then
 | ||
| 				Win_theme="Not Applicable"
 | ||
| 				KDE_CONFIG_DIR=${KDE_CONFIG_DIR%/}
 | ||
| 				if [[ -f $KDE_CONFIG_DIR/share/config/kwinrc ]]; then
 | ||
| 					Win_theme="$(awk '/PluginLib=kwin3_/{gsub(/PluginLib=kwin3_/,"",$0); print $0; exit}' $KDE_CONFIG_DIR/share/config/kwinrc)"
 | ||
| 					if [[ -z "$Win_theme" ]]; then Win_theme="Not Applicable"; fi
 | ||
| 				fi
 | ||
| 				if [[ "$Win_theme" == "Not Applicable" ]]; then
 | ||
| 					if [[ -f $KDE_CONFIG_DIR/share/config/kdebugrc ]]; then
 | ||
| 						Win_theme="$(awk '/(decoration)/ {gsub(/\[/,"",$1); print $1; exit}' $KDE_CONFIG_DIR/share/config/kdebugrc)"
 | ||
| 						if [[ -z "$Win_theme" ]]; then Win_theme="Not Applicable"; fi
 | ||
| 					fi
 | ||
| 				fi
 | ||
| 				if [[ "$Win_theme" == "Not Applicable" ]]; then
 | ||
| 					if [[ -f $KDE_CONFIG_DIR/share/config/kdeglobals ]]; then
 | ||
| 						Win_theme="$(awk '/\[General\]/ {flag=1;next} /^$/{flag=0} flag {print}' $KDE_CONFIG_DIR/share/config/kdeglobals | grep -oP 'Name=\K.*')"
 | ||
| 						if [[ -z "$Win_theme" ]]; then Win_theme="Not Applicable"; fi
 | ||
| 					fi
 | ||
| 				fi
 | ||
| 
 | ||
| 				if [[ "$Win_theme" != "Not Applicable" ]]; then
 | ||
| 					if [[ ${BASH_VERSINFO[0]} -ge 4 ]]; then
 | ||
| 						if [[ ${BASH_VERSINFO[0]} -eq 4 && ${BASH_VERSINFO[1]} -gt 1 ]] || [[ ${BASH_VERSINFO[0]} -gt 4 ]]; then
 | ||
| 							Win_theme="${Win_theme^}"
 | ||
| 						else
 | ||
| 							Win_theme="$(tr '[:lower:]' '[:upper:]' <<< ${Win_theme:0:1})${Win_theme:1}"
 | ||
| 						fi
 | ||
| 					else
 | ||
| 						Win_theme="$(tr '[:lower:]' '[:upper:]' <<< ${Win_theme:0:1})${Win_theme:1}"
 | ||
| 					fi
 | ||
| 				fi
 | ||
| 			fi
 | ||
| 		;;
 | ||
| 		'Marco')
 | ||
| 			Win_theme="$(gsettings get org.mate.Marco.general theme)"
 | ||
| 			Win_theme=${Win_theme//"'"}
 | ||
| 		;;
 | ||
| 		'Metacity') if [ "`gconftool-2 -g /apps/metacity/general/theme`" ]; then Win_theme="$(gconftool-2 -g /apps/metacity/general/theme)"; fi ;;
 | ||
| 		'monsterwm') Win_theme="Not Applicable";;
 | ||
| 		'Musca') Win_theme="Not Applicable";;
 | ||
| 		'Notion') Win_theme="Not Applicable";;
 | ||
| 		'OpenBox'|'Openbox')
 | ||
| 			if [ -f ${XDG_CONFIG_HOME:-${HOME}/.config}/openbox/rc.xml ]; then
 | ||
| 				Win_theme="$(awk -F"[<,>]" '/<theme/ { getline; print $3 }' ${XDG_CONFIG_HOME:-${HOME}/.config}/openbox/rc.xml)";
 | ||
| 			elif [[ -f ${XDG_CONFIG_HOME:-${HOME}/.config}/openbox/lxde-rc.xml && $DE == "LXDE" ]]; then
 | ||
| 				Win_theme="$(awk -F"[<,>]" '/<theme/ { getline; print $3 }' ${XDG_CONFIG_HOME:-${HOME}/.config}/openbox/lxde-rc.xml)";
 | ||
| 			fi
 | ||
| 		;;
 | ||
| 		'PekWM') if [ -f $HOME/.pekwm/config ]; then Win_theme="$(awk -F"/" '/Theme/ {gsub(/\"/,""); print $NF}' $HOME/.pekwm/config)"; fi;;
 | ||
| 		'Ratpoison') Win_theme="Not Applicable";;
 | ||
| 		'Sawfish') Win_theme="$(awk -F")" '/\(quote default-frame-style/{print $2}' $HOME/.sawfish/custom | sed 's/ (quote //')";;
 | ||
| 		'ScrotWM') Win_theme="Not Applicable";;
 | ||
| 		'SpectrWM') Win_theme="Not Applicable";;
 | ||
| 		'swm') Win_theme="Not Applicable";;
 | ||
| 		'subtle') Win_theme="Not Applicable";;
 | ||
| 		'TWin')
 | ||
| 			if [[ -z $TDE_CONFIG_DIR ]]; then
 | ||
| 				if type -p tde-config >/dev/null 2>&1; then
 | ||
| 					TDE_CONFIG_DIR=$(tde-config --localprefix)
 | ||
| 				fi
 | ||
| 			fi
 | ||
| 			if [[ -n $TDE_CONFIG_DIR ]]; then
 | ||
| 				TDE_CONFIG_DIR=${TDE_CONFIG_DIR%/}
 | ||
| 				if [[ -f $TDE_CONFIG_DIR/share/config/kcmthememanagerrc ]]; then
 | ||
| 					Win_theme=$(awk '/CurrentTheme=/ {gsub(/CurrentTheme=/,"",$0); print $0; exit}' $TDE_CONFIG_DIR/share/config/kcmthememanagerrc)
 | ||
| 				fi
 | ||
| 				if [[ -z $Win_theme ]]; then
 | ||
| 					Win_theme="Not Applicable"
 | ||
| 				fi
 | ||
| 			fi
 | ||
| 		;;
 | ||
| 		'WindowMaker') Win_theme="Not Applicable";;
 | ||
| 		'WMFS') Win_theme="Not Applicable";;
 | ||
| 		'wmii') Win_theme="Not Applicable";;
 | ||
| 		'Xfwm4') if [ -f ${XDG_CONFIG_HOME:-${HOME}/.config}/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml ]; then Win_theme="$(xfconf-query -c xfwm4 -p /general/theme)"; fi;;
 | ||
| 		'XMonad') Win_theme="Not Applicable";;
 | ||
| 	esac
 | ||
| 	if [[ "${distro}" == "Mac OS X" ]]; then
 | ||
| 		themeNumber="$(defaults read NSGlobalDomain AppleAquaColorVariant 2>/dev/null)"
 | ||
| 		if [ "${themeNumber}" == "1" ] || [ "${themeNumber}x" == "x" ]; then
 | ||
| 			Win_theme="Blue"
 | ||
| 		else
 | ||
| 			Win_theme="Graphite"
 | ||
| 		fi
 | ||
| 	elif [[ "${distro}" == "Cygwin" || "${distro}" == "Msys" ]]; then
 | ||
| 		if [ "${WM}" == "Blackbox" ]; then
 | ||
| 			if [ "${distro}" == "Msys" ]; then
 | ||
| 				Blackbox_loc=$(reg query 'HKLM\Software\Microsoft\Windows NT\CurrentVersion\WinLogon' //v 'Shell')
 | ||
| 			else
 | ||
| 				Blackbox_loc=$(reg query 'HKLM\Software\Microsoft\Windows NT\CurrentVersion\WinLogon' /v 'Shell')
 | ||
| 			fi
 | ||
| 			Blackbox_loc="$(echo ${Blackbox_loc} | sed 's/.*REG_SZ//' | sed -e 's/^[ \t]*//' | sed 's/.\{4\}$//')"
 | ||
| 			Win_theme=$(cat "${Blackbox_loc}.rc" | grep "session.styleFile" | sed 's/ //g' | sed 's/session\.styleFile://g' | sed 's/.*\\//g')
 | ||
| 		else
 | ||
| 			if [[ "${distro}" == "Msys" ]]; then
 | ||
| 				themeFile="$(reg query 'HKCU\Software\Microsoft\Windows\CurrentVersion\Themes' //v 'CurrentTheme')"
 | ||
| 			else
 | ||
| 				themeFile="$(reg query 'HKCU\Software\Microsoft\Windows\CurrentVersion\Themes' /v 'CurrentTheme')"
 | ||
| 			fi
 | ||
| 			Win_theme=$(echo $themeFile| awk -F"\\" '{print $NF}' | sed 's|\.theme$||')
 | ||
| 		fi
 | ||
| 	fi
 | ||
| 
 | ||
| 	verboseOut "Finding window manager theme...found as '$Win_theme'"
 | ||
| }
 | ||
| # WM Theme Detection - END
 | ||
| 
 | ||
| # GTK Theme\Icon\Font Detection - BEGIN
 | ||
| detectgtk () {
 | ||
| 	gtk2Theme="Not Found"
 | ||
| 	gtk3Theme="Not Found"
 | ||
| 	gtkIcons="Not Found"
 | ||
| 	gtkFont="Not Found"
 | ||
| 	# Font detection (OS X)
 | ||
| 	if [[ ${distro} == "Mac OS X" ]]; then
 | ||
| 		gtk2Theme="Not Applicable"
 | ||
| 		gtk3Theme="Not Applicable"
 | ||
| 		gtkIcons="Not Applicable"
 | ||
| 		if ps -U ${USER} | grep [F]inder >/dev/null 2>&1; then
 | ||
| 			if [[ ${TERM_PROGRAM} == "iTerm.app" ]] && [ -f ~/Library/Preferences/com.googlecode.iterm2.plist ]; then
 | ||
| 				# iTerm2
 | ||
| 
 | ||
| 				iterm2_theme_uuid=$(defaults read com.googlecode.iTerm2 "Default Bookmark Guid")
 | ||
| 
 | ||
| 				OLD_IFS=$IFS
 | ||
| 				IFS=$'\n'
 | ||
| 				iterm2_theme_info=($(defaults read com.googlecode.iTerm2 "New Bookmarks" | grep -e Guid -e "Normal Font"))
 | ||
| 				IFS=$OLD_IFS
 | ||
| 
 | ||
| 				for i in $(seq 0 $((${#iterm2_theme_info[*]}/2-1))); do
 | ||
| 					found_uuid=$(str1=${iterm2_theme_info[$i*2]};echo ${str1:16:${#str1}-16-2})
 | ||
| 					if [[ $found_uuid == $iterm2_theme_uuid ]]; then
 | ||
| 						gtkFont=$(str2=${iterm2_theme_info[$i*2+1]};echo ${str2:25:${#str2}-25-2})
 | ||
| 						break
 | ||
| 					fi
 | ||
| 				done
 | ||
| 			else
 | ||
| 				# Terminal.app
 | ||
| 
 | ||
| 				termapp_theme_name=$(defaults read com.apple.Terminal "Default Window Settings")
 | ||
| 
 | ||
| 				OLD_IFS=$IFS
 | ||
| 				IFS=$'\n'
 | ||
| 				termapp_theme_info=($(defaults read com.apple.Terminal "Window Settings" | grep -e "name = " -e "Font = "))
 | ||
| 				IFS=$OLD_IFS
 | ||
| 
 | ||
| 				for i in $(seq 0 $((${#termapp_theme_info[*]}/2-1))); do
 | ||
| 					found_name=$(str1=${termapp_theme_info[$i*2+1]};echo ${str1:15:${#str1}-15-1})
 | ||
| 					if [[ $found_name == $termapp_theme_name ]]; then
 | ||
| 						gtkFont=$(str2=${termapp_theme_info[$i*2]};echo ${str2:288:${#str2}-288})
 | ||
| 						gtkFont=$(echo ${gtkFont%%[dD]2*;} | xxd -r -p)
 | ||
| 						break
 | ||
| 					fi
 | ||
| 				done
 | ||
| 			fi
 | ||
| 		fi
 | ||
| 	else
 | ||
| 		case $DE in
 | ||
| 			'KDE'*) # Desktop Environment found as "KDE"
 | ||
| 				if type - p kde4-config >/dev/null 2>&1; then
 | ||
| 					KDE_CONFIG_DIR=$(kde4-config --localprefix)
 | ||
| 					if [[ -d ${KDE_CONFIG_DIR} ]]; then
 | ||
| 						if [[ -f "${KDE_CONFIG_DIR}/share/config/kdeglobals" ]]; then
 | ||
| 							KDE_CONFIG_FILE="${KDE_CONFIG_DIR}/share/config/kdeglobals"
 | ||
| 						fi
 | ||
| 					fi
 | ||
| 				elif type -p kde5-config >/dev/null 2>&1; then
 | ||
| 					KDE_CONFIG_DIR=$(kde5-config --localprefix)
 | ||
| 					if [[ -d ${KDE_CONFIG_DIR} ]]; then
 | ||
| 						if [[ -f "${KDE_CONFIG_DIR}/share/config/kdeglobals" ]]; then
 | ||
| 							KDE_CONFIG_FILE="${KDE_CONFIG_DIR}/share/config/kdeglobals"
 | ||
| 						fi
 | ||
| 					fi
 | ||
| 				elif type -p kde-config >/dev/null 2>&1; then
 | ||
| 					KDE_CONFIG_DIR=$(kde-config --localprefix)
 | ||
| 					if [[ -d ${KDE_CONFIG_DIR} ]]; then
 | ||
| 						if [[ -f "${KDE_CONFIG_DIR}/share/config/kdeglobals" ]]; then
 | ||
| 							KDE_CONFIG_FILE="${KDE_CONFIG_DIR}/share/config/kdeglobals"
 | ||
| 						fi
 | ||
| 					fi
 | ||
| 				fi
 | ||
| 
 | ||
| 				if [[ -n ${KDE_CONFIG_FILE} ]]; then
 | ||
| 					if grep -q "widgetStyle=" "${KDE_CONFIG_FILE}"; then
 | ||
| 						gtk2Theme=$(awk -F"=" '/widgetStyle=/ {print $2}' "${KDE_CONFIG_FILE}")
 | ||
| 					elif grep -q "colorScheme=" "${KDE_CONFIG_FILE}"; then
 | ||
| 						gtk2Theme=$(awk -F"=" '/colorScheme=/ {print $2}' "${KDE_CONFIG_FILE}")
 | ||
| 					fi
 | ||
| 
 | ||
| 					if grep -q "Theme=" "${KDE_CONFIG_FILE}"; then
 | ||
| 						gtkIcons=$(awk -F"=" '/Theme=/ {print $2}' "${KDE_CONFIG_FILE}")
 | ||
| 					fi
 | ||
| 
 | ||
| 					if grep -q "Font=" "${KDE_CONFIG_FILE}"; then
 | ||
| 						gtkFont=$(awk -F"=" '/font=/ {print $2}' "${KDE_CONFIG_FILE}")
 | ||
| 					fi
 | ||
| 				fi
 | ||
| 
 | ||
| 				if [[ -f $HOME/.gtkrc-2.0 ]]; then
 | ||
| 					gtk2Theme=$(grep '^gtk-theme-name' $HOME/.gtkrc-2.0 | awk -F'=' '{print $2}')
 | ||
| 					gtk2Theme=${gtk2Theme//\"/}
 | ||
| 					gtkIcons=$(grep '^gtk-icon-theme-name' $HOME/.gtkrc-2.0 | awk -F'=' '{print $2}')
 | ||
| 					gtkIcons=${gtkIcons//\"/}
 | ||
| 					gtkFont=$(grep 'font_name' $HOME/.gtkrc-2.0 | awk -F'=' '{print $2}')
 | ||
| 					gtkFont=${gtkFont//\"/}
 | ||
| 				fi
 | ||
| 
 | ||
| 				if [[ -f $HOME/.config/gtk-3.0/settings.ini ]]; then
 | ||
| 					gtk3Theme=$(grep '^gtk-theme-name=' $HOME/.config/gtk-3.0/settings.ini | awk -F'=' '{print $2}')
 | ||
| 				fi
 | ||
| 			;;
 | ||
| 			'Cinnamon'*) # Desktop Environment found as "Cinnamon"
 | ||
| 				if type -p gsettings >/dev/null 2>&1; then
 | ||
| 					gtk3Theme=$(gsettings get org.cinnamon.desktop.interface gtk-theme)
 | ||
| 					gtk3Theme=${gtk3Theme//"'"}
 | ||
| 					gtk2Theme=${gtk3Theme}
 | ||
| 
 | ||
| 					gtkIcons=$(gsettings get org.cinnamon.desktop.interface icon-theme)
 | ||
| 					gtkIcons=${gtkIcons//"'"}
 | ||
| 					gtkFont=$(gsettings get org.cinnamon.desktop.interface font-name)
 | ||
| 					gtkFont=${gtkFont//"'"}
 | ||
| 					if [ "$background_detect" == "1" ]; then gtkBackground=$(gsettings get org.gnome.desktop.background picture-uri); fi
 | ||
| 				fi
 | ||
| 			;;
 | ||
| 			'GNOME'*|'Unity'*|'Budgie') # Desktop Environment found as "GNOME"
 | ||
| 				if type -p gsettings >/dev/null 2>&1; then
 | ||
| 					gtk3Theme=$(gsettings get org.gnome.desktop.interface gtk-theme)
 | ||
| 					gtk3Theme=${gtk3Theme//"'"}
 | ||
| 					gtk2Theme=${gtk3Theme}
 | ||
| 					gtkIcons=$(gsettings get org.gnome.desktop.interface icon-theme)
 | ||
| 					gtkIcons=${gtkIcons//"'"}
 | ||
| 					gtkFont=$(gsettings get org.gnome.desktop.interface font-name)
 | ||
| 					gtkFont=${gtkFont//"'"}
 | ||
| 					if [ "$background_detect" == "1" ]; then gtkBackground=$(gsettings get org.gnome.desktop.background picture-uri); fi
 | ||
| 				elif type -p gconftool-2 >/dev/null 2>&1; then
 | ||
| 					gtk2Theme=$(gconftool-2 -g /desktop/gnome/interface/gtk_theme)
 | ||
| 					gtkIcons=$(gconftool-2 -g /desktop/gnome/interface/icon_theme)
 | ||
| 					gtkFont=$(gconftool-2 -g /desktop/gnome/interface/font_name)
 | ||
| 					if [ "$background_detect" == "1" ]; then
 | ||
| 						gtkBackgroundFull=$(gconftool-2 -g /desktop/gnome/background/picture_filename)
 | ||
| 						gtkBackground=$(echo "$gtkBackgroundFull" | awk -F"/" '{print $NF}')
 | ||
| 					fi
 | ||
| 				fi
 | ||
| 			;;
 | ||
| 			'MATE'*) # MATE desktop environment
 | ||
| 				#if type -p gsettings >/dev/null 2&>1; then
 | ||
| 				gtk3Theme=$(gsettings get org.mate.interface gtk-theme)
 | ||
| 				# gtk3Theme=${gtk3Theme//"'"}
 | ||
| 				gtk2Theme=${gtk3Theme}
 | ||
| 				gtkIcons=$(gsettings get org.mate.interface icon-theme)
 | ||
| 				gtkIcons=${gtkIcons//"'"}
 | ||
| 				gtkFont=$(gsettings get org.mate.interface font-name)
 | ||
| 				gtkFont=${gtkFont//"'"}
 | ||
| 				#fi
 | ||
| 			;;
 | ||
| 			'Xfce'*) # Desktop Environment found as "Xfce"
 | ||
| 				if [ "$distro" == "BunsenLabs" ] ; then
 | ||
| 					gtk2Theme=$(awk -F'"' '/^gtk-theme/ {print $2}' $HOME/.gtkrc-2.0)
 | ||
| 					gtk3Theme=$(awk -F'=' '/^gtk-theme-name/ {print $2}' $HOME/.config/gtk-3.0/settings.ini)
 | ||
| 					gtkIcons=$(awk -F'"' '/^gtk-icon-theme/ {print $2}' $HOME/.gtkrc-2.0)
 | ||
| 					gtkFont=$(awk -F'"' '/^gtk-font-name/ {print $2}' $HOME/.gtkrc-2.0)
 | ||
| 				else
 | ||
| 					if type -p xfconf-query >/dev/null 2>&1; then
 | ||
| 						gtk2Theme=$(xfconf-query -c xsettings -p /Net/ThemeName)
 | ||
| 					fi
 | ||
| 
 | ||
| 					if type -p xfconf-query >/dev/null 2>&1; then
 | ||
| 						gtkIcons=$(xfconf-query -c xsettings -p /Net/IconThemeName)
 | ||
| 					fi
 | ||
| 
 | ||
| 					if type -p xfconf-query >/dev/null 2>&1; then
 | ||
| 						gtkFont=$(xfconf-query -c xsettings -p /Gtk/FontName)
 | ||
| 					fi
 | ||
| 				fi
 | ||
| 			;;
 | ||
| 			'LXDE'*)
 | ||
| 				config_home="${XDG_CONFIG_HOME:-${HOME}/.config}"
 | ||
| 				if [ -f "$config_home/lxde/config" ]; then
 | ||
| 					lxdeconf="/lxde/config"
 | ||
| 				elif [ "$distro" == "Trisquel" ] || [ "$distro" == "FreeBSD" ]; then
 | ||
| 					lxdeconf=""
 | ||
| 				elif [ -f "$config_home/lxsession/Lubuntu/desktop.conf" ]; then
 | ||
| 					lxdeconf="/lxsession/Lubuntu/desktop.conf"
 | ||
| 				else
 | ||
| 					lxdeconf="/lxsession/LXDE/desktop.conf"
 | ||
| 				fi
 | ||
| 
 | ||
| 				if grep -q "sNet\/ThemeName" "${config_home}${lxdeconf}" 2>/dev/null; then
 | ||
| 					gtk2Theme=$(awk -F'=' '/sNet\/ThemeName/ {print $2}' ${config_home}${lxdeconf})
 | ||
| 				fi
 | ||
| 
 | ||
| 				if grep -q IconThemeName "${config_home}${lxdeconf}" 2>/dev/null; then
 | ||
| 					gtkIcons=$(awk -F'=' '/sNet\/IconThemeName/ {print $2}' ${config_home}${lxdeconf})
 | ||
| 				fi
 | ||
| 
 | ||
| 				if grep -q FontName "${config_home}${lxdeconf}" 2>/dev/null; then
 | ||
| 					gtkFont=$(awk -F'=' '/sGtk\/FontName/ {print $2}' ${config_home}${lxdeconf})
 | ||
|  				fi
 | ||
| 			;;
 | ||
| 
 | ||
| 			# /home/me/.config/rox.sourceforge.net/ROX-Session/Settings.xml
 | ||
| 
 | ||
| 			*)	# Lightweight or No DE Found
 | ||
| 				if [ -f "$HOME/.gtkrc-2.0" ]; then
 | ||
| 					if grep -q gtk-theme $HOME/.gtkrc-2.0; then
 | ||
| 						gtk2Theme=$(awk -F'"' '/^gtk-theme/ {print $2}' $HOME/.gtkrc-2.0)
 | ||
| 					fi
 | ||
| 
 | ||
| 					if grep -q icon-theme $HOME/.gtkrc-2.0; then
 | ||
| 						gtkIcons=$(awk -F'"' '/^gtk-icon-theme/ {print $2}' $HOME/.gtkrc-2.0)
 | ||
| 					fi
 | ||
| 
 | ||
| 					if grep -q font $HOME/.gtkrc-2.0; then
 | ||
| 						gtkFont=$(awk -F'"' '/^gtk-font-name/ {print $2}' $HOME/.gtkrc-2.0)
 | ||
| 					fi
 | ||
| 				fi
 | ||
| 				# $HOME/.gtkrc.mine theme detect only
 | ||
| 				if [[ -f "$HOME/.gtkrc.mine" ]]; then
 | ||
| 					minegtkrc="$HOME/.gtkrc.mine"
 | ||
| 				elif [[ -f "$HOME/.gtkrc-2.0.mine" ]]; then
 | ||
| 					minegtkrc="$HOME/.gtkrc-2.0.mine"
 | ||
| 				fi
 | ||
| 				if [ -f "$minegtkrc" ]; then
 | ||
| 					if grep -q "^include" "$minegtkrc"; then
 | ||
| 						gtk2Theme=$(grep '^include.*gtkrc' "$minegtkrc" | awk -F "/" '{ print $5 }')
 | ||
| 					fi
 | ||
| 					if grep -q "^gtk-icon-theme-name" "$minegtkrc"; then
 | ||
| 						gtkIcons=$(grep '^gtk-icon-theme-name' "$minegtkrc" | awk -F '"' '{print $2}')
 | ||
| 					fi
 | ||
| 				fi
 | ||
| 				# /etc/gtk-2.0/gtkrc compatability
 | ||
| 				if [[ -f /etc/gtk-2.0/gtkrc && ! -f "$HOME/.gtkrc-2.0" && ! -f "$HOME/.gtkrc.mine" && ! -f "$HOME/.gtkrc-2.0.mine" ]]; then
 | ||
| 					if grep -q gtk-theme-name /etc/gtk-2.0/gtkrc; then
 | ||
| 						gtk2Theme=$(awk -F'"' '/^gtk-theme-name/ {print $2}' /etc/gtk-2.0/gtkrc)
 | ||
| 					fi
 | ||
| 					if grep -q gtk-fallback-theme-name /etc/gtk-2.0/gtkrc  && ! [ "x$gtk2Theme" = "x" ]; then
 | ||
| 						gtk2Theme=$(awk -F'"' '/^gtk-fallback-theme-name/ {print $2}' /etc/gtk-2.0/gtkrc)
 | ||
| 					fi
 | ||
| 
 | ||
| 					if grep -q icon-theme /etc/gtk-2.0/gtkrc; then
 | ||
| 						gtkIcons=$(awk -F'"' '/^icon-theme/ {print $2}' /etc/gtk-2.0/gtkrc)
 | ||
| 					fi
 | ||
| 					if  grep -q gtk-fallback-icon-theme /etc/gtk-2.0/gtkrc  && ! [ "x$gtkIcons" = "x" ]; then
 | ||
| 						gtkIcons=$(awk -F'"' '/^gtk-fallback-icon-theme/ {print $2}' /etc/gtk-2.0/gtkrc)
 | ||
| 					fi
 | ||
| 
 | ||
| 					if grep -q font /etc/gtk-2.0/gtkrc; then
 | ||
| 						gtkFont=$(awk -F'"' '/^gtk-font-name/ {print $2}' /etc/gtk-2.0/gtkrc)
 | ||
| 					fi
 | ||
| 				fi
 | ||
| 
 | ||
| 				# EXPERIMENTAL gtk3 Theme detection
 | ||
| 				if [ -f "$HOME/.config/gtk-3.0/settings.ini" ]; then
 | ||
| 					if grep -q gtk-theme-name $HOME/.config/gtk-3.0/settings.ini; then
 | ||
| 						gtk3Theme=$(awk -F'=' '/^gtk-theme-name/ {print $2}' $HOME/.config/gtk-3.0/settings.ini)
 | ||
| 					fi
 | ||
| 				fi
 | ||
| 
 | ||
| 				# Proper gtk3 Theme detection
 | ||
| 				#if type -p gsettings >/dev/null 2>&1; then
 | ||
| 				#	gtk3Theme=$(gsettings get org.gnome.desktop.interface gtk-theme 2>/dev/null)
 | ||
| 				#	gtk3Theme=${gtk3Theme//"'"}
 | ||
| 				#fi
 | ||
| 
 | ||
| 				# ROX-Filer icon detect only
 | ||
| 				if [ -a "${XDG_CONFIG_HOME:-${HOME}/.config}/rox.sourceforge.net/ROX-Filer/Options" ]; then
 | ||
| 					gtkIcons=$(awk -F'[>,<]' '/icon_theme/ {print $3}' ${XDG_CONFIG_HOME:-${HOME}/.config}/rox.sourceforge.net/ROX-Filer/Options)
 | ||
| 				fi
 | ||
| 
 | ||
| 				# E17 detection
 | ||
| 				if [ $E_ICON_THEME ]; then
 | ||
| 					gtkIcons=${E_ICON_THEME}
 | ||
| 					gtk2Theme="Not available."
 | ||
| 					gtkFont="Not available."
 | ||
| 				fi
 | ||
| 
 | ||
| 				# Background Detection (feh, nitrogen)
 | ||
| 				if [ "$background_detect" == "1" ]; then
 | ||
| 					if [ -a $HOME/.fehbg ]; then
 | ||
| 						gtkBackgroundFull=$(awk -F"'" '/feh --bg/{print $2}' $HOME/.fehbg 2>/dev/null)
 | ||
| 						gtkBackground=$(echo "$gtkBackgroundFull" | awk -F"/" '{print $NF}')
 | ||
| 					elif [ -a ${XDG_CONFIG_HOME:-${HOME}/.config}/nitrogen/bg-saved.cfg ]; then
 | ||
| 						gtkBackground=$(awk -F"/" '/file=/ {print $NF}' ${XDG_CONFIG_HOME:-${HOME}/.config}/nitrogen/bg-saved.cfg)
 | ||
| 					fi
 | ||
| 				fi
 | ||
| 
 | ||
| 				if [[ "$distro" == "Cygwin" || "$distro" == "Msys" ]]; then
 | ||
| 					if [ "$gtkFont" == "Not Found" ]; then
 | ||
| 						if [ -f "$HOME/.minttyrc" ]; then
 | ||
| 							gtkFont="$(grep '^Font=.*' "$HOME/.minttyrc" | grep -o '[0-9A-z ]*$')"
 | ||
| 						fi
 | ||
| 					fi
 | ||
| 				fi
 | ||
| 			;;
 | ||
| 		esac
 | ||
| 	fi
 | ||
| 	verboseOut "Finding GTK2 theme...found as '$gtk2Theme'"
 | ||
| 	verboseOut "Finding GTK3 theme...found as '$gtk3Theme'"
 | ||
| 	verboseOut "Finding icon theme...found as '$gtkIcons'"
 | ||
| 	verboseOut "Finding user font...found as '$gtkFont'"
 | ||
| 	[[ $gtkBackground ]] && verboseOut "Finding background...found as '$gtkBackground'"
 | ||
| }
 | ||
| # GTK Theme\Icon\Font Detection - END
 | ||
| 
 | ||
| # Android-specific detections
 | ||
| detectdroid () {
 | ||
| 	distro_ver=$(getprop ro.build.version.release)
 | ||
| 
 | ||
| 	hostname=$(getprop net.hostname)
 | ||
| 
 | ||
| 	_device=$(getprop ro.product.device)
 | ||
| 	_model=$(getprop ro.product.model)
 | ||
| 	device="${_model} (${_device})"
 | ||
| 
 | ||
| 	if [[ $(getprop ro.build.host) == "cyanogenmod" ]]; then
 | ||
| 		rom=$(getprop ro.cm.version)
 | ||
| 	else
 | ||
| 		rom=$(getprop ro.build.display.id)
 | ||
| 	fi
 | ||
| 
 | ||
| 	baseband=$(getprop ro.baseband)
 | ||
| 
 | ||
| 	cpu=$(grep '^Processor' /proc/cpuinfo)
 | ||
| 	cpu=$(echo "$cpu" | sed 's/Processor.*: //')
 | ||
| }
 | ||
| 
 | ||
| 
 | ||
| #######################
 | ||
| # End Detection Phase
 | ||
| #######################
 | ||
| 
 | ||
| takeShot () {
 | ||
| 	if [[ -z $screenCommand ]]; then
 | ||
| 		shotfiles[1]=${shotfile}
 | ||
| 		if [ "$distro" == "Mac OS X" ]; then
 | ||
| 			displays="$(system_profiler SPDisplaysDataType | grep 'Resolution:' | wc -l | tr -d ' ')"
 | ||
| 			for (( i=2; i<=$displays; i++))
 | ||
| 			do
 | ||
| 				shotfiles[$i]="$(echo ${shotfile} | sed "s/\(.*\)\./\1_${i}./")"
 | ||
| 			done
 | ||
| 			printf "Taking shot in 3.. "; sleep 1; printf "2.. "; sleep 1; printf "1.. "; sleep 1; printf "0.\n"; screencapture -x ${shotfiles[@]} &> /dev/null
 | ||
| 		else
 | ||
| 			if type -p scrot >/dev/null 2>&1; then
 | ||
| 				scrot -cd3 "${shotfile}"
 | ||
| 			else
 | ||
| 				errorOut "Cannot take screenshot! \`scrot' not in \$PATH"
 | ||
| 			fi
 | ||
| 		fi
 | ||
| 		if [ -f "${shotfile}" ]; then
 | ||
| 			verboseOut "Screenshot saved at '${shotfiles[@]}'"
 | ||
| 			if [[ "${upload}" == "1" ]]; then
 | ||
| 				if type -p curl >/dev/null 2>&1; then
 | ||
| 					printf "${bold}==>${c0}  Uploading your screenshot now..."
 | ||
| 					case "${uploadLoc}" in
 | ||
| 						'teknik')
 | ||
| 							baseurl='https://u.teknik.io'
 | ||
| 							uploadurl='https://api.teknik.io/upload/post'
 | ||
| 							ret=$(curl -sf -F file="@${shotfiles[@]}" ${uploadurl})
 | ||
| 							desturl="${ret##*url\":\"}"
 | ||
| 							desturl="${desturl%%\"*}"
 | ||
| 							desturl="${desturl//\\}"
 | ||
| 						;;
 | ||
| 						'mediacrush')
 | ||
| 							baseurl='https://mediacru.sh'
 | ||
| 							uploadurl='https://mediacru.sh/api/upload/file'
 | ||
| 							ret=$(curl -sf -F file="@${shotfiles[@]};type=image/png" ${uploadurl})
 | ||
| 							filehash=$(echo "${ret}" | grep "hash" | cut -d '"' -f4)
 | ||
| 							desturl="${baseurl}/${filehash}"
 | ||
| 						;;
 | ||
| 						'imgur')
 | ||
| 							baseurl='http://imgur.com'
 | ||
| 							uploadurl='http://imgur.com/upload'
 | ||
| 							ret=$(curl -sf -F file="@${shotfiles[@]}" ${uploadurl})
 | ||
| 							filehash="${ret##*hash\":\"}"
 | ||
| 							filehash="${filehash%%\"*}"
 | ||
| 							desturl="${baseurl}/${filehash}"
 | ||
| 						;;
 | ||
| 						'hmp')
 | ||
| 							baseurl='http://i.hmp.me/m'
 | ||
| 							uploadurl='http://hmp.me/ap/?uf=1'
 | ||
| 							ret=$(curl -sf -F a="@${shotfiles[@]};type=image/png" ${uploadurl})
 | ||
| 							desturl="${ret##*img_path\":\"}"
 | ||
| 							desturl="${desturl%%\"*}"
 | ||
| 							desturl="${desturl//\\}"
 | ||
| 						;;
 | ||
| 						'local-example')
 | ||
| 							baseurl="http://www.example.com"
 | ||
| 							serveraddr="www.example.com"
 | ||
| 							scptimeout="20"
 | ||
| 							serverdir="/path/to/directory"
 | ||
| 							scp -qo ConnectTimeout="${scptimeout}" "${shotfiles[@]}" "${serveraddr}:${serverdir}"
 | ||
| 							desturl="${baseurl}/${shotfile}"
 | ||
| 						;;
 | ||
| 					esac
 | ||
| 					printf "your screenshot can be viewed at ${desturl}\n"
 | ||
| 				else
 | ||
| 					errorOut "Cannot upload screenshot! \`curl' not in \$PATH"
 | ||
| 				fi
 | ||
| 			fi
 | ||
| 		else
 | ||
| 			if type -p scrot >/dev/null 2>&1; then
 | ||
| 				errorOut "ERROR: Problem saving screenshot to ${shotfiles[@]}"
 | ||
| 			fi
 | ||
| 		fi
 | ||
| 	else
 | ||
| 		$screenCommand
 | ||
| 	fi
 | ||
| }
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| asciiText () {
 | ||
| # Distro logos and ASCII outputs
 | ||
| 	if [[ "$asc_distro" ]]; then myascii="${asc_distro}"
 | ||
| 	elif [[ "$art" ]]; then myascii="custom"
 | ||
| 	elif [[ "$fake_distro" ]]; then myascii="${fake_distro}"
 | ||
| 	else myascii="${distro}"; fi
 | ||
| 	case ${myascii} in
 | ||
| 		"custom") source "$art" ;;
 | ||
| 
 | ||
| 		"Alpine Linux")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'light blue') # Light
 | ||
| 				c2=$(getColor 'blue') # Dark
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; fi
 | ||
| 			startline="0"
 | ||
| 			logowidth="34"
 | ||
| 			fulloutput=(
 | ||
| "${c1}        ................          %s"
 | ||
| "${c1}       ∴::::::::::::::::∴         %s"
 | ||
| "${c1}      ∴::::::::::::::::::∴        %s"
 | ||
| "${c1}     ∴::::::::::::::::::::∴       %s"
 | ||
| "${c1}    ∴:::::::. :::::':::::::∴      %s"
 | ||
| "${c1}   ∴:::::::.   ;::; ::::::::∴     %s"
 | ||
| "${c1}  ∴::::::;      ∵     :::::::∴    %s"
 | ||
| "${c1} ∴:::::.     .         .::::::∴   %s"
 | ||
| "${c1} ::::::     :::.    .    ::::::   %s"
 | ||
| "${c1} ∵::::     ::::::.  ::.   ::::∵   %s"
 | ||
| "${c1}  ∵:..   .:;::::::: :::.  :::∵    %s"
 | ||
| "${c1}   ∵::::::::::::::::::::::::∵     %s"
 | ||
| "${c1}    ∵::::::::::::::::::::::∵      %s"
 | ||
| "${c1}     ∵::::::::::::::::::::∵       %s"
 | ||
| "${c1}      ::::::::::::::::::::        %s"
 | ||
| "${c1}       ∵::::::::::::::::∵         %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"Arch Linux - Old")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'white') # White
 | ||
| 				c2=$(getColor 'light blue') # Light Blue
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; fi
 | ||
| 			startline="0"
 | ||
| 			logowidth="37"
 | ||
| 			fulloutput=(
 | ||
| "${c1}              __                     %s"
 | ||
| "${c1}          _=(SDGJT=_                 %s"
 | ||
| "${c1}        _GTDJHGGFCVS)                %s"
 | ||
| "${c1}       ,GTDJGGDTDFBGX0               %s"
 | ||
| "${c1}      JDJDIJHRORVFSBSVL${c2}-=+=,_        %s"
 | ||
| "${c1}     IJFDUFHJNXIXCDXDSV,${c2}  \"DEBL      %s"
 | ||
| "${c1}    [LKDSDJTDU=OUSCSBFLD.${c2}   '?ZWX,   %s"
 | ||
| "${c1}   ,LMDSDSWH'     \`DCBOSI${c2}     DRDS], %s"
 | ||
| "${c1}   SDDFDFH'         !YEWD,${c2}   )HDROD  %s"
 | ||
| "${c1}  !KMDOCG            &GSU|${c2}\_GFHRGO\'  %s"
 | ||
| "${c1}  HKLSGP'${c2}           __${c1}\TKM0${c2}\GHRBV)'  %s"
 | ||
| "${c1} JSNRVW'${c2}       __+MNAEC${c1}\IOI,${c2}\BN'     %s"
 | ||
| "${c1} HELK['${c2}    __,=OFFXCBGHC${c1}\FD)         %s"
 | ||
| "${c1} ?KGHE ${c2}\_-#DASDFLSV='${c1}    'EF         %s"
 | ||
| "${c1} 'EHTI                    !H         %s"
 | ||
| "${c1}  \`0F'                    '!         %s"
 | ||
| "${c1}                                     %s"
 | ||
| "${c1}                                     %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"Arch Linux")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'light cyan') # Light
 | ||
| 				c2=$(getColor 'cyan') # Dark
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; fi
 | ||
| 			startline="1"
 | ||
| 			logowidth="38"
 | ||
| 			fulloutput=(
 | ||
| "${c1}                   -\`                 "
 | ||
| "${c1}                  .o+\`                %s"
 | ||
| "${c1}                 \`ooo/                %s"
 | ||
| "${c1}                \`+oooo:               %s"
 | ||
| "${c1}               \`+oooooo:              %s"
 | ||
| "${c1}               -+oooooo+:             %s"
 | ||
| "${c1}             \`/:-:++oooo+:            %s"
 | ||
| "${c1}            \`/++++/+++++++:           %s"
 | ||
| "${c1}           \`/++++++++++++++:          %s"
 | ||
| "${c1}          \`/+++o${c2}oooooooo${c1}oooo/\`        %s"
 | ||
| "${c2}         ${c1}./${c2}ooosssso++osssssso${c1}+\`       %s"
 | ||
| "${c2}        .oossssso-\`\`\`\`/ossssss+\`      %s"
 | ||
| "${c2}       -osssssso.      :ssssssso.     %s"
 | ||
| "${c2}      :osssssss/        osssso+++.    %s"
 | ||
| "${c2}     /ossssssss/        +ssssooo/-    %s"
 | ||
| "${c2}   \`/ossssso+/:-        -:/+osssso+-  %s"
 | ||
| "${c2}  \`+sso+:-\`                 \`.-/+oso: %s"
 | ||
| "${c2} \`++:.                           \`-/+/%s"
 | ||
| "${c2} .\`                                 \`/%s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"Mint")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'white') # White
 | ||
| 				c2=$(getColor 'light green') # Bold Green
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; fi
 | ||
| 			startline="0"
 | ||
| 			logowidth="38"
 | ||
| 			fulloutput=(
 | ||
| "${c2}                                      %s"
 | ||
| "${c2} MMMMMMMMMMMMMMMMMMMMMMMMMmds+.       %s"
 | ||
| "${c2} MMm----::-://////////////oymNMd+\`    %s"
 | ||
| "${c2} MMd      ${c1}/++                ${c2}-sNMd:   %s"
 | ||
| "${c2} MMNso/\`  ${c1}dMM    \`.::-. .-::.\` ${c2}.hMN:  %s"
 | ||
| "${c2} ddddMMh  ${c1}dMM   :hNMNMNhNMNMNh: ${c2}\`NMm  %s"
 | ||
| "${c2}     NMm  ${c1}dMM  .NMN/-+MMM+-/NMN\` ${c2}dMM  %s"
 | ||
| "${c2}     NMm  ${c1}dMM  -MMm  \`MMM   dMM. ${c2}dMM  %s"
 | ||
| "${c2}     NMm  ${c1}dMM  -MMm  \`MMM   dMM. ${c2}dMM  %s"
 | ||
| "${c2}     NMm  ${c1}dMM  .mmd  \`mmm   yMM. ${c2}dMM  %s"
 | ||
| "${c2}     NMm  ${c1}dMM\`  ..\`   ...   ydm. ${c2}dMM  %s"
 | ||
| "${c2}     hMM- ${c1}+MMd/-------...-:sdds  ${c2}dMM  %s"
 | ||
| "${c2}     -NMm- ${c1}:hNMNNNmdddddddddy/\`  ${c2}dMM  %s"
 | ||
| "${c2}      -dMNs-${c1}\`\`-::::-------.\`\`    ${c2}dMM  %s"
 | ||
| "${c2}       \`/dMNmy+/:-------------:/yMMM  %s"
 | ||
| "${c2}          ./ydNMMMMMMMMMMMMMMMMMMMMM  %s"
 | ||
| "${c2}             \.MMMMMMMMMMMMMMMMMMM    %s"
 | ||
| "${c2}                                      %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"LMDE")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'white') # White
 | ||
| 				c2=$(getColor 'light green') # Bold Green
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; fi
 | ||
| 			startline="0"
 | ||
| 			logowidth="31"
 | ||
| 			fulloutput=(
 | ||
| "${c1}          \`.-::---..           %s"
 | ||
| "${c2}       .:++++ooooosssoo:.      %s"
 | ||
| "${c2}     .+o++::.      \`.:oos+.    %s"
 | ||
| "${c2}    :oo:.\`             -+oo${c1}:   %s"
 | ||
| "${c2}  ${c1}\`${c2}+o/\`    .${c1}::::::${c2}-.    .++-${c1}\`  %s"
 | ||
| "${c2} ${c1}\`${c2}/s/    .yyyyyyyyyyo:   +o-${c1}\`  %s"
 | ||
| "${c2} ${c1}\`${c2}so     .ss       ohyo\` :s-${c1}:  %s"
 | ||
| "${c2} ${c1}\`${c2}s/     .ss  h  m  myy/ /s\`${c1}\`  %s"
 | ||
| "${c2} \`s:     \`oo  s  m  Myy+-o:\`   %s"
 | ||
| "${c2} \`oo      :+sdoohyoydyso/.     %s"
 | ||
| "${c2}  :o.      .:////////++:       %s"
 | ||
| "${c2}  \`/++        ${c1}-:::::-          %s"
 | ||
| "${c2}   ${c1}\`${c2}++-                        %s"
 | ||
| "${c2}    ${c1}\`${c2}/+-                       %s"
 | ||
| "${c2}      ${c1}.${c2}+/.                     %s"
 | ||
| "${c2}        ${c1}.${c2}:+-.                  %s"
 | ||
| "${c2}           \`--.\`\`              %s"
 | ||
| "${c2}                               %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"Ubuntu")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'white') # White
 | ||
| 				c2=$(getColor 'light red') # Light Red
 | ||
| 				c3=$(getColor 'yellow') # Bold Yellow
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; c3="${my_lcolor}"; fi
 | ||
| 			startline="0"
 | ||
| 			logowidth="38"
 | ||
| 			fulloutput=(
 | ||
| "${c2}                          ./+o+-      %s"
 | ||
| "${c1}                  yyyyy- ${c2}-yyyyyy+     %s"
 | ||
| "${c1}               ${c1}://+//////${c2}-yyyyyyo     %s"
 | ||
| "${c3}           .++ ${c1}.:/++++++/-${c2}.+sss/\`     %s"
 | ||
| "${c3}         .:++o:  ${c1}/++++++++/:--:/-     %s"
 | ||
| "${c3}        o:+o+:++.${c1}\`..\`\`\`.-/oo+++++/    %s"
 | ||
| "${c3}       .:+o:+o/.${c1}          \`+sssoo+/   %s"
 | ||
| "${c1}  .++/+:${c3}+oo+o:\`${c1}             /sssooo.  %s"
 | ||
| "${c1} /+++//+:${c3}\`oo+o${c1}               /::--:.  %s"
 | ||
| "${c1} \+/+o+++${c3}\`o++o${c2}               ++////.  %s"
 | ||
| "${c1}  .++.o+${c3}++oo+:\`${c2}             /dddhhh.  %s"
 | ||
| "${c3}       .+.o+oo:.${c2}          \`oddhhhh+   %s"
 | ||
| "${c3}        \+.++o+o\`${c2}\`-\`\`\`\`.:ohdhhhhh+    %s"
 | ||
| "${c3}         \`:o+++ ${c2}\`ohhhhhhhhyo++os:     %s"
 | ||
| "${c3}           .o:${c2}\`.syhhhhhhh/${c3}.oo++o\`     %s"
 | ||
| "${c2}               /osyyyyyyo${c3}++ooo+++/    %s"
 | ||
| "${c2}                   \`\`\`\`\` ${c3}+oo+++o\:    %s"
 | ||
| "${c3}                          \`oo++.      %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"KDE neon")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'light green') # Bold Green
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; fi
 | ||
| 			startline="0"
 | ||
| 			logowidth="43"
 | ||
| 			fulloutput=(
 | ||
| "${c1}              \`..---+/---..\`               %s"
 | ||
| "${c1}          \`---.\`\`   \`\`   \`.---.\`           %s"
 | ||
| "${c1}       .--.\`        \`\`        \`-:-.        %s"
 | ||
| "${c1}     \`:/:     \`.----//----.\`     :/-       %s"
 | ||
| "${c1}    .:.    \`---\`          \`--.\`    .:\`     %s"
 | ||
| "${c1}   .:\`   \`--\`                .:-    \`:.    %s"
 | ||
| "${c1}  \`/    \`:.      \`.-::-.\`      -:\`   \`/\`   %s"
 | ||
| "${c1}  /.    /.     \`:++++++++:\`     .:    .:   %s"
 | ||
| "${c1} \`/    .:     \`+++++++++++/      /\`   \`+\`  %s"
 | ||
| "${c1} /+\`   --     .++++++++++++\`     :.   .+:  %s"
 | ||
| "${c1} \`/    .:     \`+++++++++++/      /\`   \`+\`  %s"
 | ||
| "${c1}  /\`    /.     \`:++++++++:\`     .:    .:   %s"
 | ||
| "${c1}  ./    \`:.      \`.:::-.\`      -:\`   \`/\`   %s"
 | ||
| "${c1}   .:\`   \`--\`                .:-    \`:.    %s"
 | ||
| "${c1}    .:.    \`---\`          \`--.\`    .:\`     %s"
 | ||
| "${c1}     \`:/:     \`.----//----.\`     :/-       %s"
 | ||
| "${c1}       .-:.\`        \`\`        \`-:-.        %s"
 | ||
| "${c1}          \`---.\`\`   \`\`   \`.---.\`           %s"
 | ||
| "${c1}              \`..---+/---..\`               %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"Debian")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'white') # White
 | ||
| 				c2=$(getColor 'light red') # Light Red
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; fi
 | ||
| 			startline="0"
 | ||
| 			logowidth="32"
 | ||
| 			fulloutput=(
 | ||
| "${c1}         _,met\$\$\$\$\$gg.          %s"
 | ||
| "${c1}      ,g\$\$\$\$\$\$\$\$\$\$\$\$\$\$\$P.       %s"
 | ||
| "${c1}    ,g\$\$P\"\"       \"\"\"Y\$\$.\".     %s"
 | ||
| "${c1}   ,\$\$P'              \`\$\$\$.     %s"
 | ||
| "${c1}  ',\$\$P       ,ggs.     \`\$\$b:   %s"
 | ||
| "${c1}  \`d\$\$'     ,\$P\"\'   ${c2}.${c1}    \$\$\$    %s"
 | ||
| "${c1}   \$\$P      d\$\'     ${c2},${c1}    \$\$P    %s"
 | ||
| "${c1}   \$\$:      \$\$.   ${c2}-${c1}    ,d\$\$'    %s"
 | ||
| "${c1}   \$\$\;      Y\$b._   _,d\$P'     %s"
 | ||
| "${c1}   Y\$\$.    ${c2}\`.${c1}\`\"Y\$\$\$\$P\"'         %s"
 | ||
| "${c1}   \`\$\$b      ${c2}\"-.__              %s"
 | ||
| "${c1}    \`Y\$\$                        %s"
 | ||
| "${c1}     \`Y\$\$.                      %s"
 | ||
| "${c1}       \`\$\$b.                    %s"
 | ||
| "${c1}         \`Y\$\$b.                 %s"
 | ||
| "${c1}            \`\"Y\$b._             %s"
 | ||
| "${c1}                \`\"\"\"\"           %s"
 | ||
| "${c1}                                %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"Devuan")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'light purple') # Light purple
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; fi
 | ||
| 			startline="0"
 | ||
| 			logowidth="36"
 | ||
| 			fulloutput=(
 | ||
| "${c1}                                    %s"
 | ||
| "${c1}     ..,,;;;::;,..                  %s"
 | ||
| "${c1}             \`':ddd;:,.             %s"
 | ||
| "${c1}                   \`'dPPd:,.        %s"
 | ||
| "${c1}                       \`:b\$\$b\`.     %s"
 | ||
| "${c1}                          'P\$\$\$d\`   %s"
 | ||
| "${c1}                           .\$\$\$\$\$\`  %s"
 | ||
| "${c1}                           ;\$\$\$\$\$P  %s"
 | ||
| "${c1}                        .:P\$\$\$\$\$\$\`  %s"
 | ||
| "${c1}                    .,:b\$\$\$\$\$\$\$;'   %s"
 | ||
| "${c1}               .,:dP\$\$\$\$\$\$\$\$b:'     %s"
 | ||
| "${c1}        .,:;db\$\$\$\$\$\$\$\$\$\$Pd'\`        %s"
 | ||
| "${c1}   ,db\$\$\$\$\$\$\$\$\$\$\$\$\$\$b:'\`            %s"
 | ||
| "${c1}  :\$\$\$\$\$\$\$\$\$\$\$\$b:'\`                 %s"
 | ||
| "${c1}   \`\$\$\$\$\$bd:''\`                     %s"
 | ||
| "${c1}     \`'''\`                          %s"
 | ||
| "${c1}                                    %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"Raspbian")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'light green') # Light Green
 | ||
| 				c2=$(getColor 'light red') # Light Red
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; fi
 | ||
| 			startline="0"
 | ||
| 			logowidth="32"
 | ||
| 			fulloutput=(
 | ||
| "${c1}    .',;:cc;,'.    .,;::c:,,.   %s"
 | ||
| "${c1}   ,ooolcloooo:  'oooooccloo:   %s"
 | ||
| "${c1}   .looooc;;:ol  :oc;;:ooooo'   %s"
 | ||
| "${c1}     ;oooooo:      ,ooooooc.    %s"
 | ||
| "${c1}       .,:;'.       .;:;'.      %s"
 | ||
| "${c2}       .... ..'''''. ....       %s"
 | ||
| "${c2}     .''.   ..'''''.  ..''.     %s"
 | ||
| "${c2}     ..  .....    .....  ..     %s"
 | ||
| "${c2}    .  .'''''''  .''''''.  .    %s"
 | ||
| "${c2}  .'' .''''''''  .'''''''. ''.  %s"
 | ||
| "${c2}  '''  '''''''    .''''''  '''  %s"
 | ||
| "${c2}  .'    ........... ...    .'.  %s"
 | ||
| "${c2}    ....    ''''''''.   .''.    %s"
 | ||
| "${c2}    '''''.  ''''''''. .'''''    %s"
 | ||
| "${c2}     '''''.  .'''''. .'''''.    %s"
 | ||
| "${c2}      ..''.     .    .''..      %s"
 | ||
| "${c2}            .'''''''            %s"
 | ||
| "${c2}             ......             %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"CrunchBang")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'white') # White
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; fi
 | ||
| 			startline="0"
 | ||
| 			logowidth="38"
 | ||
| 			fulloutput=(
 | ||
| "${c1}                                      %s"
 | ||
| "${c1}         ███        ███          ███  %s"
 | ||
| "${c1}         ███        ███          ███  %s"
 | ||
| "${c1}         ███        ███          ███  %s"
 | ||
| "${c1}         ███        ███          ███  %s"
 | ||
| "${c1}  ████████████████████████████   ███  %s"
 | ||
| "${c1}  ████████████████████████████   ███  %s"
 | ||
| "${c1}         ███        ███          ███  %s"
 | ||
| "${c1}         ███        ███          ███  %s"
 | ||
| "${c1}         ███        ███          ███  %s"
 | ||
| "${c1}         ███        ███          ███  %s"
 | ||
| "${c1}  ████████████████████████████   ███  %s"
 | ||
| "${c1}  ████████████████████████████   ███  %s"
 | ||
| "${c1}         ███        ███               %s"
 | ||
| "${c1}         ███        ███               %s"
 | ||
| "${c1}         ███        ███          ███  %s"
 | ||
| "${c1}         ███        ███          ███  %s"
 | ||
| "${c1}                                      %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"CRUX")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'light cyan')
 | ||
| 				c2=$(getColor 'yellow')
 | ||
| 				c3=$(getColor 'white')
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; c3="${my_lcolor}"; fi
 | ||
| 			startline="1"
 | ||
| 			logowidth="27"
 | ||
| 			fulloutput=(""
 | ||
| "${c1}          odddd            "
 | ||
| "${c1}       oddxkkkxxdoo        %s"
 | ||
| "${c1}      ddcoddxxxdoool       %s"
 | ||
| "${c1}      xdclodod  olol       %s"
 | ||
| "${c1}      xoc  xdd  olol       %s"
 | ||
| "${c1}      xdc  ${c2}k00${c1}Okdlol       %s"
 | ||
| "${c1}      xxd${c2}kOKKKOkd${c1}ldd       %s"
 | ||
| "${c1}      xdco${c2}xOkdlo${c1}dldd       %s"
 | ||
| "${c1}      ddc:cl${c2}lll${c1}oooodo      %s"
 | ||
| "${c1}    odxxdd${c3}xkO000kx${c1}ooxdo    %s"
 | ||
| "${c1}   oxdd${c3}x0NMMMMMMWW0od${c1}kkxo  %s"
 | ||
| "${c1}  oooxd${c3}0WMMMMMMMMMW0o${c1}dxkx  %s"
 | ||
| "${c1} docldkXW${c3}MMMMMMMWWN${c1}Odolco  %s"
 | ||
| "${c1} xx${c2}dx${c1}kxxOKN${c3}WMMWN${c1}0xdoxo::c  %s"
 | ||
| "${c2} xOkkO${c1}0oo${c3}odOW${c2}WW${c1}XkdodOxc:l  %s"
 | ||
| "${c2} dkkkxkkk${c3}OKX${c2}NNNX0Oxx${c1}xc:cd  %s"
 | ||
| "${c2}  odxxdx${c3}xllod${c2}ddooxx${c1}dc:ldo  %s"
 | ||
| "${c2}    lodd${c1}dolccc${c2}ccox${c1}xoloo    %s"
 | ||
| "${c1}                           %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"Chrome OS")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'green') # Green
 | ||
| 				c2=$(getColor 'light red') # Light Red
 | ||
| 				c3=$(getColor 'yellow') # Bold Yellow
 | ||
| 				c4=$(getColor 'light blue') # Light Blue
 | ||
| 				c5=$(getColor 'white') # White
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; c3="${my_lcolor}"; c4="${my_lcolor}"; c5="${my_lcolor}"; fi
 | ||
| 			startline="0"
 | ||
| 			logowidth="38"
 | ||
| 			fulloutput=(
 | ||
| "${c2}             .,:loool:,.              %s"
 | ||
| "${c2}         .,coooooooooooooc,.          %s"
 | ||
| "${c2}      .,lllllllllllllllllllll,.       %s"
 | ||
| "${c2}     ;ccccccccccccccccccccccccc;      %s"
 | ||
| "${c1}   '${c2}ccccccccccccccccccccccccccccc.    %s"
 | ||
| "${c1}  ,oo${c2}c::::::::okO${c5}000${c3}0OOkkkkkkkkkkk:   %s"
 | ||
| "${c1} .ooool${c2};;;;:x${c5}K0${c4}kxxxxxk${c5}0X${c3}K0000000000.  %s"
 | ||
| "${c1} :oooool${c2};,;O${c5}K${c4}ddddddddddd${c5}KX${c3}000000000d  %s"
 | ||
| "${c1} lllllool${c2};l${c5}N${c4}dllllllllllld${c5}N${c3}K000000000  %s"
 | ||
| "${c1} lllllllll${c2}o${c5}M${c4}dccccccccccco${c5}W${c3}K000000000  %s"
 | ||
| "${c1} ;cllllllllX${c5}X${c4}c:::::::::c${c5}0X${c3}000000000d  %s"
 | ||
| "${c1} .ccccllllllO${c5}Nk${c4}c;,,,;cx${c5}KK${c3}0000000000.  %s"
 | ||
| "${c1}  .cccccclllllxOO${c5}OOO${c1}Okx${c3}O0000000000;   %s"
 | ||
| "${c1}   .:ccccccccllllllllo${c3}O0000000OOO,    %s"
 | ||
| "${c1}     ,:ccccccccclllcd${c3}0000OOOOOOl.     %s"
 | ||
| "${c1}       '::ccccccccc${c3}dOOOOOOOkx:.       %s"
 | ||
| "${c1}         ..,::cccc${c3}xOOOkkko;.          %s"
 | ||
| "${c1}             ..,:${c3}dOkxl:.              %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"DesaOS")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'light green') #Hijau
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; fi
 | ||
| 			startline="0"
 | ||
| 			logowidth="33"
 | ||
| 			fulloutput=(
 | ||
| "${c1} ████████████████████████████ %s"
 | ||
| "${c1} ████████████████████████████ %s"
 | ||
| "${c1} ████████████████████████████ %s"
 | ||
| "${c1} ████████████████████████████ %s"
 | ||
| "${c1} █████████████               ███████████ %s"
 | ||
| "${c1} █████████████               ███████████ %s"
 | ||
| "${c1} █████████████               ███████████ %s"
 | ||
| "${c1} █████████████               ███████████ %s"
 | ||
| "${c1} █████████████               ███████████ %s"
 | ||
| "${c1} █████████████               ███████████ %s"
 | ||
| "${c1} █████████████               ███████████ %s"
 | ||
| "${c1} █████████████               ███████████ %s"
 | ||
| "${c1} █████████████               ███████████ %s"
 | ||
| "${c1} ████████████████████████████ %s"
 | ||
| "${c1} ████████████████████████████ %s"
 | ||
| "${c1} ████████████████████████████ %s"
 | ||
| "${c1} ████████████████████████████ %s"
 | ||
| "                                 %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"Gentoo")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'white') # White
 | ||
| 				c2=$(getColor 'light purple') # Light Purple
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; fi
 | ||
| 			startline="0"
 | ||
| 			logowidth="37"
 | ||
| 			fulloutput=(
 | ||
| "${c2}         -/oyddmdhs+:.               %s"
 | ||
| "${c2}     -o${c1}dNMMMMMMMMNNmhy+${c2}-\`            %s"
 | ||
| "${c2}   -y${c1}NMMMMMMMMMMMNNNmmdhy${c2}+-          %s"
 | ||
| "${c2} \`o${c1}mMMMMMMMMMMMMNmdmmmmddhhy${c2}/\`       %s"
 | ||
| "${c2} om${c1}MMMMMMMMMMMN${c2}hhyyyo${c1}hmdddhhhd${c2}o\`     %s"
 | ||
| "${c2}.y${c1}dMMMMMMMMMMd${c2}hs++so/s${c1}mdddhhhhdm${c2}+\`   %s"
 | ||
| "${c2} oy${c1}hdmNMMMMMMMN${c2}dyooy${c1}dmddddhhhhyhN${c2}d.  %s"
 | ||
| "${c2}  :o${c1}yhhdNNMMMMMMMNNNmmdddhhhhhyym${c2}Mh  %s"
 | ||
| "${c2}    .:${c1}+sydNMMMMMNNNmmmdddhhhhhhmM${c2}my  %s"
 | ||
| "${c2}       /m${c1}MMMMMMNNNmmmdddhhhhhmMNh${c2}s:  %s"
 | ||
| "${c2}    \`o${c1}NMMMMMMMNNNmmmddddhhdmMNhs${c2}+\`   %s"
 | ||
| "${c2}  \`s${c1}NMMMMMMMMNNNmmmdddddmNMmhs${c2}/.     %s"
 | ||
| "${c2} /N${c1}MMMMMMMMNNNNmmmdddmNMNdso${c2}:\`       %s"
 | ||
| "${c2}+M${c1}MMMMMMNNNNNmmmmdmNMNdso${c2}/-          %s"
 | ||
| "${c2}yM${c1}MNNNNNNNmmmmmNNMmhs+/${c2}-\`            %s"
 | ||
| "${c2}/h${c1}MMNNNNNNNNMNdhs++/${c2}-\`               %s"
 | ||
| "${c2}\`/${c1}ohdmmddhys+++/:${c2}.\`                  %s"
 | ||
| "${c2}  \`-//////:--.                       %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"Funtoo")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'white') # White
 | ||
| 				c2=$(getColor 'light purple') # Light Purple
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; fi
 | ||
| 			startline="0"
 | ||
| 			logowidth="52"
 | ||
| 			fulloutput=(
 | ||
| "${c1}                                                    %s"
 | ||
| "${c1}                                                    %s"
 | ||
| "${c1}                                                    %s"
 | ||
| "${c1}                                                    %s"
 | ||
| "${c1}     _______               ____                     %s"
 | ||
| "${c1}    /MMMMMMM/             /MMMM| _____  _____       %s"
 | ||
| "${c1} __/M${c2}.MMM.${c1}M/_____________|M${c2}.M${c1}MM|/MMMMM\/MMMMM\      %s"
 | ||
| "${c1}|MMMM${c2}MM'${c1}MMMMMMMMMMMMMMMMMMM${c2}MM${c1}MMMM${c2}.MMMM..MMMM.${c1}MM\    %s"
 | ||
| "${c1}|MM${c2}MMMMMMM${c1}/m${c2}MMMMMMMMMMMMMMMMMMMMMM${c1}MMMM${c2}MM${c1}MMMM${c2}MM${c1}MM|   %s"
 | ||
| "${c1}|MMMM${c2}MM${c1}MMM${c2}MM${c1}MM${c2}MM${c1}MM${c2}MM${c1}MMMMM${c2}\MMM${c1}MMM${c2}MM${c1}MMMM${c2}MM${c1}MMMM${c2}MM${c1}MM|   %s"
 | ||
| "${c1}  |MM${c2}MM${c1}MMM${c2}MM${c1}MM${c2}MM${c1}MM${c2}MM${c1}MM${c2}MM${c1}MM${c2}MMM${c1}MMMM${c2}'MMMM''MMMM'${c1}MM/    %s"
 | ||
| "${c1}  |MM${c2}MM${c1}MMM${c2}MM${c1}MM${c2}MM${c1}MM${c2}MM${c1}MM${c2}MM${c1}MM${c2}MMM${c1}MMM\MMMMM/\MMMMM/      %s"
 | ||
| "${c1}  |MM${c2}MM${c1}MMM${c2}MM${c1}MMMMMM${c2}MM${c1}MM${c2}MM${c1}MM${c2}MMMMM'${c1}M|                  %s"
 | ||
| "${c1}  |MM${c2}MM${c1}MMM${c2}MMMMMMMMMMMMMMMMM MM'${c1}M/                   %s"
 | ||
| "${c1}  |MMMMMMMMMMMMMMMMMMMMMMMMMMMM/                    %s"
 | ||
| "${c1}                                                    %s"
 | ||
| "${c1}                                                    %s"
 | ||
| "${c1}                                                    %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"Kogaion")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'light blue') # Light Blue
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; fi
 | ||
| 			startline="0"
 | ||
| 			logowidth="41"
 | ||
| 			fulloutput=(
 | ||
| "${c1}                  ;;      ,;             %s"
 | ||
| "${c1}                 ;;;     ,;;             %s"
 | ||
| "${c1}               ,;;;;     ;;;;            %s"
 | ||
| "${c1}            ,;;;;;;;;    ;;;;            %s"
 | ||
| "${c1}           ;;;;;;;;;;;   ;;;;;           %s"
 | ||
| "${c1}          ,;;;;;;;;;;;;  ';;;;;,         %s"
 | ||
| "${c1}          ;;;;;;;;;;;;;;, ';;;;;;;       %s"
 | ||
| "${c1}          ;;;;;;;;;;;;;;;;;, ';;;;;      %s"
 | ||
| "${c1}      ;    ';;;;;;;;;;;;;;;;;;, ;;;      %s"
 | ||
| "${c1}      ;;;,  ';;;;;;;;;;;;;;;;;;;,;;      %s"
 | ||
| "${c1}      ;;;;;,  ';;;;;;;;;;;;;;;;;;,       %s"
 | ||
| "${c1}      ;;;;;;;;,  ';;;;;;;;;;;;;;;;,      %s"
 | ||
| "${c1}      ;;;;;;;;;;;;, ';;;;;;;;;;;;;;      %s"
 | ||
| "${c1}      ';;;;;;;;;;;;; ';;;;;;;;;;;;;      %s"
 | ||
| "${c1}       ';;;;;;;;;;;;;, ';;;;;;;;;;;      %s"
 | ||
| "${c1}        ';;;;;;;;;;;;;  ;;;;;;;;;;       %s"
 | ||
| "${c1}          ';;;;;;;;;;;; ;;;;;;;;         %s"
 | ||
| "${c1}              ';;;;;;;; ;;;;;;           %s"
 | ||
| "${c1}                 ';;;;; ;;;;             %s"
 | ||
| "${c1}                   ';;; ;;               %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"Fedora")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'white') # White
 | ||
| 				c2=$(getColor 'light blue') # Light Blue
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; fi
 | ||
| 			startline="0"
 | ||
| 			logowidth="37"
 | ||
| 			fulloutput=(
 | ||
| "${c2}           /:-------------:\         %s"
 | ||
| "${c2}        :-------------------::       %s"
 | ||
| "${c2}      :-----------${c1}/shhOHbmp${c2}---:\\     %s"
 | ||
| "${c2}    /-----------${c1}omMMMNNNMMD  ${c2}---:    %s"
 | ||
| "${c2}   :-----------${c1}sMMMMNMNMP${c2}.    ---:   %s"
 | ||
| "${c2}  :-----------${c1}:MMMdP${c2}-------    ---\  %s"
 | ||
| "${c2} ,------------${c1}:MMMd${c2}--------    ---:  %s"
 | ||
| "${c2} :------------${c1}:MMMd${c2}-------    .---:  %s"
 | ||
| "${c2} :----    ${c1}oNMMMMMMMMMNho${c2}     .----:  %s"
 | ||
| "${c2} :--     .${c1}+shhhMMMmhhy++${c2}   .------/  %s"
 | ||
| "${c2} :-    -------${c1}:MMMd${c2}--------------:   %s"
 | ||
| "${c2} :-   --------${c1}/MMMd${c2}-------------;    %s"
 | ||
| "${c2} :-    ------${c1}/hMMMy${c2}------------:     %s"
 | ||
| "${c2} :--${c1} :dMNdhhdNMMNo${c2}------------;      %s"
 | ||
| "${c2} :---${c1}:sdNMMMMNds:${c2}------------:       %s"
 | ||
| "${c2} :------${c1}:://:${c2}-------------::         %s"
 | ||
| "${c2} :---------------------://           %s"
 | ||
| "${c2}                                     %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"Fux")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'white') # White
 | ||
| 				c2=$(getColor 'light blue') # Light Blue
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; fi
 | ||
| 			startline="0"
 | ||
| 			fulloutput=(
 | ||
| "${c2}           --/+osssso+/--           %s"
 | ||
| "${c2}        -/oshhhhhhhhhhhhso/-        %s"
 | ||
| "${c2}      :oyhhhhhso+//+oshhhhhso:      %s"
 | ||
| "${c2}    -+yhhhh+.   ss+/   .+hhhhs+-    %s"
 | ||
| "${c2}   :/hhhh/     shhhy/     /hhhh/:   %s"
 | ||
| "${c2}  ./hhhh- .++:..dhhb..:++. -hhhh/.  %s"
 | ||
| "${c2}  +ohhh: -hoyhohhoohhohyoh- :hhho+  %s"
 | ||
| "${c2}  /hhhh   shhy-ohyyho-yhhs   hhhh/  %s"
 | ||
| "${c2}  /hhhh    shy\+hhhh+/yhs    hhhh/  %s"
 | ||
| "${c2}  +ohhh:  .:d. +:ys:+ .b:.  :hhho+  %s"
 | ||
| "${c2}  ./hhhh- do  /  oo  \  ob -hhhh/.  %s"
 | ||
| "${c2}   :/hhhh/   -   ss   -   /hhhh/:   %s"
 | ||
| "${c2}    -+shhhh+.    //    .+hhhhs+-    %s"
 | ||
| "${c2}      :oshhhhhso+//+oshhhhhso:      %s"
 | ||
| "${c2}        -/oshhhhhhhhhhhhso/-        %s"
 | ||
| "${c2}           --/+osssso+/--           %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"Chapeau")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'white') # White
 | ||
| 				c2=$(getColor 'light green') # Light Green
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; fi
 | ||
| 			startline="0"
 | ||
| 			logowidth="35"
 | ||
| 			fulloutput=(
 | ||
| "${c2}               .-/-.               %s"
 | ||
| "${c2}             ////////.             %s"
 | ||
| "${c2}           ////////${c1}y+${c2}//.           %s"
 | ||
| "${c2}         ////////${c1}mMN${c2}/////.         %s"
 | ||
| "${c2}       ////////${c1}mMN+${c2}////////.       %s"
 | ||
| "${c2}     ////////////////////////.     %s"
 | ||
| "${c2}   /////////+${c1}shhddhyo${c2}+////////.    %s"
 | ||
| "${c2}  ////////${c1}ymMNmdhhdmNNdo${c2}///////.   %s"
 | ||
| "${c2} ///////+${c1}mMms${c2}////////${c1}hNMh${c2}///////.  %s"
 | ||
| "${c2} ///////${c1}NMm+${c2}//////////${c1}sMMh${c2}///////  %s"
 | ||
| "${c2} //////${c1}oMMNmmmmmmmmmmmmMMm${c2}///////  %s"
 | ||
| "${c2} //////${c1}+MMmssssssssssssss+${c2}///////  %s"
 | ||
| "${c2} \`//////${c1}yMMy${c2}////////////////////   %s"
 | ||
| "${c2}  \`//////${c1}smMNhso++oydNm${c2}////////    %s"
 | ||
| "${c2}   \`///////${c1}ohmNMMMNNdy+${c2}///////     %s"
 | ||
| "${c2}     \`//////////${c1}++${c2}//////////       %s"
 | ||
| "${c2}        \`////////////////.         %s"
 | ||
| "${c2}            -////////-             %s"
 | ||
| "${c2}                                   %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"Korora")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'white')
 | ||
| 				c2=$(getColor 'light blue')
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; fi
 | ||
| 			startline="0"
 | ||
| 			logowidth="32"
 | ||
| 			fulloutput=(
 | ||
| "${c1}                 ____________   %s"
 | ||
| "${c1}              _add55555555554${c2}:  %s"
 | ||
| "${c1}            _w?'${c2}\`\`\`\`\`\`\`\`\`\`'${c1})k${c2}:  %s"
 | ||
| "${c1}           _Z'${c2}\`${c1}            ]k${c2}:  %s"
 | ||
| "${c1}           m(${c2}\`${c1}             )k${c2}:  %s"
 | ||
| "${c1}      _.ss${c2}\`${c1}m[${c2}\`${c1},            ]e${c2}:  %s"
 | ||
| "${c1}    .uY\"^\`${c2}\`${c1}Xc${c2}\`${c1}?Ss.         d(${c2}\`  %s"
 | ||
| "${c1}   jF'${c2}\`${c1}    \`@.  ${c2}\`${c1}Sc      .jr${c2}\`   %s"
 | ||
| "${c1}  jr${c2}\`${c1}       \`?n_ ${c2}\`${c1}$;   _a2\"${c2}\`    %s"
 | ||
| "${c1} .m${c2}:${c1}          \`~M${c2}\`${c1}1k${c2}\`${c1}5?!\`${c2}\`      %s"
 | ||
| "${c1} :#${c2}:${c1}             ${c2}\`${c1})e${c2}\`\`\`         %s"
 | ||
| "${c1} :m${c2}:${c1}             ,#'${c2}\`           %s"
 | ||
| "${c1} :#${c2}:${c1}           .s2'${c2}\`            %s"
 | ||
| "${c1} :m,________.aa7^${c2}\`              %s"
 | ||
| "${c1} :#baaaaaaas!J'${c2}\`                %s"
 | ||
| "${c2}  \`\`\`\`\`\`\`\`\`\`\`                   %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"gNewSense")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'light blue') # Light Blue
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; fi
 | ||
| 			startline="0"
 | ||
| 			logowidth="52"
 | ||
| 			fulloutput=(
 | ||
| "${c1}                      ..,,,,..                      %s"
 | ||
| "${c1}                .oocchhhhhhhhhhccoo.                %s"
 | ||
| "${c1}         .ochhlllllllc hhhhhh ollllllhhco.          %s"
 | ||
| "${c1}     ochlllllllllll hhhllllllhhh lllllllllllhco     %s"
 | ||
| "${c1}  .cllllllllllllll hlllllo  +hllh llllllllllllllc.  %s"
 | ||
| "${c1} ollllllllllhco\'\'  hlllllo  +hllh  \`\`ochllllllllllo %s"
 | ||
| "${c1} hllllllllc\'       hllllllllllllh       \`cllllllllh %s"
 | ||
| "${c1} ollllllh          +llllllllllll+          hllllllo %s"
 | ||
| "${c1}  \`cllllh.           ohllllllho           .hllllc\'  %s"
 | ||
| "${c1}     ochllc.            ++++            .cllhco     %s"
 | ||
| "${c1}        \`+occooo+.                .+ooocco+\'        %s"
 | ||
| "${c1}               \`+oo++++      ++++oo+\'               %s"
 | ||
| "${c1}                                                    %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"BLAG")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'light purple')
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; fi
 | ||
| 			startline="0"
 | ||
| 			logowidth="36"
 | ||
| 			fulloutput=(
 | ||
| "${c1}              d                     %s"
 | ||
| "${c1}             ,MK:                   %s"
 | ||
| "${c1}             xMMMX:                 %s"
 | ||
| "${c1}            .NMMMMMX;               %s"
 | ||
| "${c1}            lMMMMMMMM0clodkO0KXWW:  %s"
 | ||
| "${c1}            KMMMMMMMMMMMMMMMMMMX'   %s"
 | ||
| "${c1}       .;d0NMMMMMMMMMMMMMMMMMMK.    %s"
 | ||
| "${c1}  .;dONMMMMMMMMMMMMMMMMMMMMMMx      %s"
 | ||
| "${c1} 'dKMMMMMMMMMMMMMMMMMMMMMMMMl       %s"
 | ||
| "${c1}    .:xKWMMMMMMMMMMMMMMMMMMM0.      %s"
 | ||
| "${c1}        .:xNMMMMMMMMMMMMMMMMMK.     %s"
 | ||
| "${c1}           lMMMMMMMMMMMMMMMMMMK.    %s"
 | ||
| "${c1}           ,MMMMMMMMWkOXWMMMMMM0    %s"
 | ||
| "${c1}           .NMMMMMNd.     \`':ldko   %s"
 | ||
| "${c1}            OMMMK:                  %s"
 | ||
| "${c1}            oWk,                    %s"
 | ||
| "${c1}            ;:                      %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"FreeBSD")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'white') # white
 | ||
| 				c2=$(getColor 'light red') # Light Red
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; fi
 | ||
| 			startline="0"
 | ||
| 			logowidth="37"
 | ||
| 			fulloutput=(
 | ||
| "${c1}                                     %s"
 | ||
| "${c1}   \`\`\`                        ${c2}\`      %s"
 | ||
| "${c1}  \` \`.....---...${c2}....--.\`\`\`   -/      %s"
 | ||
| "${c1}  +o   .--\`         ${c2}/y:\`      +.     %s"
 | ||
| "${c1}   yo\`:.            ${c2}:o      \`+-      %s"
 | ||
| "${c1}    y/               ${c2}-/\`   -o/       %s"
 | ||
| "${c1}   .-                  ${c2}::/sy+:.      %s"
 | ||
| "${c1}   /                     ${c2}\`--  /      %s"
 | ||
| "${c1}  \`:                          ${c2}:\`     %s"
 | ||
| "${c1}  \`:                          ${c2}:\`     %s"
 | ||
| "${c1}   /                          ${c2}/      %s"
 | ||
| "${c1}   .-                        ${c2}-.      %s"
 | ||
| "${c1}    --                      ${c2}-.       %s"
 | ||
| "${c1}     \`:\`                  ${c2}\`:\`        %s"
 | ||
| "${c2}       .--             \`--.          %s"
 | ||
| "${c2}          .---.....----.             %s"
 | ||
| "${c2}                                     %s"
 | ||
| "${c2}                                     %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"FreeBSD - Old")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'white') # white
 | ||
| 				c2=$(getColor 'light red') # Light Red
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; fi
 | ||
| 			startline="0"
 | ||
| 			logowidth="34"
 | ||
| 			fulloutput=(
 | ||
| "${c2}              ,        ,          %s"
 | ||
| "${c2}             /(        )\`         %s"
 | ||
| "${c2}             \ \___   / |         %s"
 | ||
| "${c2}             /- ${c1}_${c2}  \`-/  '         %s"
 | ||
| "${c2}            (${c1}/\/ \ ${c2}\   /\\         %s"
 | ||
| "${c1}            / /   |${c2} \`    \\        %s"
 | ||
| "${c1}            O O   )${c2} /    |        %s"
 | ||
| "${c1}            \`-^--'\`${c2}<     '        %s"
 | ||
| "${c2}           (_.)  _  )   /         %s"
 | ||
| "${c2}            \`.___/\`    /          %s"
 | ||
| "${c2}              \`-----' /           %s"
 | ||
| "${c1} <----.     ${c2}__/ __   \\            %s"
 | ||
| "${c1} <----|====${c2}O}}}${c1}==${c2}} \} \/${c1}====      %s"
 | ||
| "${c1} <----'    ${c2}\`--' \`.__,' \\          %s"
 | ||
| "${c2}              |        |          %s"
 | ||
| "${c2}               \       /       /\\ %s"
 | ||
| "${c2}          ______( (_  / \______/  %s"
 | ||
| "${c2}        ,'  ,-----'   |           %s"
 | ||
| "${c2}        \`--{__________)           %s"
 | ||
| "${c2}                                  %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"OpenBSD")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'yellow') # Light Yellow
 | ||
| 				c2=$(getColor 'brown') # Bold Yellow
 | ||
| 				c3=$(getColor 'light cyan') # Light Cyan
 | ||
| 				c4=$(getColor 'light red') # Light Red
 | ||
| 				c5=$(getColor 'dark grey')
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; c3="${my_lcolor}"; c4="${my_lcolor}"; c5="${my_lcolor}"; fi
 | ||
| 			startline="3"
 | ||
| 			logowidth="44"
 | ||
| 			fulloutput=(
 | ||
| "${c3}                                        _   "
 | ||
| "${c3}                                       (_)  "
 | ||
| "${c1}              |    .                        "
 | ||
| "${c1}          .   |L  /|   .         ${c3} _         %s"
 | ||
| "${c1}      _ . |\ _| \--+._/| .       ${c3}(_)        %s"
 | ||
| "${c1}     / ||\| Y J  )   / |/| ./               %s"
 | ||
| "${c1}    J  |)'( |        \` F\`.'/       ${c3} _       %s"
 | ||
| "${c1}  -<|  F         __     .-<        ${c3}(_)      %s"
 | ||
| "${c1}    | /       .-'${c3}. ${c1}\`.  /${c3}-. ${c1}L___             %s"
 | ||
| "${c1}    J \      <    ${c3}\ ${c1} | | ${c5}O${c3}\\\\${c1}|.-' ${c3} _          %s"
 | ||
| "${c1}  _J \  .-    \\\\${c3}/ ${c5}O ${c3}| ${c1}| \  |${c1}F    ${c3}(_)         %s"
 | ||
| "${c1} '-F  -<_.     \   .-'  \`-' L__             %s"
 | ||
| "${c1}__J  _   _.     >-'  ${c2})${c4}._.   ${c1}|-'             %s"
 | ||
| "${c1} \`-|.'   /_.          ${c4}\_|  ${c1} F               %s"
 | ||
| "${c1}  /.-   .                _.<                %s"
 | ||
| "${c1} /'    /.'             .'  \`\               %s"
 | ||
| "${c1}  /L  /'   |/      _.-'-\                   %s"
 | ||
| "${c1} /'J       ___.---'\|                       %s"
 | ||
| "${c1}   |\  .--' V  | \`. \`                       %s"
 | ||
| "${c1}   |/\`. \`-.     \`._)                        %s"
 | ||
| "${c1}      / .-.\                                %s"
 | ||
| "${c1}      \ (  \`\                               %s"
 | ||
| "${c1}       \`.\                                  %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"DragonFlyBSD")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'light red') # Red
 | ||
| 				c2=$(getColor 'white') # White
 | ||
| 				c3=$(getColor 'yellow')
 | ||
| 				c4=$(getColor 'light red')
 | ||
| 			fi
 | ||
|             if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; c3="${my_lcolor}"; c4="${my_lcolor}"; fi
 | ||
| 			startline="0"
 | ||
| 			logowidth="43"
 | ||
| 			fulloutput=(
 | ||
| "${c1}                      |                    %s"
 | ||
| "${c1}                     .-.                   %s"
 | ||
| "${c3}                    ()${c1}I${c3}()                  %s"
 | ||
| "${c1}               \"==.__:-:__.==\"             %s"
 | ||
| "${c1}              \"==.__/~|~\__.==\"            %s"
 | ||
| "${c1}              \"==._(  Y  )_.==\"            %s"
 | ||
| "${c2}   .-'~~\"\"~=--...,__${c1}\/|\/${c2}__,...--=~\"\"~~'-. %s"
 | ||
| "${c2}  (               ..=${c1}\\\\=${c1}/${c2}=..               )%s"
 | ||
| "${c2}   \`'-.        ,.-\"\`;${c1}/=\\\\${c2} ;\"-.,_        .-'\`%s"
 | ||
| "${c2}       \`~\"-=-~\` .-~\` ${c1}|=|${c2} \`~-. \`~-=-\"~\`     %s"
 | ||
| "${c2}            .-~\`    /${c1}|=|${c2}\    \`~-.          %s"
 | ||
| "${c2}         .~\`       / ${c1}|=|${c2} \       \`~.       %s"
 | ||
| "${c2}     .-~\`        .'  ${c1}|=|${c2}  \\\\\`.        \`~-.  %s"
 | ||
| "${c2}   (\`     _,.-=\"\`    ${c1}|=|${c2}    \`\"=-.,_     \`) %s"
 | ||
| "${c2}    \`~\"~\"\`           ${c1}|=|${c2}           \`\"~\"~\`  %s"
 | ||
| "${c1}                     /=\                   %s"
 | ||
| "${c1}                     \=/                   %s"
 | ||
| "${c1}                      ^                    %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"NetBSD")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'orange') # Orange
 | ||
| 				c2=$(getColor 'white') # White
 | ||
| 			fi
 | ||
|             if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; fi
 | ||
| 			startline="0"
 | ||
| 			logowidth="60"
 | ||
| 			fulloutput=(
 | ||
| "${c1}                                  __,gnnnOCCCCCOObaau,_     %s"
 | ||
| "${c2}   _._                    ${c1}__,gnnCCCCCCCCOPF\"''              %s"
 | ||
| "${c2}  (N\\\\\\\\${c1}XCbngg,._____.,gnnndCCCCCCCCCCCCF\"___,,,,___          %s"
 | ||
| "${c2}   \\\\N\\\\\\\\${c1}XCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCOOOOPYvv.     %s"
 | ||
| "${c2}    \\\\N\\\\\\\\${c1}XCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCPF\"''               %s"
 | ||
| "${c2}     \\\\N\\\\\\\\${c1}XCCCCCCCCCCCCCCCCCCCCCCCCCOF\"'                     %s"
 | ||
| "${c2}      \\\\N\\\\\\\\${c1}XCCCCCCCCCCCCCCCCCCCCOF\"'                         %s"
 | ||
| "${c2}       \\\\N\\\\\\\\${c1}XCCCCCCCCCCCCCCCPF\"'                             %s"
 | ||
| "${c2}        \\\\N\\\\\\\\${c1}\"PCOCCCOCCFP\"\"                                  %s"
 | ||
| "${c2}         \\\\N\                                                %s"
 | ||
| "${c2}          \\\\N\                                               %s"
 | ||
| "${c2}           \\\\N\                                              %s"
 | ||
| "${c2}            \\\\NN\                                            %s"
 | ||
| "${c2}             \\\\NN\                                           %s"
 | ||
| "${c2}              \\\\NNA.                                         %s"
 | ||
| "${c2}               \\\\NNA,                                        %s"
 | ||
| "${c2}                \\\\NNN,                                       %s"
 | ||
| "${c2}                 \\\\NNN\                                      %s"
 | ||
| "${c2}                  \\\\NNN\                                     %s"
 | ||
| "${c2}                   \\\\NNNA                                    %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"Mandriva"|"Mandrake")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'light blue') # Light Blue
 | ||
| 				c2=$(getColor 'yellow') # Bold Yellow
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; fi
 | ||
| 			startline="0"
 | ||
| 			logowidth="41"
 | ||
| 			fulloutput=(
 | ||
| "${c2}                                         %s"
 | ||
| "${c2}                         \`\`              %s"
 | ||
| "${c2}                        \`-.              %s"
 | ||
| "${c1}       \`               ${c2}.---              %s"
 | ||
| "${c1}     -/               ${c2}-::--\`             %s"
 | ||
| "${c1}   \`++    ${c2}\`----...\`\`\`-:::::.             %s"
 | ||
| "${c1}  \`os.      ${c2}.::::::::::::::-\`\`\`     \`  \` %s"
 | ||
| "${c1}  +s+         ${c2}.::::::::::::::::---...--\` %s"
 | ||
| "${c1} -ss:          ${c2}\`-::::::::::::::::-.\`\`.\`\` %s"
 | ||
| "${c1} /ss-           ${c2}.::::::::::::-.\`\`   \`    %s"
 | ||
| "${c1} +ss:          ${c2}.::::::::::::-            %s"
 | ||
| "${c1} /sso         ${c2}.::::::-::::::-            %s"
 | ||
| "${c1} .sss/       ${c2}-:::-.\`   .:::::            %s"
 | ||
| "${c1}  /sss+.    ${c2}..\`${c1}  \`--\`    ${c2}.:::            %s"
 | ||
| "${c1}   -ossso+/:://+/-\`        ${c2}.:\`           %s"
 | ||
| "${c1}     -/+ooo+/-.              ${c2}\`           %s"
 | ||
| "${c1}                                         %s"
 | ||
| "${c1}                                         %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"openSUSE"|"SUSE Linux Enterprise")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'light green') # Bold Green
 | ||
| 				c2=$c0$bold
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; fi
 | ||
| 			startline="0"
 | ||
| 			logowidth="44"
 | ||
| 			fulloutput=(
 | ||
| "${c2}             .;ldkO0000Okdl;.               %s"
 | ||
| "${c2}         .;d00xl:^''''''^:ok00d;.           %s"
 | ||
| "${c2}       .d00l'                'o00d.         %s"
 | ||
| "${c2}     .d0Kd'${c1}  Okxol:;,.          ${c2}:O0d.       %s"
 | ||
| "${c2}    .OK${c1}KKK0kOKKKKKKKKKKOxo:,      ${c2}lKO.      %s"
 | ||
| "${c2}   ,0K${c1}KKKKKKKKKKKKKKK0P^${c2},,,${c1}^dx:${c2}    ;00,     %s"
 | ||
| "${c2}  .OK${c1}KKKKKKKKKKKKKKKk'${c2}.oOPPb.${c1}'0k.${c2}   cKO.    %s"
 | ||
| "${c2}  :KK${c1}KKKKKKKKKKKKKKK: ${c2}kKx..dd ${c1}lKd${c2}   'OK:    %s"
 | ||
| "${c2}  dKK${c1}KKKKKKKKKOx0KKKd ${c2}^0KKKO' ${c1}kKKc${c2}   dKd    %s"
 | ||
| "${c2}  dKK${c1}KKKKKKKKKK;.;oOKx,..${c2}^${c1}..;kKKK0.${c2}  dKd    %s"
 | ||
| "${c2}  :KK${c1}KKKKKKKKKK0o;...^cdxxOK0O/^^'  ${c2}.0K:    %s"
 | ||
| "${c2}   kKK${c1}KKKKKKKKKKKKK0x;,,......,;od  ${c2}lKk     %s"
 | ||
| "${c2}   '0K${c1}KKKKKKKKKKKKKKKKKKKK00KKOo^  ${c2}c00'     %s"
 | ||
| "${c2}    'kK${c1}KKOxddxkOO00000Okxoc;''   ${c2}.dKk'      %s"
 | ||
| "${c2}      l0Ko.                    .c00l'       %s"
 | ||
| "${c2}       'l0Kk:.              .;xK0l'         %s"
 | ||
| "${c2}          'lkK0xl:;,,,,;:ldO0kl'            %s"
 | ||
| "${c2}              '^:ldxkkkkxdl:^'              %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"Slackware")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'light blue') # Light Blue
 | ||
| 				c2=$(getColor 'white') # Bold White
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; fi
 | ||
| 			startline="1"
 | ||
| 			logowidth="46"
 | ||
| 			fulloutput=(
 | ||
| "${c1}                   :::::::                    "
 | ||
| "${c1}             :::::::::::::::::::              %s"
 | ||
| "${c1}          :::::::::::::::::::::::::           %s"
 | ||
| "${c1}        ::::::::${c2}cllcccccllllllll${c1}::::::        %s"
 | ||
| "${c1}     :::::::::${c2}lc               dc${c1}:::::::      %s"
 | ||
| "${c1}    ::::::::${c2}cl   clllccllll    oc${c1}:::::::::    %s"
 | ||
| "${c1}   :::::::::${c2}o   lc${c1}::::::::${c2}co   oc${c1}::::::::::   %s"
 | ||
| "${c1}  ::::::::::${c2}o    cccclc${c1}:::::${c2}clcc${c1}::::::::::::  %s"
 | ||
| "${c1}  :::::::::::${c2}lc        cclccclc${c1}:::::::::::::  %s"
 | ||
| "${c1} ::::::::::::::${c2}lcclcc          lc${c1}:::::::::::: %s"
 | ||
| "${c1} ::::::::::${c2}cclcc${c1}:::::${c2}lccclc     oc${c1}::::::::::: %s"
 | ||
| "${c1} ::::::::::${c2}o    l${c1}::::::::::${c2}l    lc${c1}::::::::::: %s"
 | ||
| "${c1}  :::::${c2}cll${c1}:${c2}o     clcllcccll     o${c1}:::::::::::  %s"
 | ||
| "${c1}  :::::${c2}occ${c1}:${c2}o                  clc${c1}:::::::::::  %s"
 | ||
| "${c1}   ::::${c2}ocl${c1}:${c2}ccslclccclclccclclc${c1}:::::::::::::   %s"
 | ||
| "${c1}    :::${c2}oclcccccccccccccllllllllllllll${c1}:::::    %s"
 | ||
| "${c1}     ::${c2}lcc1lcccccccccccccccccccccccco${c1}::::     %s"
 | ||
| "${c1}       ::::::::::::::::::::::::::::::::       %s"
 | ||
| "${c1}         ::::::::::::::::::::::::::::         %s"
 | ||
| "${c1}            ::::::::::::::::::::::            %s"
 | ||
| "${c1}                 ::::::::::::                 %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"ROSA")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'rosa_blue') # special blue color from ROSA
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; fi
 | ||
| 			startline="3"
 | ||
| 			logowidth="41"
 | ||
| 			fulloutput=(
 | ||
| "${c1}            ROSAROSAROSAROSAR            "
 | ||
| "${c1}         ROSA               AROS         "
 | ||
| "${c1}       ROS   SAROSAROSAROSAR   AROS      "
 | ||
| "${c1}     RO   ROSAROSAROSAROSAROSAR   RO     %s"
 | ||
| "${c1}   ARO  AROSAROSAROSARO      AROS  ROS   %s"
 | ||
| "${c1}  ARO  ROSAROS         OSAR   ROSA  ROS  %s"
 | ||
| "${c1}  RO  AROSA   ROSAROSAROSA    ROSAR  RO  %s"
 | ||
| "${c1} RO  ROSAR  ROSAROSAROSAR  R  ROSARO  RO %s"
 | ||
| "${c1} RO  ROSA  AROSAROSAROSA  AR  ROSARO  AR %s"
 | ||
| "${c1} RO AROS  ROSAROSAROSA   ROS  AROSARO AR %s"
 | ||
| "${c1} RO AROS  ROSAROSARO   ROSARO  ROSARO AR %s"
 | ||
| "${c1} RO  ROS  AROSAROS   ROSAROSA AROSAR  AR %s"
 | ||
| "${c1} RO  ROSA  ROS     ROSAROSAR  ROSARO  RO %s"
 | ||
| "${c1}  RO  ROS     AROSAROSAROSA  ROSARO  AR  %s"
 | ||
| "${c1}  ARO  ROSA   ROSAROSAROS   AROSAR  ARO  %s"
 | ||
| "${c1}   ARO  OROSA      R      ROSAROS  ROS   %s"
 | ||
| "${c1}     RO   AROSAROS   AROSAROSAR   RO     %s"
 | ||
| "${c1}      AROS   AROSAROSAROSARO   AROS      %s"
 | ||
| "${c1}         ROSA               SARO         %s"
 | ||
| "${c1}            ROSAROSAROSAROSAR            %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"Red Hat Enterprise Linux")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'white') # White
 | ||
| 				c2=$(getColor 'light red') # Light Red
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; fi
 | ||
| 			startline="0"
 | ||
| 			logowidth="42"
 | ||
| 			fulloutput=(
 | ||
| "${c2}                                          %s"
 | ||
| "${c2}              \`.-..........\`              %s"
 | ||
| "${c2}             \`////////::.\`-/.             %s"
 | ||
| "${c2}             -: ....-////////.            %s"
 | ||
| "${c2}             //:-::///////////\`           %s"
 | ||
| "${c2}      \`--::: \`-://////////////:           %s"
 | ||
| "${c2}      //////-    \`\`.-:///////// .\`        %s"
 | ||
| "${c2}      \`://////:-.\`    :///////::///:\`     %s"
 | ||
| "${c2}        .-/////////:---/////////////:     %s"
 | ||
| "${c2}           .-://////////////////////.     %s"
 | ||
| "${c1}          yMN+\`.-${c2}::///////////////-\`      %s"
 | ||
| "${c1}       .-\`:NMMNMs\`  \`..-------..\`         %s"
 | ||
| "${c1}        MN+/mMMMMMhoooyysshsss            %s"
 | ||
| "${c1} MMM    MMMMMMMMMMMMMMyyddMMM+            %s"
 | ||
| "${c1}  MMMM   MMMMMMMMMMMMMNdyNMMh\`     hyhMMM %s"
 | ||
| "${c1}   MMMMMMMMMMMMMMMMyoNNNMMM+.   MMMMMMMM  %s"
 | ||
| "${c1}    MMNMMMNNMMMMMNM+ mhsMNyyyyMNMMMMsMM   %s"
 | ||
| "${c1}                                          %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"Frugalware")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'white') # White
 | ||
| 				c2=$(getColor 'light blue') # Light Blue
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; fi
 | ||
| 			startline="3"
 | ||
| 			logowidth="50"
 | ||
| 			fulloutput=(
 | ||
| "${c2}          \`++/::-.\`                               "
 | ||
| "${c2}         /o+++++++++/::-.\`                        "
 | ||
| "${c2}        \`o+++++++++++++++o++/::-.\`                "
 | ||
| "${c2}        /+++++++++++++++++++++++oo++/:-.\`\`        %s"
 | ||
| "${c2}       .o+ooooooooooooooooooosssssssso++oo++/:-\`  %s"
 | ||
| "${c2}       ++osoooooooooooosssssssssssssyyo+++++++o:  %s"
 | ||
| "${c2}      -o+ssoooooooooooosssssssssssssyyo+++++++s\`  %s"
 | ||
| "${c2}      o++ssoooooo++++++++++++++sssyyyyo++++++o:   %s"
 | ||
| "${c2}     :o++ssoooooo${c1}/-------------${c2}+syyyyyo+++++oo    %s"
 | ||
| "${c2}    \`o+++ssoooooo${c1}/-----${c2}+++++ooosyyyyyyo++++os:    %s"
 | ||
| "${c2}    /o+++ssoooooo${c1}/-----${c2}ooooooosyyyyyyyo+oooss     %s"
 | ||
| "${c2}   .o++++ssooooos${c1}/------------${c2}syyyyyyhsosssy-     %s"
 | ||
| "${c2}   ++++++ssooooss${c1}/-----${c2}+++++ooyyhhhhhdssssso      %s"
 | ||
| "${c2}  -s+++++syssssss${c1}/-----${c2}yyhhhhhhhhhhhddssssy.      %s"
 | ||
| "${c2}  sooooooyhyyyyyh${c1}/-----${c2}hhhhhhhhhhhddddyssy+       %s"
 | ||
| "${c2} :yooooooyhyyyhhhyyyyyyhhhhhhhhhhdddddyssy\`       %s"
 | ||
| "${c2} yoooooooyhyyhhhhhhhhhhhhhhhhhhhddddddysy/        %s"
 | ||
| "${c2}-ysooooooydhhhhhhhhhhhddddddddddddddddssy         %s"
 | ||
| "${c2} .-:/+osssyyyysyyyyyyyyyyyyyyyyyyyyyyssy:         %s"
 | ||
| "${c2}       \`\`.-/+oosysssssssssssssssssssssss          %s"
 | ||
| "${c2}               \`\`.:/+osyysssssssssssssh.          %s"
 | ||
| "${c2}                        \`-:/+osyyssssyo           %s"
 | ||
| "${c2}                                .-:+++\`           %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"Peppermint")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'white') # White
 | ||
| 				c2=$(getColor 'light red') # Light Red
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; fi
 | ||
| 			startline="0"
 | ||
| 			logowidth="39"
 | ||
| 			fulloutput=(
 | ||
| "${c2}             8ZZZZZZ${c1}MMMMM              %s"
 | ||
| "${c2}          .ZZZZZZZZZ${c1}MMMMMMM.           %s"
 | ||
| "${c1}        MM${c2}ZZZZZZZZZ${c1}MMMMMMM${c2}ZZZZ         %s"
 | ||
| "${c1}      MMMMM${c2}ZZZZZZZZ${c1}MMMMM${c2}ZZZZZZZM       %s"
 | ||
| "${c1}     MMMMMMM${c2}ZZZZZZZ${c1}MMMM${c2}ZZZZZZZZZ.      %s"
 | ||
| "${c1}    MMMMMMMMM${c2}ZZZZZZ${c1}MMM${c2}ZZZZZZZZZZZI     %s"
 | ||
| "${c1}   MMMMMMMMMMM${c2}ZZZZZZ${c1}MM${c2}ZZZZZZZZZZ${c1}MMM    %s"
 | ||
| "${c2}   .ZZZ${c1}MMMMMMMMMM${c2}IZZ${c1}MM${c2}ZZZZZ${c1}MMMMMMMMM   %s"
 | ||
| "${c2}   ZZZZZZZ${c1}MMMMMMMM${c2}ZZ${c1}M${c2}ZZZZ${c1}MMMMMMMMMMM   %s"
 | ||
| "${c2}   ZZZZZZZZZZZZZZZZ${c1}M${c2}Z${c1}MMMMMMMMMMMMMMM   %s"
 | ||
| "${c2}   .ZZZZZZZZZZZZZ${c1}MMM${c2}Z${c1}M${c2}ZZZZZZZZZZ${c1}MMMM   %s"
 | ||
| "${c2}   .ZZZZZZZZZZZ${c1}MMM${c2}7ZZ${c1}MM${c2}ZZZZZZZZZZ7${c1}M    %s"
 | ||
| "${c2}    ZZZZZZZZZ${c1}MMMM${c2}ZZZZ${c1}MMMM${c2}ZZZZZZZ77     %s"
 | ||
| "${c1}     MMMMMMMMMMMM${c2}ZZZZZ${c1}MMMM${c2}ZZZZZ77      %s"
 | ||
| "${c1}      MMMMMMMMMM${c2}7ZZZZZZ${c1}MMMMM${c2}ZZ77       %s"
 | ||
| "${c1}       .MMMMMMM${c2}ZZZZZZZZ${c1}MMMMM${c2}Z7Z        %s"
 | ||
| "${c1}         MMMMM${c2}ZZZZZZZZZ${c1}MMMMMMM         %s"
 | ||
| "${c2}           NZZZZZZZZZZZ${c1}MMMMM           %s"
 | ||
| "${c2}              ZZZZZZZZZ${c1}MM              %s")
 | ||
| 		;;
 | ||
| 
 | ||
| "Grombyang"|"GrombyangOS")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'light blue')
 | ||
| 				c2=$(getColor 'light green')
 | ||
| 				c3=$(getColor 'light red')
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; fi
 | ||
| 			startline="0"
 | ||
| 			fulloutput=(
 | ||
| "${c1}             eeeeeeeeeeee                           %s"
 | ||
| "${c1}          eeeeeeeeeeeeeeeee          %s"
 | ||
| "${c1}       eeeeeeeeeeeeeeeeeeeeeee       %s"
 | ||
| "${c1}     eeeee       "${c2}".o+       "${c1}"eeee      %s"
 | ||
| "${c1}   eeee         "${c2}"\`ooo/         "${c1}"eeee   %s"
 | ||
| "${c1}  eeee         "${c2}"\`+oooo:         "${c1}"eeee  %s"
 | ||
| "${c1} eee          "${c2}"\`+oooooo:          "${c1}"eee %s"
 | ||
| "${c1} eee          "${c2}"-+oooooo+:         "${c1}"eee %s"
 | ||
| "${c1} ee         "${c2}"\`/:oooooooo+:         "${c1}"ee %s"
 | ||
| "${c1} ee        "${c2}"\`/+   +++    +:        "${c1}"ee %s"
 | ||
| "${c1} ee              "${c2}"+o+\             "${c1}"ee %s"
 | ||
| "${c1} eee             "${c2}"+o+\            "${c1}"eee %s"
 | ||
| "${c1} eee        "${c2}"//  \\ooo/  \\\         "${c1}"eee %s"
 | ||
| "${c1}  eee      "${c2}"//++++oooo++++\\\      "${c1}"eee  %s"
 | ||
| "${c1}   eeee    "${c2}"::::++oooo+:::::   "${c1}"eeee   %s"
 | ||
| "${c1}     eeeee   "${c3}"Grombyang OS "${c1}"  eeee     %s"
 | ||
| "${c1}       eeeeeeeeeeeeeeeeeeeeeee       %s"
 | ||
| "${c1}          eeeeeeeeeeeeeeeee          %s"
 | ||
| "                                     %s"
 | ||
| "                                     %s")
 | ||
| 	;;
 | ||
| 
 | ||
| 		"Solus")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'white') # White
 | ||
| 				c2=$(getColor 'blue') # Blue
 | ||
| 				c3=$(getColor 'black') # Black
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; fi
 | ||
| 			startline="0"
 | ||
| 			logowidth="36"
 | ||
| 			fulloutput=(
 | ||
| "${c3}             ......               %s"
 | ||
| "${c3}         .'${c1}D${c3}lddddddddddd'.          %s"
 | ||
| "${c3}      .'ddd${c1}XM${c3}xdddddddddddddd.       %s"
 | ||
| "${c3}    .dddddx${c1}MMM0${c3};dddddddddddddd.     %s"
 | ||
| "${c3}   'dddddl${c1}MMMMMN${c3}cddddddddddddddd.   %s"
 | ||
| "${c3}  ddddddc${c1}WMMMMMMW${c3}lddddddddddddddd.  %s"
 | ||
| "${c3} ddddddc${c1}WMMMMMMMMO${c3}ddoddddddddddddd. %s"
 | ||
| "${c3}.ddddd:${c1}NMMMMMMMMMK${c3}dd${c1}NX${c3}od;c${c1}lxl${c3}dddddd %s"
 | ||
| "${c3}dddddc${c1}WMMMMMMMMMMNN${c3}dd${c1}MMXl${c3};d${c1}00xl;${c3}ddd.%s"
 | ||
| "${c3}ddddl${c1}WMMMMMMMMMMMMM${c3}d;${c1}MMMM0${c3}:dl${c1}XMMXk:${c3}'%s"
 | ||
| "${c3}dddo${c1}WMMMMMMMMMMMMMM${c3}dd${c1}MMMMMW${c3}od${c3};${c1}XMMMOd%s"
 | ||
| "${c3}.dd${c1}MMMMMMMMMMMMMMMM${c3}d:${c1}MMMMMMM${c3}kd${c1}lMKll %s"
 | ||
| "${c3}.;dk0${c1}KXNWWMMMMMMMMM${c3}dx${c1}MMMMMMM${c3}Xl;lxK; %s"
 | ||
| "${c3}  'dddddddd;:cclodcddxddolloxO0O${c1}d'  %s"
 | ||
| "${c1}   ckkxxxddddddddxxkOOO000Okdool.   %s"
 | ||
| "${c2}    .lddddxxxxxxddddooooooooood     %s"
 | ||
| "${c2}      .:oooooooooooooooooooc'       %s"
 | ||
| "${c2}         .,:looooooooooc;.  %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"Mageia")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'white') # White
 | ||
| 			 	c2=$(getColor 'light cyan') # Light Cyan
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; fi
 | ||
| 			startline="0"
 | ||
| 			logowidth="33"
 | ||
| 			fulloutput=(
 | ||
| "${c2}               .°°.              %s"
 | ||
| "${c2}                °°   .°°.        %s"
 | ||
| "${c2}                .°°°. °°         %s"
 | ||
| "${c2}                .   .            %s"
 | ||
| "${c2}                 °°° .°°°.       %s"
 | ||
| "${c2}             .°°°.   '___'       %s"
 | ||
| "${c1}            .${c2}'___'     ${c1}   .      %s"
 | ||
| "${c1}          :dkxc;'.  ..,cxkd;     %s"
 | ||
| "${c1}        .dkk. kkkkkkkkkk .kkd.   %s"
 | ||
| "${c1}       .dkk.  ';cloolc;.  .kkd   %s"
 | ||
| "${c1}       ckk.                .kk;  %s"
 | ||
| "${c1}       xO:                  cOd  %s"
 | ||
| "${c1}       xO:                  lOd  %s"
 | ||
| "${c1}       lOO.                .OO:  %s"
 | ||
| "${c1}       .k00.              .00x   %s"
 | ||
| "${c1}        .k00;            ;00O.   %s"
 | ||
| "${c1}         .lO0Kc;,,,,,,;c0KOc.    %s"
 | ||
| "${c1}            ;d00KKKKKK00d;       %s"
 | ||
| "${c1}               .,KKKK,.          %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"Parabola GNU/Linux-libre")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'light purple') # Light Purple
 | ||
| 				c2=$(getColor 'white') # White
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; fi
 | ||
| 			startline="0"
 | ||
| 			logowidth="33"
 | ||
| 			fulloutput=(
 | ||
| "${c1}                                 %s"
 | ||
| "${c1}              eeeeeeeee          %s"
 | ||
| "${c1}          eeeeeeeeeeeeeee        %s"
 | ||
| "${c1}       eeeeee${c2}//////////${c1}eeeee     %s"
 | ||
| "${c1}     eeeee${c2}///////////////${c1}eeeee   %s"
 | ||
| "${c1}   eeeee${c2}///           ////${c1}eeee   %s"
 | ||
| "${c1}  eeee${c2}//              ///${c1}eeeee   %s"
 | ||
| "${c1} eee                 ${c2}///${c1}eeeee    %s"
 | ||
| "${c1}ee                  ${c2}//${c1}eeeeee     %s"
 | ||
| "${c1}e                  ${c2}/${c1}eeeeeee      %s"
 | ||
| "${c1}                  eeeeeee        %s"
 | ||
| "${c1}                 eeeeee          %s"
 | ||
| "${c1}                eeeeee           %s"
 | ||
| "${c1}               eeeee             %s"
 | ||
| "${c1}              eeee               %s"
 | ||
| "${c1}            eee                  %s"
 | ||
| "${c1}           ee                    %s"
 | ||
| "${c1}          e                      %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"Viperr")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'white') # White
 | ||
| 				c2=$(getColor 'dark grey') # Dark Gray
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; fi
 | ||
| 			startline="0"
 | ||
| 			logowidth="31"
 | ||
| 			fulloutput=(
 | ||
| "${c1}    wwzapd         dlzazw      %s"
 | ||
| "${c1}   an${c2}#${c1}zncmqzepweeirzpas${c2}#${c1}xz     %s"
 | ||
| "${c1} apez${c2}##${c1}qzdkawweemvmzdm${c2}##${c1}dcmv   %s"
 | ||
| "${c1}zwepd${c2}####${c1}qzdweewksza${c2}####${c1}ezqpa  %s"
 | ||
| "${c1}ezqpdkapeifjeeazezqpdkazdkwqz  %s"
 | ||
| "${c1} ezqpdksz${c2}##${c1}wepuizp${c2}##${c1}wzeiapdk   %s"
 | ||
| "${c1}  zqpakdpa${c2}#${c1}azwewep${c2}#${c1}zqpdkqze    %s"
 | ||
| "${c1}    apqxalqpewenwazqmzazq      %s"
 | ||
| "${c1}     mn${c2}##${c1}==${c2}#######${c1}==${c2}##${c1}qp       %s"
 | ||
| "${c1}      qw${c2}##${c1}=${c2}#######${c1}=${c2}##${c1}zl        %s"
 | ||
| "${c1}      z0${c2}######${c1}=${c2}######${c1}0a        %s"
 | ||
| "${c1}       qp${c2}#####${c1}=${c2}#####${c1}mq         %s"
 | ||
| "${c1}       az${c2}####${c1}===${c2}####${c1}mn         %s"
 | ||
| "${c1}        ap${c2}#########${c1}qz          %s"
 | ||
| "${c1}         9qlzskwdewz           %s"
 | ||
| "${c1}          zqwpakaiw            %s"
 | ||
| "${c1}            qoqpe              %s"
 | ||
| "${c1}                               %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"LinuxDeepin")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'light green') # Bold Green
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; fi
 | ||
| 			startline="0"
 | ||
| 			logowidth="33"
 | ||
| 			fulloutput=(
 | ||
| "${c1}  eeeeeeeeeeeeeeeeeeeeeeeeeeee   %s"
 | ||
| "${c1} eee  eeeeeee          eeeeeeee  %s"
 | ||
| "${c1}ee   eeeeeeeee      eeeeeeeee ee %s"
 | ||
| "${c1}e   eeeeeeeee     eeeeeeeee    e %s"
 | ||
| "${c1}e   eeeeeee    eeeeeeeeee      e %s"
 | ||
| "${c1}e   eeeeee    eeeee            e %s"
 | ||
| "${c1}e    eeeee    eee  eee         e %s"
 | ||
| "${c1}e     eeeee   ee eeeeee        e %s"
 | ||
| "${c1}e      eeeee   eee   eee       e %s"
 | ||
| "${c1}e       eeeeeeeeee  eeee       e %s"
 | ||
| "${c1}e         eeeee    eeee        e %s"
 | ||
| "${c1}e               eeeeee         e %s"
 | ||
| "${c1}e            eeeeeee           e %s"
 | ||
| "${c1}e eee     eeeeeeee             e %s"
 | ||
| "${c1}eeeeeeeeeeeeeeee               e %s"
 | ||
| "${c1}eeeeeeeeeeeee                 ee %s"
 | ||
| "${c1} eeeeeeeeeee                eee  %s"
 | ||
| "${c1}  eeeeeeeeeeeeeeeeeeeeeeeeeeee   %s"
 | ||
| "${c1}                                 %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"Deepin")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'cyan') # Bold Green
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; fi
 | ||
| 			startline="0"
 | ||
| 			logowidth="41"
 | ||
| 			fulloutput=(
 | ||
| "${c1}              ............               %s"
 | ||
| "${c1}          .';;;;;.       .,;,.           %s"
 | ||
| "${c1}       .,;;;;;;;.       ';;;;;;;.        %s"
 | ||
| "${c1}     .;::::::::'     .,::;;,''''',.      %s"
 | ||
| "${c1}    ,'.::::::::    .;;'.          ';     %s"
 | ||
| "${c1}   ;'  'cccccc,   ,' :: '..        .:    %s"
 | ||
| "${c1}  ,,    :ccccc.  ;: .c, '' :.       ,;   %s"
 | ||
| "${c1} .l.     cllll' ., .lc  :; .l'       l.  %s"
 | ||
| "${c1} .c       :lllc  ;cl:  .l' .ll.      :'  %s"
 | ||
| "${c1} .l        'looc. .   ,o:  'oo'      c,  %s"
 | ||
| "${c1} .o.         .:ool::coc'  .ooo'      o.  %s"
 | ||
| "${c1}  ::            .....   .;dddo      ;c   %s"
 | ||
| "${c1}   l:...            .';lddddo.     ,o    %s"
 | ||
| "${c1}    lxxxxxdoolllodxxxxxxxxxc      :l     %s"
 | ||
| "${c1}     ,dxxxxxxxxxxxxxxxxxxl.     'o,      %s"
 | ||
| "${c1}       ,dkkkkkkkkkkkkko;.    .;o;        %s"
 | ||
| "${c1}         .;okkkkkdl;.    .,cl:.          %s"
 | ||
| "${c1}             .,:cccccccc:,.              %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"Chakra")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'light blue') # Light Blue
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; fi
 | ||
| 			startline="0"
 | ||
| 			logowidth="38"
 | ||
| 			fulloutput=(
 | ||
| "${c1}      _ _ _        \"kkkkkkkk.         %s"
 | ||
| "${c1}    ,kkkkkkkk.,    \'kkkkkkkkk,        %s"
 | ||
| "${c1}    ,kkkkkkkkkkkk., \'kkkkkkkkk.       %s"
 | ||
| "${c1}   ,kkkkkkkkkkkkkkkk,\'kkkkkkkk,       %s"
 | ||
| "${c1}  ,kkkkkkkkkkkkkkkkkkk\'kkkkkkk.       %s"
 | ||
| "${c1}   \"\'\'\"\'\'\',;::,,\"\'\'kkk\'\'kkkkk;   __   %s"
 | ||
| "${c1}       ,kkkkkkkkkk, \"k\'\'kkkkk\' ,kkkk  %s"
 | ||
| "${c1}     ,kkkkkkk\' ., \' .: \'kkkk\',kkkkkk  %s"
 | ||
| "${c1}   ,kkkkkkkk\'.k\'   ,  ,kkkk;kkkkkkkkk %s"
 | ||
| "${c1}  ,kkkkkkkk\';kk \'k  \"\'k\',kkkkkkkkkkkk %s"
 | ||
| "${c1} .kkkkkkkkk.kkkk.\'kkkkkkkkkkkkkkkkkk\' %s"
 | ||
| "${c1} ;kkkkkkkk\'\'kkkkkk;\'kkkkkkkkkkkkk\'\'   %s"
 | ||
| "${c1} \'kkkkkkk; \'kkkkkkkk.,\"\"\'\'\"\'\'\"\"       %s"
 | ||
| "${c1}   \'\'kkkk;  \'kkkkkkkkkk.,             %s"
 | ||
| "${c1}      \';\'    \'kkkkkkkkkkkk.,          %s"
 | ||
| "${c1}              ';kkkkkkkkkk\'           %s"
 | ||
| "${c1}                ';kkkkkk\'             %s"
 | ||
| "${c1}                   \"\'\'\"               %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"Fuduntu")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'dark grey') # Dark Gray
 | ||
| 				c2=$(getColor 'yellow') # Bold Yellow
 | ||
| 				c3=$(getColor 'light red') # Light Red
 | ||
| 				c4=$(getColor 'white') # White
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; c3="${my_lcolor}"; c4="${my_lcolor}"; fi
 | ||
| 			startline="1"
 | ||
| 			logowidth="49"
 | ||
| 			fulloutput=(
 | ||
| "${c1}       \`dwoapfjsod\`${c2}           \`dwoapfjsod\`       "
 | ||
| "${c1}    \`xdwdsfasdfjaapz\`${c2}       \`dwdsfasdfjaapzx\`    %s"
 | ||
| "${c1}  \`wadladfladlafsozmm\`${c2}     \`wadladfladlafsozmm\`  %s"
 | ||
| "${c1} \`aodowpwafjwodisosoaas\`${c2} \`odowpwafjwodisosoaaso\` %s"
 | ||
| "${c1} \`adowofaowiefawodpmmxs\`${c2} \`dowofaowiefawodpmmxso\` %s"
 | ||
| "${c1} \`asdjafoweiafdoafojffw\`${c2} \`sdjafoweiafdoafojffwq\` %s"
 | ||
| "${c1}  \`dasdfjalsdfjasdlfjdd\`${c2} \`asdfjalsdfjasdlfjdda\`  %s"
 | ||
| "${c1}   \`dddwdsfasdfjaapzxaw\`${c2} \`ddwdsfasdfjaapzxawo\`   %s"
 | ||
| "${c1}     \`dddwoapfjsowzocmw\`${c2} \`ddwoapfjsowzocmwp\`     %s"
 | ||
| "${c1}       \`ddasowjfowiejao\`${c2} \`dasowjfowiejaow\`       %s"
 | ||
| "${c1}                                                 %s"
 | ||
| "${c3}       \`ddasowjfowiejao\`${c4} \`dasowjfowiejaow\`       %s"
 | ||
| "${c3}     \`dddwoapfjsowzocmw\`${c4} \`ddwoapfjsowzocmwp\`     %s"
 | ||
| "${c3}   \`dddwdsfasdfjaapzxaw\`${c4} \`ddwdsfasdfjaapzxawo\`   %s"
 | ||
| "${c3}  \`dasdfjalsdfjasdlfjdd\`${c4} \`asdfjalsdfjasdlfjdda\`  %s"
 | ||
| "${c3} \`asdjafoweiafdoafojffw\`${c4} \`sdjafoweiafdoafojffwq\` %s"
 | ||
| "${c3} \`adowofaowiefawodpmmxs\`${c4} \`dowofaowiefawodpmmxso\` %s"
 | ||
| "${c3} \`aodowpwafjwodisosoaas\`${c4} \`odowpwafjwodisosoaaso\` %s"
 | ||
| "${c3}   \`wadladfladlafsozmm\`${c4}     \`wadladfladlafsozmm\` %s"
 | ||
| "${c3}     \`dwdsfasdfjaapzx\`${c4}       \`dwdsfasdfjaapzx\`   %s"
 | ||
| "${c3}        \`woapfjsod\`${c4}             \`woapfjsod\`      %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"Mac OS X")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'green') # Green
 | ||
| 				c2=$(getColor 'brown') # Yellow
 | ||
| 				c3=$(getColor 'light red') # Orange
 | ||
| 				c4=$(getColor 'red') # Red
 | ||
| 				c5=$(getColor 'purple') # Purple
 | ||
| 				c6=$(getColor 'blue') # Blue
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; c3="${my_lcolor}"; c4="${my_lcolor}"; c5="${my_lcolor}"; c6="${my_lcolor}"; fi
 | ||
| 			startline="1"
 | ||
| 			logowidth="31"
 | ||
| 			fulloutput=(
 | ||
| "${c1}                               "
 | ||
| "${c1}                 -/+:.         %s"
 | ||
| "${c1}                :++++.         %s"
 | ||
| "${c1}               /+++/.          %s"
 | ||
| "${c1}       .:-::- .+/:-\`\`.::-      %s"
 | ||
| "${c1}    .:/++++++/::::/++++++/:\`   %s"
 | ||
| "${c2}  .:///////////////////////:\`  %s"
 | ||
| "${c2}  ////////////////////////\`    %s"
 | ||
| "${c3} -+++++++++++++++++++++++\`     %s"
 | ||
| "${c3} /++++++++++++++++++++++/      %s"
 | ||
| "${c4} /sssssssssssssssssssssss.     %s"
 | ||
| "${c4} :ssssssssssssssssssssssss-    %s"
 | ||
| "${c5}  osssssssssssssssssssssssso/\` %s"
 | ||
| "${c5}  \`syyyyyyyyyyyyyyyyyyyyyyyy+\` %s"
 | ||
| "${c6}   \`ossssssssssssssssssssss/   %s"
 | ||
| "${c6}     :ooooooooooooooooooo+.    %s"
 | ||
| "${c6}      \`:+oo+/:-..-:/+o+/-      %s"
 | ||
| "${c6}                               %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"Mac OS X - Classic")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'blue') # Blue
 | ||
| 				c2=$(getColor 'light blue') # Light blue
 | ||
| 				c3=$(getColor 'light grey') # Gray
 | ||
| 				c4=$(getColor 'dark grey') # Dark Ggray
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; c3="${my_lcolor}"; c4="${my_lcolor}"; fi
 | ||
| 			startline="1"
 | ||
| 			logowidth="39"
 | ||
| 			fulloutput=(
 | ||
| "${c3}                                       "
 | ||
| "${c3}                        ..             %s"
 | ||
| "${c3}                       dWc             %s"
 | ||
| "${c3}                     ,X0'              %s"
 | ||
| "${c1}  ;;;;;;;;;;;;;;;;;;${c3}0Mk${c2}::::::::::::::: %s"
 | ||
| "${c1}  ;;;;;;;;;;;;;;;;;${c3}KWo${c2}:::::::::::::::: %s"
 | ||
| "${c1}  ;;;;;;;;;${c4}NN${c1};;;;;${c3}KWo${c2}:::::${c3}NN${c2}:::::::::: %s"
 | ||
| "${c1}  ;;;;;;;;;${c4}NN${c1};;;;${c3}0Md${c2}::::::${c3}NN${c2}:::::::::: %s"
 | ||
| "${c1}  ;;;;;;;;;${c4}NN${c1};;;${c3}xW0${c2}:::::::${c3}NN${c2}:::::::::: %s"
 | ||
| "${c1}  ;;;;;;;;;;;;;;${c3}KMc${c2}::::::::::::::::::: %s"
 | ||
| "${c1}  ;;;;;;;;;;;;;${c3}lWX${c2}:::::::::::::::::::: %s"
 | ||
| "${c1}  ;;;;;;;;;;;;;${c3}xWWXXXXNN7${c2}::::::::::::: %s"
 | ||
| "${c1}  ;;;;;;;;;;;;;;;;;;;;${c3}WK${c2}:::::::::::::: %s"
 | ||
| "${c1}  ;;;;;${c4}TKX0ko.${c1};;;;;;;${c3}kMx${c2}:::${c3}.cOKNF${c2}::::: %s"
 | ||
| "${c1}  ;;;;;;;;${c4}\`kO0KKKKKKK${c3}NMNXK0OP*${c2}:::::::: %s"
 | ||
| "${c1}  ;;;;;;;;;;;;;;;;;;;${c3}kMx${c2}:::::::::::::: %s"
 | ||
| "${c1}  ;;;;;;;;;;;;;;;;;;;;${c3}WX${c2}:::::::::::::: %s"
 | ||
| "${c3}                      lMc              %s"
 | ||
| "${c3}                       kN.             %s"
 | ||
| "${c3}                        o'             %s"
 | ||
| "${c3}                                       %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"Windows"|"Cygwin"|"Msys")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'light red') # Red
 | ||
| 				c2=$(getColor 'light green') # Green
 | ||
| 				c3=$(getColor 'light blue') # Blue
 | ||
| 				c4=$(getColor 'yellow') # Yellow
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; c3="${my_lcolor}"; c4="${my_lcolor}"; fi
 | ||
| 			startline="0"
 | ||
| 			logowidth="37"
 | ||
| 			fulloutput=(
 | ||
| "${c1}        ,.=:!!t3Z3z.,                %s"
 | ||
| "${c1}       :tt:::tt333EE3                %s"
 | ||
| "${c1}       Et:::ztt33EEEL${c2} @Ee.,      .., %s"
 | ||
| "${c1}      ;tt:::tt333EE7${c2} ;EEEEEEttttt33# %s"
 | ||
| "${c1}     :Et:::zt333EEQ.${c2} \$EEEEEttttt33QL %s"
 | ||
| "${c1}     it::::tt333EEF${c2} @EEEEEEttttt33F  %s"
 | ||
| "${c1}    ;3=*^\`\`\`\"*4EEV${c2} :EEEEEEttttt33@.  %s"
 | ||
| "${c3}    ,.=::::!t=., ${c1}\`${c2} @EEEEEEtttz33QF   %s"
 | ||
| "${c3}   ;::::::::zt33)${c2}   \"4EEEtttji3P*    %s"
 | ||
| "${c3}  :t::::::::tt33.${c4}:Z3z..${c2}  \`\`${c4} ,..g.    %s"
 | ||
| "${c3}  i::::::::zt33F${c4} AEEEtttt::::ztF     %s"
 | ||
| "${c3} ;:::::::::t33V${c4} ;EEEttttt::::t3      %s"
 | ||
| "${c3} E::::::::zt33L${c4} @EEEtttt::::z3F      %s"
 | ||
| "${c3}{3=*^\`\`\`\"*4E3)${c4} ;EEEtttt:::::tZ\`      %s"
 | ||
| "${c3}             \`${c4} :EEEEtttt::::z7       %s"
 | ||
| "${c4}                 \"VEzjt:;;z>*\`       %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"Windows - Modern")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'light blue') # Blue
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; fi
 | ||
| 			startline="0"
 | ||
| 			logowidth="38"
 | ||
| 			fulloutput=(
 | ||
| "${c1}                                  .., %s"
 | ||
| "${c1}                      ....,,:;+ccllll %s"
 | ||
| "${c1}        ...,,+:;  cllllllllllllllllll %s"
 | ||
| "${c1}  ,cclllllllllll  lllllllllllllllllll %s"
 | ||
| "${c1}  llllllllllllll  lllllllllllllllllll %s"
 | ||
| "${c1}  llllllllllllll  lllllllllllllllllll %s"
 | ||
| "${c1}  llllllllllllll  lllllllllllllllllll %s"
 | ||
| "${c1}  llllllllllllll  lllllllllllllllllll %s"
 | ||
| "${c1}  llllllllllllll  lllllllllllllllllll %s"
 | ||
| "${c1}                                      %s"
 | ||
| "${c1}  llllllllllllll  lllllllllllllllllll %s"
 | ||
| "${c1}  llllllllllllll  lllllllllllllllllll %s"
 | ||
| "${c1}  llllllllllllll  lllllllllllllllllll %s"
 | ||
| "${c1}  llllllllllllll  lllllllllllllllllll %s"
 | ||
| "${c1}  llllllllllllll  lllllllllllllllllll %s"
 | ||
| "${c1}  \`'ccllllllllll  lllllllllllllllllll %s"
 | ||
| "${c1}         \`'\"\"*::  :ccllllllllllllllll %s"
 | ||
| "${c1}                        \`\`\`\`''\"*::cll %s"
 | ||
| "${c1}                                   \`\` %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"Haiku")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				if [ "$haikualpharelease" == "yes" ]; then
 | ||
| 					c1=$(getColor 'black_haiku') # Black
 | ||
| 					c2=$(getColor 'light grey') # Light Gray
 | ||
| 				else
 | ||
| 					c1=$(getColor 'black') # Black
 | ||
| 					c2=${c1}
 | ||
| 				fi
 | ||
| 				c3=$(getColor 'green') # Green
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; c3="${my_lcolor}"; fi
 | ||
| 			startline="0"
 | ||
| 			logowidth="36"
 | ||
| 			fulloutput=(
 | ||
| "${c1}          :dc'                      %s"
 | ||
| "${c1}       'l:;'${c2},${c1}'ck.    .;dc:.         %s"
 | ||
| "${c1}       co    ${c2}..${c1}k.  .;;   ':o.       %s"
 | ||
| "${c1}       co    ${c2}..${c1}k. ol      ${c2}.${c1}0.       %s"
 | ||
| "${c1}       co    ${c2}..${c1}k. oc     ${c2}..${c1}0.       %s"
 | ||
| "${c1}       co    ${c2}..${c1}k. oc     ${c2}..${c1}0.       %s"
 | ||
| "${c1}.Ol,.  co ${c2}...''${c1}Oc;kkodxOdddOoc,.    %s"
 | ||
| "${c1} ';lxxlxOdxkxk0kd${c3}oooll${c1}dl${c3}ccc:${c1}clxd;   %s"
 | ||
| "${c1}     ..${c3}oOolllllccccccc:::::${c1}od;      %s"
 | ||
| "${c1}       cx:ooc${c3}:::::::;${c1}cooolcX.       %s"
 | ||
| "${c1}       cd${c2}.${c1}''cloxdoollc' ${c2}...${c1}0.       %s"
 | ||
| "${c1}       cd${c2}......${c1}k;${c2}.${c1}xl${c2}....  .${c1}0.       %s"
 | ||
| "${c1}       .::c${c2};..${c1}cx;${c2}.${c1}xo${c2}..... .${c1}0.       %s"
 | ||
| "${c1}          '::c'${c2}...${c1}do${c2}..... .${c1}K,       %s"
 | ||
| "${c1}                  cd,.${c2}....:${c1}O,${c2}...... %s"
 | ||
| "${c1}                    ':clod:'${c2}......  %s"
 | ||
| "${c1}                        ${c2}.           %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"Trisquel")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'light blue') # Light Blue
 | ||
| 				c2=$(getColor 'light cyan') # Blue
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; fi
 | ||
| 			startline="0"
 | ||
| 			logowidth="38"
 | ||
| 			fulloutput=(
 | ||
| "${c1}                          ▄▄▄▄▄▄      %s"
 | ||
| "${c1}                       ▄█████████▄    %s"
 | ||
| "${c1}       ▄▄▄▄▄▄         ████▀   ▀████   %s"
 | ||
| "${c1}    ▄██████████▄     ████▀   ▄▄ ▀███  %s"
 | ||
| "${c1}  ▄███▀▀   ▀▀████     ███▄   ▄█   ███ %s"
 | ||
| "${c1} ▄███   ▄▄▄   ████▄    ▀██████   ▄███ %s"
 | ||
| "${c1} ███   █▀▀██▄  █████▄     ▀▀   ▄████  %s"
 | ||
| "${c1} ▀███      ███  ███████▄▄  ▄▄██████   %s"
 | ||
| "${c1}  ▀███▄   ▄███  █████████████${c2}████▀    %s"
 | ||
| "${c1}   ▀█████████    ███████${c2}███▀▀▀        %s"
 | ||
| "${c1}     ▀▀███▀▀     ██${c2}████▀▀             %s"
 | ||
| "${c2}                ██████▀   ▄▄▄▄        %s"
 | ||
| "${c2}               █████▀   ████████      %s"
 | ||
| "${c2}               █████   ███▀  ▀███     %s"
 | ||
| "${c2}                ████▄   ██▄▄▄  ███    %s"
 | ||
| "${c2}                 █████▄   ▀▀  ▄██     %s"
 | ||
| "${c2}                   ██████▄▄▄████      %s"
 | ||
| "${c2}												█████▀▀       %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"Manjaro")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'light green') # Green
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; fi
 | ||
| 			startline="0"
 | ||
| 			logowidth="33"
 | ||
| 			fulloutput=(
 | ||
| "${c1} ██████████████████  ████████    %s"
 | ||
| "${c1} ██████████████████  ████████    %s"
 | ||
| "${c1} ██████████████████  ████████    %s"
 | ||
| "${c1} ██████████████████  ████████    %s"
 | ||
| "${c1} ████████            ████████    %s"
 | ||
| "${c1} ████████  ████████  ████████    %s"
 | ||
| "${c1} ████████  ████████  ████████    %s"
 | ||
| "${c1} ████████  ████████  ████████    %s"
 | ||
| "${c1} ████████  ████████  ████████    %s"
 | ||
| "${c1} ████████  ████████  ████████    %s"
 | ||
| "${c1} ████████  ████████  ████████    %s"
 | ||
| "${c1} ████████  ████████  ████████    %s"
 | ||
| "${c1} ████████  ████████  ████████    %s"
 | ||
| "${c1} ████████  ████████  ████████    %s"
 | ||
| "                                 %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"Netrunner")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'light blue') # Blue
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; fi
 | ||
| 			startline="0"
 | ||
| 			logowidth="43"
 | ||
| 			fulloutput=(
 | ||
| "${c1} nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn  %s"
 | ||
| "${c1} nnnnnnnnnnnnnn            nnnnnnnnnnnnnn  %s"
 | ||
| "${c1} nnnnnnnnnn     nnnnnnnnnn     nnnnnnnnnn  %s"
 | ||
| "${c1} nnnnnnn   nnnnnnnnnnnnnnnnnnnn   nnnnnnn  %s"
 | ||
| "${c1} nnnn   nnnnnnnnnnnnnnnnnnnnnnnnnn   nnnn  %s"
 | ||
| "${c1} nnn  nnnnnnnnnnnnnnnnnnnnnnnnnnnnnn  nnn  %s"
 | ||
| "${c1} nn  nnnnnnnnnnnnnnnnnnnnnn  nnnnnnnn  nn  %s"
 | ||
| "${c1} n  nnnnnnnnnnnnnnnnn       nnnnnnnnnn  n  %s"
 | ||
| "${c1} n nnnnnnnnnnn              nnnnnnnnnnn n  %s"
 | ||
| "${c1} n nnnnnn                  nnnnnnnnnnnn n  %s"
 | ||
| "${c1} n nnnnnnnnnnn             nnnnnnnnnnnn n  %s"
 | ||
| "${c1} n nnnnnnnnnnnnn           nnnnnnnnnnnn n  %s"
 | ||
| "${c1} n nnnnnnnnnnnnnnnn       nnnnnnnnnnnnn n  %s"
 | ||
| "${c1} n nnnnnnnnnnnnnnnnn      nnnnnnnnnnnnn n  %s"
 | ||
| "${c1} n nnnnnnnnnnnnnnnnnn    nnnnnnnnnnnn   n  %s"
 | ||
| "${c1} nn  nnnnnnnnnnnnnnnnn   nnnnnnnnnnnn  nn  %s"
 | ||
| "${c1} nnn   nnnnnnnnnnnnnnn  nnnnnnnnnnn   nnn  %s"
 | ||
| "${c1} nnnnn   nnnnnnnnnnnnnn nnnnnnnnn   nnnnn  %s"
 | ||
| "${c1} nnnnnnn   nnnnnnnnnnnnnnnnnnnn   nnnnnnn  %s"
 | ||
| "${c1} nnnnnnnnnn     nnnnnnnnnn     nnnnnnnnnn  %s"
 | ||
| "${c1} nnnnnnnnnnnnnn            nnnnnnnnnnnnnn  %s"
 | ||
| "${c1} nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn  %s"
 | ||
| "${c1}                                           %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 			"Logos")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'green') # Green
 | ||
| 			fi
 | ||
|             if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; fi
 | ||
| 			startline="0"
 | ||
| 			logowidth="25"
 | ||
| 			fulloutput=(
 | ||
| "${c1}    ..:.:.               %s"
 | ||
| "${c1}   ..:.:.:.:.            %s"
 | ||
| "${c1}  ..:.:.:.:.:.:.         %s"
 | ||
| "${c1} ..:.:.:.:.:.:.:.:.      %s"
 | ||
| "${c1}   .:.::;.::::..:.:.:.   %s"
 | ||
| "${c1}      .:.:.::.::.::.;;/  %s"
 | ||
| "${c1}         .:.::.::://///  %s"
 | ||
| "${c1}            ..;;///////  %s"
 | ||
| "${c1}            ///////////  %s"
 | ||
| "${c1}         //////////////  %s"
 | ||
| "${c1}      /////////////////  %s"
 | ||
| "${c1}   ///////////////////   %s"
 | ||
| "${c1} //////////////////      %s"
 | ||
| "${c1}  //////////////         %s"
 | ||
| "${c1}   //////////            %s"
 | ||
| "${c1}    //////               %s"
 | ||
| "${c1}     //                  %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 			"Manjaro-tree")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1="\e[1;32m" # Green
 | ||
| 				c2="\e[1;33m" # Yellow
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; fi
 | ||
| 			startline="0"
 | ||
| 			logowidth="33"
 | ||
| 			fulloutput=(
 | ||
| "${c1}                         ###     %s"
 | ||
| "${c1}     ###             ####        %s"
 | ||
| "${c1}        ###       ####           %s"
 | ||
| "${c1}         ##### #####             %s"
 | ||
| "${c1}      #################          %s"
 | ||
| "${c1}    ###     #####    ####        %s"
 | ||
| "${c1}   ##        ${c2}OOO       ${c1}###       %s"
 | ||
| "${c1}  #          ${c2}WW         ${c1}##       %s"
 | ||
| "${c1}            ${c2}WW            ${c1}#      %s"
 | ||
| "${c2}            WW                   %s"
 | ||
| "${c2}            WW                   %s"
 | ||
| "${c2}           WW                    %s"
 | ||
| "${c2}           WW                    %s"
 | ||
| "${c2}           WW                    %s"
 | ||
| "${c2}          WW                     %s"
 | ||
| "${c2}          WW                     %s"
 | ||
| "${c2}          WW                     %s"
 | ||
| "${c2}                                 %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"elementary OS"|"elementary os")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'white') # White
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; fi
 | ||
| 			startline="0"
 | ||
| 			logowidth="36"
 | ||
| 			fulloutput=(
 | ||
| "${c1}                                    %s"
 | ||
| "${c1}         eeeeeeeeeeeeeeeee          %s"
 | ||
| "${c1}      eeeeeeeeeeeeeeeeeeeeeee       %s"
 | ||
| "${c1}    eeeee  eeeeeeeeeeee   eeeee     %s"
 | ||
| "${c1}  eeee   eeeee       eee     eeee   %s"
 | ||
| "${c1} eeee   eeee          eee     eeee  %s"
 | ||
| "${c1}eee    eee            eee       eee %s"
 | ||
| "${c1}eee   eee            eee        eee %s"
 | ||
| "${c1}ee    eee           eeee       eeee %s"
 | ||
| "${c1}ee    eee         eeeee      eeeeee %s"
 | ||
| "${c1}ee    eee       eeeee      eeeee ee %s"
 | ||
| "${c1}eee   eeee   eeeeee      eeeee  eee %s"
 | ||
| "${c1}eee    eeeeeeeeee     eeeeee    eee %s"
 | ||
| "${c1} eeeeeeeeeeeeeeeeeeeeeeee    eeeee  %s"
 | ||
| "${c1}  eeeeeeee eeeeeeeeeeee      eeee   %s"
 | ||
| "${c1}    eeeee                 eeeee     %s"
 | ||
| "${c1}      eeeeeee         eeeeeee       %s"
 | ||
| "${c1}         eeeeeeeeeeeeeeeee          %s")
 | ||
| 	;;
 | ||
| 
 | ||
| 		"Android")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'light green') # Bold Green
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; fi
 | ||
| 			startline="2"
 | ||
| 			logowidth="24"
 | ||
| 			fulloutput=(
 | ||
| "${c1}       ╲ ▁▂▂▂▁ ╱        "
 | ||
| "${c1}       ▄███████▄        "
 | ||
| "${c1}      ▄██ ███ ██▄       %s"
 | ||
| "${c1}     ▄███████████▄      %s"
 | ||
| "${c1}  ▄█ ▄▄▄▄▄▄▄▄▄▄▄▄▄ █▄   %s"
 | ||
| "${c1}  ██ █████████████ ██   %s"
 | ||
| "${c1}  ██ █████████████ ██   %s"
 | ||
| "${c1}  ██ █████████████ ██   %s"
 | ||
| "${c1}  ██ █████████████ ██   %s"
 | ||
| "${c1}     █████████████      %s"
 | ||
| "${c1}      ███████████       %s"
 | ||
| "${c1}       ██     ██        %s"
 | ||
| "${c1}       ██     ██        %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"Scientific Linux")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'light blue')
 | ||
| 				c2=$(getColor 'light red')
 | ||
| 				c3=$(getColor 'white')
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; c3="${my_lcolor}"; fi
 | ||
| 			startline="1"
 | ||
| 			logowidth="44"
 | ||
| 			fulloutput=(
 | ||
| "${c1}                  =/;;/-                    "
 | ||
| "${c1}                 +:    //                   %s"
 | ||
| "${c1}                /;      /;                  %s"
 | ||
| "${c1}               -X        H.                 %s"
 | ||
| "${c1} .//;;;:;;-,   X=        :+   .-;:=;:;#;.   %s"
 | ||
| "${c1} M-       ,=;;;#:,      ,:#;;:=,       ,@   %s"
 | ||
| "${c1} :#           :#.=/++++/=.$=           #=   %s"
 | ||
| "${c1}  ,#;         #/:+/;,,/++:+/         ;+.    %s"
 | ||
| "${c1}    ,+/.    ,;@+,        ,#H;,    ,/+,      %s"
 | ||
| "${c1}       ;+;;/= @.  ${c2}.H${c3}#${c2}#X   ${c1}-X :///+;         %s"
 | ||
| "${c1}       ;+=;;;.@,  ${c3}.X${c2}M${c3}@$.  ${c1}=X.//;=#/.        %s"
 | ||
| "${c1}    ,;:      :@#=        =\$H:     .+#-      %s"
 | ||
| "${c1}  ,#=         #;-///==///-//         =#,    %s"
 | ||
| "${c1} ;+           :#-;;;:;;;;-X-           +:   %s"
 | ||
| "${c1} @-      .-;;;;M-        =M/;;;-.      -X   %s"
 | ||
| "${c1}  :;;::;;-.    #-        :+    ,-;;-;:==    %s"
 | ||
| "${c1}               ,X        H.                 %s"
 | ||
| "${c1}                ;/      #=                  %s"
 | ||
| "${c1}                 //    +;                   %s"
 | ||
| "${c1}                  '////'                    %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"BackTrack Linux")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'white') # White
 | ||
| 				c2=$(getColor 'light red') # Light Red
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; fi
 | ||
| 			startline="1"
 | ||
| 			logowidth="48"
 | ||
| 			fulloutput=(
 | ||
| "${c1}..............                                  "
 | ||
| "${c1}            ..,;:ccc,.                          %s"
 | ||
| "${c1}          ......''';lxO.                        %s"
 | ||
| "${c1}.....''''..........,:ld;                        %s"
 | ||
| "${c1}           .';;;:::;,,.x,                       %s"
 | ||
| "${c1}      ..'''.            0Xxoc:,.  ...           %s"
 | ||
| "${c1}  ....                ,ONkc;,;cokOdc',.         %s"
 | ||
| "${c1} .                   OMo           ':${c2}dd${c1}o.       %s"
 | ||
| "${c1}                    dMc               :OO;      %s"
 | ||
| "${c1}                    0M.                 .:o.    %s"
 | ||
| "${c1}                    ;Wd                         %s"
 | ||
| "${c1}                     ;XO,                       %s"
 | ||
| "${c1}                       ,d0Odlc;,..              %s"
 | ||
| "${c1}                           ..',;:cdOOd::,.      %s"
 | ||
| "${c1}                                    .:d;.':;.   %s"
 | ||
| "${c1}                                       'd,  .'  %s"
 | ||
| "${c1}                                         ;l   ..%s"
 | ||
| "${c1}                                          .o    %s"
 | ||
| "${c1}                                            c   %s"
 | ||
| "${c1}                                            .'  %s"
 | ||
| "${c1}                                             .  %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"Kali Linux")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'light blue') # White
 | ||
| 				c2=$(getColor 'black') # Light Red
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; fi
 | ||
| 			startline="1"
 | ||
| 			logowidth="48"
 | ||
| 			fulloutput=(
 | ||
| "${c1}..............                                  "
 | ||
| "${c1}            ..,;:ccc,.                          %s"
 | ||
| "${c1}          ......''';lxO.                        %s"
 | ||
| "${c1}.....''''..........,:ld;                        %s"
 | ||
| "${c1}           .';;;:::;,,.x,                       %s"
 | ||
| "${c1}      ..'''.            0Xxoc:,.  ...           %s"
 | ||
| "${c1}  ....                ,ONkc;,;cokOdc',.         %s"
 | ||
| "${c1} .                   OMo           ':${c2}dd${c1}o.       %s"
 | ||
| "${c1}                    dMc               :OO;      %s"
 | ||
| "${c1}                    0M.                 .:o.    %s"
 | ||
| "${c1}                    ;Wd                         %s"
 | ||
| "${c1}                     ;XO,                       %s"
 | ||
| "${c1}                       ,d0Odlc;,..              %s"
 | ||
| "${c1}                           ..',;:cdOOd::,.      %s"
 | ||
| "${c1}                                    .:d;.':;.   %s"
 | ||
| "${c1}                                       'd,  .'  %s"
 | ||
| "${c1}                                         ;l   ..%s"
 | ||
| "${c1}                                          .o    %s"
 | ||
| "${c1}                                            c   %s"
 | ||
| "${c1}                                            .'  %s"
 | ||
| "${c1}                                             .  %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"Sabayon")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'white') # White
 | ||
| 				c2=$(getColor 'light blue') # Blue
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; fi
 | ||
| 			startline="0"
 | ||
| 			logowidth="38"
 | ||
| 			fulloutput=(
 | ||
| "${c2}            ...........               %s"
 | ||
| "${c2}         ..             ..            %s"
 | ||
| "${c2}      ..                   ..         %s"
 | ||
| "${c2}    ..           ${c1}o           ${c2}..       %s"
 | ||
| "${c2}  ..            ${c1}:W'            ${c2}..     %s"
 | ||
| "${c2} ..             ${c1}.d.             ${c2}..    %s"
 | ||
| "${c2}:.             ${c1}.KNO              ${c2}.:   %s"
 | ||
| "${c2}:.             ${c1}cNNN.             ${c2}.:   %s"
 | ||
| "${c2}:              ${c1}dXXX,              ${c2}:   %s"
 | ||
| "${c2}:   ${c1}.          dXXX,       .cd,   ${c2}:   %s"
 | ||
| "${c2}:   ${c1}'kc ..     dKKK.    ,ll;:'    ${c2}:   %s"
 | ||
| "${c2}:     ${c1}.xkkxc;..dkkkc',cxkkl       ${c2}:   %s"
 | ||
| "${c2}:.     ${c1}.,cdddddddddddddo:.       ${c2}.:   %s"
 | ||
| "${c2} ..         ${c1}:lllllll:           ${c2}..    %s"
 | ||
| "${c2}   ..         ${c1}',,,,,          ${c2}..      %s"
 | ||
| "${c2}     ..                     ..        %s"
 | ||
| "${c2}        ..               ..           %s"
 | ||
| "${c2}          ...............             %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"KaOS")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'light blue')
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; fi
 | ||
| 			startline="0"
 | ||
| 			logowidth="35"
 | ||
| 			fulloutput=(
 | ||
| "${c1}                     ..            %s"
 | ||
| "${c1}  .....         ..OSSAAAAAAA..     %s"
 | ||
| "${c1} .KKKKSS.     .SSAAAAAAAAAAA.      %s"
 | ||
| "${c1}.KKKKKSO.    .SAAAAAAAAAA...       %s"
 | ||
| "${c1}KKKKKKS.   .OAAAAAAAA.             %s"
 | ||
| "${c1}KKKKKKS.  .OAAAAAA.                %s"
 | ||
| "${c1}KKKKKKS. .SSAA..                   %s"
 | ||
| "${c1}.KKKKKS..OAAAAAAAAAAAA........     %s"
 | ||
| "${c1} DKKKKO.=AA=========A===AASSSO..   %s"
 | ||
| "${c1}  AKKKS.==========AASSSSAAAAAASS.  %s"
 | ||
| "${c1}  .=KKO..========ASS.....SSSSASSSS.%s"
 | ||
| "${c1}    .KK.       .ASS..O.. =SSSSAOSS:%s"
 | ||
| "${c1}     .OK.      .ASSSSSSSO...=A.SSA.%s"
 | ||
| "${c1}       .K      ..SSSASSSS.. ..SSA. %s"
 | ||
| "${c1}                 .SSS.AAKAKSSKA.   %s"
 | ||
| "${c1}                    .SSS....S..    %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"CentOS")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'yellow')
 | ||
| 				c2=$(getColor 'light green')
 | ||
| 				c3=$(getColor 'light blue')
 | ||
| 				c4=$(getColor 'light purple')
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; c3="${my_lcolor}"; c4="${my_lcolor}"; fi
 | ||
| 			startline="0"
 | ||
| 			logowidth="40"
 | ||
| 			fulloutput=(
 | ||
| "${c1}                   ..                   %s"
 | ||
| "${c1}                 .PLTJ.                 %s"
 | ||
| "${c1}                <><><><>                %s"
 | ||
| "${c2}       KKSSV' 4KKK ${c1}LJ${c4} KKKL.'VSSKK       %s"
 | ||
| "${c2}       KKV' 4KKKKK ${c1}LJ${c4} KKKKAL 'VKK       %s"
 | ||
| "${c2}       V' ' 'VKKKK ${c1}LJ${c4} KKKKV' ' 'V       %s"
 | ||
| "${c2}       .4MA.' 'VKK ${c1}LJ${c4} KKV' '.4Mb.       %s"
 | ||
| "${c4}     . ${c2}KKKKKA.' 'V ${c1}LJ${c4} V' '.4KKKKK ${c3}.     %s"
 | ||
| "${c4}   .4D ${c2}KKKKKKKA.'' ${c1}LJ${c4} ''.4KKKKKKK ${c3}FA.   %s"
 | ||
| "${c4}  <QDD ++++++++++++  ${c3}++++++++++++ GFD>  %s"
 | ||
| "${c4}   'VD ${c3}KKKKKKKK'.. ${c2}LJ ${c1}..'KKKKKKKK ${c3}FV    %s"
 | ||
| "${c4}     ' ${c3}VKKKKK'. .4 ${c2}LJ ${c1}K. .'KKKKKV ${c3}'     %s"
 | ||
| "${c3}        'VK'. .4KK ${c2}LJ ${c1}KKA. .'KV'        %s"
 | ||
| "${c3}       A. . .4KKKK ${c2}LJ ${c1}KKKKA. . .4       %s"
 | ||
| "${c3}       KKA. 'KKKKK ${c2}LJ ${c1}KKKKK' .4KK       %s"
 | ||
| "${c3}       KKSSA. VKKK ${c2}LJ ${c1}KKKV .4SSKK       %s"
 | ||
| "${c2}                <><><><>                %s"
 | ||
| "${c2}                 'MKKM'                 %s"
 | ||
| "${c2}                   ''                   %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"Jiyuu Linux")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'light blue') # Light Blue
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; fi
 | ||
| 			startline="0"
 | ||
| 			logowidth="31"
 | ||
| 			fulloutput=(
 | ||
| "${c1}+++++++++++++++++++++++.       %s"
 | ||
| "${c1}ss:-......-+so/:----.os-       %s"
 | ||
| "${c1}ss        +s/        os-       %s"
 | ||
| "${c1}ss       :s+         os-       %s"
 | ||
| "${c1}ss       os.         os-       %s"
 | ||
| "${c1}ss      .so          os-       %s"
 | ||
| "${c1}ss      :s+          os-       %s"
 | ||
| "${c1}ss      /s/          os-       %s"
 | ||
| "${c1}ss      /s:          os-       %s"
 | ||
| "${c1}ss      +s-          os-       %s"
 | ||
| "${c1}ss-.....os:..........os-       %s"
 | ||
| "${c1}++++++++os+++++++++oooo.       %s"
 | ||
| "${c1}        os.     ./oo/.         %s"
 | ||
| "${c1}        os.   ./oo:            %s"
 | ||
| "${c1}        os. ./oo:              %s"
 | ||
| "${c1}        os oo+-                %s"
 | ||
| "${c1}        os+-                   %s"
 | ||
| "${c1}        /.                     %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"Antergos")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'blue') # Light Blue
 | ||
| 				c2=$(getColor 'light blue') # Light Blue
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; fi
 | ||
| 			startline="1"
 | ||
| 			logowidth="41"
 | ||
| 			fulloutput=(
 | ||
| "${c1}               \`.-/::/-\`\`                "
 | ||
| "${c1}            .-/osssssssso/.              %s"
 | ||
| "${c1}           :osyysssssssyyys+-            %s"
 | ||
| "${c1}        \`.+yyyysssssssssyyyyy+.          %s"
 | ||
| "${c1}       \`/syyyyyssssssssssyyyyys-\`        %s"
 | ||
| "${c1}      \`/yhyyyyysss${c2}++${c1}ssosyyyyhhy/\`        %s"
 | ||
| "${c1}     .ohhhyyyys${c2}o++/+o${c1}so${c2}+${c1}syy${c2}+${c1}shhhho.      %s"
 | ||
| "${c1}    .shhhhys${c2}oo++//+${c1}sss${c2}+++${c1}yyy${c2}+s${c1}hhhhs.     %s"
 | ||
| "${c1}   -yhhhhs${c2}+++++++o${c1}ssso${c2}+++${c1}yyy${c2}s+o${c1}hhddy:    %s"
 | ||
| "${c1}  -yddhhy${c2}o+++++o${c1}syyss${c2}++++${c1}yyy${c2}yooy${c1}hdddy-   %s"
 | ||
| "${c1} .yddddhs${c2}o++o${c1}syyyyys${c2}+++++${c1}yyhh${c2}sos${c1}hddddy\`  %s"
 | ||
| "${c1}\`odddddhyosyhyyyyyy${c2}++++++${c1}yhhhyosddddddo  %s"
 | ||
| "${c1}.dmdddddhhhhhhhyyyo${c2}+++++${c1}shhhhhohddddmmh. %s"
 | ||
| "${c1}ddmmdddddhhhhhhhso${c2}++++++${c1}yhhhhhhdddddmmdy %s"
 | ||
| "${c1}dmmmdddddddhhhyso${c2}++++++${c1}shhhhhddddddmmmmh %s"
 | ||
| "${c1}-dmmmdddddddhhys${c2}o++++o${c1}shhhhdddddddmmmmd- %s"
 | ||
| "${c1} .smmmmddddddddhhhhhhhhhdddddddddmmmms.  %s"
 | ||
| "${c1}   \`+ydmmmdddddddddddddddddddmmmmdy/.    %s"
 | ||
| "${c1}      \`.:+ooyyddddddddddddyyso+:.\`       %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"Void")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'green')       # Dark Green
 | ||
| 				c2=$(getColor 'light green') # Light Green
 | ||
| 				c3=$(getColor 'dark grey')   # Black
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; c3="${my_lcolor}"; fi
 | ||
| 			startline="0"
 | ||
| 			logowidth="47"
 | ||
| 			fulloutput=(
 | ||
| "${c2}                 __.;=====;.__                 %s"
 | ||
| "${c2}             _.=+==++=++=+=+===;.              %s"
 | ||
| "${c2}              -=+++=+===+=+=+++++=_            %s"
 | ||
| "${c1}         .     ${c2}-=:\`\`     \`--==+=++==.          %s"
 | ||
| "${c1}        _vi,    ${c2}\`            --+=++++:         %s"
 | ||
| "${c1}       .uvnvi.       ${c2}_._       -==+==+.        %s"
 | ||
| "${c1}      .vvnvnI\`    ${c2}.;==|==;.     :|=||=|.       %s"
 | ||
| "${c3} +QmQQm${c1}pvvnv; ${c3}_yYsyQQWUUQQQm #QmQ#${c2}:${c3}QQQWUV\$QQmL %s"
 | ||
| "${c3}  -QQWQW${c1}pvvo${c3}wZ?.wQQQE${c2}==<${c3}QWWQ/QWQW.QQWW${c2}(: ${c3}jQWQE %s"
 | ||
| "${c3}   -\$QQQQmmU'  jQQQ@${c2}+=<${c3}QWQQ)mQQQ.mQQQC${c2}+;${c3}jWQQ@' %s"
 | ||
| "${c3}    -\$WQ8Y${c1}nI:   ${c3}QWQQwgQQWV${c2}\`${c3}mWQQ.jQWQQgyyWW@!   %s"
 | ||
| "${c1}      -1vvnvv.     ${c2}\`~+++\`        ++|+++        %s"
 | ||
| "${c1}       +vnvnnv,                 ${c2}\`-|===         %s"
 | ||
| "${c1}        +vnvnvns.           .      ${c2}:=-         %s"
 | ||
| "${c1}         -Invnvvnsi..___..=sv=.     ${c2}\`          %s"
 | ||
| "${c1}           +Invnvnvnnnnnnnnvvnn;.              %s"
 | ||
| "${c1}             ~|Invnvnvvnvvvnnv}+\`              %s"
 | ||
| "${c1}                -~\"|{*l}*|\"\"~                  %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"NixOS")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'blue')
 | ||
| 				c2=$(getColor 'light blue')
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; fi
 | ||
| 			startline="0"
 | ||
| 			logowidth="45"
 | ||
| 			fulloutput=(
 | ||
| "${c1}          ::::.    ${c2}':::::     ::::'          %s"
 | ||
| "${c1}          ':::::    ${c2}':::::.  ::::'           %s"
 | ||
| "${c1}            :::::     ${c2}'::::.:::::            %s"
 | ||
| "${c1}      .......:::::..... ${c2}::::::::             %s"
 | ||
| "${c1}     ::::::::::::::::::. ${c2}::::::    ${c1}::::.     %s"
 | ||
| "${c1}    ::::::::::::::::::::: ${c2}:::::.  ${c1}.::::'     %s"
 | ||
| "${c2}           .....           ::::' ${c1}:::::'      %s"
 | ||
| "${c2}          :::::            '::' ${c1}:::::'       %s"
 | ||
| "${c2} ........:::::               ' ${c1}:::::::::::.  %s"
 | ||
| "${c2}:::::::::::::                 ${c1}:::::::::::::  %s"
 | ||
| "${c2} ::::::::::: ${c1}..              :::::           %s"
 | ||
| "${c2}     .::::: ${c1}.:::            :::::            %s"
 | ||
| "${c2}    .:::::  ${c1}:::::          '''''    ${c2}.....    %s"
 | ||
| "${c2}    :::::   ${c1}':::::.  ${c2}......:::::::::::::'    %s"
 | ||
| "${c2}     :::     ${c1}::::::. ${c2}':::::::::::::::::'     %s"
 | ||
| "${c1}            .:::::::: ${c2}'::::::::::            %s"
 | ||
| "${c1}           .::::''::::.     ${c2}'::::.           %s"
 | ||
| "${c1}          .::::'   ::::.     ${c2}'::::.          %s"
 | ||
| "${c1}         .::::      ::::      ${c2}'::::.         %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"BunsenLabs")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'blue')
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; fi
 | ||
| 			startline="5"
 | ||
| 			logowidth="25"
 | ||
| 			fulloutput=(
 | ||
| "${c1}            HC]          "
 | ||
| "${c1}          H]]]]          "
 | ||
| "${c1}        H]]]]]]4         "
 | ||
| "${c1}      @C]]]]]]]]*        "
 | ||
| "${c1}     @]]]]]]]]]]xd       "
 | ||
| "${c1}    @]]]]]]]]]]]]]d      %s"
 | ||
| "${c1}   0]]]]]]]]]]]]]]]]     %s"
 | ||
| "${c1}   kx]]]]]]x]]x]]]]]%%    %s"
 | ||
| "${c1}  #x]]]]]]]]]]]]]x]]]d   %s"
 | ||
| "${c1}  #]]]]]]qW  x]]x]]]]]4  %s"
 | ||
| "${c1}  k]x]]xg     %%x]]]]]]%%  %s"
 | ||
| "${c1}  Wx]]]W       x]]]]]]]  %s"
 | ||
| "${c1}  #]]]4         xx]]x]]  %s"
 | ||
| "${c1}   px]           ]]]]]x  %s"
 | ||
| "${c1}   Wx]           x]]x]]  %s"
 | ||
| "${c1}    &x           x]]]]   %s"
 | ||
| "${c1}     m           x]]]]   %s"
 | ||
| "${c1}                 x]x]    %s"
 | ||
| "${c1}                 x]]]    %s"
 | ||
| "${c1}                ]]]]     %s"
 | ||
| "${c1}                x]x      %s"
 | ||
| "${c1}               x]q       %s"
 | ||
| "${c1}               ]g        %s"
 | ||
| "${c1}              q          %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"SteamOS")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'grey') # Gray
 | ||
| 				c2=$(getColor 'purple') # Dark Purple
 | ||
| 				c3=$(getColor 'light purple') # Light Purple
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; c3="${my_lcolor}"; fi
 | ||
| 			startline="0"
 | ||
| 			logowidth="37"
 | ||
| 			fulloutput=(
 | ||
| "${c2}               .,,,,.                %s"
 | ||
| "${c2}         .,'onNMMMMMNNnn',.          %s"
 | ||
| "${c2}      .'oNM${c3}ANK${c2}MMMMMMMMMMMNNn'.       %s"
 | ||
| "${c3}    .'ANMMMMMMMXK${c2}NNWWWPFFWNNMNn.     %s"
 | ||
| "${c3}   ;NNMMMMMMMMMMNWW'' ${c2},.., 'WMMM,    %s"
 | ||
| "${c3}  ;NMMMMV+##+VNWWW' ${c3}.+;'':+, 'WM${c2}W,   %s"
 | ||
| "${c3} ,VNNWP+${c1}######${c3}+WW,  ${c1}+:    ${c3}:+, +MMM,  %s"
 | ||
| "${c3} '${c1}+#############,   +.    ,+' ${c3}+NMMM  %s"
 | ||
| "${c1}   '*#########*'     '*,,*' ${c3}.+NMMMM. %s"
 | ||
| "${c1}      \`'*###*'          ,.,;###${c3}+WNM, %s"
 | ||
| "${c1}          .,;;,      .;##########${c3}+W  %s"
 | ||
| "${c1} ,',.         ';  ,+##############'  %s"
 | ||
| "${c1}  '###+. :,. .,; ,###############'   %s"
 | ||
| "${c1}   '####.. \`'' .,###############'    %s"
 | ||
| "${c1}     '#####+++################'      %s"
 | ||
| "${c1}       '*##################*'        %s"
 | ||
| "${c1}          ''*##########*''           %s"
 | ||
| "${c1}               ''''''                %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"SailfishOS")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'blue') # Blue
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; fi
 | ||
| 			startline="0"
 | ||
| 			logowidth="32"
 | ||
| 			fulloutput=(
 | ||
| "${c1}              .+eWWW            %s"
 | ||
| "${c1}          .+ee+++eee      e.    %s"
 | ||
| "${c1}       .ee++eeeeeeee    +e.     %s"
 | ||
| "${c1}     .e++ee++eeeeeee+eee+e+     %s"
 | ||
| "${c1}    ee.e+.ee+eee++eeeeee+       %s"
 | ||
| "${c1}   W.+e.e+.e++ee+eee            %s"
 | ||
| "${c1}  W.+e.W.ee.W++ee'              %s"
 | ||
| "${c1} +e.W W.e+.W.W+                 %s"
 | ||
| "${c1} W.e.+e.W W W.                  %s"
 | ||
| "${c1} e e e +e.W.W                   %s"
 | ||
| "${c1}       .W W W.                  %s"
 | ||
| "${c1}        W.+e.W.                 %s"
 | ||
| "${c1}         W++e.ee+.              %s"
 | ||
| "${c1}          ++ +ee++eeeee++.      %s"
 | ||
| "${c1}          '     '+++e   'ee.    %s"
 | ||
| "${c1}                           ee   %s"
 | ||
| "${c1}                            ee  %s"
 | ||
| "${c1}                             e  %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"Qubes OS")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'cyan')
 | ||
| 				c2=$(getColor 'blue')
 | ||
| 				c3=$(getColor 'light blue')
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; c3="${my_lcolor}"; fi
 | ||
| 			startline="0"
 | ||
| 			logowidth="47"
 | ||
| 			fulloutput=(
 | ||
| "${c3}                      ####                     %s"
 | ||
| "${c3}                    ########                   %s"
 | ||
| "${c3}                  ############                 %s"
 | ||
| "${c3}                #######  #######               %s"
 | ||
| "${c1}              #${c3}######      ######${c2}#             %s"
 | ||
| "${c1}            ####${c3}###          ###${c2}####           %s"
 | ||
| "${c1}          ######        ${c2}        ######         %s"
 | ||
| "${c1}          ######        ${c2}        ######         %s"
 | ||
| "${c1}          ######        ${c2}        ######         %s"
 | ||
| "${c1}          ######        ${c2}        ######         %s"
 | ||
| "${c1}          ######        ${c2}        ######         %s"
 | ||
| "${c1}            #######     ${c2}     #######           %s"
 | ||
| "${c1}              #######   ${c2}   #########           %s"
 | ||
| "${c1}                ####### ${c2} ##############        %s"
 | ||
| "${c1}                  ######${c2}######  ######         %s"
 | ||
| "${c1}                    ####${c2}####     ###           %s"
 | ||
| "${c1}                      ##${c2}##                     %s"
 | ||
| "${c1}                                               %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"PCLinuxOS")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'blue') # Blue
 | ||
| 				c2=$(getColor 'light grey') # White
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; fi
 | ||
| 			startline="0"
 | ||
| 			logowidth="50"
 | ||
| 			fulloutput=(
 | ||
| "${c1}                                                  %s"
 | ||
| "${c1}                                             <NNN>%s"
 | ||
| "${c1}                                           <NNY   %s"
 | ||
| "${c1}                 <ooooo>--.               ((      %s"
 | ||
| "${c1}               Aoooooooooooo>--.           \\\\\\     %s"
 | ||
| "${c1}              AooodNNNNNNNNNNNNNNNN>--.     ))    %s"
 | ||
| "${c2}          (${c1}  AoodNNNNNNNNNNNNNNNNNNNNNNN>-///'    %s"
 | ||
| "${c2}          \\\\\\\\${c1}AodNNNNNNNNNNNNNNNNNNNNNNNNNNNY/      %s"
 | ||
| "${c1}           AodNNNNNNNNNNNNNNNNNNNNNNNNNNNNN       %s"
 | ||
| "${c1}          AdNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNA       %s"
 | ||
| "${c1}         (${c2}/)${c1}NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNA      %s"
 | ||
| "${c2}         //${c1}<NNNNNNNNNNNNNNNNNY'   YNNY YNNNN      %s"
 | ||
| "${c2} ,====#Y//${c1}   \`<NNNNNNNNNNNY       ANY     YNA     %s"
 | ||
| "${c1}               ANY<NNNNYYN       .NY        YN.   %s"
 | ||
| "${c1}             (NNY       NN      (NND       (NND   %s"
 | ||
| "${c1}                      (NNU                        %s"
 | ||
| "${c1}                                                  %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"Exherbo")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'dark grey')  # Black
 | ||
| 				c2=$(getColor 'light blue') # Blue
 | ||
| 				c3=$(getColor 'light red')  # Beige
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; c3="${my_lcolor}"; fi
 | ||
| 			startline="0"
 | ||
| 			logowidth="46"
 | ||
| 			fulloutput=(
 | ||
| "${c1}  ,                                           %s"
 | ||
| "${c1}  OXo.                                        %s"
 | ||
| "${c1}  NXdX0:    .cok0KXNNXXK0ko:.                 %s"
 | ||
| "${c1}  KX  '0XdKMMK;.xMMMk, .0MMMMMXx;  ...        %s"
 | ||
| "${c1}  'NO..xWkMMx   kMMM    cMMMMMX,NMWOxOXd.     %s"
 | ||
| "${c1}    cNMk  NK    .oXM.   OMMMMO. 0MMNo  kW.    %s"
 | ||
| "${c1}    lMc   o:       .,   .oKNk;   ;NMMWlxW'    %s"
 | ||
| "${c1}   ;Mc    ..   .,,'    .0M${c2}g;${c1}WMN'dWMMMMMMO     %s"
 | ||
| "${c1}   XX        ,WMMMMW.  cM${c2}cfli${c1}WMKlo.   .kMk    %s"
 | ||
| "${c1}  .Mo        .WM${c2}GD${c1}MW.   XM${c2}WO0${c1}MMk        oMl   %s"
 | ||
| "${c1}  ,M:         ,XMMWx::,''oOK0x;          NM.  %s"
 | ||
| "${c1}  'Ml      ,kNKOxxxxxkkO0XXKOd:.         oMk  %s"
 | ||
| "${c1}   NK    .0Nxc${c3}:::::::::::::::${c1}fkKNk,      .MW  %s"
 | ||
| "${c1}   ,Mo  .NXc${c3}::${c1}qXWXb${c3}::::::::::${c1}oo${c3}::${c1}lNK.    .MW  %s"
 | ||
| "${c1}    ;Wo oMd${c3}:::${c1}oNMNP${c3}::::::::${c1}oWMMMx${c3}:${c1}c0M;   lMO  %s"
 | ||
| "${c1}     'NO;W0c${c3}:::::::::::::::${c1}dMMMMO${c3}::${c1}lMk  .WM'  %s"
 | ||
| "${c1}       xWONXdc${c3}::::::::::::::${c1}oOOo${c3}::${c1}lXN. ,WMd   %s"
 | ||
| "${c1}        'KWWNXXK0Okxxo,${c3}:::::::${c1},lkKNo  xMMO    %s"
 | ||
| "${c1}          :XMNxl,';:lodxkOO000Oxc. .oWMMo     %s"
 | ||
| "${c1}            'dXMMXkl;,.        .,o0MMNo'      %s"
 | ||
| "${c1}               ':d0XWMMMMWNNNNMMMNOl'         %s"
 | ||
| "${c1}                     ':okKXWNKkl'             %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"Red Star OS")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'light red')  # Red
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; fi
 | ||
| 			startline="0"
 | ||
| 			logowidth="45"
 | ||
| 			fulloutput=(
 | ||
| "${c1}                      ..                     %s"
 | ||
| "${c1}                    .oK0l                    %s"
 | ||
| "${c1}                   :0KKKKd.                  %s"
 | ||
| "${c1}                 .xKO0KKKKd                  %s"
 | ||
| "${c1}                ,Od' .d0000l                 %s"
 | ||
| "${c1}               .c;.   .'''...           ..'. %s"
 | ||
| "${c1}  .,:cloddxxxkkkkOOOOkkkkkkkkxxxxxxxxxkkkx:  %s"
 | ||
| "${c1}  ;kOOOOOOOkxOkc'...',;;;;,,,'',;;:cllc:,.   %s"
 | ||
| "${c1}   .okkkkd,.lko  .......',;:cllc:;,,'''''.   %s"
 | ||
| "${c1}     .cdo. :xd' cd:.  ..';'',,,'',,;;;,'.    %s"
 | ||
| "${c1}        . .ddl.;doooc'..;oc;'..';::;,'.      %s"
 | ||
| "${c1}          coo;.oooolllllllcccc:'.  .         %s"
 | ||
| "${c1}         .ool''lllllccccccc:::::;.           %s"
 | ||
| "${c1}         ;lll. .':cccc:::::::;;;;'           %s"
 | ||
| "${c1}         :lcc:'',..';::::;;;;;;;,,.          %s"
 | ||
| "${c1}         :cccc::::;...';;;;;,,,,,,.          %s"
 | ||
| "${c1}         ,::::::;;;,'.  ..',,,,'''.          %s"
 | ||
| "${c1}          ........          ......           %s"
 | ||
| "${c1}                                             %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"SparkyLinux")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'light gray') # Gray
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; fi
 | ||
| 			startline="0"
 | ||
| 			logowidth="48"
 | ||
| 			fulloutput=(
 | ||
| "${c1}             .            \`-:-\`                %s"
 | ||
| "${c1}            .o\`       .-///-\`                  %s"
 | ||
| "${c1}           \`oo\`    .:/++:.                     %s"
 | ||
| "${c1}           os+\`  -/+++:\` \`\`.........\`\`\`        %s"
 | ||
| "${c1}          /ys+\`./+++/-.-::::::----......\`\`     %s"
 | ||
| "${c1}         \`syyo\`++o+--::::-::/+++/-\`\`           %s"
 | ||
| "${c1}         -yyy+.+o+\`:/:-:sdmmmmmmmmdy+-\`        %s"
 | ||
| "${c1}  ::-\`   :yyy/-oo.-+/\`ymho++++++oyhdmdy/\`      %s"
 | ||
| "${c1}  \`/yy+-\`.syyo\`+o..o--h..osyhhddhs+//osyy/\`    %s"
 | ||
| "${c1}    -ydhs+-oyy/.+o.-: \` \`  :/::+ydhy+\`\`\`-os-   %s"
 | ||
| "${c1}     .sdddy::syo--/:.     \`.:dy+-ohhho    ./:  %s"
 | ||
| "${c1}       :yddds/:+oo+//:-\`- /+ +hy+.shhy:     \`\` %s"
 | ||
| "${c1}        \`:ydmmdysooooooo-.ss\`/yss--oyyo        %s"
 | ||
| "${c1}          \`./ossyyyyo+:-/oo:.osso- .oys        %s"
 | ||
| "${c1}         \`\`..-------::////.-oooo/   :so        %s"
 | ||
| "${c1}      \`...----::::::::--.\`/oooo:    .o:        %s"
 | ||
| "${c1}             \`\`\`\`\`\`\`     ++o+:\`     \`:\`        %s"
 | ||
| "${c1}                       ./+/-\`        \`         %s"
 | ||
| "${c1}                     \`-:-.                     %s"
 | ||
| "${c1}                     \`\`                        %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"Pardus")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'yellow') # Light Yellow
 | ||
| 				c2=$(getColor 'dark grey') # Light Gray
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; fi
 | ||
| 			startline="1"
 | ||
| 			logowidth="45"
 | ||
| 			fulloutput=(
 | ||
| ""
 | ||
| "${c1}   .smNdy+-    \`.:/osyyso+:.\`    -+ydmNs.   %s"
 | ||
| "${c1}  /Md- -/ymMdmNNdhso/::/oshdNNmdMmy/. :dM/  %s"
 | ||
| "${c1}  mN.     oMdyy- -y          \`-dMo     .Nm  %s"
 | ||
| "${c1}  .mN+\`  sMy hN+ -:             yMs  \`+Nm.  %s"
 | ||
| "${c1}   \`yMMddMs.dy \`+\`               sMddMMy\`   %s"
 | ||
| "${c1}     +MMMo  .\`  .                 oMMM+     %s"
 | ||
| "${c1}     \`NM/    \`\`\`\`\`.\`    \`.\`\`\`\`\`    +MN\`     %s"
 | ||
| "${c1}     yM+   \`.-:yhomy    ymohy:-.\`   +My     %s"
 | ||
| "${c1}     yM:          yo    oy          :My     %s"
 | ||
| "${c1}     +Ms         .N\`    \`N.      +h sM+     %s"
 | ||
| "${c1}     \`MN      -   -::::::-   : :o:+\`NM\`     %s"
 | ||
| "${c1}      yM/    sh   -dMMMMd-   ho  +y+My      %s"
 | ||
| "${c1}      .dNhsohMh-//: /mm/ ://-yMyoshNd\`      %s"
 | ||
| "${c1}        \`-ommNMm+:/. oo ./:+mMNmmo:\`        %s"
 | ||
| "${c1}       \`/o+.-somNh- :yy: -hNmos-.+o/\`       %s"
 | ||
| "${c1}      ./\` .s/\`s+sMdd+\`\`+ddMs+s\`/s. \`/.      %s"
 | ||
| "${c1}          : -y.  -hNmddmNy.  .y- :          %s"
 | ||
| "${c1}           -+       \`..\`       +-           %s"
 | ||
| "%s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"SwagArch")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'white') # White
 | ||
| 				c2=$(getColor 'light blue') # Light Blue
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; fi
 | ||
| 			startline="0"
 | ||
| 			logowidth="48"
 | ||
| 			fulloutput=(
 | ||
| "${c1}                                               %s"
 | ||
| "${c1}          .;ldkOKXXNNNNXXK0Oxoc,.              %s"
 | ||
| "${c1}     ,lkXMMNK0OkkxkkOKWMMMMMMMMMM;             %s"
 | ||
| "${c1}   'K0xo  ..,;:c:.     \`'lKMMMMM0              %s"
 | ||
| "${c1}       .lONMMMMMM'         \`lNMk'              %s"
 | ||
| "${c1}      ;WMMMMMMMMMO.              ${c2}....::...     %s"
 | ||
| "${c1}      OMMMMMMMMMMMMKl.       ${c2}.,;;;;;ccccccc,   %s"
 | ||
| "${c1}      \`0MMMMMMMMMMMMMM0:         ${c2}.. .ccccccc.  %s"
 | ||
| "${c1}        'kWMMMMMMMMMMMMMNo.   ${c2}.,:'  .ccccccc.  %s"
 | ||
| "${c1}          \`c0MMMMMMMMMMMMMN,${c2},:c;    :cccccc:   %s"
 | ||
| "${c1}   ckl.      \`lXMMMMMMMMMX${c2}occcc:.. ;ccccccc.   %s"
 | ||
| "${c1}  dMMMMXd,     \`OMMMMMMWk${c2}ccc;:''\` ,ccccccc:    %s"
 | ||
| "${c1}  XMMMMMMMWKkxxOWMMMMMNo${c2}ccc;     .cccccccc.    %s"
 | ||
| "${c1}   \`':ldxO0KXXXXXK0Okdo${c2}cccc.     :cccccccc.    %s"
 | ||
| "${c2}                      :ccc:'     \`cccccccc:,   %s"
 | ||
| "${c2}                                     ''        %s"
 | ||
| "${c2}                                               %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		"Parrot Security")
 | ||
| 			if [[ "$no_color" != "1" ]]; then
 | ||
| 				c1=$(getColor 'light blue') # Light Blue
 | ||
| 			fi
 | ||
| 			if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; fi
 | ||
| 			startline="0"
 | ||
| 			logowidth="43"
 | ||
| 			fulloutput=(
 | ||
| "${c1}    ,:oho/-.                              %s"
 | ||
| "${c1}   mMMMMMMMMMMMNmmdhy-                    %s"
 | ||
| "${c1}   dMMMMMMMMMMMMMMMMMMs.                  %s"
 | ||
| "${c1}   +MMsohNMMMMMMMMMMMMMm/                 %s"
 | ||
| "${c1}   .My   .+dMMMMMMMMMMMMMh.               %s"
 | ||
| "${c1}    +       :NMMMMMMMMMMMMNo              %s"
 | ||
| "${c1}             \`yMMMMMMMMMMMMMm:            %s"
 | ||
| "${c1}               /NMMMMMMMMMMMMMy.          %s"
 | ||
| "${c1}                .hMMMMMMMMMMMMMN+         %s"
 | ||
| "${c1}                    \`\`-NMMMMMMMMMd-       %s"
 | ||
| "${c1}                       /MMMMMMMMMMMs.     %s"
 | ||
| "${c1}                        mMMMMMMMsyNMN/    %s"
 | ||
| "${c1}                        +MMMMMMMo  :sNh.  %s"
 | ||
| "${c1}                        \`NMMMMMMm     -o/ %s"
 | ||
| "${c1}                         oMMMMMMM.        %s"
 | ||
| "${c1}                         \`NMMMMMM+        %s"
 | ||
| "${c1}                          +MMd/NMh        %s"
 | ||
| "${c1}                           mMm -mN\`       %s"
 | ||
| "${c1}                           /MM  \`h:       %s"
 | ||
| "${c1}                            dM\`   .       %s"
 | ||
| "${c1}                            :M-           %s"
 | ||
| "${c1}                             d:           %s"
 | ||
| "${c1}                             -+           %s"
 | ||
| "${c1}                              -           %s")
 | ||
| 		;;
 | ||
| 
 | ||
| 		*)
 | ||
| 			if [ "$(echo "${kernel}" | grep 'Linux' )" ]; then
 | ||
| 				if [[ "$no_color" != "1" ]]; then
 | ||
| 					c1=$(getColor 'white') # White
 | ||
| 					c2=$(getColor 'dark grey') # Light Gray
 | ||
| 					c3=$(getColor 'yellow') # Light Yellow
 | ||
| 				fi
 | ||
| 				if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; c3="${my_lcolor}"; fi
 | ||
| 				startline="0"
 | ||
| 				logowidth="28"
 | ||
| 				fulloutput=(
 | ||
| "${c2}                            %s"
 | ||
| "${c2}                            %s"
 | ||
| "${c2}                            %s"
 | ||
| "${c2}         #####              %s"
 | ||
| "${c2}        #######             %s"
 | ||
| "${c2}        ##"${c1}"O${c2}#"${c1}"O${c2}##             %s"
 | ||
| "${c2}        #${c3}#####${c2}#             %s"
 | ||
| "${c2}      ##${c1}##${c3}###${c1}##${c2}##           %s"
 | ||
| "${c2}     #${c1}##########${c2}##          %s"
 | ||
| "${c2}    #${c1}############${c2}##         %s"
 | ||
| "${c2}    #${c1}############${c2}###        %s"
 | ||
| "${c3}   ##${c2}#${c1}###########${c2}##${c3}#        %s"
 | ||
| "${c3} ######${c2}#${c1}#######${c2}#${c3}######      %s"
 | ||
| "${c3} #######${c2}#${c1}#####${c2}#${c3}#######      %s"
 | ||
| "${c3}   #####${c2}#######${c3}#####        %s"
 | ||
| "${c2}                            %s"
 | ||
| "${c2}                            %s"
 | ||
| "${c2}                            %s")
 | ||
| 
 | ||
| 			elif [[ "$(echo "${kernel}" | grep 'GNU' )" || "$(echo "${kernel}" | grep 'Hurd' )" || "${OSTYPE}" == "gnu" ]]; then
 | ||
| 				if [[ "$no_color" != "1" ]]; then
 | ||
| 					c1=$(getColor 'dark grey') # Light Gray
 | ||
| 				fi
 | ||
| 				if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; fi
 | ||
| 				startline="0"
 | ||
| 				logowidth="37"
 | ||
| 				fulloutput=(
 | ||
| "${c1}    _-\`\`\`\`\`-,           ,- '- .      %s"
 | ||
| "${c1}   .'   .- - |          | - -.  \`.   %s"
 | ||
| "${c1}  /.'  /                     \`.   \\  %s"
 | ||
| "${c1} :/   :      _...   ..._      \`\`   : %s"
 | ||
| "${c1} ::   :     /._ .\`:'_.._\\.    ||   : %s"
 | ||
| "${c1} ::    \`._ ./  ,\`  :    \\ . _.''   . %s"
 | ||
| "${c1} \`:.      /   |  -.  \\-. \\\\\_      /  %s"
 | ||
| "${c1}   \\:._ _/  .'   .@)  \\@) \` \`\\ ,.'   %s"
 | ||
| "${c1}      _/,--'       .- .\\,-.\`--\`.     %s"
 | ||
| "${c1}        ,'/''     (( \\ \`  )          %s"
 | ||
| "${c1}         /'/'  \\    \`-'  (           %s"
 | ||
| "${c1}          '/''  \`._,-----'           %s"
 | ||
| "${c1}           ''/'    .,---'            %s"
 | ||
| "${c1}            ''/'      ;:             %s"
 | ||
| "${c1}              ''/''  ''/             %s"
 | ||
| "${c1}                ''/''/''             %s"
 | ||
| "${c1}                  '/'/'              %s"
 | ||
| "${c1}                   \`;                %s")
 | ||
| # Source: https://www.gnu.org/graphics/alternative-ascii.en.html
 | ||
| # Copyright (C) 2003, Vijay Kumar
 | ||
| # Permission is granted to copy, distribute and/or modify this image under the
 | ||
| # terms of the GNU General Public License as published by the Free Software
 | ||
| # Foundation; either version 2 of the License, or (at your option) any later
 | ||
| # version.
 | ||
| 
 | ||
| 			else
 | ||
| 				if [[ "$no_color" != "1" ]]; then
 | ||
| 					c1=$(getColor 'light green') # Light Green
 | ||
| 				fi
 | ||
| 				if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; fi
 | ||
| 				startline="0"
 | ||
| 				logowidth="44"
 | ||
| 				fulloutput=(
 | ||
| "${c1}                                            %s"
 | ||
| "${c1}                                            %s"
 | ||
| "${c1} UUU     UUU NNN      NNN IIIII XXX     XXXX%s"
 | ||
| "${c1} UUU     UUU NNNN     NNN  III    XX   xXX  %s"
 | ||
| "${c1} UUU     UUU NNNNN    NNN  III     XX xXX   %s"
 | ||
| "${c1} UUU     UUU NNN NN   NNN  III      XXXX    %s"
 | ||
| "${c1} UUU     UUU NNN  NN  NNN  III      xXX     %s"
 | ||
| "${c1} UUU     UUU NNN   NN NNN  III     xXXXX    %s"
 | ||
| "${c1} UUU     UUU NNN    NNNNN  III    xXX  XX   %s"
 | ||
| "${c1}  UUUuuuUUU  NNN     NNNN  III   xXX    XX  %s"
 | ||
| "${c1}    UUUUU    NNN      NNN IIIII xXXx    xXXx%s"
 | ||
| "${c1}                                            %s"
 | ||
| "${c1}                                            %s"
 | ||
| "${c1}                                            %s"
 | ||
| "${c1}                                            %s")
 | ||
| 			fi
 | ||
| 		;;
 | ||
| 	esac
 | ||
| 
 | ||
| 
 | ||
| 	# Truncate lines based on terminal width.
 | ||
| 	if [ "$truncateSet" == "Yes" ]; then
 | ||
| 		missinglines=$((${#out_array[*]} + ${startline} - ${#fulloutput[*]}))
 | ||
| 		for ((i=0; i<${missinglines}; i++)); do
 | ||
| 			fulloutput+=("${c1}$(printf '%*s' "$logowidth")%s")
 | ||
| 		done
 | ||
| 		for ((i=0; i<${#fulloutput[@]}; i++)); do
 | ||
| 			my_out=$(printf "${fulloutput[i]}$c0\n" "${out_array}")
 | ||
| 			my_out_full=$(echo "$my_out" | cat -v)
 | ||
| 			termWidth=$(tput cols)
 | ||
| 			SHOPT_EXTGLOB_STATE=$(shopt -p extglob)
 | ||
| 			read SHOPT_CMD SHOPT_STATE SHOPT_OPT <<< ${SHOPT_EXTGLOB_STATE}
 | ||
| 			if [[ ${SHOPT_STATE} == "-u" ]]; then
 | ||
| 				shopt -s extglob
 | ||
| 			fi
 | ||
| 
 | ||
| 			stringReal="${my_out_full//\^\[\[@([0-9]|[0-9];[0-9][0-9])m}"
 | ||
| 
 | ||
| 			if [[ ${SHOPT_STATE} == "-u" ]]; then
 | ||
| 				shopt -u extglob
 | ||
| 			fi
 | ||
| 
 | ||
| 			if [[ "${#stringReal}" -le "${termWidth}" ]]; then
 | ||
| 				echo -e "${my_out}"$c0
 | ||
| 			elif [[ "${#stringReal}" -gt "${termWidth}" ]]; then
 | ||
| 				((NORMAL_CHAR_COUNT=0))
 | ||
| 				for ((j=0; j<=${#my_out_full}; j++)); do
 | ||
| 					if [[ "${my_out_full:${j}:3}" == '^[[' ]]; then
 | ||
| 						if [[ "${my_out_full:${j}:5}" =~ ^\^\[\[[[:digit:]]m$ ]]; then
 | ||
| 							if [[ ${j} -eq 0 ]]; then
 | ||
| 								j=$((${j} + 5))
 | ||
| 							else
 | ||
| 								j=$((${j} + 4))
 | ||
| 							fi
 | ||
| 						elif [[ "${my_out_full:${j}:8}" =~ ^\^\[\[[[:digit:]]\;[[:digit:]][[:digit:]]m ]]; then
 | ||
| 							if [[ ${j} -eq 0 ]]; then
 | ||
| 								j=$((${j} + 8))
 | ||
| 							else
 | ||
| 								j=$((${j} + 7))
 | ||
| 							fi
 | ||
| 						fi
 | ||
| 					else
 | ||
| 						((NORMAL_CHAR_COUNT++))
 | ||
| 						if [[ ${NORMAL_CHAR_COUNT} -ge ${termWidth} ]]; then
 | ||
| 							echo -e "${my_out:0:$((${j} - 5))}"$c0
 | ||
| 							break 1
 | ||
| 						fi
 | ||
| 					fi
 | ||
| 				done
 | ||
| 			fi
 | ||
| 
 | ||
| 			if [[ "$i" -ge "$startline" ]]; then
 | ||
| 				unset out_array[0]
 | ||
| 				out_array=( "${out_array[@]}" )
 | ||
| 			fi
 | ||
| 		done
 | ||
| 
 | ||
| 	elif [[ "$portraitSet" = "Yes" ]]; then
 | ||
| 		for ((i=0; $i<${#fulloutput[*]}; i++)); do
 | ||
| 			printf "${fulloutput[$i]}$c0\n"
 | ||
| 		done
 | ||
| 
 | ||
| 		printf "\n"
 | ||
| 
 | ||
| 		for ((i=0; $i<${#fulloutput[*]}; i++)); do
 | ||
| 			[[ -z "$out_array" ]] && continue
 | ||
| 			printf "%s\n" "${out_array}"
 | ||
| 			unset out_array[0]
 | ||
| 			out_array=( "${out_array[@]}" )
 | ||
| 		done
 | ||
| 
 | ||
| 	elif [[ "$display_logo" == "Yes" ]]; then
 | ||
| 		for ((i=0; i<${#fulloutput[*]}; i++)); do
 | ||
| 			printf "${fulloutput[i]}$c0\n"
 | ||
| 		done
 | ||
| 
 | ||
| 	else
 | ||
| 		if [[ "$lineWrap" = "Yes" ]]; then
 | ||
| 			availablespace=$(($(tput cols) - ${logowidth} + 16)) #I dont know why 16 but it works
 | ||
| 			new_out_array=("${out_array[0]}")
 | ||
| 			for ((i=1; i<${#out_array[@]}; i++)); do
 | ||
| 				lines=$(echo ${out_array[i]} | fmt -w $availablespace)
 | ||
| 				IFS=$'\n' read -rd '' -a splitlines <<<"$lines"
 | ||
| 				new_out_array+=("${splitlines[0]}")
 | ||
| 				for ((j=1; j<${#splitlines[*]}; j++)); do
 | ||
| 					line=$(echo -e "$labelcolor $textcolor  ${splitlines[j]}")
 | ||
| 					new_out_array=( "${new_out_array[@]}" "$line" );
 | ||
| 				done
 | ||
| 			done
 | ||
| 			out_array=("${new_out_array[@]}")
 | ||
| 		fi
 | ||
| 		missinglines=$((${#out_array[*]} + ${startline} - ${#fulloutput[*]}))
 | ||
| 		for ((i=0; i<${missinglines}; i++)); do
 | ||
| 			fulloutput+=("${c1}$(printf '%*s' "$logowidth")%s")
 | ||
| 		done
 | ||
| 		#n=${#fulloutput[*]}
 | ||
| 		for ((i=0; i<${#fulloutput[*]}; i++)); do
 | ||
| 			# echo "${out_array[@]}"
 | ||
| 			febreeze=$(awk 'BEGIN{srand();print int(rand()*(1000-1))+1 }')
 | ||
| 			if [[ "${febreeze}" == "411" || "${febreeze}" == "188" || "${febreeze}" == "15" || "${febreeze}" == "166" || "${febreeze}" == "609" ]]; then
 | ||
| 				f_size=${#fulloutput[*]}
 | ||
| 				o_size=${#out_array[*]}
 | ||
| 				f_max=$(( 32768 / f_size * f_size ))
 | ||
| 				#o_max=$(( 32768 / o_size * o_size ))
 | ||
| 				for ((a=f_size-1; a>0; a--)); do
 | ||
| 					while (( (rand=$RANDOM) >= f_max )); do :; done
 | ||
| 					rand=$(( rand % (a+1) ))
 | ||
| 					tmp=${fulloutput[a]} fulloutput[a]=${fulloutput[rand]} fulloutput[rand]=$tmp
 | ||
| 				done
 | ||
| 				for ((b=o_size-1; b>0; b--)); do
 | ||
| 					rand=$(( rand % (b+1) ))
 | ||
| 					tmp=${out_array[b]} out_array[b]=${out_array[rand]} out_array[rand]=$tmp
 | ||
| 				done
 | ||
| 			fi
 | ||
| 			printf "${fulloutput[i]}$c0\n" "${out_array}"
 | ||
| 			if [[ "$i" -ge "$startline" ]]; then
 | ||
| 				unset out_array[0]
 | ||
| 				out_array=( "${out_array[@]}" )
 | ||
| 			fi
 | ||
| 		done
 | ||
| 	fi
 | ||
| 	# Done with ASCII output
 | ||
| }
 | ||
| 
 | ||
| infoDisplay () {
 | ||
| 	textcolor="\033[0m"
 | ||
| 	[[ "$my_hcolor" ]] && textcolor="${my_hcolor}"
 | ||
| 	#TODO: Centralize colors and use them across the board so we only change them one place.
 | ||
| 	myascii="${distro}"
 | ||
| 	[[ "${asc_distro}" ]] && myascii="${asc_distro}"
 | ||
| 	case ${myascii} in
 | ||
| 		"Alpine Linux"|"Arch Linux - Old"|"Fedora"|"Korora"|"Chapeau"|"Mandriva"|"Mandrake"|"Chakra"|"ChromeOS"|"Sabayon"|"Slackware"|"Mac OS X"|"Trisquel"|"Kali Linux"|"Jiyuu Linux"|"Antergos"|"KaOS"|"Logos"|"gNewSense"|"Netrunner"|"NixOS"|"SailfishOS"|"Qubes OS"|"Kogaion"|"PCLinuxOS"|"Obarun"|"Solus"|"SwagArch"|"Parrot Security") labelcolor=$(getColor 'light blue');;
 | ||
| 		"Arch Linux"|"Frugalware"|"Mageia"|"Deepin"|"CRUX") labelcolor=$(getColor 'light cyan');;
 | ||
| 		"Mint"|"LMDE"|"KDE neon"|"openSUSE"|"SUSE Linux Enterprise"|"LinuxDeepin"|"DragonflyBSD"|"Manjaro"|"Manjaro-tree"|"Android"|"Void"|"DesaOS") labelcolor=$(getColor 'light green');;
 | ||
| 		"Ubuntu"|"FreeBSD"|"FreeBSD - Old"|"Debian"|"Raspbian"|"BSD"|"Red Hat Enterprise Linux"|"Oracle Linux"|"Peppermint"|"Cygwin"|"Msys"|"Fuduntu"|"Scientific Linux"|"DragonFlyBSD"|"BackTrack Linux"|"Red Star OS"|"SparkyLinux") labelcolor=$(getColor 'light red');;
 | ||
| 		"ROSA") labelcolor=$(getColor 'white');;
 | ||
| 		"CrunchBang"|"Viperr"|"elementary"*) labelcolor=$(getColor 'dark grey');;
 | ||
| 		"Gentoo"|"Parabola GNU/Linux-libre"|"Funtoo"|"Funtoo-text"|"BLAG"|"SteamOS"|"Devuan") labelcolor=$(getColor 'light purple');;
 | ||
| 		"Haiku") labelcolor=$(getColor 'green');;
 | ||
| 		"NetBSD") labelcolor=$(getColor 'orange');;
 | ||
| 		"CentOS"|*) labelcolor=$(getColor 'yellow');;
 | ||
| 	esac
 | ||
| 	[[ "$my_lcolor" ]] && labelcolor="${my_lcolor}"
 | ||
| 	if [[ "$art" ]]; then source "$art"; fi
 | ||
| 	if [[ "$no_color" == "1" ]]; then labelcolor=""; bold=""; c0=""; textcolor=""; fi
 | ||
| 	# Some verbosity stuff
 | ||
| 	[[ "$screenshot" == "1" ]] && verboseOut "Screenshot will be taken after info is displayed."
 | ||
| 	[[ "$upload" == "1" ]] && verboseOut "Screenshot will be transferred/uploaded to specified location."
 | ||
| 	#########################
 | ||
| 	# Info Variable Setting #
 | ||
| 	#########################
 | ||
| 	if [[ "${distro}" == "Android" ]]; then
 | ||
| 		myhostname=$(echo -e "${labelcolor} ${hostname}"); out_array=( "${out_array[@]}" "$myhostname" )
 | ||
| 		mydistro=$(echo -e "$labelcolor OS:$textcolor $distro $distro_ver"); out_array=( "${out_array[@]}" "$mydistro" )
 | ||
| 		mydevice=$(echo -e "$labelcolor Device:$textcolor $device"); out_array=( "${out_array[@]}" "$mydevice" )
 | ||
| 		myrom=$(echo -e "$labelcolor ROM:$textcolor $rom"); out_array=( "${out_array[@]}" "$myrom" )
 | ||
| 		mybaseband=$(echo -e "$labelcolor Baseband:$textcolor $baseband"); out_array=( "${out_array[@]}" "$mybaseband" )
 | ||
| 		mykernel=$(echo -e "$labelcolor Kernel:$textcolor $kernel"); out_array=( "${out_array[@]}" "$mykernel" )
 | ||
| 		myuptime=$(echo -e "$labelcolor Uptime:$textcolor $uptime"); out_array=( "${out_array[@]}" "$myuptime" )
 | ||
| 		mycpu=$(echo -e "$labelcolor CPU:$textcolor $cpu"); out_array=( "${out_array[@]}" "$mycpu" )
 | ||
| 		mygpu=$(echo -e "$labelcolor GPU:$textcolor $cpu"); out_array=( "${out_array[@]}" "$mygpu" )
 | ||
| 		mymem=$(echo -e "$labelcolor RAM:$textcolor $mem"); out_array=( "${out_array[@]}" "$mymem" )
 | ||
| 	else
 | ||
| 		if [[ "${display[@]}" =~ "host" ]]; then myinfo=$(echo -e "${labelcolor} ${myUser}$textcolor${bold}@${c0}${labelcolor}${myHost}"); out_array=( "${out_array[@]}" "$myinfo" ); ((display_index++)); fi
 | ||
| 		if [[ "${display[@]}" =~ "distro" ]]; then
 | ||
| 			if [ "$distro" == "Mac OS X" ]; then
 | ||
| 				sysArch=`str1=$(getconf LONG_BIT);echo ${str1}bit`
 | ||
| 				prodVers=`prodVers=$(sw_vers|grep ProductVersion);echo ${prodVers:15}`
 | ||
| 				buildVers=`buildVers=$(sw_vers|grep BuildVersion);echo ${buildVers:14}`
 | ||
| 				if [ -n "$distro_more" ]; then mydistro=$(echo -e "$labelcolor OS:$textcolor $distro_more $sysArch")
 | ||
| 				else mydistro=$(echo -e "$labelcolor OS:$textcolor $sysArch $distro $prodVers $buildVers"); fi
 | ||
| 			elif [[ "$distro" == "Cygwin" || "$distro" == "Msys" ]]; then
 | ||
| 				distro="$(wmic os get caption | sed 's/\r//g; s/[ \t]*$//g; 2!d')"
 | ||
| 				if [[ "$(wmic os get version | grep -o '^10\.')" == "10." ]]; then
 | ||
| 					distro="$distro (v$(wmic os get version | grep '^10\.' | tr -d ' '))"
 | ||
| 				fi
 | ||
| 				sysArch=$(wmic os get OSArchitecture | sed 's/\r//g; s/[ \t]*$//g; 2!d')
 | ||
| 				mydistro=$(echo -e "$labelcolor OS:$textcolor $distro $sysArch")
 | ||
| 			else
 | ||
| 				if [ -n "$distro_more" ]; then mydistro=$(echo -e "$labelcolor OS:$textcolor $distro_more")
 | ||
| 				else mydistro=$(echo -e "$labelcolor OS:$textcolor $distro $sysArch"); fi
 | ||
| 			fi
 | ||
| 			out_array=( "${out_array[@]}" "$mydistro$uow" )
 | ||
| 			((display_index++))
 | ||
| 		fi
 | ||
| 		if [[ "${display[@]}" =~ "kernel" ]]; then mykernel=$(echo -e "$labelcolor Kernel:$textcolor $kernel"); out_array=( "${out_array[@]}" "$mykernel" ); ((display_index++)); fi
 | ||
| 		if [[ "${display[@]}" =~ "uptime" ]]; then myuptime=$(echo -e "$labelcolor Uptime:$textcolor $uptime"); out_array=( "${out_array[@]}" "$myuptime" ); ((display_index++)); fi
 | ||
| 		if [[ "${display[@]}" =~ "pkgs" ]]; then mypkgs=$(echo -e "$labelcolor Packages:$textcolor $pkgs"); out_array=( "${out_array[@]}" "$mypkgs" ); ((display_index++)); fi
 | ||
| 		if [[ "${display[@]}" =~ "shell" ]]; then myshell=$(echo -e "$labelcolor Shell:$textcolor $myShell"); out_array=( "${out_array[@]}" "$myshell" ); ((display_index++)); fi
 | ||
| 		if [[ -n "$DISPLAY" || "$distro" == "Mac OS X" ]]; then
 | ||
| 			if [ -n "${xResolution}" ]; then
 | ||
| 				if [[ "${display[@]}" =~ "res" ]]; then myres=$(echo -e "$labelcolor Resolution:${textcolor} $xResolution"); out_array=( "${out_array[@]}" "$myres" ); ((display_index++)); fi
 | ||
| 			fi
 | ||
| 			if [[ "${display[@]}" =~ "de" ]]; then
 | ||
| 				if [[ "${DE}" != "Not Present" ]]; then
 | ||
| 					myde=$(echo -e "$labelcolor DE:$textcolor $DE"); out_array=( "${out_array[@]}" "$myde" ); ((display_index++))
 | ||
| 				fi
 | ||
| 			fi
 | ||
| 			if [[ "${display[@]}" =~ "wm" ]]; then mywm=$(echo -e "$labelcolor WM:$textcolor $WM"); out_array=( "${out_array[@]}" "$mywm" ); ((display_index++)); fi
 | ||
| 			if [[ "${display[@]}" =~ "wmtheme" ]]; then
 | ||
| 					if [[ "${Win_theme}" == "Not Applicable" || "${Win_theme}" == "Not Found" ]]; then
 | ||
| 						:
 | ||
| 					else
 | ||
| 						mywmtheme=$(echo -e "$labelcolor WM Theme:$textcolor $Win_theme"); out_array=( "${out_array[@]}" "$mywmtheme" ); ((display_index++)); fi
 | ||
| 					fi
 | ||
| 			if [[ "${display[@]}" =~ "gtk" ]]; then
 | ||
| 				if [ "$distro" == "Mac OS X" ]; then
 | ||
| 					if [[ "$gtkFont" != "Not Applicable" && "$gtkFont" != "Not Found" ]]; then
 | ||
| 						if [ -n "$gtkFont" ]; then
 | ||
| 							myfont=$(echo -e "$labelcolor Font:$textcolor $gtkFont"); out_array=( "${out_array[@]}" "$myfont" ); ((display_index++))
 | ||
| 						fi
 | ||
| 					fi
 | ||
| 				else
 | ||
| 					if [[ "$gtk2Theme" != "Not Applicable" && "$gtk2Theme" != "Not Found" ]]; then
 | ||
| 						if [ -n "$gtk2Theme" ]; then
 | ||
| 							mygtk2="${gtk2Theme} [GTK2]"
 | ||
| 						fi
 | ||
| 					fi
 | ||
| 					if [[ "$gtk3Theme" != "Not Applicable" && "$gtk3Theme" != "Not Found" ]]; then
 | ||
| 						if [ -n "$mygtk2" ]; then
 | ||
| 							mygtk3=", ${gtk3Theme} [GTK3]"
 | ||
| 						else
 | ||
| 							mygtk3="${gtk3Theme} [GTK3]"
 | ||
| 						fi
 | ||
| 					fi
 | ||
| 					if [[ "$gtk_2line" == "yes" ]]; then
 | ||
| 						mygtk2=$(echo -e "$labelcolor GTK2 Theme:$textcolor $gtk2Theme"); out_array=( "${out_array[@]}" "$mygtk2" ); ((display_index++))
 | ||
| 						mygtk3=$(echo -e "$labelcolor GTK3 Theme:$textcolor $gtk3Theme"); out_array=( "${out_array[@]}" "$mygtk3" ); ((display_index++))
 | ||
| 					else
 | ||
| 						if [[ "$gtk2Theme" == "$gtk3Theme" ]]; then
 | ||
| 							if [[ "$gtk2Theme" != "Not Applicable" && "$gtk2Theme" != "Not Found" ]]; then
 | ||
| 								mygtk=$(echo -e "$labelcolor GTK Theme:$textcolor ${gtk2Theme} [GTK2/3]"); out_array=( "${out_array[@]}" "$mygtk" ); ((display_index++))
 | ||
| 							fi
 | ||
| 						else
 | ||
| 							mygtk=$(echo -e "$labelcolor GTK Theme:$textcolor ${mygtk2}${mygtk3}"); out_array=( "${out_array[@]}" "$mygtk" ); ((display_index++))
 | ||
| 						fi
 | ||
| 					fi
 | ||
| 					if [[ "$gtkIcons" != "Not Applicable" && "$gtkIcons" != "Not Found" ]]; then
 | ||
| 						if [ -n "$gtkIcons" ]; then
 | ||
| 							myicons=$(echo -e "$labelcolor Icon Theme:$textcolor $gtkIcons"); out_array=( "${out_array[@]}" "$myicons" ); ((display_index++))
 | ||
| 						fi
 | ||
| 					fi
 | ||
| 					if [[ "$gtkFont" != "Not Applicable" && "$gtkFont" != "Not Found" ]]; then
 | ||
| 						if [ -n "$gtkFont" ]; then
 | ||
| 							myfont=$(echo -e "$labelcolor Font:$textcolor $gtkFont"); out_array=( "${out_array[@]}" "$myfont" ); ((display_index++))
 | ||
| 						fi
 | ||
| 					fi
 | ||
| 					# [ "$gtkBackground" ] && mybg=$(echo -e "$labelcolor BG:$textcolor $gtkBackground"); out_array=( "${out_array[@]}" "$mybg" ); ((display_index++))
 | ||
| 				fi
 | ||
| 			fi
 | ||
| 		elif [[ "$fake_distro" == "Cygwin" || "$fake_distro" == "Msys" || "$fake_distro" == "Windows - Modern" ]]; then
 | ||
| 			if [[ "${display[@]}" =~ "res" && -n "$xResolution" ]]; then myres=$(echo -e "$labelcolor Resolution:${textcolor} $xResolution"); out_array=( "${out_array[@]}" "$myres" ); ((display_index++)); fi
 | ||
| 			if [[ "${display[@]}" =~ "de" ]]; then
 | ||
| 				if [[ "${DE}" != "Not Present" ]]; then
 | ||
| 					myde=$(echo -e "$labelcolor DE:$textcolor $DE"); out_array=( "${out_array[@]}" "$myde" ); ((display_index++))
 | ||
| 				fi
 | ||
| 			fi
 | ||
| 			if [[ "${display[@]}" =~ "wm" ]]; then mywm=$(echo -e "$labelcolor WM:$textcolor $WM"); out_array=( "${out_array[@]}" "$mywm" ); ((display_index++)); fi
 | ||
| 			if [[ "${display[@]}" =~ "wmtheme" ]]; then
 | ||
| 				if [[ "${Win_theme}" == "Not Applicable" || "${Win_theme}" == "Not Found" ]]; then
 | ||
| 					:
 | ||
| 				else
 | ||
| 					mywmtheme=$(echo -e "$labelcolor WM Theme:$textcolor $Win_theme"); out_array=( "${out_array[@]}" "$mywmtheme" ); ((display_index++))
 | ||
| 				fi
 | ||
| 			fi
 | ||
| 		elif [[ "$distro" == "Haiku" ]]; then
 | ||
| 			if [ -n "${xResolution}" ]; then
 | ||
| 				if [[ "${display[@]}" =~ "res" ]]; then myres=$(echo -e "$labelcolor Resolution:${textcolor} $xResolution"); out_array=( "${out_array[@]}" "$myres" ); ((display_index++)); fi
 | ||
| 			fi
 | ||
| 		fi
 | ||
| 		[[ "${fake_distro}" != "Cygwin" && "${fake_distro}" != "Msys" && "${fake_distro}" != "Windows - Modern" ]] && if [[ "${display[@]}" =~ "disk" ]]; then mydisk=$(echo -e "$labelcolor Disk:$textcolor $diskusage"); out_array=( "${out_array[@]}" "$mydisk" ); ((display_index++)); fi
 | ||
| 		if [[ "${display[@]}" =~ "cpu" ]]; then mycpu=$(echo -e "$labelcolor CPU:$textcolor $cpu"); out_array=( "${out_array[@]}" "$mycpu" ); ((display_index++)); fi
 | ||
| 		if [[ "${display[@]}" =~ "gpu" ]] && [[ "$gpu" != "Not Found" ]]; then mygpu=$(echo -e "$labelcolor GPU:$textcolor $gpu"); out_array=( "${out_array[@]}" "$mygpu" ); ((display_index++)); fi
 | ||
| 		if [[ "${display[@]}" =~ "mem" ]]; then mymem=$(echo -e "$labelcolor RAM:$textcolor $mem"); out_array=( "${out_array[@]}" "$mymem" ); ((display_index++)); fi
 | ||
| 		if [[ "$use_customlines" = 1 ]]; then customlines; fi
 | ||
| 	fi
 | ||
| 	if [[ "$display_type" == "ASCII" ]]; then
 | ||
| 		asciiText
 | ||
| 	else
 | ||
| 		if [[ "${display[@]}" =~ "host" ]]; then echo -e "$myinfo"; fi
 | ||
| 		if [[ "${display[@]}" =~ "distro" ]]; then echo -e "$mydistro"; fi
 | ||
| 		if [[ "${display[@]}" =~ "kernel" ]]; then echo -e "$mykernel"; fi
 | ||
| 		if [[ "${distro}" == "Android" ]]; then
 | ||
| 			echo -e "$mydevice"
 | ||
| 			echo -e "$myrom"
 | ||
| 			echo -e "$mybaseband"
 | ||
| 			echo -e "$mykernel"
 | ||
| 			echo -e "$myuptime"
 | ||
| 			echo -e "$mycpu"
 | ||
| 			echo -e "$mymem"
 | ||
| 		else
 | ||
| 			if [[ "${display[@]}" =~ "uptime" ]]; then echo -e "$myuptime"; fi
 | ||
| 			if [[ "${display[@]}" =~ "pkgs" && "$mypkgs" != "Unknown" ]]; then echo -e "$mypkgs"; fi
 | ||
| 			if [[ "${display[@]}" =~ "shell" ]]; then echo -e "$myshell"; fi
 | ||
| 			if [[ "${display[@]}" =~ "res" ]]; then
 | ||
| 				test -z "$myres" || echo -e "$myres"
 | ||
| 			fi
 | ||
| 			if [[ "${display[@]}" =~ "de" ]]; then
 | ||
| 				if [[ "${DE}" != "Not Present" ]]; then echo -e "$myde"; fi
 | ||
| 			fi
 | ||
| 			if [[ "${display[@]}" =~ "wm" ]]; then
 | ||
| 				test -z "$mywm" || echo -e "$mywm"
 | ||
| 				if [[ "${Win_theme}" != "Not Applicable" && "${Win_theme}" != "Not Found" ]]; then
 | ||
| 					test -z "$mywmtheme" || echo -e "$mywmtheme"
 | ||
| 				fi
 | ||
| 			fi
 | ||
| 			if [[ "${display[@]}" =~ "gtk" ]]; then
 | ||
| 				if [[ "$gtk_2line" == "yes" ]]; then
 | ||
| 					test -z "$mygtk2" || echo -e "$mygtk2"
 | ||
| 					test -z "$mygtk3" || echo -e "$mygtk3"
 | ||
| 				else
 | ||
| 					test -z "$mygtk" || echo -e "$mygtk"
 | ||
| 				fi
 | ||
| 				test -z "$myicons" || echo -e "$myicons"
 | ||
| 				test -z "$myfont" || echo -e "$myfont"
 | ||
| 			fi
 | ||
| 			if [[ "${display[@]}" =~ "disk" ]]; then echo -e "$mydisk"; fi
 | ||
| 			if [[ "${display[@]}" =~ "cpu" ]]; then echo -e "$mycpu"; fi
 | ||
| 			if [[ "${display[@]}" =~ "gpu" ]]; then echo -e "$mygpu"; fi
 | ||
| 			if [[ "${display[@]}" =~ "mem" ]]; then echo -e "$mymem"; fi
 | ||
| 		fi
 | ||
| 	fi
 | ||
| }
 | ||
| 
 | ||
| ##################
 | ||
| # Let's Do This!
 | ||
| ##################
 | ||
| 
 | ||
| if [[ -f "$HOME/.screenfetchOR" ]]; then
 | ||
| 	source $HOME/.screenfetchOR
 | ||
| fi
 | ||
| 
 | ||
| if [[ "$overrideDisplay" ]]; then
 | ||
| 	verboseOut "Found 'd' flag in syntax. Overriding display..."
 | ||
| 	OLDIFS=$IFS
 | ||
| 	IFS=';'
 | ||
| 	for i in ${overrideDisplay}; do
 | ||
| 		modchar="${i:0:1}"
 | ||
| 		if [[ "${modchar}" == "-" ]]; then
 | ||
| 			i=${i/${modchar}}
 | ||
| 			_OLDIFS=IFS
 | ||
| 			IFS=,
 | ||
| 			for n in $i; do
 | ||
| 				if [[ ! "${display[@]}" =~ "$n" ]]; then
 | ||
| 					echo "The var $n is not currently being displayed."
 | ||
| 				else
 | ||
| 					display=( "${display[@]/${n}}" )
 | ||
| 				fi
 | ||
| 			done
 | ||
| 			IFS=$_OLDIFS
 | ||
| 		elif [[ "${modchar}" == "+" ]]; then
 | ||
| 			i=${i/${modchar}}
 | ||
| 			_OLDIFS=IFS
 | ||
| 			IFS=,
 | ||
| 			for n in $i; do
 | ||
| 				if [[ "${valid_display[@]}" =~ "$n" ]]; then
 | ||
| 					if [[ "${display[@]}" =~ "$n" ]]; then
 | ||
| 						echo "The $n var is already being displayed."
 | ||
| 					else
 | ||
| 						display+=($n)
 | ||
| 					fi
 | ||
| 				else
 | ||
| 					echo "The var $n is not a valid display var."
 | ||
| 				fi
 | ||
| 			done
 | ||
| 			IFS=$_OLDIFS
 | ||
| 		else
 | ||
| 			IFS=$OLDIFS
 | ||
| 			i="${i//,/ }"
 | ||
| 			display=( $i )
 | ||
| 		fi
 | ||
| 	done
 | ||
| 	IFS=$OLDIFS
 | ||
| fi
 | ||
| 
 | ||
| # Check for android
 | ||
| if [ -f /system/build.prop ] && [ "${distro}" != "SailfishOS" ]; then
 | ||
| 	distro="Android"
 | ||
| 	detectmem
 | ||
| 	detectuptime
 | ||
| 	detectkernel
 | ||
| 	detectdroid
 | ||
| 	infoDisplay
 | ||
| 	exit 0
 | ||
| fi
 | ||
| 
 | ||
| for i in "${display[@]}"; do
 | ||
| 	if [[ ! "$i" == "" ]]; then
 | ||
| 		if [[ $i =~ wm ]]; then
 | ||
| 			 ! [[ $WM  ]] && detectwm;
 | ||
| 			 ! [[ $Win_theme ]] && detectwmtheme;
 | ||
| 		else
 | ||
| 			if [[ "${display[*]}" =~ "$i" ]]; then
 | ||
| 				if [[ "$errorSuppress" == "1" ]]; then
 | ||
| 					detect${i} 2>/dev/null
 | ||
| 				else
 | ||
| 					detect${i}
 | ||
| 				fi
 | ||
| 			fi
 | ||
| 		fi
 | ||
| 	fi
 | ||
| done
 | ||
| 
 | ||
| if [ "$gpu" = 'Not Found' ] ; then
 | ||
| DetectIntelGPU
 | ||
| fi
 | ||
| 
 | ||
| 
 | ||
| infoDisplay
 | ||
| [ "$screenshot" == "1" ] && takeShot
 | ||
| [ "$exportTheme" == "1" ] && themeExport
 | ||
| 
 | ||
| exit 0
 |