#!/usr/bin/env bash # screenFetch - a CLI Bash script to show system/theme info in screenshots # Copyright (c) 2010-2017 Brett Bohnenkamper # 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 . # 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 and 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 \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=$(/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=$(/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=$(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"[<,>]" '/]" '//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} %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} %s" "${c1} --. (( %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}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