Last active
December 30, 2015 12:29
-
-
Save DennisLfromGA/7829243 to your computer and use it in GitHub Desktop.
A bash script to fetch system and theme settings for screenshots in most mainstream Linux distributions with some slight, preliminary changes to include ChromeOS.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
# screenFetch | |
# Script to fetch system and theme settings for screenshots in most mainstream | |
# Linux distributions. | |
# Copyright (c) 2010-2012 Brett Bohnenkamper < kittykatt AT archlinux DOT us > | |
# Permission is hereby granted, free of charge, to any person obtaining a copy of this software | |
# and associated documentation files (the "Software"), to deal in the Software without restriction, | |
# including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, | |
# and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, | |
# subject to the following conditions: | |
# The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. | |
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE | |
# WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR | |
# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, | |
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | |
# 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 my IRC network, SilverIRC, at irc://kittykatt.silverirc.com:6667/screenFetch | |
# to put forth suggestions/ideas. Thank you. | |
# | |
# Some modifications done by DennisL for 'ChromeOS' | |
APPLICATION="${0##*/}" | |
LANG=C | |
LANGUAGE=C | |
LC_ALL=C | |
scriptVersion="3.2.0" | |
###################### | |
# Settings for fetcher | |
###################### | |
# This setting controls what ASCII logo is displayed. Available: Arch Linux (Old and Current Logos), Linux Mint, Ubuntu, Crunchbang, Debian, Gentoo, Mandrake/Mandriva, Slackware, SUSE, Fedora, BSD, OS X and None | |
# distro="Linux" | |
# 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 term res de wm wmtheme gtk disk cpu gpu mem" | |
display=( distro host kernel uptime pkgs shell term res de wm wmtheme gtk disk cpu gpu mem ) | |
# Display Type: ASCII or Text | |
display_type="ASCII" | |
# 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 icewm pekwm fvwm dwm awesome wmaker stumpwm musca xmonad i3 ratpoison scrotwm spectrwm wmfs wmii beryl subtle e16 enlightenment sawfish emerald monsterwm dminiwm compiz Finder herbstluftwm notion bspwm chrome-sandbox ) | |
denames=( gnome-session xfce-mcs-manage xfce4-session xfconfd ksmserver lxsession gnome-settings-daemon mate-session mate-settings-daemon Finder chrome-sandbox ) | |
# Screenshot Settings | |
# This setting lets the script know if you want to take a screenshot or not. 1=Yes 0=No | |
screenshot= | |
# You can specify a custom screenshot command here. Just uncomment and edit. Otherwise, we'll be using the default command: scrot $scrotargs. | |
# screenCommand="scrot -cd5" | |
# You can specify custom options to the scrot command here, just edit. Otherwise, we'll be using the default options: -d5. | |
scrotargs="-d5" | |
hostshot= | |
baseurl="http://www.example.com" | |
serveraddr="www.example.com" | |
scptimeout="20" | |
serverdir="/path/to/directory" | |
shotfile=$(printf "$APPLICATION-`date +'%Y-%m-%d_%H-%M-%S'`.png") | |
if [ -d "$HOME/Pictures" ]; then shotfile="$HOME/Pictures/$shotfile"; fi | |
# Verbose Setting - Set to 1 for verbose output. | |
verbosity= | |
############################################# | |
#### 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 | |
# Static Color Definitions | |
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[30m';; | |
'red') color_ret='\033[31m';; | |
'green') color_ret='\033[32m';; | |
'brown') color_ret='\033[33m';; | |
'blue') color_ret='\033[34m';; | |
'purple') color_ret='\033[35m';; | |
'cyan') color_ret='\033[36m';; | |
'light grey') color_ret='\033[37m';; | |
'dark grey') color_ret='\033[1;30m';; | |
'light red') color_ret='\033[1;31m';; | |
'light green') color_ret='\033[1;32m';; | |
'yellow') color_ret='\033[1;33m';; | |
'light blue') color_ret='\033[1;34m';; | |
'light purple') color_ret='\033[1;35m';; | |
'light cyan') color_ret='\033[1;36m';; | |
'white') color_ret='\033[1;37m';; | |
esac | |
[[ -n "${color_ret}" ]] && echo "${color_ret}" | |
else | |
: | |
fi | |
} | |
function verboseOut { | |
printf "\033[1;31m:: \033[0m$1\n" | |
} | |
function errorOut { | |
printf "\033[1;37m[[ \033[1;31m! \033[1;37m]] \033[0m$1\n" | |
} | |
#################### | |
# Color Defines | |
#################### | |
detectColors() { | |
my_colors=$(printf "$OPTARG" | sed 's/^,/na,/;s/,$/,na/;s/,/ /') | |
my_lcolor=$(printf "$my_colors" | awk -F' ' '{print $1}') | |
if [[ "$my_lcolor" != "na" ]]; then | |
if [[ $(tput colors) -eq "256" ]]; then my_lcolor="\033[38;5;${my_lcolor}m" | |
else | |
case $my_lcolor in | |
0|00) export my_lcolor=$(getColor 'black');; | |
1|01) export my_lcolor=$(getColor 'red');; | |
2|02) export my_lcolor=$(getColor 'green');; | |
3|03) export my_lcolor=$(getColor 'brown');; | |
4|04) export my_lcolor=$(getColor 'blue');; | |
5|05) export my_lcolor=$(getColor 'purple');; | |
6|06) export my_lcolor=$(getColor 'cyan');; | |
7|07) export my_lcolor=$(getColor 'light grey');; | |
8|08) export my_lcolor=$(getColor 'dark grey');; | |
9|09) export my_lcolor=$(getColor 'light red');; | |
10) export my_lcolor=$(getColor 'light green');; | |
11) export my_lcolor=$(getColor 'yellow');; | |
12) export my_lcolor=$(getColor 'light blue');; | |
13) export my_lcolor=$(getColor 'light purple');; | |
14) export my_lcolor=$(getColor 'light cyan');; | |
15) export my_lcolor=$(getColor 'white');; | |
*) unset my_lcolor; continue ;; | |
esac | |
fi | |
else | |
unset my_lcolor | |
fi | |
my_hcolor=$(printf "$my_colors" | awk -F' ' '{print $2}') | |
if [[ "$my_hcolor" != "na" ]]; then | |
if [[ $(tput colors) -eq "256" ]]; then my_hcolor="\033[38;5;${my_hcolor}m" | |
else | |
case $my_hcolor in | |
0|00) export my_hcolor=$(getColor 'black');; | |
1|01) export my_hcolor=$(getColor 'red');; | |
2|02) export my_hcolor=$(getColor 'green');; | |
3|03) export my_hcolor=$(getColor 'brown');; | |
4|04) export my_hcolor=$(getColor 'blue');; | |
5|05) export my_hcolor=$(getColor 'purple');; | |
6|06) export my_hcolor=$(getColor 'cyan');; | |
7|07) export my_hcolor=$(getColor 'light grey');; | |
8|08) export my_hcolor=$(getColor 'dark grey');; | |
9|09) export my_hcolor=$(getColor 'light red');; | |
10) export my_hcolor=$(getColor 'light green');; | |
11) export my_hcolor=$(getColor 'yellow');; | |
12) export my_hcolor=$(getColor 'light blue');; | |
13) export my_hcolor=$(getColor 'light purple');; | |
14) export my_hcolor=$(getColor 'light cyan');; | |
15) export my_hcolor=$(getColor 'white');; | |
*) unset my_hcolor; continue ;; | |
esac | |
fi | |
else | |
unset my_hcolor | |
fi | |
} | |
displayHelp() { | |
printf "${underline}Usage${c0}:\n" | |
printf " $APPLICATION [OPTIONAL FLAGS]\n\n" | |
printf "$APPLICATION - a CLI Bash script to show system/theme info in screenshots.\n\n" | |
printf "${underline}Supported Distributions${c0}: Arch Linux (Old and Current Logos), Linux Mint,\n" | |
printf " LMDE, Ubuntu, Crunchbang, Debian, Gentoo, Fedora, SolusOS,\n" | |
printf " Mandrake/Mandriva, Slackware, Frugalware, openSUSE, Mageia,\n" | |
printf " Peppermint, ParabolaGNU, Viperr, LinuxDeepin, Chakra, and FreeBSD, OpenBSD\n" | |
printf "${underline}Supported Desktop Managers${c0}: KDE, GNOME, XFCE, and LXDE, and Not Present\n" | |
printf "${underline}Supported Window Managers${c0}: PekWM, OpenBox, FluxBox, BlackBox, Xfwm4,\n" | |
printf " Metacity, StumpWM, KWin, IceWM, FVWM,\n" | |
printf " DWM, Awesome, XMonad, Musca, i3, WindowMaker,\n" | |
printf " Ratpoison, wmii, WMFS, ScrotWM, SpectrWM,\n" | |
printf " subtle, Emerald, E17 and Beryl.\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 'ARGUMENTS'${c0} Allows for setting what information is displayed\n" | |
printf " on the command line. Format must be as follows:\n" | |
printf " OPTION,OPTION,OPTION,OPTION. Valid options are\n" | |
printf " host, distro, kernel, uptime, pkgs, shell, term,\n" | |
printf " res, de, wm, wmtheme, gtk, disk, cpu, gpu, mem.\n" | |
printf " ${bold}-n${c0} Do not display ASCII distribution logo.\n" | |
printf " ${bold}-N${c0} Strip all color from output.\n" | |
printf " ${bold}-t${c0} Truncate output based on terminal width (Experimental!).\n" | |
printf " ${bold}-s(m)${c0} Using this flag tells the script that you want it\n" | |
printf " to take a screenshot. Use the -m flag if you would like\n" | |
printf " to move it to a new location afterwards.\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}-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${c0} Display current script version.\n" | |
printf " ${bold}-h${c0} Display this help.\n" | |
} | |
##################### | |
# Begin Flags Phase | |
##################### | |
case $1 in | |
--help) displayHelp; exit 0;; | |
esac | |
while getopts ":hsmevVEnNtlS:A:D:o:Bc:d:" flags; do | |
case $flags in | |
h) displayHelp; exit 0;; | |
s) screenshot=1; continue;; | |
S) screenCommand=$OPTARG; continue;; | |
m) hostshot=1; continue;; | |
v) verbosity=1; continue;; | |
V) | |
printf $underline"$APPLICATION"$c0" - Version $scriptVersion\n" | |
printf "Created by and licensed to Brett Bohnenkamper (kittykatt@kittykatt.us)\n" | |
printf "OS X porting done almost solely by shrx (http://shrx.github.com/) and Hu6.\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" | |
exit 0 | |
;; | |
E) errorSuppress="1";; | |
D) distro=$OPTARG; continue;; | |
A) asc_distro=$OPTARG; continue;; | |
t) truncateSet="Yes";; | |
n) display_type="Text";; | |
o) overrideOpts=$OPTARG; continue;; | |
c) detectColors "$OPTARGS"; continue;; | |
d) overrideDisplay=$OPTARG; continue;; | |
N) no_color='1';; | |
:) 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 | |
#################### | |
if [[ "$overrideOpts" ]]; then | |
[[ "$verbosity" -eq "1" ]] && 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 | |
if [[ "${distro_detect}" == "archlinux" || "${distro_detect}" == "Arch Linux" || "${distro_detect}" == "arch" || "${distro_detect}" == "archarm" ]]; then | |
distro="Arch Linux" | |
distro_release="n/a" | |
elif [[ "${distro_detect}" == "Chakra" ]]; then | |
distro="Chakra" | |
distro_release=null | |
elif [[ "${distro_detect}" == "CentOS" ]]; then | |
distro="CentOS" | |
elif [[ "${distro_detect}" == "Debian" ]]; then | |
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) | |
else | |
distro="Debian" | |
fi | |
elif [[ "${distro_detect}" == "elementary" || "${distro_detect}" == "elementary OS" ]]; then | |
distro="elementary OS" | |
elif [[ "${distro_detect}" == "Fedora" ]]; then | |
distro="Fedora" | |
elif [[ "${distro_detect}" == "frugalware" ]]; then | |
distro="Frugalware" | |
distro_codename=null | |
distro_release=null | |
elif [[ "${distro_detect}" == "Fuduntu" ]]; then | |
distro="Fuduntu" | |
distro_codename=null | |
elif [[ "${distro_detect}" == "Gentoo" ]]; then | |
if [[ "$(lsb_release -sd)" =~ "Funtoo" ]]; then | |
distro="Funtoo" | |
else | |
distro="Gentoo" | |
fi | |
elif [[ "${distro_detect}" == "Jiyuu Linux" ]]; then | |
distro="Jiyuu Linux" | |
elif [[ "${distro_detect}" == "LinuxDeepin" ]]; then | |
distro="LinuxDeepin" | |
distro_codename=null | |
elif [[ "${distro_detect}" == "Debian Kali Linux" ]]; then | |
distro="Kali Linux" | |
elif [[ "${distro_detect}" == "Mageia" ]]; then | |
distro="Mageia" | |
elif [[ "$distro_detect" == "MandrivaLinux" ]]; then | |
distro="Mandriva" | |
if [[ "${distro_codename}" == "turtle" ]]; then | |
distro="Mandriva-${distro_release}" | |
distro_codename=null | |
elif [[ "${distro_codename}" == "Henry_Farman" ]]; then | |
distro="Mandriva-${distro_release}" | |
distro_codename=null | |
elif [[ "${distro_codename}" == "Farman" ]]; then | |
distro="Mandriva-${distro_release}" | |
distro_codename=null | |
elif [[ "${distro_codename}" == "Adelie" ]]; then | |
distro="Mandriva-${distro_release}" | |
distro_codename=null | |
elif [[ "${distro_codename}" == "pauillac" ]]; then | |
distro="Mandriva-${distro_release}" | |
distro_codename=null | |
fi | |
elif [[ "${distro_detect}" == "ManjaroLinux" ]]; then | |
distro="Manjaro" | |
elif [[ "${distro_detect}" == "LinuxMint" ]]; then | |
distro="Mint" | |
if [[ "${distro_codename}" == "debian" ]]; then | |
distro="LMDE" | |
distro_codename=null | |
distro_release=null | |
fi | |
elif [[ "${distro_detect}" == "SUSE LINUX" || "${distro_detect}" == "openSUSE project" ]]; then | |
distro="openSUSE" | |
elif [[ "${distro_detect}" == "ParabolaGNU/Linux-libre" ]]; then | |
distro="ParabolaGNU/Linux-libre" | |
elif [[ "${distro_detect}" == "Peppermint" ]]; then | |
distro="Peppermint" | |
distro_codename=null | |
elif [[ "${distro_detect}" == "CentOS" || "${distro_detect}" =~ "RedHatEnterprise" ]]; then | |
distro="Red Hat Linux" | |
elif [[ "${distro_detect}" == "Sabayon" ]]; then | |
distro="Sabayon" | |
elif [[ "${distro_detect}" == "SolusOS" ]]; then | |
distro="SolusOS" | |
elif [[ "${distro_detect}" == "Trisquel" ]]; then | |
distro="Trisquel" | |
elif [[ "${distro_detect}" == "Ubuntu" ]]; then | |
distro="Ubuntu" | |
elif [[ "${distro_detect}" == "Viperr" ]]; then | |
distro="Viperr" | |
distro_codename=null | |
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 | |
if [[ -n ${distro_more} ]]; then | |
distro_more="${distro} ${distro_more}" | |
fi | |
fi | |
# Existing File Check | |
if [ "$distro" == "Unknown" ]; then | |
if [ $(uname -o 2>/dev/null) ]; then | |
if [ `uname -o` == "Cygwin" ]; then distro="Cygwin"; fake_distro="${distro}"; fi | |
fi | |
if [ -f /etc/os-release ]; then | |
distrib_id=$(</etc/os-release); | |
for l in $(echo $distrib_id); do | |
if [[ ${l} =~ ^ID= ]]; then | |
distrib_id=${l//*=} | |
break 1 | |
fi | |
done | |
if [[ -n ${distrib_id} ]]; then | |
if [[ -n ${BASH_VERSINFO} && ${BASH_VERSINFO} -ge 4 ]]; then | |
distrib_id=$(for i in ${distrib_id}; do echo -n "${i^} "; done) | |
distro=${distrib_id% } | |
unset distrib_id | |
else | |
distrib_id=$(for i in ${distrib_id}; do FIRST_LETTER=$(echo -n "${i:0:1}" | tr "[:lower:]" "[:upper:]"); echo -n "${FIRST_LETTER}${i:1} "; done) | |
distro=${distrib_id% } | |
unset distrib_id | |
fi | |
fi | |
# Hotfixes | |
[[ "${distro}" == "Arch" ]] && distro="Arch Linux" | |
[[ "${distro}" == "Archarm" || "${distro}" == "archarm" ]] && distro="Arch Linux" | |
[[ "${distro}" == "elementary" ]] && distro="elementary OS" | |
fi | |
if [[ "${distro}" == "Unknown" ]]; then | |
if [[ "${OSTYPE}" == "linux-gnu" || "${OSTYPE}" == "linux" ]]; then | |
if [ -f /etc/lsb-release ]; then | |
LSB_RELEASE=$(</etc/lsb-release) | |
distro=$(echo ${LSB_RELEASE} | awk 'BEGIN { | |
distro = "Unknown" | |
} | |
{ | |
if ($0 ~ /[Uu][Bb][Uu][Nn][Tt][Uu]/) { | |
distro = "Ubuntu" | |
exit | |
} | |
else if ($0 ~ /[Mm][Ii][Nn][Tt]/ && $0 ~ /[Dd][Ee][Bb][Ii][Aa][Nn]/) { | |
distro = "LMDE" | |
exit | |
} | |
else if ($0 ~ /[Mm][Ii][Nn][Tt]/) { | |
distro = "Mint" | |
exit | |
} | |
else if ($0 ~ /[Cc][Hh][Rr][Oo][Mm][Ee]/ && $0 ~ /[Oo][Ss]/) { | |
distro = "Chrome OS" | |
exit | |
} | |
} END { | |
print distro | |
}') | |
fi | |
fi | |
fi | |
if [[ "${distro}" == "Unknown" ]]; then | |
if [[ "${OSTYPE}" == "linux-gnu" || "${OSTYPE}" == "linux" ]]; then | |
if [ -f /etc/arch-release ]; then distro="Arch Linux" | |
elif [ -f /etc/chakra-release ]; then distro="Chakra" | |
elif [ -f /etc/crunchbang-lsb-release ]; then distro="CrunchBang" | |
elif [ -f /etc/debian_version ]; then distro="Debian" | |
elif [ -f /etc/fedora-release ] && grep -q "Fedora" /etc/fedora-release; then distro="Fedora" | |
elif [ -f /etc/frugalware-release ]; then distro="Frugalware" | |
elif [ -f /etc/gentoo-release ]; then | |
if grep -q "Funtoo" /etc/gentoo-release ; then | |
distro="Funtoo" | |
else | |
distro="Gentoo" | |
fi | |
elif [ -f /etc/mageia-release ]; then distro="Mageia" | |
elif [ -f /etc/mandrake-release ]; then distro="Mandrake" | |
elif [ -f /etc/mandriva-release ]; then distro="Mandriva" | |
elif [ -f /etc/SuSE-release ]; then distro="openSUSE" | |
elif [ -f /etc/redhat-release ] && grep -q "Red Hat" /etc/redhat-release; then distro="Red Hat Linux" | |
elif [ -f /etc/redhat-release ] && grep -q "CentOS" /etc/redhat-release; then distro="CentOS" | |
elif [ -f /etc/slackware-version ]; then distro="Slackware" | |
elif [ -f /usr/share/doc/tc/release.txt ]; then distro="TinyCore" | |
elif [ -f /etc/sabayon-edition ]; then distro="Sabayon"; fi | |
else | |
if [[ -x /usr/bin/sw_vers ]] && /usr/bin/sw_vers | grep -i "Mac OS X" >/dev/null; then | |
distro="Mac OS X" | |
elif [[ -f /var/run/dmesg.boot ]]; then | |
distro=$(awk 'BEGIN { | |
distro = "Unknown" | |
} | |
{ | |
if ($0 ~ /DragonFly/) { | |
distro = "DragonFlyBSD" | |
exit | |
} | |
else if ($0 ~ /FreeBSD/) { | |
distro = "FreeBSD" | |
exit | |
} | |
else if ($0 ~ /NetBSD/) { | |
distro = "NetBSD" | |
exit | |
} | |
else if ($0 ~ /OpenBSD/) { | |
distro = "OpenBSD" | |
exit | |
} | |
} END { | |
print distro | |
}' /var/run/dmesg.boot) | |
fi | |
fi | |
fi | |
if [[ "${distro}" == "Unknown" ]] && [[ "${OSTYPE}" == "linux-gnu" || "${OSTYPE}" == "linux" ]]; then | |
if [[ -f /etc/issue ]]; then | |
distro=$(awk 'BEGIN { | |
distro = "Unknown" | |
} | |
{ | |
if ($0 ~ /"LinuxDeepin"/) { | |
distro = "LinuxDeepin" | |
exit | |
} | |
else if ($0 ~ /"Parabola GNU\/Linux-libre"/) { | |
distro = "ParabolaGNU/Linux-libre" | |
exit | |
} | |
else if ($0 ~ /"SolusOS"/) { | |
distro = "SolusOS" | |
exit | |
} | |
} END { | |
print distro | |
}' /etc/issue) | |
fi | |
fi | |
if [[ "${distro}" == "Unknown" ]] && [[ "${OSTYPE}" == "linux-gnu" || "${OSTYPE}" == "linux" ]]; then | |
if [[ -f /etc/system-release ]]; then | |
distro=$(awk 'BEGIN { | |
distro = "Unknown" | |
} | |
{ | |
if ($0 ~ /"Scientific\ Linux"/) { | |
distro = "Scientific Linux" | |
exit | |
} | |
} END { | |
print distro | |
}' /etc/system-release) | |
fi | |
fi | |
fi | |
fi | |
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 | |
case $distro in | |
arch*linux*old) distro="Arch Linux - Old" ;; | |
arch*linux) distro="Arch Linux" ;; | |
arch) distro="Arch Linux";; | |
'elementary'|'elementary os') distro="elementary OS";; | |
fedora) distro="Fedora" ;; | |
mageia) distro="Mageia" ;; | |
mandriva) distro="Mandriva" ;; | |
mandrake) distro="Mandrake" ;; | |
mint) distro="Mint" ;; | |
kali*linux) distro="Kali Linux" ;; | |
lmde) distro="LMDE" ;; | |
opensuse) distro="openSUSE" ;; | |
ubuntu) distro="Ubuntu" ;; | |
debian) distro="Debian" ;; | |
freebsd) distro="FreeBSD" ;; | |
openbsd) distro="OpenBSD" ;; | |
dragonflybsd) distro="DragonFlyBSD" ;; | |
netbsd) distro="NetBSD" ;; | |
red*hat*) distro="Red Hat Linux" ;; | |
crunchbang) distro="CrunchBang" ;; | |
gentoo) distro="Gentoo" ;; | |
funtoo) distro="Funtoo" ;; | |
slackware) distro="Slackware" ;; | |
frugalware) distro="Frugalware" ;; | |
peppermint) distro="Peppermint" ;; | |
solusos) distro="SolusOS" ;; | |
parabolagnu|parabolagnu/linux-libre) distro="ParabolaGNU/Linux-libre" ;; | |
viperr) distro="Viperr" ;; | |
linuxdeepin) distro="LinuxDeepin" ;; | |
chakra) distro="Chakra" ;; | |
centos) distro="CentOS";; | |
mac*os*x) distro="Mac OS X" ;; | |
fuduntu) distro="Fuduntu" ;; | |
manjaro) distro="Manjaro" ;; | |
cygwin) distro="Cygwin" ;; | |
chrome*os) distro="Chrome OS" ;; | |
esac | |
[[ "$verbosity" -eq "1" ]] && verboseOut "Finding distro...found as '$distro $distro_release'" | |
} | |
# Distro Detection - End | |
# Host and User detection - Begin | |
detecthost () { | |
myUser=${USER} | |
myHost=${HOSTNAME} | |
if [[ "${distro}" == "Mac OS X" ]]; then myHost=${myHost/.local/}; fi | |
[[ "$verbosity" -eq "1" ]] && 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 () { | |
kernel=( $(uname -srm) ) | |
kernel="${kernel[${#kernel[@]}-1]} ${kernel[@]:0:${#kernel[@]}-1}" | |
[[ "$verbosity" -eq "1" ]] && verboseOut "Finding kernel version...found as '$kernel'" | |
} | |
# Kernel Version Detection - End | |
# Uptime Detection - Begin | |
detectuptime () { | |
unset uptime | |
if [ "$distro" == "Mac OS X" ]; then | |
boot=`sysctl -n kern.boottime | cut -d "=" -f 2 | cut -d "," -f 1` | |
now=`date +%s` | |
uptime=$(($now-$boot)) | |
elif [[ "${distro}" == "FreeBSD" || "${distro}" == "OpenBSD" ]]; then | |
if [[ "${distro}" == "FreeBSD" ]]; then boot=`sysctl -n kern.boottime | cut -d "=" -f 2 | cut -d "," -f 1` | |
else boot=$(sysctl -n kern.boottime); fi | |
now=$(date +%s) | |
uptime=$((${now} - ${boot})) | |
else | |
if [[ -f /proc/uptime ]]; then | |
uptime=$(</proc/uptime) | |
uptime=${uptime//.*} | |
fi | |
fi | |
if [[ -n ${uptime} ]]; then | |
secs=$((${uptime}%60)) | |
mins=$((${uptime}/60%60)) | |
hours=$((${uptime}/3600%24)) | |
days=$((${uptime}/86400)) | |
uptime="${mins}m" | |
if [ "${hours}" -ne "0" ]; then | |
uptime="${hours}h ${uptime}" | |
fi | |
if [ "${days}" -ne "0" ]; then | |
uptime="${days}d ${uptime}" | |
fi | |
else | |
if [[ "$distro" =~ "NetBSD" ]]; then uptime=$(awk -F. '{print $1}' /proc/uptime); fi | |
if [[ "$distro" =~ "BSD" ]]; then uptime=$(uptime | awk '{$1=$2=$(NF-6)=$(NF-5)=$(NF-4)=$(NF-3)=$(NF-2)=$(NF-1)=$NF=""; sub(" days","d");sub(",","");sub(":","h ");sub(",","m"); print}'); fi | |
fi | |
[[ "$verbosity" -eq "1" ]] && verboseOut "Finding current uptime...found as '$uptime'" | |
} | |
# Uptime Detection - End | |
# Package Count - Begin | |
detectpkgs () { | |
pkgs="Unknown" | |
case $distro in | |
'Arch Linux'|'ParabolaGNU/Linux-libre'|'Chakra'|'Manjaro') pkgs=$(pacman -Qq | wc -l) ;; | |
'Frugalware') pkgs=$(pacman-g2 -Q | wc -l) ;; | |
'Fuduntu'|'Ubuntu'|'Mint'|'SolusOS'|'Debian'|'LMDE'|'CrunchBang'|'Peppermint'|'LinuxDeepin'|'Kali Linux'|'Trisquel'|'elementary OS') pkgs=$(dpkg --get-selections | wc -l) ;; | |
'Slackware') pkgs=$(ls -1 /var/log/packages | wc -l) ;; | |
'Gentoo'|'Sabayon'|'Funtoo') pkgs=$(ls -d /var/db/pkg/*/* | wc -l) ;; | |
'Fedora'|'openSUSE'|'Red Hat Linux'|'CentOS'|'Mandriva'|'Mandrake'|'Mageia'|'Viperr') pkgs=$(rpm -qa | wc -l) ;; | |
'Mac OS X') | |
if [ -d "/usr/local/bin" ]; then loc_pkgs=$(echo $(ls /usr/local/bin | wc -w)); pkgs="$loc_pkgs"; fi | |
if type -p port >/dev/null 2>&1; then | |
port_pkgs=$(port installed 2>/dev/null | wc -l) | |
pkgs=$((${pkgs} + (${port_pkgs} -1))) | |
fi | |
if type -p port >/dev/null 2>&1; then | |
brew_pkgs=$(brew list -1 2>/dev/null | wc -l) | |
pkgs=$((${pkgs} + ${brew_pkgs})) | |
fi | |
;; | |
'OpenBSD') | |
pkgs=$(pkg_info | wc -l | awk '{sub(" ", "");print $1}') | |
if type -p portmaster >/dev/null 2>&1; then | |
ports=$(portmaster -l | grep -Eo '[0-9]+ total installed' | sed 's/ total installed//') | |
pkgs=$((${pkgs} + ${ports})) | |
fi | |
;; | |
'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) | |
;; | |
'Cygwin') cygfix=2; pkgs=$(($(cygcheck -cd | wc -l)-$cygfix)) ;; | |
esac | |
[[ "$verbosity" -eq "1" ]] && verboseOut "Finding current package count...found as '$pkgs'" | |
} | |
# CPU Detection - Begin | |
detectcpu () { | |
REGEXP="-r" | |
if [ "$distro" == "Mac OS X" ]; then | |
cpu=$(echo $(sysctl -n machdep.cpu.brand_string)) | |
REGEXP="-E" | |
elif [ "$distro" == "FreeBSD" ]; then cpu=$(sysctl -n hw.model) | |
elif [ "$distro" == "DragonflyBSD" ]; then cpu=$(sysctl -n hw.model) | |
elif [ "$distro" == "OpenBSD" ]; then cpu=$(sysctl -n hw.model | sed 's/@.*//') | |
else | |
cpu=$(awk 'BEGIN{FS=":"} /model name/ { print $2; exit }' /proc/cpuinfo | sed 's/ @/\n/' | head -1) | |
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 =~ ^74.+ ]]; then | |
model="Motorola PowerPC G4 " | |
else | |
model="IBM PowerPC G3 " | |
fi | |
cpu="${model}${cpu}" | |
fi | |
loc="/sys/devices/system/cpu/cpu0/cpufreq" | |
if [ -f $loc/bios_limit ];then | |
cpu_mhz=$(cat $loc/bios_limit | awk '{print $1/1000}') | |
elif [ -f $loc/scaling_max_freq ];then | |
cpu_mhz=$(cat $loc/scaling_max_freq | awk '{print $1/1000}') | |
else | |
cpu_mhz=$(awk -F':' '/cpu MHz/{ print int($2+.5) }' /proc/cpuinfo | head -n 1) | |
fi | |
if [ -n "$cpu_mhz" ];then | |
if [ $cpu_mhz -gt 999 ];then | |
cpu_ghz=$(echo $cpu_mhz | awk '{print $1/1000}') | |
cpu="$cpu @ ${cpu_ghz}GHz" | |
else | |
cpu="$cpu @ ${cpu_mhz}MHz" | |
fi | |
fi | |
fi | |
cpu=$(echo "${cpu}" | sed $REGEXP 's/\([tT][mM]\)|\([Rr]\)|[pP]rocessor//g' | xargs) | |
[[ "$verbosity" -eq "1" ]] && verboseOut "Finding current CPU...found as '$cpu'" | |
} | |
# CPU Detection - End | |
# GPU Detection - Begin (EXPERIMENTAL!) | |
detectgpu () { | |
if [[ "${distro}" == "FreeBSD" ]]; then | |
gpu_info=$(pciconf -lv | grep -B 4 VGA) | |
gpu_info=$(echo "${gpu_info}" | grep -E 'device.*=.*') | |
gpu=$(echo "${gpu_info}" | sed 's/.*device.*= //' | sed "s/'//g") | |
else | |
if [ -n "$(type -p lspci)" ]; then | |
gpu_info=$(lspci | grep VGA) | |
gpu=$(echo "$gpu_info" | grep -oE '\[.*\]' | sed 's/\[//;s/\]//') | |
gpu=$(echo "${gpu}" | sed -n '1h;2,$H;${g;s/\n/, /g;p}') | |
elif [[ -n "$(type -p glxinfo)" && -z "$gpu" ]]; then | |
gpu_info=$(glxinfo 2>/dev/null) | |
gpu=$(echo "$gpu_info" | grep "OpenGL renderer string") | |
gpu=$(echo "$gpu" | cut -d ':' -f2) | |
gpu="${gpu:1}" | |
gpu_info=$(echo "$gpu_info" | grep "OpenGL vendor string") | |
elif [[ "${distro}" == "Mac OS X" ]]; then | |
gpu=$(system_profiler SPDisplaysDataType | awk -F': ' '/^\ *Chipset Model:/ {print $2}') | |
elif [[ "${distro}" == "Cygwin" ]]; then | |
gpu=$(wmic path Win32_VideoController get caption) | |
gpu=$(tail -1 <<< ${gpu}) | |
fi | |
fi | |
if [ -n "$gpu" ];then | |
if [ $(echo "$gpu_info" | grep -i nvidia | wc -l) -gt 0 ];then | |
gpu_info="NVidia " | |
elif [ $(echo "$gpu_info" | grep -i intel | wc -l) -gt 0 ];then | |
gpu_info="Intel " | |
elif [ $(echo "$gpu_info" | grep -i amd | wc -l) -gt 0 ];then | |
gpu_info="AMD " | |
elif [[ $(echo "$gpu_info" | grep -i ati | wc -l) -gt 0 || $(echo "$gpu_info" | grep -i radeon | wc -l) -gt 0 ]]; then | |
gpu_info="ATI " | |
else | |
gpu_info=$(echo "$gpu_info" | cut -d ':' -f2) | |
gpu_info="${gpu_info:1} " | |
fi | |
gpu="${gpu_info}${gpu}" | |
else | |
gpu="Not Found" | |
fi | |
[[ "$verbosity" -eq "1" ]] && verboseOut "Finding current GPU...found as '$gpu'" | |
} | |
# GPU Detection - End | |
# 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 --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 | |
[[ "$verbosity" -eq "1" ]] && verboseOut "Finding current DISK usage...found as '$diskusage_verbose'" | |
} | |
# Disk Usage Detection - End | |
# Memory Detection - Begin | |
detectmem () { | |
hw_mem=0 | |
free_mem=0 | |
human=1024 | |
if [ "$distro" == "Mac OS X" ]; then | |
totalmem=$(echo "$(sysctl -n hw.memsize)"/${human}^2|bc) | |
usedmem=$(top -l 1 | awk '{ | |
if ($0 ~ /PhysMem/) { | |
for (x=1; x<=NF; x++) { | |
if ($x ~ /wired/) { | |
wired = $(x-1) | |
gsub(/[^0-9]/,"",wired) | |
} | |
if ($x ~ /^active/) { | |
active = $(x-1) | |
gsub(/[^0-9]/,"",active) | |
} | |
if ($x ~ /inactive/) { | |
inactive = $(x-1) | |
gsub(/[^0-9]/,"",inactive) | |
} | |
} | |
usedmem = wired + active + inactive | |
print usedmem | |
exit | |
} | |
}') | |
elif [ "$distro" == "Cygwin" ]; 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" ]; 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 / ($human * $human) )) | |
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 / ($human * $human) )) | |
elif [ "$distro" == "OpenBSD" ]; then | |
totalmem=$(top -1 1 | awk '/Real:/ {k=split($3,a,"/");print a[k] }' | tr -d 'M') | |
usedmem=$(top -1 1 | awk '/Real:/ {print $3}' | sed 's/M.*//') | |
elif [ "$distro" == "NetBSD" ]; then | |
phys_mem=$(awk '/MemTotal/ { print $2 }' /proc/meminfo) | |
totalmem=$((${phys_mem} / $human)) | |
if grep -q 'Cached' /proc/meminfo; then | |
cache=$(awk '/Cached/ {print $2}' /proc/meminfo) | |
usedmem=$((${cache} / $human)) | |
else | |
free_mem=$(awk '/MemFree/ { print $2 }' /proc/meminfo) | |
used_mem=$((${phys_mem} - ${free_mem})) | |
usedmem=$((${used_mem} / $human)) | |
fi | |
else | |
mem_info=$(</proc/meminfo) | |
mem_info=$(echo $(echo $(mem_info=${mem_info// /}; echo ${mem_info//kB/}))) | |
for m in $mem_info; do | |
if [[ ${m//:*} = MemTotal ]]; then | |
memtotal=${m//*:} | |
fi | |
if [[ ${m//:*} = MemFree ]]; then | |
memfree=${m//*:} | |
fi | |
if [[ ${m//:*} = Buffers ]]; then | |
membuffer=${m//*:} | |
fi | |
if [[ ${m//:*} = Cached ]]; then | |
memcached=${m//*:} | |
fi | |
done | |
usedmem="$(((($memtotal - $memfree) - $membuffer - $memcached) / $human))" | |
totalmem="$(($memtotal / $human))" | |
fi | |
mem="${usedmem}MB / ${totalmem}MB" | |
[[ "$verbosity" -eq "1" ]] && verboseOut "Finding current RAM usage...found as '$mem'" | |
} | |
# Memory Detection - End | |
# Shell Detection - Begin | |
detectshell_ver () { | |
local version_data='' version='' get_version='--version' | |
case $1 in | |
# ksh sends version to sdterr. Weeeeeeird. | |
ksh) | |
version_data="$( $1 $get_version 2>&1 )" | |
;; | |
*) | |
version_data="$( $1 $get_version 2>/dev/null )" | |
;; | |
esac | |
if [[ -n $version_data ]];then | |
version=$(awk ' | |
BEGIN { | |
IGNORECASE=1 | |
} | |
/'$2'/ { | |
gsub(/(,|v|V)/, "",$'$3') | |
if ($2 ~ /[Bb][Aa][Ss][Hh]/) { | |
gsub(/\(.*|-release|-version\)/,"",$4) | |
} | |
print $'$3' | |
exit # quit after first match prints | |
}' <<< "$version_data") | |
fi | |
echo "$version" | |
} | |
detectshell () { | |
if [[ ! "${shell_type}" ]]; then | |
if [[ "${OSTYPE}" == "linux-gnu" || "${OSTYPE}" == "linux" ]]; then | |
shell_type=$(ps -p $(ps -p $PPID -o pid --no-heading) -o cmd --no-heading) | |
shell_type=${shell_type/-} | |
shell_type=${shell_type//*\/} | |
elif [[ "${distro}" == "Mac OS X" ]]; then | |
shell_type=$(ps -p $(ps -p $PPID -o pid | tail -1) -o args| tail -1) | |
shell_type=${shell_type/-} | |
shell_type=${shell_type//*\/} | |
elif [[ "${distro}" == "FreeBSD" || "${distro}" == "OpenBSD" ]]; then | |
shell_type=$(ps -p $(ps -p $PPID -o pid | tail -1) -o args| tail -1) | |
shell_type=${shell_type/-} | |
shell_type=${shell_type//*\/} | |
elif [[ "${distro}" == "Cygwin" ]]; then | |
shell_type=$(echo "$SHELL" | awk -F'/' '{print $NF}') | |
else | |
shell_type=$(ps -p $(ps -p $PPID | awk '$1 !~ /PID/ {print $1}') | awk 'FNR>1 {print $1}') | |
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" ) | |
;; | |
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" ) | |
;; | |
esac | |
if [[ -n $shell_version_data ]];then | |
shell_type="$shell_type $shell_version_data" | |
fi | |
myShell=${shell_type} | |
[[ "$verbosity" -eq "1" ]] && verboseOut "Finding current shell...found as '$myShell'" | |
} | |
# Shell Detection - End | |
# Terminal Emulator Detection - Begin | |
detectterm () { | |
myTerm=$TERM | |
[[ "$verbosity" -eq "1" ]] && verboseOut "Finding terminal emulator...found as '$myTerm'" | |
} | |
# Terminal Emulator Detection - End | |
# Resolution Detection - Begin | |
detectres () { | |
if [[ -n ${DISPLAY} && ${distro} != "Mac OS X" && ${distro} != "Cygwin" && ${USER} != "chronos" ]]; 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 | |
elif [[ ${distro} == "Mac OS X" ]]; then | |
xResolution=$(system_profiler SPDisplaysDataType | awk '/Resolution:/ {print $2"x"$4" "}') | |
elif [[ "${distro}" == "Cygwin" ]]; then | |
width=$(wmic desktopmonitor get screenwidth | grep -vE '[a-z]+' | tr -d '\r\n ') | |
height=$(wmic desktopmonitor get screenheight | grep -vE '[a-z]+' | tr -d '\r\n ') | |
xResolution="${width}x${height}" | |
elif [[ ${distro} == "Chrome OS" ]]; then | |
xResolution="Using Aura" | |
else | |
xResolution="No X Server" | |
fi | |
[[ "$verbosity" -eq "1" ]] && verboseOut "Finding current resolution(s)...found as '$xResolution'" | |
} | |
# Resolution Detection - End | |
# DE Detection - Begin | |
detectde () { | |
DE="Not Present" | |
if [[ -n ${DISPLAY} && ${distro} != "Mac OS X" && ${distro} != "Cygwin" ]]; 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 ~ /^_MARCO/) { | |
de = "MATE" | |
exit | |
} | |
else if ($1 ~ /^_MUFFIN/) { | |
de = "Cinnamon" | |
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 | |
if [[ -n ${GNOME_DESKTOP_SESSION_ID} ]]; then | |
DE="Gnome" | |
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 | |
elif [[ -n ${MATE_DESKTOP_SESSION_ID} ]]; then | |
DE="MATE" | |
elif [[ -n ${KDE_SESSION_VERSION} ]]; then | |
if [[ ${KDE_SESSION_VERSION} == '5' ]]; then | |
DE="KDE5" | |
elif [[ ${KDE_SESSION_VERSION} == '4' ]]; then | |
DE="KDE4" | |
fi | |
elif [[ -n ${KDE_FULL_SESSION} ]]; then | |
if [[ ${KDE_FULL_SESSION} == 'true' ]]; 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" || ${DE} == "GNOME" ]]; then | |
if type -p gnome-session-properties >/dev/null 2>&1; then | |
DEver=$(gnome-session-properties --version) | |
DE="${DE} ${DEver//* }" | |
elif type -p gnome-session >/dev/null 2>&1; then | |
DEver=$(gnome-session --version) | |
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) | |
for l in $(echo "${DEver// /_}"); do | |
if [[ ${l//:*} == "KDE_Development_Platform" ]]; then | |
DEver=${l//*:_} | |
DE="KDE ${DEver//_*}" | |
fi; | |
done | |
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 | |
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} razor-session >/dev/null 2>&1; then | |
DE="RazorQt" | |
elif pgrep -U ${UID} chrome-sandbox >/dev/null 2>&1; then | |
if [ "$USER" = "chronos" ]; then | |
DE="Ash" | |
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" ]]; then | |
winver=`wmic os get version | grep -o '^[0-9]'` | |
if [ "$winver" == "7" ]; then DE='Aero' | |
elif [ "$winver" == "6" ]; then DE='Aero' | |
else DE='Luna'; fi | |
fi | |
[[ "$verbosity" -eq "1" ]] && verboseOut "Finding desktop environment...found as '$DE'" | |
} | |
### DE Detection - End | |
# WM Detection - Begin | |
detectwm () { | |
WM="Not Found" | |
if [[ -n ${DISPLAY} && ${distro} != "Cygwin" ]]; then | |
for each in "${wmnames[@]}"; do | |
PID="$(pgrep -U ${UID} $each)" | |
if [ "$PID" ]; then | |
case $each in | |
'awesome') WM="Awesome";; | |
'beryl') WM="Beryl";; | |
'bspwm') WM="bspwm";; | |
'blackbox') WM="Blackbox";; | |
'cinnamon') WM="Cinnamon";; | |
'chrome-sandbox') if [ "$USER" = "chronos" ]; then WM="Aura"; fi;; | |
'compiz') WM="Compiz";; | |
'dminiwm') WM="dminiwm";; | |
'dwm') WM="dwm";; | |
'e16') WM="E16";; | |
'emerald') WM="Emerald";; | |
'enlightenment') WM="E17";; | |
'fluxbox') WM="FluxBox";; | |
'fvwm') WM="FVWM";; | |
'herbstluftwm') WM="herbstluftwm";; | |
'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";; | |
'wmaker') WM="WindowMaker";; | |
'wmfs') WM="WMFS";; | |
'wmii') WM="wmii";; | |
'xfwm4') WM="Xfwm4";; | |
'i3') WM="i3";; | |
'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 | |
'aura') WM="Aura";; | |
'awesome') WM="Awesome";; | |
'beryl') WM="Beryl";; | |
'blackbox') WM="Blackbox";; | |
'cinnamon') WM="Cinnamon";; | |
'compiz') WM="Compiz";; | |
'dminiwm') WM="dminiwm";; | |
'dwm') WM="dwm";; | |
'e16') WM="E16";; | |
'emerald') WM="Emerald";; | |
'enlightenment') WM="E17";; | |
'fluxbox') WM="FluxBox";; | |
'fvwm') WM="FVWM";; | |
'herbstluftwm') WM="herbstluftwm";; | |
'icewm') WM="IceWM";; | |
'kwin') WM="KWin";; | |
'metacity') WM="Metacity";; | |
'monsterwm') WM="monsterwm";; | |
'musca') WM="Musca";; | |
*'gala'*) WM="Gala";; | |
'mutter'*) WM="Mutter";; | |
'gnome shell'*) 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";; | |
'wmaker') WM="WindowMaker";; | |
'wmfs') WM="WMFS";; | |
'wmii') WM="wmii";; | |
'xfwm4') WM="Xfwm4";; | |
'xmonad') WM="XMonad";; | |
'i3') WM="i3";; | |
esac | |
if [ "$USER" = "chronos" ]; then | |
WM="Aura" | |
fi | |
fi | |
elif [[ ${distro} == "Mac OS X" && "${WM}" == "Not Found" ]]; then | |
if ps -U ${USER} | grep [F]inder >/dev/null 2>&1; then | |
WM="Quartz Compositor" | |
fi | |
elif [[ "${distro}" == "Cygwin" ]]; then | |
bugn=$(tasklist | grep -o 'bugn' | tr -d '\r \n') | |
wind=$(tasklist | grep -o 'Windawesome' | tr -d '\r \n') | |
if [ "$bugn" = "bugn" ]; then WM="bug.n" | |
elif [ "$wind" = "Windawesome" ]; then WM="Windawesome" | |
else WM="DWM"; fi | |
elif [[ ${distro} == "Chrome OS" && "${WM}" == "Not Found" ]]; then | |
if id -u | grep chronos >/dev/null 2>&1; then | |
WM="Aura" | |
fi | |
fi | |
[[ "$verbosity" -eq "1" ]] && verboseOut "Finding window manager...found as '$WM'" | |
} | |
# WM Detection - End | |
# WM Theme Detection - BEGIN | |
detectwmtheme () { | |
Win_theme="Not Found" | |
case $WM in | |
'Aura') Win_theme="Default";; | |
'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 Present";; | |
'bspwm') Win_theme="Not Present";; | |
'Cinnamon') Win_theme="$(gsettings get org.cinnamon.theme name)";; | |
'Compiz'|'Mutter'*|'GNOME Shell'|'Gala') | |
if type -p gsettings >/dev/null 2>&1; then | |
Win_theme="$(gsettings get org.gnome.desktop.wm.preferences theme)" | |
Win_theme=${Win_theme//"'"} | |
elif type -p gconftool-2 >/dev/null 2>&1; then | |
Win_theme=$(gconftool-2 -g /apps/metacity/general/theme) | |
fi | |
;; | |
'dminiwm') Win_theme="Not Present";; | |
'dwm') Win_theme="Not Present";; | |
'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};; | |
'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 Present";; | |
'FluxBox'|'Fluxbox') if [ -f $HOME/.fluxbox/init ]; then Win_theme="$(awk -F"/" '/styleFile/ {print $NF}' $HOME/.fluxbox/init)"; fi;; | |
'FVWM') Win_theme="Not Present";; | |
'i3') Win_theme="Not Present";; | |
'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=$(awk '/PluginLib=kwin3_/{gsub(/PluginLib=kwin3_/,"",$0); print $0; exit}' $KDE_CONFIG_DIR/share/config/kwinrc) | |
if [[ -z $Win_theme ]]; 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 Found" | |
fi | |
else | |
Win_theme="Not Found" | |
fi | |
fi | |
if [[ $Win_theme != 'Not Found' ]]; 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 Present";; | |
'Musca') Win_theme="Not Present";;\ | |
'Notion') Win_theme="Not Present";; | |
'OpenBox'|'Openbox') | |
if [ -f ${XDG_CONFIG_HOME:-${HOME}/.config}/openbox/rc.xml ]; then | |
Win_theme="$(awk -F"[<,>]" '/<theme/ { getline; print $3 }' ${XDG_CONFIG_HOME:-${HOME}/.config}/openbox/rc.xml)"; | |
elif [[ -f ${XDG_CONFIG_HOME:-${HOME}/.config}/openbox/lxde-rc.xml && $DE == "LXDE" ]]; then | |
Win_theme="$(awk -F"[<,>]" '/<theme/ { getline; print $3 }' ${XDG_CONFIG_HOME:-${HOME}/.config}/openbox/lxde-rc.xml)"; | |
fi | |
;; | |
'PekWM') if [ -f $HOME/.pekwm/config ]; then Win_theme="$(awk -F"/" '/Theme/ {gsub(/\"/,""); print $NF}' $HOME/.pekwm/config)"; fi;; | |
'Ratpoison') Win_theme="Not Present";; | |
'Sawfish') Win_theme="$(awk -F")" '/\(quote default-frame-style/{print $2}' $HOME/.sawfish/custom | sed 's/ (quote //')";; | |
'ScrotWM') Win_theme="Not Present";; | |
'SpectrWM') Win_theme="Not Present";; | |
'subtle') Win_theme="Not Present";; | |
'WindowMaker') Win_theme="Not Present";; | |
'WMFS') Win_theme="Not Present";; | |
'wmii') Win_theme="Not Present";; | |
'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 Present";; | |
esac | |
if [[ "${distro}" == "Cygwin" ]]; then | |
themeFile="$(reg query 'HKCU\Software\Microsoft\Windows\CurrentVersion\Themes' /v 'CurrentTheme' | grep -o '[A-Z]:\\.*')" | |
Win_theme=$(echo $themeFile | awk -F"\\" '{print $NF}' | grep -o '[0-9A-z. ]*$' | grep -o '^[0-9A-z ]*') | |
fi | |
[[ "$verbosity" -eq "1" ]] && 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" | |
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.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 | |
fi | |
;; | |
'GNOME'*|'Gnome'*|'Unity'*) # 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 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 | |
;; | |
'LXDE'*) | |
if [ -f ${XDG_CONFIG_HOME:-${HOME}/.config}/lxde/config ]; then | |
lxdeconf="/lxde/config" | |
elif [ "$distro" == "Trisquel" ]; then | |
lxdeconf="" | |
elif [ "$distro" == "FreeBSD" ]; then | |
lxdeconf="" | |
else | |
lxdeconf="/lxsession/LXDE/desktop.conf" | |
fi | |
# TODO: Clean me. | |
if grep -q "sNet\/ThemeName" ${XDG_CONFIG_HOME:-${HOME}/.config}$lxdeconf 2>/dev/null; then | |
gtk2Theme=$(awk -F'=' '/sNet\/ThemeName/ {print $2}' ${XDG_CONFIG_HOME:-${HOME}/.config}$lxdeconf) | |
fi | |
if grep -q IconThemeName ${XDG_CONFIG_HOME:-${HOME}/.config}$lxdeconf 2>/dev/null; then | |
gtkIcons=$(awk -F'=' '/sNet\/IconThemeName/ {print $2}' ${XDG_CONFIG_HOME:-${HOME}/.config}$lxdeconf) | |
fi | |
if grep -q FontName ${XDG_CONFIG_HOME:-${HOME}/.config}$lxdeconf 2>/dev/null; then | |
gtkFont=$(awk -F'=' '/sGtk\/FontName/ {print $2}' ${XDG_CONFIG_HOME:-${HOME}/.config}$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 | |
if grep -q "^include" $HOME/.gtkrc.mine; then | |
gtk2Theme=$(grep '^include.*gtkrc' $HOME/.gtkrc.mine | awk -F "/" '{ print $5 }') | |
fi | |
if grep -q "^gtk-icon-theme-name" $HOME/.gtkrc.mine; then | |
gtkIcons=$(grep '^gtk-icon-theme-name' $HOME/.gtkrc.mine | 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 ]]; 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 [ $(which gsettings) ] && [ "$distro" != "Mac OS X" ]; then | |
# gtk3Theme="$(gsettings get org.gnome.desktop.interface gtk-theme | tr -d \"\'\")" | |
#fi | |
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 | |
# Font detection (OS X) | |
if [[ ${distro} == "Mac OS X" ]]; then | |
if ps -U ${USER} | grep [F]inder >/dev/null 2>&1; then | |
gtkFont="Not Found" | |
if [ -f ~/Library/Preferences/com.googlecode.iterm2.plist ]; then | |
gtkFont=$(str1=$(defaults read com.googlecode.iTerm2|grep -m 1 "Normal Font");echo ${str1:29:${#str1}-29-2}) | |
fi | |
fi | |
fi | |
if [ "$distro" == "Cygwin" -a "$gtkFont" == "Not Found" ]; then | |
if [ -f $HOME/.minttyrc ]; then | |
gtkFont="$(cat $HOME/.minttyrc | grep '^Font=.*' | grep -o '[0-9A-z ]*$')" | |
fi | |
fi | |
;; | |
esac | |
if [[ "$verbosity" -eq "1" ]]; then | |
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'" | |
fi | |
} | |
# 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 | |
if [[ "$hostshot" == "1" ]]; then | |
if [ "$distro" == "Mac OS X" ]; then printf "Taking shot in 3.. "; sleep 1; printf "2.. "; sleep 1; printf "1.. "; sleep 1; printf "0.\n"; screencapture -x "${shotfile}" &> /dev/null | |
else scrot - "${shotfile}"; fi | |
if [ -f "${shotfile}" ]; then | |
[[ "$verbosity" -eq "1" ]] && verboseOut "Screenshot saved at '${shotfile}'" | |
scp -qo ConnectTimeout="${scptimeout}" "${shotfile}" "${serveraddr}:${serverdir}" | |
echo -e "${bold}==>${c0} Your screenshot can be viewed at ${baseurl}/$shotfile" | |
else | |
verboseOut "ERROR: Problem saving screenshot to ${shotfile}" | |
fi | |
else | |
if [ "$distro" == "Mac OS X" ]; then printf "Taking shot in 3.. "; sleep 1; printf "2.. "; sleep 1; printf "1.. "; sleep 1; printf "0.\n"; screencapture -x "${shotfile}" &> /dev/null | |
else scrot -cd3 "${shotfile}"; fi | |
if [ -f "${shotfile}" ]; then | |
[[ "$verbosity" -eq "1" ]] && verboseOut "Screenshot saved at '${shotfile}'" | |
else | |
verboseOut "ERROR: Problem saving screenshot to ${shotfile}" | |
fi | |
fi | |
else | |
$screenCommand | |
fi | |
} | |
asciiText () { | |
# Distro logos and ASCII outputs | |
if [[ "$fake_distro" ]]; then distro="${fake_distro}"; fi | |
if [[ "$asc_distro" ]]; then myascii="${asc_distro}" | |
else myascii="${distro}"; fi | |
case ${myascii} in | |
"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" | |
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" | |
" %s" | |
" %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" | |
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" | |
fulloutput=(" %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" | |
" %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" | |
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" | |
" %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" | |
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") | |
;; | |
"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" | |
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" | |
" %s") | |
;; | |
"CrunchBang") | |
if [[ "$no_color" != "1" ]]; then | |
c1=$(getColor 'white') # White | |
fi | |
if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; fi | |
startline="0" | |
fulloutput=(" %s" | |
"$c2 "$c1"███"$c2" "$c1"███"$c2" "$c1"███"$c2" %s" | |
"$c2 "$c1"███"$c2" "$c1"███"$c2" "$c1"███"$c2" %s" | |
"$c2 "$c1"███"$c2" "$c1"███"$c2" "$c1"███"$c2" %s" | |
"$c2 "$c1"███"$c2" "$c1"███"$c2" "$c1"███"$c2" %s" | |
"$c2 "$c1"█████████████"$c2" "$c1"███"$c2" %s" | |
#"$c2 "$c1"████████████████████████████"$c2" "$c1"███"$c2" %s" | |
"$c2 "$c1"█████████████"$c2" "$c1"███"$c2" %s" | |
#"$c2 "$c1"████████████████████████████"$c2" "$c1"███"$c2" %s" | |
"$c2 "$c1"███"$c2" "$c1"███"$c2" "$c1"███"$c2" %s" | |
"$c2 "$c1"███"$c2" "$c1"███"$c2" "$c1"███"$c2" %s" | |
"$c2 "$c1"███"$c2" "$c1"███"$c2" "$c1"███"$c2" %s" | |
"$c2 "$c1"███"$c2" "$c1"███"$c2" "$c1"███"$c2" %s" | |
"$c2 "$c1"█████████████"$c2" "$c1"███"$c2" %s" | |
#"$c2 "$c1"████████████████████████████"$c2" "$c1"███"$c2" %s" | |
"$c2 "$c1"█████████████"$c2" "$c1"███"$c2" %s" | |
#"$c2 "$c1"████████████████████████████"$c2" "$c1"███"$c2" %s" | |
"$c2 "$c1"███"$c2" "$c1"███"$c2" %s" | |
"$c2 "$c1"███"$c2" "$c1"███"$c2" %s" | |
"$c2 "$c1"███"$c2" "$c1"███"$c2" "$c1"███"$c2" %s" | |
"$c2 "$c1"███"$c2" "$c1"███"$c2" "$c1"███"$c2" %s" | |
"$c2 %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" | |
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" | |
"$c2yM"$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" | |
fulloutput=(" %s" | |
" %s" | |
" %s" | |
" %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" | |
" %s" | |
" %s" | |
" %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" | |
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}..${c2}----"$c1"/hMMMy"$c2"------------: %s" | |
"$c2 :--"$c1" :dMNdhhdNMMNo"$c2"------------; %s" | |
"$c2 :---"$c1":sdNMMMMNds:"$c2"------------: %s" | |
"$c2 :------"$c1":://:"$c2"-------------:: %s" | |
"$c2 :---------------------:// %s" | |
" %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" | |
fulloutput=(" %s" # user@host | |
" "$c1"\`\`\` "$c2"\` %s" # OS | |
" "$c1"\` \`.....---..."$c2"....--.\`\`\` -/ %s" # Kernel | |
" "$c1"+o .--\` "$c2"/y:\` +. %s" # Uptime | |
" "$c1" yo\`:. "$c2":o \`+- %s" # Packages | |
" "$c1"y/ "$c2"-/\` -o/ %s" # Shell | |
" "$c1".- "$c2"::/sy+:. %s" # Resolution | |
" "$c1"/ "$c2"\`-- / %s" # DE | |
" "$c1"\`: "$c2":\` %s" # WM | |
" "$c1"\`: "$c2":\` %s" # WM Theme | |
" "$c1"/ "$c2"/ %s" # GTK2 Theme | |
" "$c1".- "$c2"-. %s" # GTK3 Theme | |
" "$c1"-- "$c2"-. %s" # Icon Theme | |
" "$c1"\`:\` "$c2"\`:\` %s" # Font | |
" "$c2".-- \`--. %s" # Disk | |
" "$c2" .---.....----. %s" # CPU | |
" %s" # GPU | |
" %s" # RAM | |
) | |
;; | |
"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_color}"; fi | |
startline="3" | |
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" \ ( \`\ " | |
""$c1" \`.\ " | |
) | |
;; | |
"DragonFlyBSD") | |
if [[ "$no_color" != "1" ]]; then | |
c1=$(getColor 'light red') # Red | |
c2=$(getColor 'white') # White | |
c3=$(getColor 'yellow') # | |
c4=$(getColor 'light red') | |
fi | |
startline="0" | |
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 'light red') # Light Red | |
c2=$(getColor 'white') # White | |
fi | |
startline="0" | |
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\ " | |
" "$c2"\\\\NNNA") | |
;; | |
"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" | |
fulloutput=(" %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" | |
" %s" | |
" %s") | |
;; | |
"openSUSE") | |
if [[ "$no_color" != "1" ]]; then | |
c1=$(getColor 'light green') # Bold Green | |
c2=$(getColor 'white') # Bold White | |
fi | |
if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; fi | |
startline="0" | |
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"KKKKKKKKKKKKKKK0d:"$c2",,,"$c1":dx:"$c2" ;00, %s" | |
"$c2 .OK"$c1"KKKKKKKKKKKKKKKk."$c2".oOkdl."$c1"'0k."$c2" cKO. %s" | |
"$c2 :KK"$c1"KKKKKKKKKKKKKKK: "$c2"kKx..od "$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;...;cdxxOK0Oxc,. "$c2".0K: %s" | |
"$c2 kKK"$c1"KKKKKKKKKKKKK0xl;'......,cdo "$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" | |
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 ::::::::::::::::::::::" | |
"$c1 ::::::::::::") | |
;; | |
"Red Hat 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" | |
fulloutput=(" %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" | |
" %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" | |
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" | |
"${c2} .-:+++\`") | |
;; | |
"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" | |
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") | |
;; | |
"SolusOS") | |
if [[ "$no_color" != "1" ]]; then | |
c1=$(getColor 'white') # White | |
c2=$(getColor 'dark grey') # Light Gray | |
fi | |
if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; fi | |
startline="0" | |
fulloutput=("${c1} e e %s" | |
"${c1} eee ee %s" | |
"${c1} eeee eee %s" | |
"${c2} wwwwwwwww"${c1}"eeeeee %s" | |
"${c2} wwwwwwwwwwwwwww"${c1}"eee %s" | |
"${c2} wwwwwwwwwwwwwwwwwww"${c1}"eeeeeeee %s" | |
"${c2} wwwww "${c1}"eeeee"${c2}"wwwwww"${c1}"eeee %s" | |
"${c2} www "${c1}"eeee"${c2}"wwwwww"${c1}"e %s" | |
"${c2} ww "${c1}"ee"${c2}"wwwwww %s" | |
"${c2} w wwwww %s" | |
"${c2} wwwww %s" | |
"${c2} wwwww %s" | |
"${c2} wwwww %s" | |
"${c2} wwww %s" | |
"${c2} wwww %s" | |
"${c2} wwww %s" | |
"${c2} www %s" | |
"${c2} ww %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" | |
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,. ") | |
;; | |
"ParabolaGNU/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" | |
fulloutput=(" %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" | |
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" | |
" %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" | |
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" | |
" %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" | |
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}"; fi | |
startline="1" | |
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" | |
" %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\`" | |
"${c3} \`woapfjsod\`"${c4}" \`woapfjsod\`") | |
;; | |
"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="0" | |
fulloutput=("\n${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\n") | |
;; | |
"Windows"|"Cygwin") | |
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" | |
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") | |
;; | |
"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" | |
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" | |
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") | |
;; | |
"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" | |
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" | |
" %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" | |
fulloutput=( | |
" %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 'white') # White | |
c2=$(getColor 'light green') # Bold Green | |
fi | |
if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; fi | |
startline="2" | |
fulloutput=( | |
"${c2} ╲ ▁▂▂▂▁ ╱" | |
"${c2} ▄███████▄ " | |
"${c2} ▄██${c1} ${c2}███${c1} ${c2}██▄ %s" | |
"${c2} ▄███████████▄ %s" | |
"${c2} ▄█ ▄▄▄▄▄▄▄▄▄▄▄▄▄ █▄ %s" | |
"${c2} ██ █████████████ ██ %s" | |
"${c2} ██ █████████████ ██ %s" | |
"${c2} ██ █████████████ ██ %s" | |
"${c2} ██ █████████████ ██ %s" | |
"${c2} █████████████ %s" | |
"${c2} ███████████ %s" | |
"${c2} ██ ██" | |
"${c2} ██ ██") | |
;; | |
"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}"; fi | |
startline="1" | |
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} '////'") | |
;; | |
"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" | |
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} .'" | |
"${c1} .") | |
;; | |
"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" | |
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} .'" | |
"${c1} .") | |
;; | |
"Sabayon") | |
if [[ "$no_color" != "1" ]]; then | |
c1=$(getColor 'white') # White | |
c2=$(getColor 'light blue') # Blue | |
fi | |
if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; fi | |
startline="0" | |
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") | |
;; | |
"CentOS") | |
if [[ "$no_color" != "1" ]]; then | |
c1=$(getColor 'yellow') # White | |
c2=$(getColor 'light green') # White | |
c3=$(getColor 'light blue') # White | |
c4=$(getColor 'light purple') # White | |
c5=$(getColor 'white') # White | |
fi | |
if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; fi | |
startline="0" | |
fulloutput=("${c1} .. %s" | |
"${c1} .PLTJ. %s" | |
"${c1} <><><><> %s" | |
" ${c2}KKSSV' 4KKK ${c1}LJ${c4} KKKL.'VSSKK %s" | |
" ${c2}KKV' 4KKKKK ${c1}LJ${c4} KKKKAL 'VKK %s" | |
" ${c2}V' ' 'VKKKK ${c1}LJ${c4} KKKKV' ' 'V %s" | |
" ${c2}.4MA.' 'VKK ${c1}LJ${c4} KKV' '.4Mb. %s" | |
"${c4} . ${c2}KKKKKA.' 'V ${c1}LJ${c4} V' '.4KKKKK ${c3}. %s" | |
"${c4} .4D ${c2}KKKKKKKA.'' ${c1}LJ${c4} ''.4KKKKKKK ${c3}FA. %s" | |
"${c4} <QDD ++++++++++++ ${c3}++++++++++++ GFD> %s" | |
"${c4} 'VD ${c3}KKKKKKKK'.. ${c2}LJ ${c1}..'KKKKKKKK ${c3}FV %s" | |
"${c4} ' ${c3}VKKKKK'. .4 ${c2}LJ ${c1}K. .'KKKKKV ${c3}' %s" | |
" ${c3} 'VK'. .4KK ${c2}LJ ${c1}KKA. .'KV' %s" | |
" ${c3}A. . .4KKKK ${c2}LJ ${c1}KKKKA. . .4 %s" | |
" ${c3}KKA. 'KKKKK ${c2}LJ ${c1}KKKKK' .4KK %s" | |
" ${c3}KKSSA. VKKK ${c2}LJ ${c1}KKKV .4SSKK %s" | |
"${c2} <><><><> %s" | |
"${c2} 'MKKM' %s" | |
"${c2} ''") | |
;; | |
"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" | |
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") | |
;; | |
*) | |
if [[ "$no_color" != "1" ]]; then | |
c1=$(getColor 'white') # White | |
c2=$(getColor 'dark grey') # Light Gray | |
c3=$(getColor 'yellow') # Light Yellow | |
fi | |
if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; c3="${my_lcolor}"; fi | |
startline="0" | |
fulloutput=(" %s" | |
" %s" | |
" %s" | |
"$c2 #####$c0 %s" | |
"$c2 ####### %s" | |
"$c2 ##"$c1"O$c2#"$c1"O$c2## %s" | |
"$c2 #$c3#####$c2# %s" | |
"$c2 ##$c1##$c3###$c1##$c2## %s" | |
"$c2 #$c1##########$c2## %s" | |
"$c2 #$c1############$c2## %s" | |
"$c2 #$c1############$c2### %s" | |
"$c3 ##$c2#$c1###########$c2##$c3# %s" | |
"$c3 ######$c2#$c1#######$c2#$c3###### %s" | |
"$c3 #######$c2#$c1#####$c2#$c3####### %s" | |
"$c3 #####$c2#######$c3##### %s" | |
" %s" | |
" %s" | |
" %s") | |
;; | |
esac | |
# Truncate lines based on terminal width. | |
if [ "$truncateSet" == "Yes" ]; then | |
for ((i=0; i<${#fulloutput[@]}; i++)); do | |
my_out=$(printf "${fulloutput[i]}$c0\n" "${out_array}") | |
my_out_full=$(echo "$my_out" | cat -v) | |
termWidth=$(tput cols) | |
SHOPT_EXTGLOB_STATE=$(shopt -p extglob) | |
read SHOPT_CMD SHOPT_STATE SHOPT_OPT <<< ${SHOPT_EXTGLOB_STATE} | |
if [[ ${SHOPT_STATE} == "-u" ]]; then | |
shopt -s extglob | |
fi | |
stringReal="${my_out_full//\^\[\[@([0-9]|[0-9];[0-9][0-9])m}" | |
if [[ ${SHOPT_STATE} == "-u" ]]; then | |
shopt -u extglob | |
fi | |
if [[ "${#stringReal}" -le "${termWidth}" ]]; then | |
echo -e "${my_out}"$c0 | |
elif [[ "${#stringReal}" -gt "${termWidth}" ]]; then | |
((NORMAL_CHAR_COUNT=0)) | |
for ((j=0; j<=${#my_out_full}; j++)); do | |
if [[ "${my_out_full:${j}:3}" == '^[[' ]]; then | |
if [[ "${my_out_full:${j}:5}" =~ ^\^\[\[[[:digit:]]m$ ]]; then | |
if [[ ${j} -eq 0 ]]; then | |
j=$((${j} + 5)) | |
else | |
j=$((${j} + 4)) | |
fi | |
elif [[ "${my_out_full:${j}:8}" =~ ^\^\[\[[[:digit:]]\;[[:digit:]][[:digit:]]m ]]; then | |
if [[ ${j} -eq 0 ]]; then | |
j=$((${j} + 8)) | |
else | |
j=$((${j} + 7)) | |
fi | |
fi | |
else | |
((NORMAL_CHAR_COUNT++)) | |
if [[ ${NORMAL_CHAR_COUNT} -ge ${termWidth} ]]; then | |
echo -e "${my_out:0:$((${j} - 5))}"$c0 | |
break 1 | |
fi | |
fi | |
done | |
fi | |
if [[ "$i" -ge "$startline" ]]; then | |
unset out_array[0] | |
out_array=( "${out_array[@]}" ) | |
fi | |
done | |
else | |
#n=${#fulloutput[*]} | |
for ((i=0; i<${#fulloutput[*]}; i++)); do | |
# echo "${out_array[@]}" | |
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 | |
"Arch Linux - Old"|"Fedora"|"Mandriva"|"Mandrake"|"Chakra"|"Sabayon"|"Slackware"|"Mac OS X"|"Trisquel"|"Kali Linux"|"Jiyuu Linux") labelcolor=$(getColor 'light blue');; | |
"Arch Linux"|"Frugalware"|"Mageia") labelcolor=$(getColor 'light cyan');; | |
"Mint"|"LMDE"|"openSUSE"|"LinuxDeepin"|"DragonflyBSD"|"Manjaro"|"Manjaro-tree"|"Android") labelcolor=$(getColor 'light green');; | |
"Ubuntu"|"FreeBSD"|"Debian"|"BSD"|"Red Hat Linux"|"Peppermint"|"Cygwin"|"Fuduntu"|"NetBSD"|"Scientific Linux"|"DragonFlyBSD"|"BackTrack Linux") labelcolor=$(getColor 'light red');; | |
"CrunchBang"|"SolusOS"|"Viperr"|"elementary"*) labelcolor=$(getColor 'dark grey');; | |
"Gentoo"|"ParabolaGNU/Linux-libre"|"Funtoo"|"Funtoo-text") labelcolor=$(getColor 'light purple');; | |
"CentOS"|*) labelcolor=$(getColor 'yellow');; | |
esac | |
[[ "$my_lcolor" ]] && labelcolor="${my_lcolor}" | |
if [[ "$no_color" == "1" ]]; then labelcolor=""; bold=""; c0=""; textcolor=""; fi | |
# Some verbosity stuff | |
[[ "$verbosity" == "1" ]] && [[ "$screenshot" == "1" ]] && verboseOut "Screenshot will be taken after info is displayed." | |
[[ "$verbosity" == "1" ]] && [[ "$hostshot" == "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=$(ioreg -l -p IODeviceTree | grep firmware-abi);echo ${str1: -4: 2}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" ]]; then | |
distro=$(wmic os get name | head -2 | tail -1) | |
distro=$(expr match "$distro" '\(Microsoft Windows [A-Za-z0-9]\+\)') | |
sysArch=$(wmic os get OSArchitecture | head -2 | tail -1 | tr -d '\r ') | |
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" ) | |
((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 [[ "${display[@]}" =~ "term" ]]; then myterm=$(echo -e "$labelcolor Terminal:$textcolor $myTerm"); out_array=( "${out_array[@]}" "$myterm" ); ((display_index++)); fi | |
if [[ -n "$DISPLAY" ]]; then | |
if [[ "${display[@]}" =~ "res" ]]; 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 Present" ]]; 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 [ "$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 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 Found" ]; then | |
if [ -n "$gtk2Theme" ]; then | |
mygtk2=$(echo -e "$labelcolor GTK2 Theme:$textcolor $gtk2Theme"); out_array=( "${out_array[@]}" "$mygtk2" ); ((display_index++)) | |
fi | |
fi | |
if [ "$gtk3Theme" != "Not Found" ]; then | |
if [ -n "$gtk3Theme" ]; then | |
mygtk3=$(echo -e "$labelcolor GTK3 Theme:$textcolor $gtk3Theme"); out_array=( "${out_array[@]}" "$mygtk3" ); ((display_index++)) | |
fi | |
fi | |
if [ "$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 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" ]]; then | |
if [[ "${display[@]}" =~ "res" ]]; 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 Present" ]]; then | |
: | |
else | |
mywmtheme=$(echo -e "$labelcolor WM Theme:$textcolor $Win_theme"); out_array=( "${out_array[@]}" "$mywmtheme" ); ((display_index++)) | |
fi | |
fi | |
fi | |
[[ "${fake_distro}" != "Cygwin" ]] && 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 | |
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" ]]; then echo -e "$mypkgs"; fi | |
if [[ "${display[@]}" =~ "shell" ]]; then echo -e "$myshell"; fi | |
if [[ "${display[@]}" =~ "term" ]]; then echo -e "$myterm"; fi | |
if [[ "${display[@]}" =~ "res" ]]; then echo -e "$myres"; fi | |
if [[ "${display[@]}" =~ "de" ]]; then | |
if [[ "${DE}" != "Not Present" ]]; then echo -e "$myde"; fi | |
fi | |
if [[ "${display[@]}" =~ "wm" ]]; then | |
echo -e "$mywm" | |
if [[ "${Win_theme}" != "Not Present" ]]; then | |
echo -e "$mywmtheme" | |
fi | |
fi | |
if [[ "${display[@]}" =~ "gtk" ]]; then | |
echo -e "$mygtk2" | |
echo -e "$mygtk3" | |
echo -e "$myicons" | |
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 | |
if [ "$overrideDisplay" = "list" ]; then | |
# echo -e "Format must be as follows:" | |
# echo -e " OPTION,OPTION,OPTION,OPTION" | |
echo -e "Valid options are:" | |
echo -e " host, distro, kernel, uptime, pkgs, shell, term," | |
echo -e " res, de, wm, wmtheme, gtk, disk, cpu, gpu, mem" | |
exit 0 | |
fi | |
[[ "$verbosity" -eq "1" ]] && verboseOut "Found 'd' flag in syntax. Overriding some display options..." | |
overrideDisplay=${overrideDisplay//,/ } | |
display=( $overrideDisplay ) | |
fi | |
# Check for android | |
if type -p getprop >/dev/null 2>&1; then | |
distro="Android" | |
detectmem | |
detectuptime | |
detectkernel | |
detectdroid | |
infoDisplay | |
exit 0 | |
fi | |
for i in "${display[@]}"; do | |
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 | |
done | |
infoDisplay | |
[ "$screenshot" == "1" ] && takeShot | |
[ "$exportTheme" == "1" ] && themeExport | |
exit 0 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment