├── 2spooky.lua ├── README.md ├── blocks ├── colors ├── colorscheme ├── dna ├── dna1 ├── faces ├── fetch ├── invaders ├── lines ├── pacman ├── pipes ├── rallyx ├── rectangles ├── skull ├── slendy ├── tanks ├── tux └── xrally /2spooky.lua: -------------------------------------------------------------------------------- 1 | --Definitely not my best work, first script I've done in Lua 5.2 2 | function draw() 3 | nissue = { 4 | "\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[1;33m", 5 | ",~~~~~~~~~~~~~, \027[0;31m..:::::::::.. \027[1;33m ,~~~~~~~~~~~~~,\027[1;33m", 6 | "\027[1;33m:\027[1;32m .-======-,\027[1;33m : \027[0;31m ..:::\027[1;37maad8888888baa\027[0;31m:::.. \027[1;33m:\027[1;34mExploit-the \027[1;33m :\027[1;32m", 7 | "\027[1;33m:\027[1;32m ||\027[0;31mH4CK3R\027[1;32m|# \027[1;33m : \027[0;31m .::::\027[1;37md:?88888888888?::8b\027[0;31m::::. \027[1;33m :\027[0;31m.-------,./|\027[1;33m :\027[1;32m", 8 | "\027[1;33m:\027[1;32m ||______|| \027[1;33m :\027[1;34m&&&& \027[0;31m.:::\027[1;37md8888:?88888888??a888888b\027[0;31m:::. \027[1;34m &&&&\027[1;33m:\027[0;31m{ \027[1;33m VIRUS \027[0;31m /\027[1;33m :\027[1;33m", 9 | "\027[1;33m:\027[1;32m | ___ | \027[1;33m : \027[1;34m + \027[0;31m.:::\027[1;37md8888888a8888888aa8888888888b\027[0;31m:::. \027[1;34m + \027[1;33m :\027[0;31m \\\027[1;33m DROPPER\027[0;31m 7\027[1;33m :\027[1;33m", 10 | "\027[1;33m:\027[1;32m | |\027[1;35m[]\027[1;32m | | \027[1;33m : \027[1;34m &\027[0;31m::::\027[1;37mdP\027[0;31m\023\022\021\020\019\018\017\016\027[1;37m88888888888\027[0;31m\023\022\021\020\019\018\017\016\027[1;37mYb\027[0;31m::::\027[1;34m&&\027[1;33m :\027[0;31m ~. ,--.( \027[1;33m :\027[1;33m", 11 | "\027[1;33m:\027[1;32m `-------' \027[1;33m : \027[0;31m::::\027[1;37mdP\027[0;31m\024:::::::\015\027[1;37mY888888888P\027[0;31m\024:::::::\015\027[1;37mYb\027[0;31m::::\027[1;33m : \027[0;31m '~ `;\027[1;33m :\027[1;33m", 12 | "\027[1;33m:\027[0;31mReverse- \027[1;33m : \027[0;31m::::\027[1;37md8\027[0;31m\001:::::::::\014\027[1;37mY8888888P\027[0;31m\001:::::::::\014\027[1;37m8b\027[0;31m::::\027[1;33m :\027[1;34mNation's-\027[0;31mData\027[1;33m:\027[1;33m", 13 | "\027[1;33m:\027[0;31mEngineering \027[1;33m: \027[0;31m.::::\027[1;37m88\027[0;31m\002\003\004\005\006\007\008\009\010\011\012\013\027[1;37mY88888P\027[0;31m\002\003\004\005\006\007\008\009\010\011\012\013\027[1;37m88\027[0;31m::::.\027[1;33m `~~~~~~~~~~~~'\027[1;33m", 14 | "\027[1;33m `~~~~~~~~~~~~' \027[0;31m:::::\027[1;37mY8baaaaaaaaaa88P\027[0;31m:\027[1;37mT\027[0;31m:\027[1;37mY88aaaaaaaaaad8P\027[0;31m::::: \027[0;31m", 15 | "\027[0;31m :::::::\027[1;37mY88888888888P\027[0;31m::\027[1;37m|\027[0;31m::\027[1;37mY88888888888P\027[0;31m::::::: \027[0;31m", 16 | "\027[1;33m,~~~~~~~~~~~~~, \027[0;31m::::::::::::::::\027[1;37m888\027[0;31m:::\027[1;37m|\027[0;31m:::\027[1;37m888\027[0;31m::::::::::::::::\027[1;33m ,~~~~~~~~~~~~~,\027[1;33m", 17 | "\027[1;33m:\027[1;34m R00T-KITS \027[1;33m : \027[0;31m`:::::::::::::::\027[1;37m8888888888888b\027[0;31m::::::::::::::' \027[1;33m :\027[0;31mHoM3-$w33t\027[1;33m :\027[1;37m", 18 | "\027[1;33m:\027[0;31m ____ \027[1;37m __ \027[1;33m : \027[0;31m:::::::::::::::\027[1;37m88888888888888\027[0;31m:::::::::::::: \027[1;33m :\027[1;34m (I\027[1;33m :\027[1;33m", 19 | "\027[1;33m: \027[0;31m| |\027[1;37m |\027[0;31m-_\027[1;37m| \027[1;33m:\027[0;31m :::::::::::::\027[1;37md88888888888888\027[0;31m::::::::::::: \027[1;33m :\027[1;36m^^^\027[1;34m |\027[1;36m ^^^\027[1;33m:\027[1;33m", 20 | "\027[1;33m:\027[0;31m |____|\027[1;33m_\027[1;37m|\027[0;31m=_\027[1;37m|\027[1;33m :\027[0;31m ::::::::::::\027[1;37m88\027[0;31m::\027[1;37m88\027[0;31m::\027[1;37m88\027[0;31m:::\027[1;37m88\027[0;31m::::::::::::\027[1;33m :\027[1;34m|u|_\027[1;36m^^^^^\027[1;34m_|u|\027[1;33m:\027[1;33m", 21 | "\027[1;33m:\027[1;37m ____\027[1;33m)\027[1;37m_\027[1;37m.\027[1;37m___\027[1;33m : \027[0;31m`::::::::::\027[1;37m88\027[0;31m::\027[1;37m88\027[0;31m::\027[1;37m88\027[0;31m:::\027[1;37m88\027[0;31m::::::::::' \027[1;33m :\027[1;34m|_ u _ u _|\027[1;33m:\027[1;33m", 22 | "\027[1;33m: \027[1;37m/\027[1;34m:::::;\027[1;37m|\027[1;34m _\027[1;37m)\027[1;33m:\027[1;34m &\027[0;31m`:::::::::\027[1;37m88\027[0;31m::\027[1;37m88\027[0;31m::\027[1;37mP\027[0;31m::::\027[1;37m88\027[0;31m:::::::::'\027[1;34m& \027[1;33m:\027[1;34m |__|\027[1;37m;\027[1;34m|__| \027[1;33m :\027[1;33m", 23 | "\027[1;33m:\027[1;37m `======'\027[1;34m |_|\027[1;33m: \027[1;34m+ \027[0;31m `:::::::\027[1;37m88\027[0;31m::\027[1;37m88\027[0;31m:::::::\027[1;37m88\027[0;31m:::::::' \027[1;34m + \027[1;33m :\027[1;34m /_/ \027[1;33m :\027[1;33m", 24 | "\027[1;33m:\027[1;34mUr-Computer-\027[1;33m :\027[1;34m&&&&&&& \027[0;31m ``:::::::::::::::::::::::''\027[1;34m &&&&&&&\027[1;33m:\027[0;31mH4x0r-HoM3- \027[1;33m :\027[1;33m", 25 | "\027[1;33m:\027[1;34mis-MY-\027[0;31mSlave \027[1;33m : \027[0;31m ``::::::::::::::''\027[1;33m :\027[0;31m *\027[1;37m127\027[0;31m.\027[1;37m0\027[0;31m.\027[1;37m0\027[0;31m.\027[1;37m1\027[0;31m* \027[1;33m:\027[1;33m", 26 | "\027[1;33m `~~~~~~~~~~~~' `~~~~~~~~~~~~'\027[1;33m", 27 | "\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[0;31m=\027[1;37m-\027[1;37m", 28 | "\027[0;31m -======- \027[1;37m +\027[0;31mWARNING\027[1;37m+\027[1;33m\"\027[0;31mIllegal\027[1;37m_\027[0;31mNetwork\027[1;37m_\027[0;31mConnections\027[1;37m_\027[0;31mBeyond\027[1;37m_\027[0;31mLogin\027[1;33m\" \027[0;31m -======-\027[0;31m", 29 | "\027[0;31m |\027[1;32mH\027[1;34m4\027[1;33mC\027[1;35mK\027[1;36m3\027[1;37mR\027[0;31m| \027[1;34m -== \027[1;37m You are at the point of \027[0;31mNO RETURN \027[1;34m ==- \027[0;31m |\027[1;32mH\027[1;34m4\027[1;33mC\027[1;35mK\027[1;36m3\027[1;37mR\027[0;31m|\027[0;31m", 30 | "\027[0;31m |______|\027[0;31mYour Activities\027[1;37m:\027[1;33mWill\027[1;37m_\027[1;33mbe\027[1;37m_\027[1;33mKeylogged\027[1;37m_\027[1;33mand\027[1;37m_\027[1;33mTimestamped \027[1;34m\"\027[0;31mUSER_BEWARE\027[1;34m\"\027[0;31m|______|\027[0;31m", 31 | "\027[0;31mHacking Sites\027[1;37m:\027[0;31m https\027[1;37m:\027[1;33m//\027[0;31msites\027[1;37m.\027[0;31mgoogle\027[1;37m.\027[0;31mcom\027[1;33m/\027[0;31msite\027[1;33m/\027[0;31mlazyboxx \027[1;35m*\027[0;31m http\027[1;37m:\027[1;33m//\027[0;31mwww\027[1;37m.\027[0;31mfreebsd\027[1;37m.\027[0;31morg \027[1;33m" 32 | } 33 | io.write("\027[1;1H") --reset cursor 34 | for a = 7,11 do 35 | for b = 1,24 do 36 | if b == position then 37 | nissue[a] = string.gsub(nissue[a],string.char(b),"\027[1;31m@\027[0;31m") 38 | else 39 | nissue[a] = string.gsub(nissue[a],string.char(b),":") 40 | end 41 | end 42 | end 43 | for a = 5,21 do 44 | if bool then 45 | nissue[a] = string.gsub(nissue[a],"&","\027[31;1m=\027[37;1m") 46 | nissue[a] = string.gsub(nissue[a],"+","\027[31;1m|\027[37;1m") 47 | else 48 | nissue[a] = string.gsub(nissue[a],"&","=") 49 | nissue[a] = string.gsub(nissue[a],"+","|") 50 | end 51 | end 52 | for i = 1,28 do 53 | print(nissue[i]) 54 | end 55 | bool = not bool 56 | end 57 | function changepos(num) 58 | if position == 24 and num == 1 then 59 | position = 1 60 | elseif position == 1 and num == -1 then 61 | position = 24 62 | else 63 | position = position + num 64 | end 65 | end 66 | position = 14 67 | bool = true 68 | dirs = {1,-1} 69 | draw() 70 | while true do 71 | move = math.random(1,6) 72 | dir = dirs[math.random(1,2)] 73 | draw() 74 | for m = 1,move do 75 | changepos(dir) 76 | draw() 77 | os.execute("sleep 0.1") --Replace it with some other way to wait one tenth of a second if you're using Windows or don't have "sleep" 78 | end --On the subject of Windows compatibility, Ansicon is a perfect way to make the Ansi escape codes work. 79 | end 80 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Just a collection of colorscripts 2 | 3 | to whoever it may concern: 4 | 5 | As the readme always said this is just a collection of color scripts of which I do not (and never did) claim I wrote them all on my own. I've been away for quite some time and only recently noticed some discussions going on and some people claiming I stole them, while others claimed John stole them from me. I never tried to steal, but collected them from various sites (and partly changed them + wrote some on my own) in order to provide a complete collection making it easier to get most scripts as easy as possible. As I committed them here in order to share the collection nobody ever stole from me. 6 | 7 | to John: 8 | I hereby want to apologize to you and also want you to know that due to my complete absence, I did not know anything about these rumors at all. 9 | -------------------------------------------------------------------------------- /blocks: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | xdef="$HOME/.Xdefaults" 4 | 5 | colors=( $( sed -re '/^!/d; /^$/d; /^#/d; s/(\*color)([0-9]):/\10\2:/g;' $xdef | grep 'color[01][0-9]:' | sort | sed 's/^.*: *//g' ) ) 6 | 7 | echo 8 | for i in {0..7}; do echo -en "\e[$((30+$i))m ${colors[i]} \u2588\u2588 \e[0m"; done 9 | echo 10 | for i in {8..15}; do echo -en "\e[1;$((22+$i))m ${colors[i]} \u2588\u2588 \e[0m"; done 11 | echo -e "\n" 12 | -------------------------------------------------------------------------------- /colors: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | xdef="$HOME/.Xdefaults" 4 | 5 | colors=( $( sed -re '/^!/d; /^$/d; /^#/d; s/(\*color)([0-9]):/\10\2:/g;' $xdef | grep 'color[01][0-9]:' | sort | sed 's/^.*: *//g' ) ) 6 | 7 | echo -e "\e[1;37m 8 | Black Red Green Yellow Blue Magenta Cyan White 9 | ──────────────────────────────────────────────────────────────────────\e[0m" 10 | for i in {0..7}; do echo -en "\e[$((30+$i))m ${colors[i]} \e[0m"; done 11 | echo 12 | for i in {8..15}; do echo -en "\e[1;$((22+$i))m ${colors[i]} \e[0m"; done 13 | echo -e "\n" 14 | -------------------------------------------------------------------------------- /colorscheme: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # This file echoes a bunch of color codes to the 4 | # terminal to demonstrate what's available. Each 5 | # line is the color code of one forground color, 6 | # out of 17 (default + 16 escapes), followed by a 7 | # test use of that color on all nine background 8 | # colors (default + 8 escapes). 9 | # 10 | 11 | T='TiP' # The test text 12 | 13 | echo -e "\n 40m 41m 42m 43m\ 14 | 44m 45m 46m 47m"; 15 | 16 | for FGs in ' m' ' 1m' ' 30m' '1;30m' ' 31m' '1;31m' ' 32m' \ 17 | '1;32m' ' 33m' '1;33m' ' 34m' '1;34m' ' 35m' '1;35m' \ 18 | ' 36m' '1;36m' ' 37m' '1;37m'; 19 | do FG=${FGs// /} 20 | echo -en " $FGs \033[$FG $T " 21 | for BG in 40m 41m 42m 43m 44m 45m 46m 47m; 22 | do echo -en "$EINS \033[$FG\033[$BG $T \033[0m"; 23 | done 24 | echo; 25 | done 26 | echo 27 | 28 | -------------------------------------------------------------------------------- /dna: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # ANSI color scheme script by pfh 4 | # 5 | # Initializing mod by lolilolicon from Archlinux 6 | # 7 | 8 | f=3 b=4 9 | for j in f b; do 10 | for i in {0..7}; do 11 | printf -v $j$i %b "\e[${!j}${i}m" 12 | done 13 | done 14 | bld=$'\e[1m' 15 | rst=$'\e[0m' 16 | inv=$'\e[7m' 17 | 18 | cat << EOF 19 | 20 | $f1█-----$bld█ $rst$f2█-----$bld█$rst $f3█-----$bld█$rst $f4█-----$bld█$rst $f5█-----$bld█$rst $f6█-----$bld█$rst 21 | $f1█---$bld█$rst $f2█---$bld█$rst $f3█---$bld█$rst $f4█---$bld█$rst $f5█---$bld█$rst $f6█---$bld█$rst 22 | $f1--$rst█$rst $f2 █-$bld█$rst $f3 █-$bld█$rst $f4 █-$bld█$rst $f5 █-$bld█$rst $f6 █-$bld█$rst 23 | $f1█$rst $f2█$rst $f3█$rst $f4█$rst $f5█$rst $f6█$rst 24 | $f1$bld█-$rst$f1█$rst $f2$bld█_$rst$f2█$rst $f3$bld█-$rst$f3█$rst $f4$bld█-$rst$f4█$rst $f5$bld█-$rst$f5█$rst $f6$bld█-$rst$f6█$rst 25 | $f1$bld█---$rst$f1█$rst $f2$bld█---$rst$f2█$rst $f3$bld█---$rst$f3█$rst $f4$bld█---$rst$f4█$rst $f5$bld█---$rst$f5█$rst $f6$bld█---$rst$f6█$rst 26 | $f1$bld█-----$rst$f1█$rst $f2$bld█-----$rst$f2█$rst $f3$bld█-----$rst$f3█$rst $f4$bld█-----$rst$f4█$rst $f5$bld█-----$rst$f5█$rst $f6$bld█-----$rst$f6█$rst 27 | $f1$bld█---$rst$f1█$rst $f2$bld█---$rst$f2█$rst $f3$bld█---$rst$f3█$rst $f4$bld█---$rst$f4█$rst $f5$bld█---$rst$f5█$rst $f6$bld█---$rst$f6█$rst 28 | $f1$bld█-$rst$f1█$rst $f2$bld█-$rst$f2█$rst $f3$bld█-$rst$f3█$rst $f4$bld█-$rst$f4█$rst $f5$bld█-$rst$f5█$rst $f6$bld█-$rst$f6█$rst 29 | $f1$bld█$rst $f2$bld█$rst $f3$bld█$rst $f4$bld█$rst $f5$bld█$rst $f6$bld█$rst 30 | $f1█-$bld█$rst $f2█-$bld█$rst $f3█-$bld█$rst $f4█-$bld█$rst $f5█-$bld█$rst $f6█-$bld█$rst 31 | $f1█---$bld█$rst $f2█---$bld█$rst $f3█---$bld█$rst $f4█---$bld█$rst $f5█---$bld█$rst $f6█---$bld█$rst 32 | $f1█-----$bld█ $rst$f2█-----$bld█$rst $f3█-----$bld█$rst $f4█-----$bld█$rst $f5█-----$bld█$rst $f6█-----$bld█$rst 33 | $f1█---$bld█$rst $f2█---$bld█$rst $f3█---$bld█$rst $f4█---$bld█$rst $f5█---$bld█$rst $f6█---$bld█$rst 34 | $f1 █-$bld█$rst $f2 █-$bld█$rst $f3 █-$bld█$rst $f4 █-$bld█$rst $f5 █-$bld█$rst $f6 █-$bld█$rst 35 | $f1█$rst $f2█$rst $f3█$rst $f4█$rst $f5█$rst $f6█$rst 36 | $f1$bld█-$rst$f1█$rst $f2$bld█_$rst$f2█$rst $f3$bld█-$rst$f3█$rst $f4$bld█-$rst$f4█$rst $f5$bld█-$rst$f5█$rst $f6$bld█-$rst$f6█$rst 37 | $f1$bld█---$rst$f1█$rst $f2$bld█---$rst$f2█$rst $f3$bld█---$rst$f3█$rst $f4$bld█---$rst$f4█$rst $f5$bld█---$rst$f5█$rst $f6$bld█---$rst$f6█$rst 38 | $f1$bld█-----$rst$f1█$rst $f2$bld█-----$rst$f2█$rst $f3$bld█-----$rst$f3█$rst $f4$bld█-----$rst$f4█$rst $f5$bld█-----$rst$f5█$rst $f6$bld█-----$rst$f6█$rst 39 | $f1$bld█---$rst$f1█$rst $f2$bld█---$rst$f2█$rst $f3$bld█---$rst$f3█$rst $f4$bld█---$rst$f4█$rst $f5$bld█---$rst$f5█$rst $f6$bld█---$rst$f6█$rst 40 | $f1$bld█-$rst$f1█$rst $f2$bld█-$rst$f2█$rst $f3$bld█-$rst$f3█$rst $f4$bld█-$rst$f4█$rst $f5$bld█-$rst$f5█$rst $f6$bld█-$rst$f6█$rst 41 | $f1$bld█$rst $f2$bld█$rst $f3$bld█$rst $f4$bld█$rst $f5$bld█$rst $f6$bld█$rst 42 | $f1█-$bld█$rst $f2█-$bld█$rst $f3█-$bld█$rst $f4█-$bld█$rst $f5█-$bld█$rst $f6█-$bld█$rst 43 | $f1█---$bld█$rst $f2█---$bld█$rst $f3█---$bld█$rst $f4█---$bld█$rst $f5█---$bld█$rst $f6█---$bld█$rst 44 | $f1█-----$bld█ $rst$f2█-----$bld█$rst $f3█-----$bld█$rst $f4█-----$bld█$rst $f5█-----$bld█$rst $f6█-----$bld█$rst 45 | 46 | EOF -------------------------------------------------------------------------------- /dna1: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # ANSI color scheme script by pfh 4 | # 5 | # Initializing mod by lolilolicon from Archlinux 6 | # 7 | 8 | f=3 b=4 9 | for j in f b; do 10 | for i in {0..7}; do 11 | printf -v $j$i %b "\e[${!j}${i}m" 12 | done 13 | done 14 | bld=$'\e[1m' 15 | rst=$'\e[0m' 16 | inv=$'\e[7m' 17 | 18 | cat << EOF 19 | 20 | ${f1} █-----${bld}█ ${rst}${f2} █-----${bld}█${rst} ${f3} █-----${bld}█${rst} ${f4} █-----${bld}█${rst} ${f5} █-----${bld}█${rst} ${f6} █-----${bld}█${rst} 21 | ${f1} █---${bld}█${rst} ${f2} █---${bld}█${rst} ${f3} █---${bld}█${rst} ${f4} █---${bld}█${rst} ${f5} █---${bld}█${rst} ${f6} █---${bld}█${rst} 22 | ${f1} █-${bld}█${rst} ${f2} █-${bld}█${rst} ${f3} █-${bld}█${rst} ${f4} █-${bld}█${rst} ${f5} █-${bld}█${rst} ${f6} █-${bld}█${rst} 23 | ${f1} █${rst} ${f2} █${rst} ${f3} █${rst} ${f4} █${rst} ${f5} █${rst} ${f6} █${rst} 24 | ${f1}${bld} █-${rst}${f1}█${rst} ${f2}${bld} █_${rst}${f2}█${rst} ${f3}${bld} █-${rst}${f3}█${rst} ${f4}${bld} █-${rst}${f4}█${rst} ${f5}${bld} █-${rst}${f5}█${rst} ${f6}${bld} █-${rst}${f6}█${rst} 25 | ${f1}${bld} █---${rst}${f1}█${rst} ${f2}${bld} █---${rst}${f2}█${rst} ${f3}${bld} █---${rst}${f3}█${rst} ${f4}${bld} █---${rst}${f4}█${rst} ${f5}${bld} █---${rst}${f5}█${rst} ${f6}${bld} █---${rst}${f6}█${rst} 26 | ${f1}${bld} █-----${rst}${f1}█${rst} ${f2}${bld} █-----${rst}${f2}█${rst} ${f3}${bld} █-----${rst}${f3}█${rst} ${f4}${bld} █-----${rst}${f4}█${rst} ${f5}${bld} █-----${rst}${f5}█${rst} ${f6}${bld} █-----${rst}${f6}█${rst} 27 | ${f1}${bld} █---${rst}${f1}█${rst} ${f2}${bld} █---${rst}${f2}█${rst} ${f3}${bld} █---${rst}${f3}█${rst} ${f4}${bld} █---${rst}${f4}█${rst} ${f5}${bld} █---${rst}${f5}█${rst} ${f6}${bld} █---${rst}${f6}█${rst} 28 | ${f1}${bld} █-${rst}${f1}█${rst} ${f2}${bld} █-${rst}${f2}█${rst} ${f3}${bld} █-${rst}${f3}█${rst} ${f4}${bld} █-${rst}${f4}█${rst} ${f5}${bld} █-${rst}${f5}█${rst} ${f6}${bld} █-${rst}${f6}█${rst} 29 | ${f1}${bld} █${rst} ${f2}${bld} █${rst} ${f3}${bld}█${rst} ${f4}${bld} █${rst} ${f5}${bld} █${rst} ${f6}${bld} █${rst} 30 | ${f1} █-${bld}█${rst} ${f2} █-${bld}█${rst} ${f3} █-${bld}█${rst} ${f4} █-${bld}█${rst} ${f5} █-${bld}█${rst} ${f6} █-${bld}█${rst} 31 | ${f1} █---${bld}█${rst} ${f2} █---${bld}█${rst} ${f3} █---${bld}█${rst} ${f4} █---${bld}█${rst} ${f5} █---${bld}█${rst} ${f6} █---${bld}█${rst} 32 | ${f1} █-----${bld}█ ${rst}${f2} █-----${bld}█${rst} ${f3} █-----${bld}█${rst} ${f4} █-----${bld}█${rst} ${f5} █-----${bld}█${rst} ${f6} █-----${bld}█${rst} 33 | ${f1} █---${bld}█${rst} ${f2} █---${bld}█${rst} ${f3} █---${bld}█${rst} ${f4} █---${bld}█${rst} ${f5} █---${bld}█${rst} ${f6} █---${bld}█${rst} 34 | ${f1} █-${bld}█${rst} ${f2} █-${bld}█${rst} ${f3} █-${bld}█${rst} ${f4} █-${bld}█${rst} ${f5} █-${bld}█${rst} ${f6} █-${bld}█${rst} 35 | ${f1} █${rst} ${f2}█${rst} ${f3} █${rst} ${f4} █${rst} ${f5} █${rst} ${f6} █${rst} 36 | ${f1}${bld} █-${rst}${f1}█${rst} ${f2}${bld} █_${rst}${f2}█${rst} ${f3}${bld} █-${rst}${f3}█${rst} ${f4}${bld} █-${rst}${f4}█${rst} ${f5}${bld} █-${rst}${f5}█${rst} ${f6}${bld} █-${rst}${f6}█${rst} 37 | ${f1}${bld} █---${rst}${f1}█${rst} ${f2}${bld} █---${rst}${f2}█${rst} ${f3}${bld} █---${rst}${f3}█${rst} ${f4}${bld} █---${rst}${f4}█${rst} ${f5}${bld} █---${rst}${f5}█${rst} ${f6}${bld} █---${rst}${f6}█${rst} 38 | ${f1}${bld} █-----${rst}${f1}█${rst} ${f2}${bld} █-----${rst}${f2}█${rst} ${f3}${bld} █-----${rst}${f3}█${rst} ${f4}${bld} █-----${rst}${f4}█${rst} ${f5}${bld} █-----${rst}${f5}█${rst} ${f6}${bld} █-----${rst}${f6}█${rst} 39 | ${f1}${bld} █---${rst}${f1}█${rst} ${f2}${bld} █---${rst}${f2}█${rst} ${f3}${bld} █---${rst}${f3}█${rst} ${f4}${bld} █---${rst}${f4}█${rst} ${f5}${bld} █---${rst}${f5}█${rst} ${f6}${bld} █---${rst}${f6}█${rst} 40 | ${f1}${bld} █-${rst}${f1}█${rst} ${f2}${bld} █-${rst}${f2}█${rst} ${f3}${bld} █-${rst}${f3}█${rst} ${f4}${bld} █-${rst}${f4}█${rst} ${f5}${bld} █-${rst}${f5}█${rst} ${f6}${bld} █-${rst}${f6}█${rst} 41 | ${f1}${bld} █${rst} ${f2}${bld} █${rst} ${f3}${bld} █${rst} ${f4}${bld} █${rst} ${f5}${bld} █${rst} ${f6}${bld} █${rst} 42 | ${f1} █-${bld}█${rst} ${f2} █-${bld}█${rst} ${f3} █-${bld}█${rst} ${f4} █-${bld}█${rst} ${f5} █-${bld}█${rst} ${f6} █-${bld}█${rst} 43 | ${f1} █---${bld}█${rst} ${f2} █---${bld}█${rst} ${f3} █---${bld}█${rst} ${f4} █---${bld}█${rst} ${f5} █---${bld}█${rst} ${f6} █---${bld}█${rst} 44 | ${f1} █-----${bld}█ ${rst}${f2} █-----${bld}█${rst} ${f3} █-----${bld}█${rst} ${f4} █-----${bld}█${rst} ${f5} █-----${bld}█${rst} ${f6} █-----${bld}█${rst} 45 | 46 | EOF -------------------------------------------------------------------------------- /faces: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # ANSI Color -- use these variables to easily have different color 4 | # and format output. Make sure to output the reset sequence after 5 | # colors (f = foreground, b = background), and use the 'off' 6 | # feature for anything you turn on. 7 | 8 | initializeANSI() 9 | { 10 | esc="" 11 | 12 | blackf="${esc}[30m"; redf="${esc}[31m"; greenf="${esc}[32m" 13 | yellowf="${esc}[33m" bluef="${esc}[34m"; purplef="${esc}[35m" 14 | cyanf="${esc}[36m"; whitef="${esc}[37m" 15 | 16 | blackb="${esc}[40m"; redb="${esc}[41m"; greenb="${esc}[42m" 17 | yellowb="${esc}[43m" blueb="${esc}[44m"; purpleb="${esc}[45m" 18 | cyanb="${esc}[46m"; whiteb="${esc}[47m" 19 | 20 | boldon="${esc}[1m"; boldoff="${esc}[22m" 21 | italicson="${esc}[3m"; italicsoff="${esc}[23m" 22 | ulon="${esc}[4m"; uloff="${esc}[24m" 23 | invon="${esc}[7m"; invoff="${esc}[27m" 24 | 25 | reset="${esc}[0m" 26 | } 27 | 28 | # note in this first use that switching colors doesn't require a reset 29 | # first - the new color overrides the old one. 30 | 31 | clear 32 | initializeANSI 33 | 34 | cat << EOF 35 | 36 | ${white}╔══════════════════════════════════════════════════════════════════╗ 37 | ${white}║ ${redf} ▄█ █▄${reset} ${greenf} ▄█ █▄${reset} ${yellowf} ▄█ █▄${reset} ${bluef} ▄█ █▄${reset} ${purplef} ▄█ █▄${reset} ${cyanf} ▄█ █▄${reset} ${white}║ 38 | ${white}║ ${boldon}${redf}▄█◄► ◄►█▄${reset} ${boldon}${greenf}▄█◄► ◄►█▄${reset} ${boldon}${yellowf}▄█◄► ◄►█▄${reset} ${boldon}${bluef}▄█◄► ◄►█▄${reset} ${boldon}${purplef}▄█◄► ◄►█▄${reset} ${boldon}${cyanf}▄█◄► ◄►█▄${reset} ${white}║ 39 | ${white}║ ${boldon}${redf}▀█  █▀${reset} ${boldon}${greenf}▀█  █▀${reset} ${boldon}${yellowf}▀█  █▀${reset} ${boldon}${bluef}▀█  █▀${reset} ${boldon}${purplef}▀█  █▀${reset} ${boldon}${cyanf}▀█  █▀${reset} ${white}║ 40 | ${white}║ ${redf} ▀█ █▀${reset} ${greenf} ▀█ █▀${reset} ${yellowf} ▀█ █▀${reset} ${bluef} ▀█ █▀${reset} ${purplef} ▀█ █▀${reset} ${cyanf} ▀█ █▀${reset} ${white}║ 41 | ${white}╚══════════════════════════════════════════════════════════════════╝ 42 | 43 | EOF -------------------------------------------------------------------------------- /fetch: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # screenFetch 4 | 5 | # Script to fetch system and theme settings for screenshots in most mainstream 6 | # Linux distributions. 7 | 8 | # Copyright (c) 2010-2012 Brett Bohnenkamper < kittykatt AT kittykatt DOT us > 9 | 10 | # Permission is hereby granted, free of charge, to any person obtaining a copy of this software 11 | # and associated documentation files (the "Software"), to deal in the Software without restriction, 12 | # including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, 13 | # and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, 14 | # subject to the following conditions: 15 | 16 | # The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 17 | 18 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE 19 | # WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 20 | # COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 21 | # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 22 | 23 | # Yes, I do realize some of this is horribly ugly coding. Any ideas/suggestions would be 24 | # appreciated by emailing me or by stopping by http://github.com/KittyKatt/screenFetch . You 25 | # could also drop in on my IRC network, SilverIRC, at irc://kittykatt.silverirc.com:6667/meowz 26 | # to put forth suggestions/ideas. Thank you. 27 | # 28 | 29 | scriptVersion="2.8.0" 30 | 31 | ###################### 32 | # Settings for fetcher 33 | ###################### 34 | 35 | # 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 36 | # distro="Linux" 37 | 38 | # 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. 39 | #display="host distro kernel uptime shell res de wm wmtheme gtk icons font background" 40 | display=( host distro kernel uptime pkgs shell res de wm wmtheme gtk cpu mem ) 41 | # Display Type: ASCII or Text 42 | display_type="ASCII" 43 | 44 | # 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. 45 | # textcolor="\e[0m" 46 | # labelcolor="\e[1;34m" 47 | 48 | # WM & DE process names 49 | # Removed WM's: compiz 50 | wmnames="fluxbox openbox blackbox xfwm4 metacity kwin icewm pekwm fvwm dwm awesome wmaker stumpwm musca i3 xmonad ratpoison scrotwm spectrwm wmfs wmii beryl subtle e16 enlightenment sawfish emerald monsterwm dminiwm compiz Finder herbstluftwm" 51 | denames="gnome-session xfce-mcs-manage xfce4-session xfconfd ksmserver lxsession gnome-settings-daemon mate-session mate-settings-daemon Finder" 52 | 53 | # Export theme settings 54 | # screenFetch has the capability (on some WM's and GTK) to export your GTK and WM settings to an archive. Specify Yes if you want this and No if you do not. 55 | exportTheme= 56 | 57 | # Screenshot Settings 58 | # This setting lets the script know if you want to take a screenshot or not. 1=Yes 0=No 59 | screenshot= 60 | # You can specify a custom screenshot command here. Just uncomment and edit. Otherwise, we'll be using the default command: scrot -cd3. 61 | # screenCommand="scrot -cd5" 62 | hostshot= 63 | baseurl="http://www.example.com" 64 | serveraddr="www.example.com" 65 | scptimeout="20" 66 | serverdir="/path/to/directory" 67 | shotfile=$(echo "screenFetch-`date +'%Y-%m-%d_%H-%M-%S'`.png") 68 | 69 | # Verbose Setting - Set to 1 for verbose output. 70 | verbosity= 71 | 72 | function verboseOut { 73 | echo -e "\033[1;31m:: \033[0m$1" 74 | } 75 | 76 | function errorOut { 77 | echo -e "\033[1;37m[[ \033[1;31m! \033[1;37m]] \033[0m$1" 78 | } 79 | 80 | ############################################# 81 | #### CODE No need to edit past here CODE #### 82 | ############################################# 83 | 84 | #################### 85 | # Static Variables 86 | #################### 87 | c0="\033[0m" # Reset Text 88 | bold="\033[1m" # Bold Text 89 | underline="\033[4m" # Underline Text 90 | display_index=0 91 | 92 | 93 | 94 | #################### 95 | # Color Defines 96 | #################### 97 | 98 | detectColors() { 99 | my_lcolor=$(echo -n "$OPTARG" 2>/dev/null | awk -F',' '{ print $1 }') 100 | case $my_lcolor in 101 | 0) export my_lcolor='\033[30m';; 102 | 1) export my_lcolor='\033[31m';; 103 | 2) export my_lcolor='\033[32m';; 104 | 3) export my_lcolor='\033[33m';; 105 | 4) export my_lcolor='\033[34m';; 106 | 5) export my_lcolor='\033[35m';; 107 | 6) export my_lcolor='\033[36m';; 108 | 7) export my_lcolor='\033[37m';; 109 | 8) export my_lcolor='\033[1;30m';; 110 | 9) export my_lcolor='\033[1;31m';; 111 | 10) export my_lcolor='\033[1;32m';; 112 | 11) export my_lcolor='\033[1;33m';; 113 | 12) export my_lcolor='\033[1;34m';; 114 | 13) export my_lcolor='\033[1;35m';; 115 | 14) export my_lcolor='\033[1;36m';; 116 | 15) export my_lcolor='\033[1;37m';; 117 | *) unset my_lcolor; continue ;; 118 | esac 119 | my_hcolor=$(echo -n "$OPTARG" 2>/dev/null | awk -F',' '{ print $2 }') 120 | case $my_hcolor in 121 | 0) export my_hcolor='\033[30m';; 122 | 1) export my_hcolor='\033[31m';; 123 | 2) export my_hcolor='\033[32m';; 124 | 3) export my_hcolor='\033[33m';; 125 | 4) export my_hcolor='\033[34m';; 126 | 5) export my_hcolor='\033[35m';; 127 | 6) export my_hcolor='\033[36m';; 128 | 7) export my_hcolor='\033[37m';; 129 | 8) export my_hcolor='\033[1;30m';; 130 | 9) export my_hcolor='\033[1;31m';; 131 | 10) export my_hcolor='\033[1;32m';; 132 | 11) export my_hcolor='\033[1;33m';; 133 | 12) export my_hcolor='\033[1;34m';; 134 | 13) export my_hcolor='\033[1;35m';; 135 | 14) export my_hcolor='\033[1;36m';; 136 | 15) export my_hcolor='\033[1;37m';; 137 | *) unset my_hcolor; continue ;; 138 | esac 139 | } 140 | 141 | 142 | ##################### 143 | # Begin Flags Phase 144 | ##################### 145 | 146 | while getopts ":hsmevVntlS:D:o:Bc:" flags; do 147 | case $flags in 148 | h) 149 | echo -e "${underline}Usage${c0}:" 150 | echo -e " screenFetch [OPTIONAL FLAGS]" 151 | echo "" 152 | echo "screenFetch - a CLI Bash script to show system/theme info in screenshots." 153 | echo "" 154 | echo -e "${underline}Supported Distributions${c0}: Arch Linux (Old and Current Logos), Linux Mint," 155 | echo -e " LMDE, Ubuntu, Crunchbang, Debian, Gentoo, Fedora, SolusOS," 156 | echo -e " Mandrake/Mandriva, Slackware, Frugalware, openSUSE, Mageia," 157 | echo -e " Peppermint, ParabolaGNU, Viperr, LinuxDeepin, Chakra, and FreeBSD, OpenBSD" 158 | echo -e "${underline}Supported Desktop Managers${c0}: KDE, GNOME, XFCE, and LXDE, and Not Present" 159 | echo -e "${underline}Supported Window Managers${c0}: PekWM, OpenBox, FluxBox, BlackBox, Xfwm4," 160 | echo -e " Metacity, StumpWM, KWin, IceWM, FVWM," 161 | echo -e " DWM, Awesome, XMonad, Musca, i3, WindowMaker," 162 | echo -e " Ratpoison, wmii, WMFS, ScrotWM, SpectrWM," 163 | echo -e " subtle, Emerald, E17 and Beryl." 164 | echo "" 165 | echo -e "${underline}Options${c0}:" 166 | echo -e " ${bold}-v${c0} Verbose output." 167 | echo -e " ${bold}-o 'OPTIONS'${c0} Allows for setting script variables on the" 168 | echo -e " command line. Must be in the following format..." 169 | echo -e " 'OPTION1=\"OPTIONARG1\";OPTION2=\"OPTIONARG2\"'" 170 | #echo -e " ${bold}-d 'ARGUMENTS'${c0} Allows for setting what information is displayed" 171 | #echo -e " on the command line. Format must be as follows:" 172 | #echo -e " 'OPTION OPTION OPTION OPTION'. Valid options are" 173 | #echo -e " host, distro, Kernel, Uptime, Shell, Resolution, DE, WM," 174 | #echo -e " Win_theme, Theme, Icons, Font, ASCII, Background." 175 | echo -e " ${bold}-n${c0} Do no display ASCII distribution logo." 176 | echo -e " ${bold}-t${c0} Truncate output based on terminal width (Experimental!)." 177 | echo -e " ${bold}-s(m)${c0} Using this flag tells the script that you want it" 178 | echo -e " to take a screenshot. Use the -m flag if you would like" 179 | echo -e " to move it to a new location afterwards." 180 | echo -e " ${bold}-B${c0} Enable background detection." 181 | echo -e " ${bold}-e${c0} When this flag is specified, screenFetch will attempt" 182 | echo -e " to export all of your theme settings and archive them" 183 | echo -e " up for uploading." 184 | echo -e " ${bold}-l${c0} Specify that you have a light background. This turns" 185 | echo -e " all white text into dark gray text (in ascii logos and" 186 | echo -e " in information output)." 187 | echo -e " ${bold}-S 'COMMAND'${c0} Here you can specify a custom screenshot command for" 188 | echo -e " the script to execute. Surrounding quotes are required." 189 | echo -e " ${bold}-D 'DISTRO'${c0} Here you can specify your distribution for the script" 190 | echo -e " to use. Surrounding quotes are required." 191 | echo -e " ${bold}-V${c0} Display current script version." 192 | echo -e " ${bold}-h${c0} Display this help." 193 | exit 194 | ;; 195 | s) screenshot=1; continue;; 196 | S) screenCommand=$OPTARG; continue;; 197 | m) hostshot=1; continue;; 198 | e) exportTheme=1; continue;; 199 | v) verbosity=1; continue;; 200 | V) 201 | echo -e $underline"screenFetch"$c0" - Version $scriptVersion" 202 | echo "Created by and licensed to Brett Bohnenkamper (kittykatt@silverirc.com)" 203 | echo "OS X porting done almost solely by shrx (http://shrx.github.com/)" 204 | echo "" 205 | echo "This is free software; see the source for copying conditions. There is NO warranty; not even MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 206 | exit 207 | ;; 208 | D) distro=$OPTARG; continue;; 209 | t) truncateSet="Yes";; 210 | n) display_type="Text";; 211 | o) overrideOpts=$OPTARG; continue;; 212 | # c) my_color=$(echo "$OPTARG" | awk -F',' '{ print $1 }'); my_bgcolor=$(echo "$OPTARG" | awk -F',' '{ print $2 }'); continue;; 213 | c) detectColors "$OPTARGS"; continue;; 214 | # d) overrideDisplay=$OPTARG; continue;; 215 | l) colors_light="1";; 216 | # B) background_detect="1"; continue;; 217 | :) errorOut "Error: You're missing an argument somewhere. Exiting."; exit 1;; 218 | ?) errorOut "Error: Invalid flag somewhere. Exiting."; exit 1;; 219 | *) errorOut "Error"; exit 1;; 220 | esac 221 | done 222 | 223 | ################### 224 | # End Flags Phase 225 | ################### 226 | 227 | 228 | #################### 229 | # Override Options 230 | #################### 231 | 232 | if [[ "$overrideOpts" ]]; then 233 | [[ "$verbosity" -eq "1" ]] && verboseOut "Found 'o' flag in syntax. Overriding some script variables..." 234 | OLD_IFS="$IFS" 235 | IFS=";" 236 | for overopt in "$overrideOpts"; do 237 | eval "$overrideOpts" 238 | done 239 | IFS="$OLD_IFS" 240 | fi 241 | #if [[ "$overrideDisplay" ]]; then 242 | # [[ "$verbosity" -eq "1" ]] && verboseOut "Found 'd' flag in syntax. Overriding some display options..." 243 | # display="$overrideDisplay" 244 | #fi 245 | 246 | 247 | ######################### 248 | # Begin Detection Phase 249 | ######################### 250 | 251 | 252 | # Host and User detection - Begin 253 | detecthost () { 254 | myUser=${USER} 255 | myHost=${HOSTNAME} 256 | [[ "$verbosity" -eq "1" ]] && verboseOut "Finding hostname and user...found as '$myUser@$myHost'" 257 | } 258 | 259 | # Distro Detection - Begin 260 | detectdistro () { 261 | if [[ -z $distro ]]; then 262 | distro="Unknown" 263 | 264 | # LSB Release Check 265 | if type -p lsb_release >/dev/null 2>&1; then 266 | # read distro_detect distro_release distro_codename <<< $(lsb_release -sirc) 267 | distro_detect=( $(lsb_release -sirc) ) 268 | if [[ ${#distro_detect[@]} -eq 3 ]]; then 269 | distro_codename=${distro_detect[2]} 270 | distro_release=${distro_detect[1]} 271 | distro_detect=${distro_detect[0]} 272 | else 273 | for ((i=0; i<${#distro_detect[@]}; i++)); do 274 | if [[ ${distro_detect[$i]} =~ ^[[:digit:]]+((.[[:digit:]]+|[[:digit:]]+|)+)$ ]]; then 275 | distro_release=${distro_detect[$i]} 276 | distro_codename=${distro_detect[@]:$(($i+1)):${#distro_detect[@]}+1} 277 | distro_detect=${distro_detect[@]:0:${i}} 278 | break 1 279 | elif [[ ${distro_detect[$i]} =~ [Nn]/[Aa] || ${distro_detect[$i]} == "rolling" ]]; then 280 | distro_release=${distro_detect[$i]} 281 | distro_codename=${distro_detect[@]:$(($i+1)):${#distro_detect[@]}+1} 282 | distro_detect=${distro_detect[@]:0:${i}} 283 | break 1 284 | fi 285 | done 286 | fi 287 | 288 | if [[ "${distro_detect}" == "archlinux" || "${distro_detect}" == "Arch Linux" || "${distro_detect}" == "arch" ]]; then 289 | distro="Arch Linux" 290 | distro_release="n/a" 291 | elif [[ "${distro_detect}" == "Chakra" ]]; then 292 | distro="Chakra" 293 | distro_release=null 294 | elif [[ "${distro_detect}" == "Debian" ]]; then 295 | if [[ -f /etc/crunchbang-lsb-release || -f /etc/lsb-release-crunchbang ]]; then 296 | distro="CrunchBang" 297 | else 298 | distro="Debian" 299 | fi 300 | elif [[ "${distro_detect}" == "Fedora" ]]; then 301 | distro="Fedora" 302 | elif [[ "${distro_detect}" == "frugalware" ]]; then 303 | distro="Frugalware" 304 | distro_codename=null 305 | distro_release=null 306 | elif [[ "${distro_detect}" == "Fuduntu" ]]; then 307 | distro="Fuduntu" 308 | distro_codename=null 309 | elif [[ "${distro_detect}" == "Gentoo" ]]; then 310 | distro="Gentoo" 311 | elif [[ "${distro_detect}" == "LinuxDeepin" ]]; then 312 | distro="LinuxDeepin" 313 | distro_codename=null 314 | elif [[ "${distro_detect}" == "Mageia" ]]; then 315 | distro="Mageia" 316 | elif [[ "$distro_detect" == "MandrivaLinux" ]]; then 317 | distro="Mandriva" 318 | if [[ "${distro_codename}" == "turtle" ]]; then 319 | distro="Mandriva-${distro_release}" 320 | distro_codename=null 321 | elif [[ "${distro_codename}" == "Henry_Farman" ]]; then 322 | distro="Mandriva-${distro_release}" 323 | distro_codename=null 324 | elif [[ "${distro_codename}" == "Farman" ]]; then 325 | distro="Mandriva-${distro_release}" 326 | distro_codename=null 327 | elif [[ "${distro_codename}" == "Adelie" ]]; then 328 | distro="Mandriva-${distro_release}" 329 | distro_codename=null 330 | elif [[ "${distro_codename}" == "pauillac" ]]; then 331 | distro="Mandriva-${distro_release}" 332 | distro_codename=null 333 | fi 334 | elif [[ "${distro_detect}" == "ManjaroLinux" ]]; then 335 | distro="Manjaro" 336 | elif [[ "${distro_detect}" == "LinuxMint" ]]; then 337 | distro="Mint" 338 | if [[ "${distro_codename}" == "debian" ]]; then 339 | distro="LMDE" 340 | distro_codename=null 341 | distro_release=null 342 | fi 343 | elif [[ "${distro_detect}" == "SUSE LINUX" ]]; then 344 | distro="openSUSE" 345 | elif [[ "${distro_detect}" == "ParabolaGNU/Linux-libre" ]]; then 346 | distro="ParabolaGNU/Linux-libre" 347 | elif [[ "${distro_detect}" == "Peppermint" ]]; then 348 | distro="Peppermint" 349 | distro_codename=null 350 | elif [[ "${distro_detect}" == "CentOS" || "${distro_detect}" =~ "RedHatEnterprise" ]]; then 351 | distro="Red Hat Linux" 352 | elif [[ "${distro_detect}" == "SolusOS" ]]; then 353 | distro="SolusOS" 354 | distro_codename=null 355 | distro_release=null 356 | elif [[ "${distro_detect}" == "Trisquel" ]]; then 357 | distro="Trisquel" 358 | elif [[ "${distro_detect}" == "Ubuntu" ]]; then 359 | distro="Ubuntu" 360 | elif [[ "${distro_detect}" == "Viperr" ]]; then 361 | distro="Viperr" 362 | distro_codename=null 363 | fi 364 | if [[ -n ${distro_release} && ${distro_release} != "n/a" ]]; then distro_more="$distro_release"; fi 365 | if [[ -n ${distro_codename} && ${distro_codename} != "n/a" ]]; then distro_more="$distro_more $distro_codename"; fi 366 | if [[ -n ${distro_more} ]]; then 367 | distro_more="${distro} ${distro_more}" 368 | fi 369 | fi 370 | 371 | # Existing File Check 372 | if [ "$distro" == "Unknown" ]; then 373 | #if [ $(uname -o 2>/dev/null) ]; then 374 | # if [ `uname -o` == "Cygwin" ]; then fake_distro="$distro"; distro="Cygwin"; fi 375 | #fi 376 | if [ -f /etc/os-release ]; then 377 | distrib_id=$(/dev/null; then 446 | distro="Mac OS X" 447 | elif [[ -f /var/run/dmesg.boot ]]; then 448 | distro=$(awk 'BEGIN { 449 | distro = "Unknown" 450 | } 451 | { 452 | if ($0 ~ /DragonFly/) { 453 | distro = "DragonFlyBSD" 454 | exit 455 | } 456 | else if ($0 ~ /FreeBSD/) { 457 | distro = "FreeBSD" 458 | exit 459 | } 460 | else if ($0 ~ /NetBSD/) { 461 | distro = "NetBSD" 462 | exit 463 | } 464 | else if ($0 ~ /OpenBSD/) { 465 | distro = "OpenBSD" 466 | exit 467 | } 468 | } END { 469 | print distro 470 | }' /var/run/dmesg.boot) 471 | fi 472 | fi 473 | fi 474 | if [[ "${distro}" == "Unknown" ]] && [[ "${OSTYPE}" == "linux-gnu" || "${OSTYPE}" == "linux" ]]; then 475 | if [[ -f /etc/issue ]]; then 476 | distro=$(awk 'BEGIN { 477 | distro = "Unknown" 478 | } 479 | { 480 | if ($0 ~ /"LinuxDeepin"/) { 481 | distro = "LinuxDeepin" 482 | exit 483 | } 484 | else if ($0 ~ /"Parabola GNU\/Linux-libre"/) { 485 | distro = "ParabolaGNU/Linux-libre" 486 | exit 487 | } 488 | else if ($0 ~ /"SolusOS"/) { 489 | distro = "SolusOS" 490 | exit 491 | } 492 | } END { 493 | print distro 494 | }' /etc/issue) 495 | fi 496 | fi 497 | 498 | 499 | fi 500 | else 501 | declare -l lcase 502 | lcase=$distro 503 | case $lcase in 504 | arch*linux*old) distro="Arch Linux - Old" ;; 505 | arch*linux) distro="Arch Linux" ;; 506 | arch) distro="Arch Linux";; 507 | fedora) distro="Fedora" ;; 508 | mageia) distro="Mageia" ;; 509 | mandriva) distro="Mandriva" ;; 510 | mandrake) distro="Mandrake" ;; 511 | crunchbang) distro="CrunchBang" ;; 512 | mint) distro="Mint" ;; 513 | lmde) distro="LMDE" ;; 514 | opensuse) distro="openSUSE" ;; 515 | ubuntu) distro="Ubuntu" ;; 516 | debian) distro="Debian" ;; 517 | freebsd) distro="FreeBSD" ;; 518 | openbsd) distro="OpenBSD" ;; 519 | dragonflybsd) distro="DragonFlyBSD" ;; 520 | netbsd) distro="NetBSD" ;; 521 | red*hat*) distro="Red Hat Linux" ;; 522 | crunchbang) distro="CrunchBang" ;; 523 | gentoo) distro="Gentoo" ;; 524 | slackware) distro="Slackware" ;; 525 | frugalware) distro="Frugalware" ;; 526 | peppermint) distro="Peppermint" ;; 527 | solusos) distro="SolusOS" ;; 528 | parabolagnu|parabolagnu/linux-libre) distro="ParabolaGNU/Linux-libre" ;; 529 | viperr) distro="Viperr" ;; 530 | linuxdeepin) distro="LinuxDeepin" ;; 531 | chakra) distro="Chakra" ;; 532 | mac*os*x) distro="Mac OS X" ;; 533 | fuduntu) distro="Fuduntu" ;; 534 | manjaro) distro="Manjaro" ;; 535 | # cygwin) distro="Cygwin" ;; 536 | esac 537 | fi 538 | [[ "$verbosity" -eq "1" ]] && verboseOut "Finding distro...found as '$distro $distro_release'" 539 | } 540 | # Distro Detection - End 541 | 542 | # Find Number of Running Processes 543 | # processnum="$(( $( ps aux | wc -l ) - 1 ))" 544 | 545 | # Kernel Version Detection - Begin 546 | detectkernel () { 547 | kernel=( $(uname -srm) ) 548 | kernel="${kernel[${#kernel[@]}-1]} ${kernel[@]:0:${#kernel[@]}-1}" 549 | [[ "$verbosity" -eq "1" ]] && verboseOut "Finding kernel version...found as '$kernel'" 550 | } 551 | # Kernel Version Detection - End 552 | 553 | 554 | # Uptime Detection - Begin 555 | detectuptime () { 556 | unset uptime 557 | if [ "$distro" == "Mac OS X" ]; then 558 | boot=`sysctl -n kern.boottime | cut -d "=" -f 2 | cut -d "," -f 1` 559 | now=`date +%s` 560 | uptime=$(($now-$boot)) 561 | elif [ "$distro" == "FreeBSD" ]; then 562 | uptime=`sysctl -n kern.boottime | awk -F' ' '{print $4}' | tr -d ","` 563 | now=`date +%s` 564 | uptime=$(($now-$uptime)) 565 | else 566 | if [[ -f /proc/uptime ]]; then 567 | uptime=$(/dev/null 2>&1; then 607 | port_pkgs=$(port installed 2>/dev/null | wc -l) 608 | pkgs=$((${pkgs} + (${port_pkgs} -1))) 609 | fi 610 | 611 | if type -p port >/dev/null 2>&1; then 612 | brew_pkgs=$(brew list -1 2>/dev/null | wc -l) 613 | pkgs=$((${pkgs} + ${brew_pkgs})) 614 | fi 615 | ;; 616 | 'FreeBSD'|'OpenBSD') pkgs=$(pkg_info | wc -l | awk '{sub(" ", "");print $1}') ;; 617 | # 'Cygwin') cygfix=2; pkgs=$(($(cygcheck -cd | wc -l)-$cygfix)) ;; 618 | esac 619 | [[ "$verbosity" -eq "1" ]] && verboseOut "Finding current package count...found as '$pkgs'" 620 | } 621 | 622 | 623 | 624 | 625 | # CPU Detection - Begin 626 | detectcpu () { 627 | if [ "$distro" == "Mac OS X" ]; then cpu=$(echo $(sysctl -n machdep.cpu.brand_string)) 628 | elif [ "$distro" == "FreeBSD" ]; then cpu=$(sysctl -n hw.model) 629 | elif [ "$distro" == "DragonflyBSD" ]; then cpu=$(sysctl -n hw.model) 630 | elif [ "$distro" == "OpenBSD" ]; then cpu=$(sysctl -n hw.model | sed 's/@.*//') 631 | else cpu=$(awk 'BEGIN{FS=":"} /model name/ { gsub(/ +/," ",$2); gsub(/^ /,"",$2); gsub(/\(R\)|\(TM\)/,"",$2); print $2; exit }' /proc/cpuinfo); fi 632 | # cpu_mhz=$(awk -F':' '/cpu MHz/{ print $2 }' /proc/cpuinfo | head -n 1) 633 | # cpu_ghz=$(echo "scale=2; ${cpu_mhz} / 1000" | bc ) 634 | [[ "$verbosity" -eq "1" ]] && verboseOut "Finding current CPU...found as '$cpu'" 635 | } 636 | # CPU Detection - End 637 | 638 | 639 | 640 | # Memory Detection - Begin 641 | detectmem () { 642 | hw_mem=0 643 | free_mem=0 644 | human=1024 645 | if [ "$distro" == "Mac OS X" ]; then 646 | totalmem=$(echo "$(sysctl -n hw.memsize)"/${human}^2|bc) 647 | usedmem=$(top -l 1 | awk '{ 648 | if ($0 ~ /PhysMem/) { 649 | for (x=1; x<=NF; x++) { 650 | if ($x ~ /wired/) { 651 | wired = $(x-1) 652 | gsub(/[^0-9]/,"",wired) 653 | } 654 | 655 | if ($x ~ /^active/) { 656 | active = $(x-1) 657 | gsub(/[^0-9]/,"",active) 658 | } 659 | 660 | if ($x ~ /inactive/) { 661 | inactive = $(x-1) 662 | gsub(/[^0-9]/,"",inactive) 663 | } 664 | } 665 | usedmem = wired + active + inactive 666 | print usedmem 667 | exit 668 | } 669 | }') 670 | elif [ "$distro" == "FreeBSD" ]; then 671 | phys_mem=$(sysctl -n hw.physmem) 672 | size_mem=$phys_mem 673 | size_chip=1 674 | guess_chip=`echo "$size_mem / 8 - 1" | bc` 675 | while [ $guess_chip != 0 ]; do 676 | guess_chip=`echo "$guess_chip / 2" | bc` 677 | size_chip=`echo "$size_chip * 2" | bc` 678 | done 679 | round_mem=`echo "( $size_mem / $size_chip + 1 ) * $size_chip " | bc` 680 | totalmem=$(($round_mem / ($human * $human) )) 681 | pagesize=$(sysctl -n hw.pagesize) 682 | inactive_count=$(sysctl -n vm.stats.vm.v_inactive_count) 683 | inactive_mem=$(($inactive_count * $pagesize)) 684 | cache_count=$(sysctl -n vm.stats.vm.v_cache_count) 685 | cache_mem=$(($cache_count * $pagesize)) 686 | free_count=$(sysctl -n vm.stats.vm.v_free_count) 687 | free_mem=$(($free_count * $pagesize)) 688 | avail_mem=$(($inactive_mem + $cache_mem + $free_mem)) 689 | used_mem=$(($round_mem - $avail_mem)) 690 | usedmem=$(($used_mem / ($human * $human) )) 691 | elif [ "$distro" == "OpenBSD" ]; then 692 | totalmem=$(top -1 1 | awk '/Real:/ {k=split($3,a,"/");print a[k] }' | tr -d 'M') 693 | usedmem=$(top -1 1 | awk '/Real:/ {print $3}' | sed 's/M.*//') 694 | elif [ "$distro" == "NetBSD" ]; then 695 | phys_mem=$(awk '/MemTotal/ { print $2 }' /proc/meminfo) 696 | totalmem=$((${phys_mem} / $human)) 697 | if grep -q 'Cached' /proc/meminfo; then 698 | cache=$(awk '/Cached/ {print $2}' /proc/meminfo) 699 | usedmem=$((${cache} / $human)) 700 | else 701 | free_mem=$(awk '/MemFree/ { print $2 }' /proc/meminfo) 702 | used_mem=$((${phys_mem} - ${free_mem})) 703 | usedmem=$((${used_mem} / $human)) 704 | fi 705 | else 706 | mem_info=$(1 {print $1}') 781 | shell_type=${shell_type/-} 782 | shell_type=${shell_type//*\/} 783 | fi 784 | 785 | case $shell_type in 786 | bash) 787 | shell_version_data=$( detectshell_ver "$shell_type" "^GNU.bash,.version" "4" ) 788 | ;; 789 | csh) 790 | shell_version_data=$( detectshell_ver "$shell_type" "$shell_type" "3" ) 791 | ;; 792 | dash) 793 | shell_version_data=$( detectshell_ver "$shell_type" "$shell_type" "3" ) 794 | ;; 795 | ksh) 796 | shell_version_data=$( detectshell_ver "$shell_type" "version" "5" ) 797 | ;; 798 | tcsh) 799 | shell_version_data=$( detectshell_ver "$shell_type" "^tcsh" "2" ) 800 | ;; 801 | zsh) 802 | shell_version_data=$( detectshell_ver "$shell_type" "^zsh" "2" ) 803 | ;; 804 | esac 805 | 806 | if [[ -n $shell_version_data ]];then 807 | shell_type="$shell_type $shell_version_data" 808 | fi 809 | 810 | myShell=${shell_type} 811 | [[ "$verbosity" -eq "1" ]] && verboseOut "Finding current shell...found as '$myShell'" 812 | } 813 | # Shell Detection - End 814 | 815 | 816 | # Resolution Detection - Begin 817 | detectres () { 818 | if [[ -n ${DISPLAY} && ${distro} != "Mac OS X" ]]; then 819 | if [[ "$distro" =~ "BSD" ]]; then 820 | xResolution=$(xdpyinfo | sed -n 's/.*dim.* \([0-9]*x[0-9]*\) .*/\1/pg' | tr '\n' ' ') 821 | else 822 | xResolution=$(xdpyinfo | sed -n 's/.*dim.* \([0-9]*x[0-9]*\) .*/\1/pg' | sed ':a;N;$!ba;s/\n/ /g') 823 | fi 824 | elif [[ ${distro} == "Mac OS X" ]]; then 825 | xResolution=$(system_profiler SPDisplaysDataType | awk '/Resolution:/ {print $2"x"$4}') 826 | else 827 | xResolution="No X Server" 828 | fi 829 | [[ "$verbosity" -eq "1" ]] && verboseOut "Finding current resolution(s)...found as '$xResolution'" 830 | } 831 | # Resolution Detection - End 832 | 833 | 834 | # DE Detection - Begin 835 | detectde () { 836 | DE="Not Present" 837 | if [[ -n ${DISPLAY} && ${distro} != "Mac OS X" ]]; then 838 | if type -p xprop >/dev/null 2>&1;then 839 | xprop_root="$(xprop -root 2>/dev/null)" 840 | if [[ -n ${xprop_root} ]]; then 841 | DE=$(echo "${xprop_root}" | awk 'BEGIN { 842 | de = "Not Present" 843 | } 844 | { 845 | if ($1 ~ /^_DT_SAVE_MODE/) { 846 | de = $NF 847 | gsub(/\"/,"",de) 848 | de = toupper(de) 849 | exit 850 | } 851 | else if ($1 ~/^KDE_SESSION_VERSION/) { 852 | de = "KDE"$NF 853 | exit 854 | } 855 | else if ($1 ~ /^_MARCO/) { 856 | de = "MATE" 857 | exit 858 | } 859 | else if ($1 ~ /^_MUFFIN/) { 860 | de = "Cinnamon" 861 | exit 862 | } 863 | else if ($0 ~ /"xfce4"/) { 864 | de = "XFCE4" 865 | exit 866 | } 867 | else if ($0 ~ /"xfce5"/) { 868 | de = "XFCE5" 869 | exit 870 | } 871 | } END { 872 | print de 873 | }') 874 | fi 875 | fi 876 | 877 | if [[ ${DE} == "Not Present" ]]; then 878 | if [[ -n ${GNOME_DESKTOP_SESSION_ID} ]]; then 879 | DE="Gnome" 880 | if type -p xprop >/dev/null 2>&1; then 881 | if xprop -name "unity-launcher" >/dev/null 2>&1; then 882 | DE="Unity" 883 | elif xprop -name "launcher" >/dev/null 2>&1 && 884 | xprop -name "panel" >/dev/null 2>&1; then 885 | 886 | DE="Unity" 887 | fi 888 | fi 889 | elif [[ -n ${MATE_DESKTOP_SESSION_ID} ]]; then 890 | DE="MATE" 891 | elif [[ -n ${KDE_SESSION_VERSION} ]]; then 892 | if [[ ${KDE_SESSION_VERSION} == '5' ]]; then 893 | DE="KDE5" 894 | elif [[ ${KDE_SESSION_VERSION} == '4' ]]; then 895 | DE="KDE4" 896 | fi 897 | elif [[ -n ${KDE_FULL_SESSION} ]]; then 898 | if [[ ${KDE_FULL_SESSION} == 'true' ]]; then 899 | DE="KDE" 900 | DEver_data=$( kded --version 2>/dev/null ) 901 | DEver=$( grep -si '^KDE:' <<< "$DEver_data" | awk '{print $2}' ) 902 | fi 903 | fi 904 | fi 905 | 906 | if [[ ${DE} != "Not Present" ]]; then 907 | if [[ ${DE} == "Cinnamon" ]]; then 908 | if type -p >/dev/null 2>&1; then 909 | DEver=$(cinnamon --version) 910 | DE="${DE} ${DEver//* }" 911 | fi 912 | elif [[ ${DE} == "Gnome" || ${DE} == "GNOME" ]]; then 913 | if type -p gnome-session-properties >/dev/null 2>&1; then 914 | DEver=$(gnome-session-properties --version) 915 | DE="${DE} ${DEver//* }" 916 | elif type -p gnome-session >/dev/null 2>&1; then 917 | DEver=$(gnome-session --version) 918 | DE="${DE} ${DEver//* }" 919 | fi 920 | elif [[ ${DE} == "KDE4" || ${DE} == "KDE5" ]]; then 921 | if type -p kded${DE#KDE} >/dev/null 2>&1; then 922 | DEver=$(kded${DE#KDE} --version) 923 | for l in $(echo "${DEver// /_}"); do 924 | if [[ ${l//:*} == "KDE_Development_Platform" ]]; then 925 | DEver=${l//*:_} 926 | DE="KDE ${DEver//_*}" 927 | fi; 928 | done 929 | fi 930 | elif [[ ${DE} == "MATE" ]]; then 931 | if type -p mate-session >/dev/null 2>&1; then 932 | DEver=$(mate-session --version) 933 | DE="${DE} ${DEver//* }" 934 | fi 935 | fi 936 | fi 937 | 938 | if [[ "${DE}" == "Not Present" ]]; then 939 | if pgrep -U ${UID} lxsession >/dev/null 2>&1; then 940 | DE="LXDE" 941 | if type -p lxpanel >/dev/null 2>&1; then 942 | DEver=$(lxpanel -v) 943 | DE="${DE} $DEver" 944 | fi 945 | elif pgrep -U ${UID} razor-session >/dev/null 2>&1; then 946 | DE="RazorQt" 947 | fi 948 | fi 949 | elif [[ "${distro}" == "Mac OS X" ]]; then 950 | if ps -U ${USER} | grep [F]inder >/dev/null 2>&1; then 951 | DE="Aqua" 952 | fi 953 | fi 954 | [[ "$verbosity" -eq "1" ]] && verboseOut "Finding desktop environment...found as '$DE'" 955 | } 956 | ### DE Detection - End 957 | 958 | 959 | # WM Detection - Begin 960 | detectwm () { 961 | WM="Not Found" 962 | # if [ "$distro" == "Cygwin" ]; then 963 | # WM="Explorer" 964 | # else 965 | if [[ -n ${DISPLAY} && ${distro} != "Mac OS X" ]]; then 966 | if type -p xprop >/dev/null 2>&1; then 967 | WM=$(xprop -root _NET_SUPPORTING_WM_CHECK) 968 | if [[ "$WM" =~ "not found" ]]; then 969 | WM="Not Found" 970 | else 971 | WM=${WM//* } 972 | WM=$(xprop -id ${WM} 8s _NET_WM_NAME) 973 | WM=$(echo $(WM=${WM//*= }; echo ${WM//\"})) 974 | fi 975 | fi 976 | 977 | if [[ ${WM} == "Not Found" ]]; then 978 | for each in $wmnames; do 979 | PID="$(pgrep -U ${UID} $each)" 980 | if [ "$PID" ]; then 981 | case $each in 982 | 'awesome') WM="Awesome";; 983 | 'beryl') WM="Beryl";; 984 | 'blackbox') WM="Blackbox";; 985 | 'cinnamon') WM="Cinnamon";; 986 | 'compiz') WM="Compiz";; 987 | 'dminiwm') WM="dminiwm";; 988 | 'dwm') WM="DWM";; 989 | 'e16') WM="E16";; 990 | 'emerald') WM="Emerald";; 991 | 'enlightenment') WM="E17";; 992 | 'fluxbox') WM="FluxBox";; 993 | 'fvwm') WM="FVWM";; 994 | 'herbstluftwm') WM="herbstluftwm";; 995 | '^i3') WM="i3";; 996 | 'icewm') WM="IceWM";; 997 | 'kwin') WM="KWin";; 998 | 'metacity') WM="Metacity";; 999 | 'monsterwm') WM="monsterwm";; 1000 | 'musca') WM="Musca";; 1001 | 'openbox') WM="OpenBox";; 1002 | 'pekwm') WM="PekWM";; 1003 | 'ratpoison') WM="Ratpoison";; 1004 | 'sawfish') WM="Sawfish";; 1005 | 'scrotwm') WM="ScrotWM";; 1006 | 'spectrwm') WM="SpectrWM";; 1007 | 'stumpwm') WM="StumpWM";; 1008 | 'subtle') WM="subtle";; 1009 | 'wmaker') WM="WindowMaker";; 1010 | 'wmfs') WM="WMFS";; 1011 | 'wmii') WM="wmii";; 1012 | 'xfwm4') WM="Xfwm4";; 1013 | '^xmonad') WM="XMonad";; 1014 | esac 1015 | fi 1016 | 1017 | if [[ ${WM} != "Not Found" ]]; then 1018 | break 1 1019 | fi 1020 | done 1021 | else 1022 | case ${WM} in 1023 | 'awesome') WM="Awesome";; 1024 | 'blackbox') WM="Blackbox";; 1025 | 'beryl') WM="Beryl";; 1026 | 'cinnamon') WM="Cinnamon";; 1027 | 'compiz') WM="Compiz";; 1028 | 'dminiwm') WM="dminiwm";; 1029 | 'dwm') WM="DWM";; 1030 | 'e16') WM="E16";; 1031 | 'emerald') WM="Emerald";; 1032 | 'enlightenment') WM="E17";; 1033 | 'fluxbox') WM="FluxBox";; 1034 | 'fvwm') WM="FVWM";; 1035 | 'herbstluftwm') WM="herbstluftwm";; 1036 | '^i3') WM="i3";; 1037 | 'icewm') WM="IceWM";; 1038 | 'kwin') WM="KWin";; 1039 | 'metacity') WM="Metacity";; 1040 | 'monsterwm') WM="monsterwm";; 1041 | 'musca') WM="Musca";; 1042 | 'openbox') WM="OpenBox";; 1043 | 'pekwm') WM="PekWM";; 1044 | 'ratpoison') WM="Ratpoison";; 1045 | 'scrotwm') WM="ScrotWM";; 1046 | 'spectrwm') WM="SpectrWM";; 1047 | 'sawfish') WM="Sawfish";; 1048 | 'stumpwm') WM="StumpWM";; 1049 | 'subtle') WM="subtle";; 1050 | 'wmaker') WM="WindowMaker";; 1051 | 'wmfs') WM="WMFS";; 1052 | 'wmii') WM="wmii";; 1053 | 'xfwm4') WM="Xfwm4";; 1054 | '^xmonad') WM="XMonad";; 1055 | esac 1056 | fi 1057 | elif [[ ${distro} == "Mac OS X" ]]; then 1058 | if ps -U ${USER} | grep [F]inder >/dev/null 2>&1; then 1059 | WM="Quartz Compositor" 1060 | fi 1061 | fi 1062 | [[ "$verbosity" -eq "1" ]] && verboseOut "Finding window manager...found as '$WM'" 1063 | } 1064 | # WM Detection - End 1065 | 1066 | 1067 | # WM Theme Detection - BEGIN 1068 | detectwmtheme () { 1069 | Win_theme="Not Found" 1070 | case $WM in 1071 | '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)"; fi;; 1072 | 'BlackBox') if [ -f $HOME/.blackboxrc ]; then Win_theme="$(awk -F"/" '/styleFile/ {print $NF}' $HOME/.blackboxrc)"; fi;; 1073 | 'Beryl') Win_theme="Not Present";; 1074 | 'Cinnamon') Win_theme="$(gsettings get org.cinnamon.theme name)";; 1075 | 'Compiz'|'Marco'|'Mutter'*) 1076 | if type -p gsettings >/dev/null 2>&1; then 1077 | Win_theme="$(gsettings get org.gnome.desktop.wm.preferences theme)" 1078 | Win_theme=${Win_theme//"'"} 1079 | elif type -p gconftool-2 >/dev/null 2>&1; then 1080 | Win_theme=$(gconftool-2 -g /apps/metacity/general/theme) 1081 | fi 1082 | ;; 1083 | 'dminiwm') Win_theme="Not Present";; 1084 | 'DWM') Win_theme="Not Present";; 1085 | 'E16') Win_theme="$(awk -F"= " '/theme.name/ {print $2}' $HOME/.e16/e_config--0.0.cfg)";; 1086 | #E17 doesn't store cfg files in text format so for now get the profile as opposed to theme. atyoung 1087 | #TODO: Find a way to extract and read E17 .cfg files ( google seems to have nothing ). atyoung 1088 | 'E17') Win_theme=${E_CONF_PROFILE};; 1089 | '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;; 1090 | 'Explorer') 1091 | ThemeFile="$(reg query 'HKCU\Software\Microsoft\Windows\CurrentVersion\Themes' /v 'CurrentTheme' | grep -o '[A-Z]:\\.*')" 1092 | ThemeFile="$(cygpath -u $ThemeFile)" 1093 | Win_theme="$(cat $ThemeFile | grep '^Path=.*$' | grep -o '[0-9A-z. ]*$' | grep -o '^[0-9A-z ]*')" 1094 | ;; 1095 | 'Finder') Win_theme="not present";; 1096 | 'FluxBox'|'Fluxbox') if [ -f $HOME/.fluxbox/init ]; then Win_theme="$(awk -F"/" '/styleFile/ {print $NF}' $HOME/.fluxbox/init)"; fi;; 1097 | 'FVWM') Win_theme="Not Present";; 1098 | 'i3') Win_theme="Not Present";; 1099 | 'IceWM') if [ -f $HOME/.icewm/theme ]; then Win_theme="$(awk -F"[\",/]" '!/#/ {print $2}' $HOME/.icewm/theme)"; fi;; 1100 | 'KWin') if [ -f $HOME/.kde/share/config/kdeglobals ]; then Win_theme="$(grep '^widgetStyle' $HOME/.kde/share/config/kdeglobals | awk -F'=' '{print $2}')"; fi;; 1101 | 'Metacity') if [ "`gconftool-2 -g /apps/metacity/general/theme`" ]; then Win_theme="$(gconftool-2 -g /apps/metacity/general/theme)"; fi ;; 1102 | 'monsterwm') Win_theme="Not Present";; 1103 | 'Musca') Win_theme="Not Present";; 1104 | 'OpenBox') 1105 | if [ -f ${XDG_CONFIG_HOME:-${HOME}/.config}/openbox/rc.xml ]; then 1106 | Win_theme="$(awk -F"[<,>]" '/]" '//dev/null 2>&1; then 1141 | KDE_CONFIG_DIR=$(kde4-config --localprefix) 1142 | if [[ -d ${KDE_CONFIG_DIR} ]]; then 1143 | if [[ -f "${KDE_CONFIG_DIR}/share/config/kdeglobals" ]]; then 1144 | KDE_CONFIG_FILE="${KDE_CONFIG_DIR}/share/config/kdeglobals" 1145 | fi 1146 | fi 1147 | elif type -p kde5-config >/dev/null 2>&1; then 1148 | KDE_CONFIG_DIR=$(kde5-config --localprefix) 1149 | if [[ -d ${KDE_CONFIG_DIR} ]]; then 1150 | if [[ -f "${KDE_CONFIG_DIR}/share/config/kdeglobals" ]]; then 1151 | KDE_CONFIG_FILE="${KDE_CONFIG_DIR}/share/config/kdeglobals" 1152 | fi 1153 | fi 1154 | elif type -p kde-config >/dev/null 2>&1; then 1155 | KDE_CONFIG_DIR=$(kde-config --localprefix) 1156 | if [[ -d ${KDE_CONFIG_DIR} ]]; then 1157 | if [[ -f "${KDE_CONFIG_DIR}/share/config/kdeglobals" ]]; then 1158 | KDE_CONFIG_FILE="${KDE_CONFIG_DIR}/share/config/kdeglobals" 1159 | fi 1160 | fi 1161 | fi 1162 | 1163 | if [[ -n ${KDE_CONFIG_FILE} ]]; then 1164 | if grep -q "widgetStyle=" "${KDE_CONFIG_FILE}"; then 1165 | gtk2Theme=$(awk -F"=" '/widgetStyle=/ {print $2}' "${KDE_CONFIG_FILE}") 1166 | elif grep -q "colorScheme=" "${KDE_CONFIG_FILE}"; then 1167 | gtk2Theme=$(awk -F"=" '/colorScheme=/ {print $2}' "${KDE_CONFIG_FILE}") 1168 | fi 1169 | 1170 | if grep -q "Theme=" "${KDE_CONFIG_FILE}"; then 1171 | gtkIcons=$(awk -F"=" '/Theme=/ {print $2}' "${KDE_CONFIG_FILE}") 1172 | fi 1173 | 1174 | if grep -q "Font=" "${KDE_CONFIG_FILE}"; then 1175 | gtkFont=$(awk -F"=" '/font=/ {print $2}' "${KDE_CONFIG_FILE}") 1176 | fi 1177 | fi 1178 | 1179 | if [[ -f $HOME/.gtkrc-2.0 ]]; then 1180 | gtk2Theme=$(grep '^gtk-theme-name' $HOME/.gtkrc-2.0 | awk -F'=' '{print $2}') 1181 | gtk2Theme=${gtk2Theme//\"/} 1182 | gtkIcons=$(grep '^gtk-icon-theme-name' $HOME/.gtkrc-2.0 | awk -F'=' '{print $2}') 1183 | gtkIcons=${gtkIcons//\"/} 1184 | gtkFont=$(grep 'font_name' $HOME/.gtkrc-2.0 | awk -F'=' '{print $2}') 1185 | gtkFont=${gtkFont//\"/} 1186 | fi 1187 | 1188 | if [[ -f $HOME/.config/gtk-3.0/settings.ini ]]; then 1189 | gtk3Theme=$(grep '^gtk-theme-name=' $HOME/.config/gtk-3.0/settings.ini | awk -F'=' '{print $2}') 1190 | fi 1191 | ;; 1192 | 'Cinnamon'*) # Desktop Environment found as "Cinnamon" 1193 | if type -p gsettings >/dev/null 2>&1; then 1194 | gtk3Theme=$(gsettings get org.gnome.desktop.interface gtk-theme) 1195 | gtk3Theme=${gtk3Theme//"'"} 1196 | gtk2Theme=${gtk3Theme} 1197 | 1198 | gtkIcons=$(gsettings get org.gnome.desktop.interface icon-theme) 1199 | gtkIcons=${gtkIcons//"'"} 1200 | gtkFont=$(gsettings get org.gnome.desktop.interface font-name) 1201 | gtkFont=${gtkFont//"'"} 1202 | if [ "$background_detect" == "1" ]; then gtkBackground=$(gsettings get org.gnome.desktop.background picture-uri); fi 1203 | fi 1204 | ;; 1205 | 'GNOME'*|'MATE'*|'Gnome'*|'Unity'*) # Desktop Environment found as "GNOME" 1206 | if type -p gsettings >/dev/null 2>&1; then 1207 | gtk3Theme=$(gsettings get org.gnome.desktop.interface gtk-theme) 1208 | gtk3Theme=${gtk3Theme//"'"} 1209 | gtk2Theme=${gtk3Theme} 1210 | gtkIcons=$(gsettings get org.gnome.desktop.interface icon-theme) 1211 | gtkIcons=${gtkIcons//"'"} 1212 | gtkFont=$(gsettings get org.gnome.desktop.interface font-name) 1213 | gtkFont=${gtkFont//"'"} 1214 | if [ "$background_detect" == "1" ]; then gtkBackground=$(gsettings get org.gnome.desktop.background picture-uri); fi 1215 | elif type -p gconftool-2 >/dev/null 2>&1; then 1216 | gtk2Theme=$(gconftool-2 -g /desktop/gnome/interface/gtk_theme) 1217 | gtkIcons=$(gconftool-2 -g /desktop/gnome/interface/icon_theme) 1218 | gtkFont=$(gconftool-2 -g /desktop/gnome/interface/font_name) 1219 | if [ "$background_detect" == "1" ]; then 1220 | gtkBackgroundFull=$(gconftool-2 -g /desktop/gnome/background/picture_filename) 1221 | gtkBackground=$(echo "$gtkBackgroundFull" | awk -F"/" '{print $NF}') 1222 | fi 1223 | fi 1224 | ;; 1225 | 'XFCE'*) # Desktop Environment found as "XFCE" 1226 | if type -p xfconf-query >/dev/null 2>&1; then 1227 | gtk2Theme=$(xfconf-query -c xsettings -p /Net/ThemeName) 1228 | fi 1229 | 1230 | if type -p xfconf-query >/dev/null 2>&1; then 1231 | gtkIcons=$(xfconf-query -c xsettings -p /Net/IconThemeName) 1232 | fi 1233 | 1234 | if type -p xfconf-query >/dev/null 2>&1; then 1235 | gtkFont=$(xfconf-query -c xsettings -p /Gtk/FontName) 1236 | fi 1237 | ;; 1238 | 'LXDE'*) 1239 | if [ -f ${XDG_CONFIG_HOME:-${HOME}/.config}/lxde/config ]; then 1240 | lxdeconf="/lxde/config" 1241 | elif [ $distro == "Trisquel" ]; then 1242 | lxdeconf="" 1243 | elif [ "$distro" == "FreeBSD" ]; then 1244 | lxdeconf="" 1245 | else 1246 | lxdeconf="/lxsession/LXDE/desktop.conf" 1247 | fi 1248 | # TODO: Clean me. 1249 | if grep -q "sNet\/ThemeName" ${XDG_CONFIG_HOME:-${HOME}/.config}$lxdeconf 2>/dev/null; then 1250 | gtk2Theme=$(awk -F'=' '/sNet\/ThemeName/ {print $2}' ${XDG_CONFIG_HOME:-${HOME}/.config}$lxdeconf) 1251 | fi 1252 | 1253 | if grep -q IconThemeName ${XDG_CONFIG_HOME:-${HOME}/.config}$lxdeconf 2>/dev/null; then 1254 | gtkIcons=$(awk -F'=' '/sNet\/IconThemeName/ {print $2}' ${XDG_CONFIG_HOME:-${HOME}/.config}$lxdeconf) 1255 | fi 1256 | 1257 | if grep -q FontName ${XDG_CONFIG_HOME:-${HOME}/.config}$lxdeconf 2>/dev/null; then 1258 | gtkFont=$(awk -F'=' '/sGtk\/FontName/ {print $2}' ${XDG_CONFIG_HOME:-${HOME}/.config}$lxdeconf) 1259 | fi 1260 | ;; 1261 | 1262 | # /home/me/.config/rox.sourceforge.net/ROX-Session/Settings.xml 1263 | 1264 | *) # Lightweight or No DE Found 1265 | if [ -f $HOME/.gtkrc-2.0 ]; then 1266 | if grep -q gtk-theme $HOME/.gtkrc-2.0; then 1267 | gtk2Theme=$(awk -F'"' '/gtk-theme/ {print $2}' $HOME/.gtkrc-2.0) 1268 | fi 1269 | 1270 | if grep -q icon-theme $HOME/.gtkrc-2.0; then 1271 | gtkIcons=$(awk -F'"' '/icon-theme/ {print $2}' $HOME/.gtkrc-2.0) 1272 | fi 1273 | 1274 | if grep -q font $HOME/.gtkrc-2.0; then 1275 | gtkFont=$(awk -F'"' '/gtk-font-name/ {print $2}' $HOME/.gtkrc-2.0) 1276 | fi 1277 | fi 1278 | # $HOME/.gtkrc.mine theme detect only 1279 | if [ -f $HOME/.gtkrc.mine ]; then 1280 | if grep -q "^include" $HOME/.gtkrc.mine; then 1281 | gtk2Theme=$(grep '^include.*gtkrc' $HOME/.gtkrc.mine | awk -F "/" '{ print $5 }') 1282 | fi 1283 | if grep -q "^gtk-icon-theme-name" $HOME/.gtkrc.mine; then 1284 | gtkIcons=$(grep 'gtk-icon-theme-name' $HOME/.gtkrc.mine | awk -F '"' '{print $2}') 1285 | fi 1286 | fi 1287 | # /etc/gtk-2.0/gtkrc compatability 1288 | if [[ -f /etc/gtk-2.0/gtkrc && ! -f $HOME/.gtkrc-2.0 && ! -f $HOME/.gtkrc.mine ]]; then 1289 | if grep -q gtk-theme-name /etc/gtk-2.0/gtkrc; then 1290 | gtk2Theme=$(awk -F'"' '/gtk-theme-name/ {print $2}' /etc/gtk-2.0/gtkrc) 1291 | fi 1292 | if grep -q gtk-fallback-theme-name /etc/gtk-2.0/gtkrc && ! [ "x$gtk2Theme" = "x" ]; then 1293 | gtk2Theme=$(awk -F'"' '/gtk-fallback-theme-name/ {print $2}' /etc/gtk-2.0/gtkrc) 1294 | fi 1295 | 1296 | if grep -q icon-theme /etc/gtk-2.0/gtkrc; then 1297 | gtkIcons=$(awk -F'"' '/icon-theme/ {print $2}' /etc/gtk-2.0/gtkrc) 1298 | fi 1299 | if grep -q gtk-fallback-icon-theme /etc/gtk-2.0/gtkrc && ! [ "x$gtkIcons" = "x" ]; then 1300 | gtkIcons=$(awk -F'"' '/gtk-fallback-icon-theme/ {print $2}' /etc/gtk-2.0/gtkrc) 1301 | fi 1302 | 1303 | if grep -q font /etc/gtk-2.0/gtkrc; then 1304 | gtkFont=$(awk -F'"' '/gtk-font-name/ {print $2}' /etc/gtk-2.0/gtkrc) 1305 | fi 1306 | fi 1307 | 1308 | # EXPERIMENTAL gtk3 Theme detection 1309 | if [ -f $HOME/.config/gtk-3.0/settings.ini ]; then 1310 | if grep -q gtk-theme-name $HOME/.config/gtk-3.0/settings.ini; then 1311 | gtk3Theme=$(awk -F'=' '/gtk-theme-name/ {print $2}' $HOME/.config/gtk-3.0/settings.ini) 1312 | fi 1313 | fi 1314 | 1315 | # Proper gtk3 Theme detection 1316 | #if [ $(which gsettings) ] && [ "$distro" != "Mac OS X" ]; then 1317 | # gtk3Theme="$(gsettings get org.gnome.desktop.interface gtk-theme | tr -d \"\'\")" 1318 | #fi 1319 | if type -p gsettings >/dev/null 2>&1; then 1320 | gtk3Theme=$(gsettings get org.gnome.desktop.interface gtk-theme 2>/dev/null) 1321 | gtk3Theme=${gtk3Theme//"'"} 1322 | fi 1323 | 1324 | # ROX-Filer icon detect only 1325 | if [ -a ${XDG_CONFIG_HOME:-${HOME}/.config}/rox.sourceforge.net/ROX-Filer/Options ]; then 1326 | gtkIcons=$(awk -F'[>,<]' '/icon_theme/ {print $3}' ${XDG_CONFIG_HOME:-${HOME}/.config}/rox.sourceforge.net/ROX-Filer/Options) 1327 | fi 1328 | 1329 | # E17 detection 1330 | if [ $E_ICON_THEME ]; then 1331 | gtkIcons=${E_ICON_THEME} 1332 | gtk2Theme="Not available." 1333 | gtkFont="Not available." 1334 | fi 1335 | 1336 | # Background Detection (feh, nitrogen) 1337 | if [ "$background_detect" == "1" ]; then 1338 | if [ -a $HOME/.fehbg ]; then 1339 | gtkBackgroundFull=$(awk -F"'" '/feh --bg/{print $2}' $HOME/.fehbg 2>/dev/null) 1340 | gtkBackground=$(echo "$gtkBackgroundFull" | awk -F"/" '{print $NF}') 1341 | elif [ -a ${XDG_CONFIG_HOME:-${HOME}/.config}/nitrogen/bg-saved.cfg ]; then 1342 | gtkBackground=$(awk -F"/" '/file=/ {print $NF}' ${XDG_CONFIG_HOME:-${HOME}/.config}/nitrogen/bg-saved.cfg) 1343 | fi 1344 | fi 1345 | 1346 | # Font detection (OS X) 1347 | if [[ ${distro} == "Mac OS X" ]]; then 1348 | if ps -U ${USER} | grep [F]inder >/dev/null 2>&1; then 1349 | gtkFont="Not Found" 1350 | if [ -f ~/Library/Preferences/com.googlecode.iterm2.plist ]; then 1351 | gtkFont=$(str1=$(defaults read com.googlecode.iTerm2|grep -m 1 "Normal Font");echo ${str1:29:${#str1}-29-2}) 1352 | fi 1353 | fi 1354 | fi 1355 | 1356 | # if [ "$distro" == "Cygwin" -a "$gtkFont" == "Not Found" ]; then 1357 | # if [ -f $HOME/.minttyrc ]; then 1358 | # gtkFont="$(cat $HOME/.minttyrc | grep '^Font=.*' | grep -o '[0-9A-z ]*$')" 1359 | # fi 1360 | # fi 1361 | ;; 1362 | esac 1363 | if [[ "$verbosity" -eq "1" ]]; then 1364 | verboseOut "Finding GTK2 theme...found as '$gtk2Theme'" 1365 | verboseOut "Finding GTK3 theme...found as '$gtk3Theme'" 1366 | verboseOut "Finding icon theme...found as '$gtkIcons'" 1367 | verboseOut "Finding user font...found as '$gtkFont'" 1368 | [[ $gtkBackground ]] && verboseOut "Finding background...found as '$gtkBackground'" 1369 | fi 1370 | } 1371 | # GTK Theme\Icon\Font Detection - END 1372 | 1373 | # Android-specific detections 1374 | detectdroid () { 1375 | distro_ver=$(getprop ro.build.version.release) 1376 | 1377 | hostname=$(getprop net.hostname) 1378 | 1379 | _device=$(getprop ro.product.device) 1380 | _model=$(getprop ro.product.model) 1381 | device="${_model} (${_device})" 1382 | 1383 | rom=$(getprop ro.build.display.id) 1384 | baseband=$(getprop ro.baseband) 1385 | 1386 | cpu=$(grep '^Processor' /proc/cpuinfo) 1387 | cpu=$(echo "$cpu" | sed 's/Processor.*: //') 1388 | } 1389 | 1390 | 1391 | ####################### 1392 | # End Detection Phase 1393 | ####################### 1394 | 1395 | takeShot () { 1396 | if [[ -z $screenCommand ]]; then 1397 | if [[ "$hostshot" == "1" ]]; then 1398 | if [ "$distro" == "Mac OS X" ]; then screencapture -xT 3 "${shotfile}" 1399 | else scrot -cd3 "${shotfile}"; fi 1400 | if [ -f "${shotfile}" ]; then 1401 | [[ "$verbosity" -eq "1" ]] && verboseOut "Screenshot saved at '${shotfile}'" 1402 | scp -qo ConnectTimeout="${scptimeout}" "${shotfile}" "${serveraddr}:${serverdir}" 1403 | echo -e "${bold}==>${c0} Your screenshot can be viewed at ${baseurl}/$shotfile" 1404 | else 1405 | verboseOut "ERROR: Problem saving screenshot to ${shotfile}" 1406 | fi 1407 | else 1408 | if [ "$distro" == "Mac OS X" ]; then screencapture -xT 3 "${shotfile}" 1409 | else scrot -cd3 "${shotfile}"; fi 1410 | if [ -f "${shotfile}" ]; then 1411 | [[ "$verbosity" -eq "1" ]] && verboseOut "Screenshot saved at '${shotfile}'" 1412 | else 1413 | verboseOut "ERROR: Problem saving screenshot to ${shotfile}" 1414 | fi 1415 | fi 1416 | else 1417 | $screenCommand 1418 | fi 1419 | } 1420 | 1421 | 1422 | 1423 | asciiText () { 1424 | # Distro logos and ASCII outputs 1425 | case $distro in 1426 | "Arch Linux - Old") 1427 | c1="\e[1;37m" # White 1428 | c2="\e[1;34m" # Light Blue 1429 | if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; fi 1430 | startline="0" 1431 | fulloutput=("$c1 __ %s" 1432 | "$c1 _=(SDGJT=_ %s" 1433 | "$c1 _GTDJHGGFCVS) %s" 1434 | "$c1 ,GTDJGGDTDFBGX0 %s" 1435 | "$c1 JDJDIJHRORVFSBSVL$c2-=+=,_ %s" 1436 | "$c1 IJFDUFHJNXIXCDXDSV,$c2 \"DEBL %s" 1437 | "$c1 [LKDSDJTDU=OUSCSBFLD.$c2 '?ZWX, %s" 1438 | "$c1 ,LMDSDSWH' \`DCBOSI$c2 DRDS], %s" 1439 | "$c1 SDDFDFH' !YEWD,$c2 )HDROD %s" 1440 | "$c1 !KMDOCG &GSU|$c2\_GFHRGO\' %s" 1441 | "$c1 HKLSGP'$c2 __$c1\TKM0$c2\GHRBV)' %s" 1442 | "$c1 JSNRVW'$c2 __+MNAEC$c1\IOI,$c2\BN' %s" 1443 | "$c1 HELK['$c2 __,=OFFXCBGHC$c1\FD) %s" 1444 | "$c1 ?KGHE $c2\_-#DASDFLSV='$c1 'EF %s" 1445 | "$c1 'EHTI !H %s" 1446 | "$c1 \`0F' '! %s") 1447 | ;; 1448 | 1449 | "Arch Linux") 1450 | c1="\e[0;36m" # Light 1451 | c2="\e[0;36m" # Dark 1452 | if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; fi 1453 | startline="1" 1454 | fulloutput=("${c1} -\`" 1455 | "${c1} .o+\` %s" 1456 | "${c1} \`ooo/ %s" 1457 | "${c1} \`+oooo: %s" 1458 | "${c1} \`+oooooo: %s" 1459 | "${c1} -+oooooo+: %s" 1460 | "${c1} \`/:-:++oooo+: %s" 1461 | "${c1} \`/++++/+++++++: %s" 1462 | "${c1} \`/++++++++++++++: %s" 1463 | "${c1} \`/+++o"${c2}"oooooooo"${c1}"oooo/\` %s" 1464 | "${c2} "${c1}"./"${c2}"ooosssso++osssssso"${c1}"+\` %s" 1465 | "${c2} .oossssso-\`\`\`\`/ossssss+\` %s" 1466 | "${c2} -osssssso. :ssssssso. %s" 1467 | "${c2} :osssssss/ osssso+++. %s" 1468 | "${c2} /ossssssss/ +ssssooo/- %s" 1469 | "${c2} \`/ossssso+/:- -:/+osssso+- %s" 1470 | "${c2} \`+sso+:-\` \`.-/+oso: %s" 1471 | "${c2} \`++:. \`-/+/" 1472 | "${c2} .\` \`/") 1473 | ;; 1474 | 1475 | "Mint") 1476 | c1="\e[1;37m" # White 1477 | c2="\e[1;32m" # Bold Green 1478 | if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; fi 1479 | startline="0" 1480 | fulloutput=("$c2 MMMMMMMMMMMMMMMMMMMMMMMMMmds+. %s" 1481 | "$c2 MMm----::-://////////////oymNMd+\` %s" 1482 | "$c2 MMd "$c1"/++ "$c2"-sNMd: %s" 1483 | "$c2 MMNso/\` "$c1"dMM \`.::-. .-::.\` "$c2".hMN: %s" 1484 | "$c2 ddddMMh "$c1"dMM :hNMNMNhNMNMNh: "$c2"\`NMm %s" 1485 | "$c2 NMm "$c1"dMM .NMN/-+MMM+-/NMN\` "$c2"dMM %s" 1486 | "$c2 NMm "$c1"dMM -MMm \`MMM dMM. "$c2"dMM %s" 1487 | "$c2 NMm "$c1"dMM -MMm \`MMM dMM. "$c2"dMM %s" 1488 | "$c2 NMm "$c1"dMM .mmd \`mmm yMM. "$c2"dMM %s" 1489 | "$c2 NMm "$c1"dMM\` ..\` ... ydm. "$c2"dMM %s" 1490 | "$c2 hMM- "$c1"+MMd/-------...-:sdds "$c2"dMM %s" 1491 | "$c2 -NMm- "$c1":hNMNNNmdddddddddy/\` "$c2"dMM %s" 1492 | "$c2 -dMNs-"$c1"\`\`-::::-------.\`\` "$c2"dMM %s" 1493 | "$c2 \`/dMNmy+/:-------------:/yMMM %s" 1494 | "$c2 ./ydNMMMMMMMMMMMMMMMMMMMMM %s" 1495 | "$c2 \.MMMMMMMMMMMMMMMMMMM %s") 1496 | ;; 1497 | 1498 | 1499 | "LMDE") 1500 | c1="\e[1;37m" # White 1501 | c2="\e[1;32m" # Bold Green 1502 | if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; fi 1503 | startline="1" 1504 | fulloutput=(" "${c1}"\`.-::---.." 1505 | "${c2} .:++++ooooosssoo:. %s" 1506 | "${c2} .+o++::. \`.:oos+. %s" 1507 | "${c2} :oo:.\` -+oo"${c1}": %s" 1508 | "${c2} "${c1}"\`"${c2}"+o/\` ."${c1}"::::::"${c2}"-. .++-"${c1}"\` %s" 1509 | "${c2} "${c1}"\`"${c2}"/s/ .yyyyyyyyyyo: +o-"${c1}"\` %s" 1510 | "${c2} "${c1}"\`"${c2}"so .ss ohyo\` :s-"${c1}": %s" 1511 | "${c2} "${c1}"\`"${c2}"s/ .ss h m myy/ /s\`"${c1}"\` %s" 1512 | "${c2} \`s: \`oo s m Myy+-o:\` %s" 1513 | "${c2} \`oo :+sdoohyoydyso/. %s" 1514 | "${c2} :o. .:////////++: %s" 1515 | "${c2} \`/++ "${c1}"-:::::- %s" 1516 | "${c2} "${c1}"\`"${c2}"++- %s" 1517 | "${c2} "${c1}"\`"${c2}"/+- %s" 1518 | "${c2} "${c1}"."${c2}"+/. %s" 1519 | "${c2} "${c1}"."${c2}":+-. %s" 1520 | "${c2} \`--.\`\` %s") 1521 | ;; 1522 | 1523 | "Ubuntu") 1524 | c1="\033[1;37m" # White 1525 | c2="\033[1;31m" # Light Red 1526 | c3="\033[1;33m" # Bold Yellow 1527 | if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; c3="${my_lcolor}"; fi 1528 | startline="1" 1529 | fulloutput=("$c2 ./+o+-" 1530 | "$c1 yyyyy- $c2-yyyyyy+ %s" 1531 | "$c1 $c1://+//////$c2-yyyyyyo %s" 1532 | "$c3 .++ $c1.:/++++++/-$c2.+sss/\` %s" 1533 | "$c3 .:++o: $c1/++++++++/:--:/- %s" 1534 | "$c3 o:+o+:++.$c1\`..\`\`\`.-/oo+++++/ %s" 1535 | "$c3 .:+o:+o/.$c1 \`+sssoo+/ %s" 1536 | "$c1 .++/+:$c3+oo+o:\`$c1 /sssooo. %s" 1537 | "$c1 /+++//+:$c3\`oo+o$c1 /::--:. %s" 1538 | "$c1 \+/+o+++$c3\`o++o$c2 ++////. %s" 1539 | "$c1 .++.o+$c3++oo+:\`$c2 /dddhhh. %s" 1540 | "$c3 .+.o+oo:.$c2 \`oddhhhh+ %s" 1541 | "$c3 \+.++o+o\`\`-\`\`$c2\`\`.:ohdhhhhh+ %s" 1542 | "$c3 \`:o+++ $c2\`ohhhhhhhhyo++os: %s" 1543 | "$c3 .o:$c2\`.syhhhhhhh/$c3.oo++o\` %s" 1544 | "$c2 /osyyyyyyo$c3++ooo+++/ %s" 1545 | "$c2 \`\`\`\`\` $c3+oo+++o\: %s" 1546 | "$c3 \`oo++.") 1547 | ;; 1548 | 1549 | "Debian") 1550 | c1="\e[1;37m" # White 1551 | c2="\e[1;31m" # Light Red 1552 | if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; fi 1553 | startline="0" 1554 | fulloutput=(" $c1 _,met\$\$\$\$\$gg.\t\t %s" 1555 | " $c1 ,g\$\$\$\$\$\$\$\$\$\$\$\$\$\$\$P.\t%s" 1556 | " $c1 ,g\$\$P\"\" \"\"\"Y\$\$.\".\t%s" 1557 | " $c1 ,\$\$P' \`\$\$\$.\t%s" 1558 | " $c1',\$\$P ,ggs. \`\$\$b:\t%s" 1559 | " $c1\`d\$\$' ,\$P\"\' $c2.$c1 \$\$\$\t%s" 1560 | " $c1 \$\$P d\$\' $c2,$c1 \$\$P\t%s" 1561 | " $c1 \$\$: \$\$. $c2-$c1 ,d\$\$'\t%s" 1562 | " $c1 \$\$\; Y\$b._ _,d\$P'\t%s" 1563 | " $c1 Y\$\$. $c2\`.$c1\`\"Y\$\$\$\$P\"'\t\t%s" 1564 | " $c1 \`\$\$b $c2\"-.__\t\t%s" 1565 | " $c1 \`Y\$\$\t\t\t%s" 1566 | " $c1 \`Y\$\$.\t\t\t%s" 1567 | " $c1 \`\$\$b.\t\t\t%s" 1568 | " $c1 \`Y\$\$b.\t\t\t%s" 1569 | " $c1 \`\"Y\$b._\t\t%s" 1570 | " $c1 \`\"\"\"\"") 1571 | ;; 1572 | 1573 | "CrunchBang") 1574 | c1="\e[0;34m" #\e[0;32m" #Cyan \e[0;34m" # Blue \e[0;32m" # Green 1575 | c2="\e[0;37m" #Dark Gray \e[0;36m" # Cyan 1576 | #c2="\e[1;37m" # White 1577 | #c1="\e[0;37m" # Dark Gray 1578 | if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; fi 1579 | startline="1" 1580 | fulloutput=("$c2 " 1581 | "$c2 "$c1"███"$c2" "$c1"███"$c2" "$c1"███"$c2" %s" 1582 | "$c2 "$c1"███"$c2" "$c1"███"$c2" "$c1"███"$c2" %s" 1583 | "$c2 "$c1"███"$c2" "$c1"███"$c2" "$c1"███"$c2" %s" 1584 | "$c2 "$c1"███"$c2" "$c1"███"$c2" "$c1"███"$c2" %s" 1585 | "$c2 "$c1"████████████████████████████"$c2" "$c1"███"$c2" %s" 1586 | "$c2 "$c1"████████████████████████████"$c2" "$c1"███"$c2" %s" 1587 | "$c2 "$c1"███"$c2" "$c1"███"$c2" "$c1"███"$c2" %s" 1588 | "$c2 "$c1"███"$c2" "$c1"███"$c2" "$c1"███"$c2" %s" 1589 | "$c2 "$c1"███"$c2" "$c1"███"$c2" "$c1"███"$c2" %s" 1590 | "$c2 "$c1"███"$c2" "$c1"███"$c2" "$c1"███"$c2" %s" 1591 | "$c2 "$c1"████████████████████████████"$c2" "$c1"███"$c2" %s" 1592 | "$c2 "$c1"████████████████████████████"$c2" "$c1"███"$c2" %s" 1593 | "$c2 "$c1"███"$c2" "$c1"███"$c2" %s" 1594 | "$c2 "$c1"███"$c2" "$c1"███"$c2" %s" 1595 | "$c2 "$c1"███"$c2" "$c1"███"$c2" "$c1"███"$c2" %s" 1596 | "$c2 "$c1"███"$c2" "$c1"███"$c2" "$c1"███"$c2" %s" 1597 | "$c2 %s") 1598 | ;; 1599 | 1600 | "Gentoo") 1601 | c1="\e[1;37m" # White 1602 | c2="\e[1;35m" # Light Purple 1603 | if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; fi 1604 | startline="1" 1605 | fulloutput=("$c2 -/oyddmdhs+:." 1606 | "$c2 -o"$c1"dNMMMMMMMMNNmhy+"$c2"-\` %s" 1607 | "$c2 -y"$c1"NMMMMMMMMMMMNNNmmdhy"$c2"+- %s" 1608 | "$c2 \`o"$c1"mMMMMMMMMMMMMNmdmmmmddhhy"$c2"/\` %s" 1609 | "$c2 om"$c1"MMMMMMMMMMMN"$c2"hhyyyo"$c1"hmdddhhhd"$c2"o\` %s" 1610 | "$c2.y"$c1"dMMMMMMMMMMd"$c2"hs++so/s"$c1"mdddhhhhdm"$c2"+\` %s" 1611 | "$c2 oy"$c1"hdmNMMMMMMMN"$c2"dyooy"$c1"dmddddhhhhyhN"$c2"d. %s" 1612 | "$c2 :o"$c1"yhhdNNMMMMMMMNNNmmdddhhhhhyym"$c2"Mh %s" 1613 | "$c2 .:"$c1"+sydNMMMMMNNNmmmdddhhhhhhmM"$c2"my %s" 1614 | "$c2 /m"$c1"MMMMMMNNNmmmdddhhhhhmMNh"$c2"s: %s" 1615 | "$c2 \`o"$c1"NMMMMMMMNNNmmmddddhhdmMNhs"$c2"+\` %s" 1616 | "$c2 \`s"$c1"NMMMMMMMMNNNmmmdddddmNMmhs"$c2"/. %s" 1617 | "$c2 /N"$c1"MMMMMMMMNNNNmmmdddmNMNdso"$c2":\` %s" 1618 | "$c2+M"$c1"MMMMMMNNNNNmmmmdmNMNdso"$c2"/- %s" 1619 | "$c2yM"$c1"MNNNNNNNmmmmmNNMmhs+/"$c2"-\` %s" 1620 | "$c2/h"$c1"MMNNNNNNNNMNdhs++/"$c2"-\` %s" 1621 | "$c2\`/"$c1"ohdmmddhys+++/:"$c2".\` %s" 1622 | "$c2 \`-//////:--.") 1623 | ;; 1624 | 1625 | "Fedora") 1626 | c1="\e[1;37m" # White 1627 | c2="\e[1;34m" # Light Blue 1628 | if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; fi 1629 | startline="0" 1630 | fulloutput=("$c2 :/------------:// %s" 1631 | "$c2 :------------------:// %s" 1632 | "$c2 :-----------"$c1"/shhdhyo/"$c2"-:// %s" 1633 | "$c2 /-----------"$c1"omMMMNNNMMMd/"$c2"-:/ %s" 1634 | "$c2 :-----------"$c1"sMMMdo:/"$c2" -:/ %s" 1635 | "$c2 :-----------"$c1":MMMd"$c2"------- --:/ %s" 1636 | "$c2 /-----------"$c1":MMMy"$c2"------- ---/ %s" 1637 | "$c2 :------ --"$c1"/+MMMh/"$c2"-- ---: %s" 1638 | "$c2 :--- "$c1"oNMMMMMMMMMNho"$c2" -----: %s" 1639 | "$c2 :-- "$c1"+shhhMMMmhhy++"$c2" ------: %s" 1640 | "$c2 :- -----"$c1":MMMy"$c2"--------------/ %s" 1641 | "$c2 :- ------"$c1"/MMMy"$c2"-------------: %s" 1642 | "$c2 :- ----"$c1"/hMMM+"$c2"------------: %s" 1643 | "$c2 :--"$c1":dMMNdhhdNMMNo"$c2"-----------: %s" 1644 | "$c2 :---"$c1":sdNMMMMNds:"$c2"----------: %s" 1645 | "$c2 :------"$c1":://:"$c2"-----------:// %s" 1646 | "$c2 :--------------------://") 1647 | ;; 1648 | 1649 | "FreeBSD") 1650 | c1="\e[1;37m" # Red 1651 | c2="\e[1;31m" # Light Red 1652 | if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; fi 1653 | startline="1" 1654 | fulloutput=( 1655 | " "$c1"\`\`\` "$c2"\` " 1656 | " "$c1"\` \`.....---..."$c2"....--.\`\`\` -/ %s" #user@host 1657 | " "$c1"+o .--\` "$c2"/y:\` +. %s" # OS 1658 | " "$c1" yo\`:. "$c2":o \`+- %s" # Kernel 1659 | " "$c1"y/ "$c2"-/\` -o/ %s" # Uptime 1660 | " "$c1".- "$c2"::/sy+:. %s" # Packages 1661 | " "$c1"/ "$c2"\`-- / %s" # Shell 1662 | " "$c1"\`: "$c2":\` %s" # Resolution 1663 | " "$c1"\`: "$c2":\` %s" # DE 1664 | " "$c1"/ "$c2"/ %s" # WM 1665 | " "$c1".- "$c2"-. %s" # WM Theme 1666 | " "$c1"-- "$c2"-. %s" # GTK2 Theme 1667 | " "$c1"\`:\` "$c2"\`:\` %s" # GTK3 Theme 1668 | " "$c2".-- \`--. %s" # Icon Theme 1669 | " "$c2" .---.....----. %s" # Font 1670 | " %s" # RAM 1671 | ) 1672 | ;; 1673 | 1674 | "OpenBSD") 1675 | c1="\e[1;33m" # Light Yellow 1676 | c2="\e[0;33m" # Bold Yellow 1677 | c3="\e[1;36m" # Light Cyan 1678 | c4="\e[1;31m" # Light Red 1679 | c5="\e[1;37m" 1680 | c6="\e[1;30m" 1681 | if [ -n "${my_lcolor}" ]; then c1="$my_lcolor"; c2="${my_color}"; fi 1682 | startline="5" 1683 | fulloutput=( 1684 | " "$c3" _ " 1685 | " "$c3"(_) " 1686 | ""$c1" | . " 1687 | ""$c1" . |L /| . "$c3" _ " 1688 | ""$c1" _ . |\ _| \--+._/| . "$c3"(_) " 1689 | ""$c1" / ||\| Y J ) / |/| ./ %s" # Host 1690 | ""$c1" J |)'( | \` F\`.'/ "$c3" _ %s" # OS 1691 | ""$c1" -<| F __ .-< "$c3"(_) %s" # Kernel 1692 | ""$c1" | / .-'"$c3". "$c1"\`. /"$c3"-. "$c1"L___ %s" # Uptime 1693 | ""$c1" J \ < "$c3"\ "$c1" | | "$c6"O"$c3"\\\\"$c1"|.-' "$c3" _ %s" # Package 1694 | ""$c1" _J \ .- \\\\"$c3"/ "$c6"O "$c3"| "$c1"| \ |"$c1"F "$c3"(_) %s" # Shell 1695 | ""$c1" '-F -<_. \ .-' \`-' L__ %s" 1696 | ""$c1"__J _ _. >-' "$c2")"$c4"._. "$c1"|-' %s " 1697 | ""$c1" \`-|.' /_. "$c4"\_| "$c1" F %s " 1698 | ""$c1" /.- . _.< %s" 1699 | ""$c1" /' /.' .' \`\ %s" 1700 | ""$c1" /L /' |/ _.-'-\ %s " 1701 | ""$c1" /'J ___.---'\| %s" 1702 | ""$c1" |\ .--' V | \`. \` %s " 1703 | ""$c1" |/\`. \`-. \`._) %s" 1704 | ""$c1" / .-.\ %s" 1705 | ""$c1" \ ( \`\ " 1706 | ""$c1" \`.\ " 1707 | ) 1708 | ;; 1709 | 1710 | "DragonFlyBSD") 1711 | c1="\e[1;31m" # Red 1712 | c2="\e[1;37m" # White 1713 | c3="\e[1;33m" # 1714 | c4="\e[0;31m" 1715 | startline="0" 1716 | fulloutput=(" "$c1" | %s" 1717 | " "$c1" .-. %s" 1718 | " "$c3" ()"$c1"I"$c3"() %s" 1719 | " "$c1" \"==.__:-:__.==\" %s" 1720 | " "$c1"\"==.__/~|~\__.==\" %s" 1721 | " "$c1"\"==._( Y )_.==\" %s" 1722 | " "$c2".-'~~\"\"~=--...,__"$c1"\/|\/"$c2"__,...--=~\"\"~~'-. %s" 1723 | " "$c2"( ..="$c1"\\\\="$c1"/"$c2"=.. )%s" 1724 | " "$c2"\`'-. ,.-\"\`;"$c1"/=\\\\"$c2" ;\"-.,_ .-'\`%s" 1725 | " "$c2" \`~\"-=-~\` .-~\` "$c1"|=|"$c2" \`~-. \`~-=-\"~\` %s" 1726 | " "$c2" .-~\` /"$c1"|=|"$c2"\ \`~-. %s" 1727 | " "$c2" .~\` / "$c1"|=|"$c2" \ \`~. %s" 1728 | " "$c2" .-~\` .' "$c1"|=|"$c2" \\\\\`. \`~-. %s" 1729 | " "$c2" (\` _,.-=\"\` "$c1" |=|"$c2" \`\"=-.,_ \`) %s" 1730 | " "$c2" \`~\"~\"\` "$c1" |=|"$c2" \`\"~\"~\` %s" 1731 | " "$c1" /=\ %s" 1732 | " "$c1" \=/ %s" 1733 | " "$c1" ^ %s" 1734 | ) 1735 | ;; 1736 | 1737 | "NetBSD") 1738 | c1="\e[1;31m" # Light Red 1739 | c2="\e[1;37m" # White 1740 | startline="2" 1741 | fulloutput=( 1742 | " "$c1"__,gnnnOCCCCCOObaau,_ " 1743 | " "$c2"_._ "$c1"__,gnnCCCCCCCCOPF\"'' " 1744 | " "$c2"(N\\\\\\\\"$c1"XCbngg,._____.,gnnndCCCCCCCCCCCCF\"___,,,,___ %s" 1745 | " "$c2"\\\\N\\\\\\\\"$c1"XCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCOOOOPYvv. %s" 1746 | " "$c2"\\\\N\\\\\\\\"$c1"XCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCPF\"'' %s" 1747 | " "$c2"\\\\N\\\\\\\\"$c1"XCCCCCCCCCCCCCCCCCCCCCCCCCOF\"' %s" 1748 | " "$c2"\\\\N\\\\\\\\"$c1"XCCCCCCCCCCCCCCCCCCCCOF\"' %s" 1749 | " "$c2"\\\\N\\\\\\\\"$c1"XCCCCCCCCCCCCCCCPF\"' %s" 1750 | " "$c2"\\\\N\\\\\\\\"$c1"\"PCOCCCOCCFP\"\" %s" 1751 | " "$c2"\\\\N\ %s" 1752 | " "$c2"\\\\N\ %s" 1753 | " "$c2"\\\\N\ %s" 1754 | " "$c2"\\\\NN\ %s" 1755 | " "$c2"\\\\NN\ %s" 1756 | " "$c2"\\\\NNA. %s" 1757 | " "$c2"\\\\NNA, %s" 1758 | " "$c2"\\\\NNN, %s" 1759 | " "$c2"\\\\NNN\ %s" 1760 | " "$c2"\\\\NNN\ " 1761 | " "$c2"\\\\NNNA" 1762 | ) 1763 | ;; 1764 | 1765 | "Mandriva"|"Mandrake") 1766 | c1="\e[1;34m" # Light Blue 1767 | c2="\e[1;33m" # Bold Yellow 1768 | if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; fi 1769 | startline="0" 1770 | fulloutput=("$c2 \`\` %s" 1771 | "$c2 \`-. %s" 1772 | "$c1 \` $c2.--- %s" 1773 | "$c1 -/ $c2-::--\` %s" 1774 | "$c1 \`++ $c2\`----...\`\`\`-:::::. %s" 1775 | "$c1 \`os. $c2.::::::::::::::-\`\`\` \` \` %s" 1776 | "$c1 +s+ $c2.::::::::::::::::---...--\` %s" 1777 | "$c1 -ss: $c2\`-::::::::::::::::-.\`\`.\`\` %s" 1778 | "$c1 /ss- $c2.::::::::::::-.\`\` \` %s" 1779 | "$c1 +ss: $c2.::::::::::::- %s" 1780 | "$c1 /sso $c2.::::::-::::::- %s" 1781 | "$c1 .sss/ $c2-:::-.\` .::::: %s" 1782 | "$c1 /sss+. $c2..\`$c1 \`--\` $c2.::: %s" 1783 | "$c1 -ossso+/:://+/-\` $c2.:\` %s" 1784 | "$c1 -/+ooo+/-. $c2\` %s" 1785 | " %s") 1786 | ;; 1787 | 1788 | "openSUSE") 1789 | c1="\e[1;32m" # Bold Green 1790 | c2="\e[1;37m" # Bold White 1791 | if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; fi 1792 | startline="1" 1793 | fulloutput=("$c2 .;ldkO0000Okdl;." 1794 | "$c2 .;d00xl:,'....';:ok00d;. %s" 1795 | "$c2 .d00l' ,o00d. %s" 1796 | "$c2 .d0Kd."$c1" :Okxol:;'. "$c2":O0d. %s" 1797 | "$c2 'OK"$c1"KKK0kOKKKKKKKKKKOxo:' "$c2"lKO' %s" 1798 | "$c2 ,0K"$c1"KKKKKKKKKKKKKKK0d:"$c2",,,"$c1":dx:"$c2" ;00, %s" 1799 | "$c2 .OK"$c1"KKKKKKKKKKKKKKKk."$c2".oOkdl."$c1"'0k."$c2" cKO. %s" 1800 | "$c2 :KK"$c1"KKKKKKKKKKKKKKK: "$c2"kKx..od "$c1"lKd"$c2" .OK: %s" 1801 | "$c2 dKK"$c1"KKKKKKKKKOx0KKKd "$c2";0KKKO, "$c1"kKKc"$c2" dKd %s" 1802 | "$c2 dKK"$c1"KKKKKKKKKK;.;oOKx,.."$c2"'"$c1"..;kKKK0."$c2" dKd %s" 1803 | "$c2 :KK"$c1"KKKKKKKKKK0o;...;cdxxOK0Oxc,. "$c2".0K: %s" 1804 | "$c2 kKK"$c1"KKKKKKKKKKKKK0xl;'......,cdo "$c2"lKk %s" 1805 | "$c2 '0K"$c1"KKKKKKKKKKKKKKKKKKKK00KKOo; "$c2"c00' %s" 1806 | "$c2 .kK"$c1"KKOxddxkOO00000Okxoc;'. "$c2".dKk. %s" 1807 | "$c2 l0Ko. .c00l. %s" 1808 | "$c2 .l0Kk:. .;xK0l. %s" 1809 | "$c2 ,lkK0xl:;,,,,;:ldO0kl, %s" 1810 | "$c2 .':ldxkkkkxdl:'.") 1811 | ;; 1812 | 1813 | "Slackware") 1814 | c1="\e[1;34m" # Light Blue 1815 | c2="\e[1;37m" # Bold White 1816 | if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; fi 1817 | startline="2" 1818 | fulloutput=("$c1 :::::::" 1819 | "$c1 :::::::::::::::::::" 1820 | "$c1 ::::::::::::::::::::::::: %s" 1821 | "$c1 ::::::::"${c2}"cllcccccllllllll"${c1}":::::: %s" 1822 | "$c1 :::::::::"${c2}"lc dc"${c1}"::::::: %s" 1823 | "$c1 ::::::::"${c2}"cl clllccllll oc"${c1}"::::::::: %s" 1824 | "$c1 :::::::::"${c2}"o lc"${c1}"::::::::"${c2}"co oc"${c1}":::::::::: %s" 1825 | "$c1 ::::::::::"${c2}"o cccclc"${c1}":::::"${c2}"clcc"${c1}":::::::::::: %s" 1826 | "$c1 :::::::::::"${c2}"lc cclccclc"${c1}"::::::::::::: %s" 1827 | "$c1 ::::::::::::::"${c2}"lcclcc lc"${c1}":::::::::::: %s" 1828 | "$c1 ::::::::::"${c2}"cclcc"${c1}":::::"${c2}"lccclc oc"${c1}"::::::::::: %s" 1829 | "$c1 ::::::::::"${c2}"o l"${c1}"::::::::::"${c2}"l lc"${c1}"::::::::::: %s" 1830 | "$c1 :::::"${c2}"cll"${c1}":"${c2}"o clcllcccll o"${c1}"::::::::::: %s" 1831 | "$c1 :::::"${c2}"occ"${c1}":"${c2}"o clc"${c1}"::::::::::: %s" 1832 | "$c1 ::::"${c2}"ocl"${c1}":"${c2}"ccslclccclclccclclc"${c1}"::::::::::::: %s" 1833 | "$c1 :::"${c2}"oclcccccccccccccllllllllllllll"${c1}"::::: %s" 1834 | "$c1 ::"${c2}"lcc1lcccccccccccccccccccccccco"${c1}":::: %s" 1835 | "$c1 :::::::::::::::::::::::::::::::: %s" 1836 | "$c1 ::::::::::::::::::::::::::::" 1837 | "$c1 ::::::::::::::::::::::" 1838 | "$c1 ::::::::::::") 1839 | ;; 1840 | 1841 | "Red Hat Linux") 1842 | c1="\e[1;37m" # White 1843 | c2="\e[1;31m" # Light Red 1844 | if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; fi 1845 | startline="0" 1846 | fulloutput=("$c2 \`.-..........\` %s" 1847 | "$c2 \`////////::.\`-/. %s" 1848 | "$c2 -: ....-////////. %s" 1849 | "$c2 //:-::///////////\` %s" 1850 | "$c2 \`--::: \`-://////////////: %s" 1851 | "$c2 //////- \`\`.-:///////// .\` %s" 1852 | "$c2 \`://////:-.\` :///////::///:\` %s" 1853 | "$c2 .-/////////:---/////////////: %s" 1854 | "$c2 .-://////////////////////. %s" 1855 | "$c1 yMN+\`.-$c2::///////////////-\` %s" 1856 | "$c1 .-\`:NMMNMs\` \`..-------..\` %s" 1857 | "$c1 MN+/mMMMMMhoooyysshsss %s" 1858 | "$c1 MMM MMMMMMMMMMMMMMyyddMMM+ %s" 1859 | "$c1 MMMM MMMMMMMMMMMMMNdyNMMh\` hyhMMM %s" 1860 | "$c1 MMMMMMMMMMMMMMMMyoNNNMMM+. MMMMMMMM %s" 1861 | "$c1 MMNMMMNNMMMMMNM+ mhsMNyyyyMNMMMMsMM %s") 1862 | ;; 1863 | 1864 | "Frugalware") 1865 | c1="\e[1;37m" # White 1866 | c2="\e[1;36m" # Light Blue 1867 | if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; fi 1868 | startline="4" 1869 | fulloutput=("${c2} \`++/::-.\`" 1870 | "${c2} /o+++++++++/::-.\`" 1871 | "${c2} \`o+++++++++++++++o++/::-.\`" 1872 | "${c2} /+++++++++++++++++++++++oo++/:-.\`\`" 1873 | "${c2} .o+ooooooooooooooooooosssssssso++oo++/:-\` %s" 1874 | "${c2} ++osoooooooooooosssssssssssssyyo+++++++o: %s" 1875 | "${c2} -o+ssoooooooooooosssssssssssssyyo+++++++s\` %s" 1876 | "${c2} o++ssoooooo++++++++++++++sssyyyyo++++++o: %s" 1877 | "${c2} :o++ssoooooo"${c1}"/-------------"${c2}"+syyyyyo+++++oo %s" 1878 | "${c2} \`o+++ssoooooo"${c1}"/-----"${c2}"+++++ooosyyyyyyo++++os: %s" 1879 | "${c2} /o+++ssoooooo"${c1}"/-----"${c2}"ooooooosyyyyyyyo+oooss %s" 1880 | "${c2} .o++++ssooooos"${c1}"/------------"${c2}"syyyyyyhsosssy- %s" 1881 | "${c2} ++++++ssooooss"${c1}"/-----"${c2}"+++++ooyyhhhhhdssssso %s" 1882 | "${c2} -s+++++syssssss"${c1}"/-----"${c2}"yyhhhhhhhhhhhddssssy. %s" 1883 | "${c2} sooooooyhyyyyyh"${c1}"/-----"${c2}"hhhhhhhhhhhddddyssy+ %s" 1884 | "${c2} :yooooooyhyyyhhhyyyyyyhhhhhhhhhhdddddyssy\` %s" 1885 | "${c2} yoooooooyhyyhhhhhhhhhhhhhhhhhhhddddddysy/ %s" 1886 | "${c2}-ysooooooydhhhhhhhhhhhddddddddddddddddssy %s" 1887 | "${c2} .-:/+osssyyyysyyyyyyyyyyyyyyyyyyyyyyssy: %s" 1888 | "${c2} \`\`.-/+oosysssssssssssssssssssssss %s" 1889 | "${c2} \`\`.:/+osyysssssssssssssh." 1890 | "${c2} \`-:/+osyyssssyo" 1891 | "${c2} .-:+++\`") 1892 | ;; 1893 | 1894 | 1895 | "Peppermint") 1896 | c1="\e[1;37m" # White 1897 | c2="\e[1;31m" # Light Red 1898 | if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; fi 1899 | startline="1" 1900 | fulloutput=("${c2} 8ZZZZZZ"${c1}"MMMMM" 1901 | "${c2} .ZZZZZZZZZ"${c1}"MMMMMMM. %s" 1902 | "${c1} MM"${c2}"ZZZZZZZZZ"${c1}"MMMMMMM"${c2}"ZZZZ %s" 1903 | "${c1} MMMMM"${c2}"ZZZZZZZZ"${c1}"MMMMM"${c2}"ZZZZZZZM %s" 1904 | "${c1} MMMMMMM"${c2}"ZZZZZZZ"${c1}"MMMM"${c2}"ZZZZZZZZZ. %s" 1905 | "${c1} MMMMMMMMM"${c2}"ZZZZZZ"${c1}"MMM"${c2}"ZZZZZZZZZZZI %s" 1906 | "${c1} MMMMMMMMMMM"${c2}"ZZZZZZ"${c1}"MM"${c2}"ZZZZZZZZZZ"${c1}"MMM %s" 1907 | "${c2} .ZZZ"${c1}"MMMMMMMMMM"${c2}"IZZ"${c1}"MM"${c2}"ZZZZZ"${c1}"MMMMMMMMM %s" 1908 | "${c2} ZZZZZZZ"${c1}"MMMMMMMM"${c2}"ZZ"${c1}"M"${c2}"ZZZZ"${c1}"MMMMMMMMMMM %s" 1909 | "${c2} ZZZZZZZZZZZZZZZZ"${c1}"M"${c2}"Z"${c1}"MMMMMMMMMMMMMMM %s" 1910 | "${c2} .ZZZZZZZZZZZZZ"${c1}"MMM"${c2}"Z"${c1}"M"${c2}"ZZZZZZZZZZ"${c1}"MMMM %s" 1911 | "${c2} .ZZZZZZZZZZZ"${c1}"MMM"${c2}"7ZZ"${c1}"MM"${c2}"ZZZZZZZZZZ7"${c1}"M %s" 1912 | "${c2} ZZZZZZZZZ"${c1}"MMMM"${c2}"ZZZZ"${c1}"MMMM"${c2}"ZZZZZZZ77 %s" 1913 | "${c1} MMMMMMMMMMMM"${c2}"ZZZZZ"${c1}"MMMM"${c2}"ZZZZZ77 %s" 1914 | "${c1} MMMMMMMMMM"${c2}"7ZZZZZZ"${c1}"MMMMM"${c2}"ZZ77 %s" 1915 | "${c1} .MMMMMMM"${c2}"ZZZZZZZZ"${c1}"MMMMM"${c2}"Z7Z %s" 1916 | "${c1} MMMMM"${c2}"ZZZZZZZZZ"${c1}"MMMMMMM %s" 1917 | "${c2} NZZZZZZZZZZZ"${c1}"MMMMM" 1918 | "${c2} ZZZZZZZZZ"${c1}"MM") 1919 | ;; 1920 | 1921 | "SolusOS") 1922 | c1="\e[1;37m" # White 1923 | c2="\e[1;30m" # Light Gray 1924 | if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; fi 1925 | startline="1" 1926 | fulloutput=("${c1} e e" 1927 | "${c1} eee ee %s" 1928 | "${c1} eeee eee %s" 1929 | "${c2} wwwwwwwww"${c1}"eeeeee %s" 1930 | "${c2} wwwwwwwwwwwwwww"${c1}"eee %s" 1931 | "${c2} wwwwwwwwwwwwwwwwwww"${c1}"eeeeeeee %s" 1932 | "${c2} wwwww "${c1}"eeeee"${c2}"wwwwww"${c1}"eeee %s" 1933 | "${c2} www "${c1}"eeee"${c2}"wwwwww"${c1}"e %s" 1934 | "${c2} ww "${c1}"ee"${c2}"wwwwww %s" 1935 | "${c2} w wwwww %s" 1936 | "${c2} wwwww %s" 1937 | "${c2} wwwww %s" 1938 | "${c2} wwwww %s" 1939 | "${c2} wwww %s" 1940 | "${c2} wwww %s" 1941 | "${c2} wwww %s" 1942 | "${c2} www %s" 1943 | "${c2} ww") 1944 | ;; 1945 | 1946 | 1947 | 1948 | "Mageia") 1949 | c1="\e[1;34m" # Light Blue 1950 | c2="\e[0;36m" # Light Cyan 1951 | if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; fi 1952 | startline="1" 1953 | fulloutput=("$c2 .'' " 1954 | "$c2 '. .. %s" 1955 | "$c2 .,,. %s" 1956 | "$c2 ,;;. %s" 1957 | "$c2 ... ... %s" 1958 | "$c2 ',,' .:::. %s" 1959 | "$c1 .$c2,:c,$c1 .. . %s" 1960 | "$c1 :dkxc;'. ..,cxkd; %s" 1961 | "$c1 .dkkxxkkkkkkkkkkxxkkd. %s" 1962 | "$c1 .dkko. ';cloolc;. .dkkd %s" 1963 | "$c1 ckkx. .xkk; %s" 1964 | "$c1 xOO: cOOd %s" 1965 | "$c1 xOO: lOOd %s" 1966 | "$c1 lOOx. .kOO: %s" 1967 | "$c1 .k00d. .x00x %s" 1968 | "$c1 .k00O; ;k00O. %s" 1969 | "$c1 .lO0KOdc;,,;cdO0KOc. %s" 1970 | "$c1 ;d0KKKKKKKK0d; " 1971 | "$c1 .,;::;,. ") 1972 | ;; 1973 | 1974 | 1975 | "ParabolaGNU/Linux-libre") 1976 | c1="\e[1;35m" # Light Purple 1977 | c2="\e[1;37m" # White 1978 | if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; fi 1979 | startline="0" 1980 | fulloutput=("${c1} eeeeeeeee %s" 1981 | "${c1} eeeeeeeeeeeeeee %s" 1982 | "${c1} eeeeee"${c2}"//////////"${c1}"eeeee %s" 1983 | "${c1} eeeee"${c2}"///////////////"${c1}"eeeee %s" 1984 | "${c1} eeeee"${c2}"/// ////"${c1}"eeee %s" 1985 | "${c1} eeee"${c2}"// ///"${c1}"eeeee %s" 1986 | "${c1} eee "${c2}"///"${c1}"eeeee %s" 1987 | "${c1}ee "${c2}"//"${c1}"eeeeee %s" 1988 | "${c1}e "${c2}"/"${c1}"eeeeeee %s" 1989 | "${c1} eeeeeee %s" 1990 | "${c1} eeeeee %s" 1991 | "${c1} eeeeee %s" 1992 | "${c1} eeeee %s" 1993 | "${c1} eeee %s" 1994 | "${c1} eee %s" 1995 | "${c1} ee %s" 1996 | "${c1} e") 1997 | ;; 1998 | 1999 | 2000 | "Viperr") 2001 | c1="\e[1;37m" # White 2002 | if [[ -n "$colors_light" ]]; then c2="\e[1;37m" # White 2003 | else c2="\e[1;30m"; fi # Dark Gray 2004 | if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; fi 2005 | startline="0" 2006 | fulloutput=("${c1} wwzapd dlzazw %s" 2007 | "${c1} an"${c2}"#"${c1}"zncmqzepweeirzpas"${c2}"#"${c1}"xz %s" 2008 | "${c1} apez"${c2}"##"${c1}"qzdkawweemvmzdm"${c2}"##"${c1}"dcmv %s" 2009 | "${c1}zwepd"${c2}"####"${c1}"qzdweewksza"${c2}"####"${c1}"ezqpa %s" 2010 | "${c1}ezqpdkapeifjeeazezqpdkazdkwqz %s" 2011 | "${c1} ezqpdksz"${c2}"##"${c1}"wepuizp"${c2}"##"${c1}"wzeiapdk %s" 2012 | "${c1} zqpakdpa"${c2}"#"${c1}"azwewep"${c2}"#"${c1}"zqpdkqze %s" 2013 | "${c1} apqxalqpewenwazqmzazq %s" 2014 | "${c1} mn"${c2}"##"${c1}"=="${c2}"#######"${c1}"=="${c2}"##"${c1}"qp %s" 2015 | "${c1} qw"${c2}"##"${c1}"="${c2}"#######"${c1}"="${c2}"##"${c1}"zl %s" 2016 | "${c1} z0"${c2}"######"${c1}"="${c2}"######"${c1}"0a %s" 2017 | "${c1} qp"${c2}"#####"${c1}"="${c2}"#####"${c1}"mq %s" 2018 | "${c1} az"${c2}"####"${c1}"==="${c2}"####"${c1}"mn %s" 2019 | "${c1} ap"${c2}"#########"${c1}"qz %s" 2020 | "${c1} 9qlzskwdewz %s" 2021 | "${c1} zqwpakaiw %s" 2022 | "${c1} qoqpe") 2023 | ;; 2024 | 2025 | 2026 | "LinuxDeepin") 2027 | c1="\e[1;32m" # Bold Green 2028 | if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; fi 2029 | startline="0" 2030 | fulloutput=("${c1} eeeeeeeeeeeeeeeeeeeeeeeeeeee %s" 2031 | "${c1} eee eeeeeee eeeeeeee %s" 2032 | "${c1}ee eeeeeeeee eeeeeeeee ee %s" 2033 | "${c1}e eeeeeeeee eeeeeeeee e %s" 2034 | "${c1}e eeeeeee eeeeeeeeee e %s" 2035 | "${c1}e eeeeee eeeee e %s" 2036 | "${c1}e eeeee eee eee e %s" 2037 | "${c1}e eeeee ee eeeeee e %s" 2038 | "${c1}e eeeee eee eee e %s" 2039 | "${c1}e eeeeeeeeee eeee e %s" 2040 | "${c1}e eeeee eeee e %s" 2041 | "${c1}e eeeeee e %s" 2042 | "${c1}e eeeeeee e %s" 2043 | "${c1}e eee eeeeeeee e %s" 2044 | "${c1}eeeeeeeeeeeeeeee e %s" 2045 | "${c1}eeeeeeeeeeeee ee %s" 2046 | "${c1} eeeeeeeeeee eee %s" 2047 | "${c1} eeeeeeeeeeeeeeeeeeeeeeeeeeee") 2048 | ;; 2049 | 2050 | 2051 | "Chakra") 2052 | c1="\e[1;34m" # Light Blue 2053 | if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; fi 2054 | startline="1" 2055 | fulloutput=("${c1} _ _ _ \"kkkkkkkk." 2056 | "${c1} ,kkkkkkkk., \'kkkkkkkkk, %s" 2057 | "${c1} ,kkkkkkkkkkkk., \'kkkkkkkkk. %s" 2058 | "${c1} ,kkkkkkkkkkkkkkkk,\'kkkkkkkk, %s" 2059 | "${c1} ,kkkkkkkkkkkkkkkkkkk\'kkkkkkk. %s" 2060 | "${c1} \"\'\'\"\'\'\',;::,,\"\'\'kkk\'\'kkkkk; __ %s" 2061 | "${c1} ,kkkkkkkkkk, \"k\'\'kkkkk\' ,kkkk %s" 2062 | "${c1} ,kkkkkkk\' ., \' .: \'kkkk\',kkkkkk %s" 2063 | "${c1} ,kkkkkkkk\'.k\' , ,kkkk;kkkkkkkkk %s" 2064 | "${c1} ,kkkkkkkk\';kk \'k \"\'k\',kkkkkkkkkkkk %s" 2065 | "${c1} .kkkkkkkkk.kkkk.\'kkkkkkkkkkkkkkkkkk\' %s" 2066 | "${c1} ;kkkkkkkk\'\'kkkkkk;\'kkkkkkkkkkkkk\'\' %s" 2067 | "${c1} \'kkkkkkk; \'kkkkkkkk.,\"\"\'\'\"\'\'\"\" %s" 2068 | "${c1} \'\'kkkk; \'kkkkkkkkkk., %s" 2069 | "${c1} \';\' \'kkkkkkkkkkkk., %s" 2070 | "${c1} ';kkkkkkkkkk\' %s" 2071 | "${c1} ';kkkkkk\' %s" 2072 | "${c1} \"\'\'\"") 2073 | ;; 2074 | 2075 | 2076 | "Fuduntu") 2077 | if [[ -n "$colors_light" ]]; then c1="\e[1;37m" # White 2078 | else c1="\e[1;30m"; fi # Dark Gray 2079 | c2="\033[1;33m" # Bold Yellow 2080 | c3="\033[1;31m" # Light Red 2081 | c4="\033[1;37m" # White 2082 | if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; fi 2083 | startline="2" 2084 | fulloutput=("${c1} \`dwoapfjsod\`"${c2}" \`dwoapfjsod\`" 2085 | "${c1} \`xdwdsfasdfjaapz\`"${c2}" \`dwdsfasdfjaapzx\`" 2086 | "${c1} \`wadladfladlafsozmm\`"${c2}" \`wadladfladlafsozmm\` %s" 2087 | "${c1} \`aodowpwafjwodisosoaas\`"${c2}" \`odowpwafjwodisosoaaso\` %s" 2088 | "${c1} \`adowofaowiefawodpmmxs\`"${c2}" \`dowofaowiefawodpmmxso\` %s" 2089 | "${c1} \`asdjafoweiafdoafojffw\`"${c2}" \`sdjafoweiafdoafojffwq\` %s" 2090 | "${c1} \`dasdfjalsdfjasdlfjdd\`"${c2}" \`asdfjalsdfjasdlfjdda\` %s" 2091 | "${c1} \`dddwdsfasdfjaapzxaw\`"${c2}" \`ddwdsfasdfjaapzxawo\` %s" 2092 | "${c1} \`dddwoapfjsowzocmw\`"${c2}" \`ddwoapfjsowzocmwp\` %s" 2093 | "${c1} \`ddasowjfowiejao\`"${c2}" \`dasowjfowiejaow\` %s" 2094 | " %s" 2095 | "${c3} \`ddasowjfowiejao\`"${c4}" \`dasowjfowiejaow\` %s" 2096 | "${c3} \`dddwoapfjsowzocmw\`"${c4}" \`ddwoapfjsowzocmwp\` %s" 2097 | "${c3} \`dddwdsfasdfjaapzxaw\`"${c4}" \`ddwdsfasdfjaapzxawo\` %s" 2098 | "${c3} \`dasdfjalsdfjasdlfjdd\`"${c4}" \`asdfjalsdfjasdlfjdda\` %s" 2099 | "${c3} \`asdjafoweiafdoafojffw\`"${c4}" \`sdjafoweiafdoafojffwq\` %s" 2100 | "${c3} \`adowofaowiefawodpmmxs\`"${c4}" \`dowofaowiefawodpmmxso\` %s" 2101 | "${c3} \`aodowpwafjwodisosoaas\`"${c4}" \`odowpwafjwodisosoaaso\` %s" 2102 | "${c3} \`wadladfladlafsozmm\`"${c4}" \`wadladfladlafsozmm\`" 2103 | "${c3} \`dwdsfasdfjaapzx\`"${c4}" \`dwdsfasdfjaapzx\`" 2104 | "${c3} \`woapfjsod\`"${c4}" \`woapfjsod\`") 2105 | ;; 2106 | 2107 | "Mac OS X") 2108 | c1="\033[0;32m" # Green 2109 | c2="\033[0;33m" # Yellow 2110 | c3="\033[1;31m" # Orange 2111 | c4="\033[0;31m" # Red 2112 | c5="\033[0;35m" # Purple 2113 | c6="\033[0;36m" # Blue 2114 | if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; c3="${my_lcolor}"; c4="${my_lcolor}"; c5="${my_lcolor}"; c6="${my_lcolor}"; fi 2115 | startline="0" 2116 | fulloutput=("\n${c1} -/+:. %s" 2117 | "${c1} :++++. %s" 2118 | "${c1} /+++/. %s" 2119 | "${c1} .:-::- .+/:-\`\`.::- %s" 2120 | "${c1} .:/++++++/::::/++++++/:\` %s" 2121 | "${c2} .:///////////////////////:\` %s" 2122 | "${c2} ////////////////////////\` %s" 2123 | "${c3} -+++++++++++++++++++++++\` %s" 2124 | "${c3} /++++++++++++++++++++++/ %s" 2125 | "${c4} /sssssssssssssssssssssss. %s" 2126 | "${c4} :ssssssssssssssssssssssss- %s" 2127 | "${c5} osssssssssssssssssssssssso/\` %s" 2128 | "${c5} \`syyyyyyyyyyyyyyyyyyyyyyyy+\` %s" 2129 | "${c6} \`ossssssssssssssssssssss/ %s" 2130 | "${c6} :ooooooooooooooooooo+. %s" 2131 | "${c6} \`:+oo+/:-..-:/+o+/- %s\n") 2132 | ;; 2133 | 2134 | "Cygwin") 2135 | c1="\e[1;31m" # Red 2136 | c2="\e[1;32m" # Green 2137 | c3="\e[1;36m" # Blue 2138 | c4="\e[1;33m" # Yellow 2139 | if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; c3="${my_lcolor}"; c4="${my_lcolor}"; fi 2140 | startline="0" 2141 | fulloutput=("${c1} ,.=:!!t3Z3z., %s" 2142 | "${c1} :tt:::tt333EE3 %s" 2143 | "${c1} Et:::ztt33EEEL${c2} @Ee., .., %s" 2144 | "${c1} ;tt:::tt333EE7${c2} ;EEEEEEttttt33# %s" 2145 | "${c1} :Et:::zt333EEQ.${c2} \$EEEEEttttt33QL %s" 2146 | "${c1} it::::tt333EEF${c2} @EEEEEEttttt33F %s" 2147 | "${c1} ;3=*^\`\`\`\"*4EEV${c2} :EEEEEEttttt33@. %s" 2148 | "${c3} ,.=::::!t=., ${c1}\`${c2} @EEEEEEtttz33QF %s" 2149 | "${c3} ;::::::::zt33)${c2} \"4EEEtttji3P* %s" 2150 | "${c3} :t::::::::tt33.${c4}:Z3z..${c2} \`\`${c4} ,..g. %s" 2151 | "${c3} i::::::::zt33F${c4} AEEEtttt::::ztF %s" 2152 | "${c3} ;:::::::::t33V${c4} ;EEEttttt::::t3 %s" 2153 | "${c3} E::::::::zt33L${c4} @EEEtttt::::z3F %s" 2154 | "${c3}{3=*^\`\`\`\"*4E3)${c4} ;EEEtttt:::::tZ\` %s" 2155 | "${c3} \`${c4} :EEEEtttt::::z7 %s" 2156 | "${c4} \"VEzjt:;;z>*\` %s") 2157 | ;; 2158 | 2159 | "Trisquel") 2160 | c1="\e[1;34m" # Light Blue 2161 | c2="\e[1;36m" # Blue 2162 | if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; fi 2163 | startline="1" 2164 | fulloutput=( 2165 | "${c1} ▄▄▄▄▄▄ " 2166 | "${c1} ▄█████████▄ %s" 2167 | "${c1} ▄▄▄▄▄▄ ████▀ ▀████ %s" 2168 | "${c1} ▄██████████▄ ████▀ ▄▄ ▀███ %s" 2169 | "${c1} ▄███▀▀ ▀▀████ ███▄ ▄█ ███ %s" 2170 | "${c1} ▄███ ▄▄▄ ████▄ ▀██████ ▄███ %s" 2171 | "${c1} ███ █▀▀██▄ █████▄ ▀▀ ▄████ %s" 2172 | "${c1} ▀███ ███ ███████▄▄ ▄▄██████ %s" 2173 | "${c1} ▀███▄ ▄███ █████████████${c2}████▀ %s" 2174 | "${c1} ▀█████████ ███████${c2}███▀▀▀ %s" 2175 | "${c1} ▀▀███▀▀ ██${c2}████▀▀ %s" 2176 | "${c2} ██████▀ ▄▄▄▄ %s" 2177 | "${c2} █████▀ ████████ %s" 2178 | "${c2} █████ ███▀ ▀███ %s" 2179 | "${c2} ████▄ ██▄▄▄ ███ %s" 2180 | "${c2} █████▄ ▀▀ ▄██ %s" 2181 | "${c2} ██████▄▄▄████ %s" 2182 | "${c2} ▀▀█████▀▀ ") 2183 | ;; 2184 | 2185 | "Manjaro") 2186 | c1="\e[1;32m" # Green 2187 | if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; fi 2188 | startline="0" 2189 | fulloutput=( 2190 | "${c1} ██████████████████ ████████ %s" 2191 | "${c1} ██████████████████ ████████ %s" 2192 | "${c1} ██████████████████ ████████ %s" 2193 | "${c1} ██████████████████ ████████ %s" 2194 | "${c1} ████████ ████████ %s" 2195 | "${c1} ████████ ████████ ████████ %s" 2196 | "${c1} ████████ ████████ ████████ %s" 2197 | "${c1} ████████ ████████ %s" 2198 | "${c1} ████████ ████████ ████████ %s" 2199 | "${c1} ████████ ████████ ████████ %s" 2200 | "${c1} ████████ ████████ ████████ %s" 2201 | "${c1} ████████ ████████ ████████ %s" 2202 | "${c1} ████████ ████████ ████████ %s" 2203 | "${c1} ████████ ████████ ████████ %s" 2204 | "${c1} ████████ ████████ ████████ %s" 2205 | "${c1} ████████ ████████ ████████ %s" 2206 | "${c1} ████████ ████████ ████████") 2207 | ;; 2208 | 2209 | "Android") 2210 | c1="\e[1;37m" # White 2211 | c2="\e[1;32m" # Bold Green 2212 | if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; fi 2213 | startline="2" 2214 | fulloutput=( 2215 | "${c2} \ |##| /" 2216 | "${c2} |######|" 2217 | "${c2} |##${c1}{}${c2}###${c1}{}${c2}#| %s" 2218 | "${c2} |############| %s" 2219 | "${c2} %s" 2220 | "${c2} mm |############| mm %s" 2221 | "${c2} || |############| || %s" 2222 | "${c2} || |############| || %s" 2223 | "${c2} uu |############| uu %s" 2224 | "${c2} |############| %s" 2225 | "${c2} |############| %s" 2226 | "${c2} || ||" 2227 | "${c2} uu uu") 2228 | ;; 2229 | 2230 | *) 2231 | c1="\e[1;37m" # White 2232 | c2="\e[1;30m" # Light Gray 2233 | c3="\e[1;33m" # Light Yellow 2234 | if [ -n "${my_lcolor}" ]; then c1="${my_lcolor}"; c2="${my_lcolor}"; c3="${my_lcolor}"; fi 2235 | startline="0" 2236 | fulloutput=(" %s" 2237 | " %s" 2238 | "$c2 #####$c0 %s" 2239 | "$c2 ####### %s" 2240 | "$c2 ##"$c1"O$c2#"$c1"O$c2## %s" 2241 | "$c2 #$c3#####$c2# %s" 2242 | "$c2 ##$c1##$c3###$c1##$c2## %s" 2243 | "$c2 #$c1##########$c2## %s" 2244 | "$c2 #$c1############$c2## %s" 2245 | "$c2 #$c1############$c2### %s" 2246 | "$c3 ##$c2#$c1###########$c2##$c3# %s" 2247 | "$c3 ######$c2#$c1#######$c2#$c3###### %s" 2248 | "$c3 #######$c2#$c1#####$c2#$c3####### %s" 2249 | "$c3 #####$c2#######$c3##### %s" 2250 | " %s" 2251 | " %s") 2252 | ;; 2253 | esac 2254 | 2255 | 2256 | # Truncate lines based on terminal width. 2257 | if [ "$truncateSet" == "Yes" ]; then 2258 | for ((i=0; i<${#fulloutput[@]}; i++)); do 2259 | my_out=$(printf "${fulloutput[i]}$c0\n" "${out_array}") 2260 | my_out_full=$(echo "$my_out" | cat -v) 2261 | termWidth=$(tput cols) 2262 | SHOPT_EXTGLOB_STATE=$(shopt -p extglob) 2263 | read SHOPT_CMD SHOPT_STATE SHOPT_OPT <<< ${SHOPT_EXTGLOB_STATE} 2264 | if [[ ${SHOPT_STATE} == "-u" ]]; then 2265 | shopt -s extglob 2266 | fi 2267 | 2268 | stringReal="${my_out_full//\^\[\[@([0-9]|[0-9];[0-9][0-9])m}" 2269 | 2270 | if [[ ${SHOPT_STATE} == "-u" ]]; then 2271 | shopt -u extglob 2272 | fi 2273 | 2274 | if [[ "${#stringReal}" -le "${termWidth}" ]]; then 2275 | echo -e "${my_out}"$c0 2276 | elif [[ "${#stringReal}" -gt "${termWidth}" ]]; then 2277 | ((NORMAL_CHAR_COUNT=0)) 2278 | for ((j=0; j<=${#my_out_full}; j++)); do 2279 | if [[ "${my_out_full:${j}:3}" == '^[[' ]]; then 2280 | if [[ "${my_out_full:${j}:5}" =~ ^\^\[\[[[:digit:]]m$ ]]; then 2281 | if [[ ${j} -eq 0 ]]; then 2282 | j=$((${j} + 5)) 2283 | else 2284 | j=$((${j} + 4)) 2285 | fi 2286 | elif [[ "${my_out_full:${j}:8}" =~ ^\^\[\[[[:digit:]]\;[[:digit:]][[:digit:]]m ]]; then 2287 | if [[ ${j} -eq 0 ]]; then 2288 | j=$((${j} + 8)) 2289 | else 2290 | j=$((${j} + 7)) 2291 | fi 2292 | fi 2293 | else 2294 | ((NORMAL_CHAR_COUNT++)) 2295 | if [[ ${NORMAL_CHAR_COUNT} -ge ${termWidth} ]]; then 2296 | echo -e "${my_out:0:$((${j} - 5))}"$c0 2297 | break 1 2298 | fi 2299 | fi 2300 | done 2301 | fi 2302 | 2303 | if [[ "$i" -ge "$startline" ]]; then 2304 | unset out_array[0] 2305 | out_array=( "${out_array[@]}" ) 2306 | fi 2307 | done 2308 | else 2309 | #n=${#fulloutput[*]} 2310 | for ((i=0; i<${#fulloutput[*]}; i++)); do 2311 | # echo "${out_array[@]}" 2312 | printf "${fulloutput[i]}$c0\n" "${out_array}" 2313 | if [[ "$i" -ge "$startline" ]]; then 2314 | unset out_array[0] 2315 | out_array=( "${out_array[@]}" ) 2316 | fi 2317 | done 2318 | fi 2319 | # Done with ASCII output 2320 | } 2321 | 2322 | infoDisplay () { 2323 | textcolor="\033[0m" 2324 | [[ "$my_hcolor" ]] && textcolor="${my_hcolor}" 2325 | #TODO: Centralize colors and use them across the board so we only change them one place. 2326 | case $distro in 2327 | "Arch Linux - Old"|"Fedora"|"Mandriva"|"Mandrake"|"Chakra") labelcolor="\e[0;34m";; 2328 | "Arch Linux"|"Frugalware"|"Mageia") labelcolor="\e[0;34m";; 2329 | "Mint"|"LMDE"|"openSUSE"|"LinuxDeepin"|"DragonflyBSD"|"Manjaro"|"Android") labelcolor="\e[1;32m";; 2330 | "Ubuntu"|"FreeBSD"|"Debian"|"BSD"|"Red Hat Linux"|"Peppermint"|"Cygwin"|"Fuduntu"|"NetBSD") labelcolor="\e[1;31m";; 2331 | "CrunchBang"|"SolusOS"|"Viperr") 2332 | if [[ -n "$colors_light" ]]; then labelcolor="\e[1;37m" 2333 | else labelcolor="\e[1;30m"; fi 2334 | ;; 2335 | "Gentoo"|"ParabolaGNU/Linux-libre") labelcolor="\e[1;35m";; 2336 | "Slackware") labelcolor="\e[1;34m";; 2337 | "Mac OS X"|"Trisquel") labelcolor="\033[1;34m";; 2338 | *) labelcolor="\e[1;33m";; 2339 | esac 2340 | [[ "$my_lcolor" ]] && labelcolor="${my_lcolor}" 2341 | # Some verbosity stuff 2342 | [[ "$verbosity" == "1" ]] && [[ "$screenshot" == "1" ]] && verboseOut "Screenshot will be taken after info is displayed." 2343 | [[ "$verbosity" == "1" ]] && [[ "$hostshot" == "1" ]] && verboseOut "Screenshot will be transferred/uploaded to specified location." 2344 | ######################### 2345 | # Info Variable Setting # 2346 | ######################### 2347 | if [[ "${distro}" == "Android" ]]; then 2348 | myhostname=$(echo -e "${labelcolor}${hostname}"); out_array=( "${out_array[@]}" "$myhostname" ) 2349 | mydistro=$(echo -e "$labelcolor OS:$textcolor $distro $distro_ver"); out_array=( "${out_array[@]}" "$mydistro" ) 2350 | mydevice=$(echo -e "$labelcolor Device:$textcolor $device"); out_array=( "${out_array[@]}" "$mydevice" ) 2351 | myrom=$(echo -e "$labelcolor ROM:$textcolor $rom"); out_array=( "${out_array[@]}" "$myrom" ) 2352 | mybaseband=$(echo -e "$labelcolor Baseband:$textcolor $baseband"); out_array=( "${out_array[@]}" "$mybaseband" ) 2353 | mykernel=$(echo -e "$labelcolor Kernel:$textcolor $kernel"); out_array=( "${out_array[@]}" "$mykernel" ) 2354 | myuptime=$(echo -e "$labelcolor Uptime:$textcolor $uptime"); out_array=( "${out_array[@]}" "$myuptime" ) 2355 | mycpu=$(echo -e "$labelcolor CPU:$textcolor $cpu"); out_array=( "${out_array[@]}" "$mycpu" ) 2356 | mymem=$(echo -e "$labelcolor RAM:$textcolor $mem"); out_array=( "${out_array[@]}" "$mymem" ) 2357 | else 2358 | if [[ "${display[@]}" =~ "host" ]]; then myinfo=$(echo -e "${labelcolor}${myUser}$textcolor$bold@${labelcolor}${myHost}"); out_array=( "${out_array[@]}" "$myinfo" ); ((display_index++)); fi 2359 | if [[ "${display[@]}" =~ "distro" ]]; then 2360 | if [ "$distro" == "Mac OS X" ]; then 2361 | sysArch=`str1=$(ioreg -l -p IODeviceTree | grep firmware-abi);echo ${str1: -4: 2}bit` 2362 | prodVers=`prodVers=$(sw_vers|grep ProductVersion);echo ${prodVers:15}` 2363 | buildVers=`buildVers=$(sw_vers|grep BuildVersion);echo ${buildVers:14}` 2364 | if [ -n "$distro_more" ]; then mydistro=$(echo -e "$labelcolor OS:$textcolor $distro_more $sysArch") 2365 | else mydistro=$(echo -e "$labelcolor OS:$textcolor $sysArch $distro $prodVers $buildVers"); fi 2366 | #elif [[ "$distro" == "Cygwin" ]]; then 2367 | # if [[ -n "$fake_distro" ]]; then 2368 | # distro_more="$fake_distro" 2369 | # else 2370 | # distro_more=$(wmic os get caption | grep Microsoft | sed 's/[ \t]*$//') 2371 | # fi 2372 | # sysArch=$(wmic os get OSArchitecture | grep ^[0-9] | sed 's/[ \t]*$//') 2373 | else 2374 | if [ -n "$distro_more" ]; then mydistro=$(echo -e "$labelcolor OS:$textcolor $distro_more") 2375 | else mydistro=$(echo -e "$labelcolor OS:$textcolor $distro $sysArch"); fi 2376 | fi 2377 | out_array=( "${out_array[@]}" "$mydistro" ) 2378 | ((display_index++)) 2379 | fi 2380 | if [[ "${display[@]}" =~ "kernel" ]]; then mykernel=$(echo -e "$labelcolor Kernel:$textcolor $kernel"); out_array=( "${out_array[@]}" "$mykernel" ); ((display_index++)); fi 2381 | if [[ "${display[@]}" =~ "uptime" ]]; then myuptime=$(echo -e "$labelcolor Uptime:$textcolor $uptime"); out_array=( "${out_array[@]}" "$myuptime" ); ((display_index++)); fi 2382 | if [[ "${display[@]}" =~ "pkgs" ]]; then mypkgs=$(echo -e "$labelcolor Packages:$textcolor $pkgs"); out_array=( "${out_array[@]}" "$mypkgs" ); ((display_index++)); fi 2383 | if [[ "${display[@]}" =~ "shell" ]]; then myshell=$(echo -e "$labelcolor Shell:$textcolor $myShell"); out_array=( "${out_array[@]}" "$myshell" ); ((display_index++)); fi 2384 | if [[ -n "$DISPLAY" ]]; then 2385 | if [[ "${display[@]}" =~ "res" ]]; then myres=$(echo -e "$labelcolor Resolution:${textcolor} $xResolution"); out_array=( "${out_array[@]}" "$myres" ); ((display_index++)); fi 2386 | #if [[ "${display[@]}" =~ "de" ]]; then myde=$(echo -e "$labelcolor DE:$textcolor $DE"); out_array=( "${out_array[@]}" "$myde" ); ((display_index++)); fi 2387 | if [[ "${display[@]}" =~ "wm" ]]; then mywm=$(echo -e "$labelcolor WM:$textcolor $WM"); out_array=( "${out_array[@]}" "$mywm" ); ((display_index++)); fi 2388 | #if [[ "${display[@]}" =~ "wmtheme" ]]; then 2389 | #if [[ "${Win_theme}" == "Not Present" ]]; then 2390 | #continue 2391 | #else 2392 | #mywmtheme=$(echo -e "$labelcolor WM Theme:$textcolor $Win_theme"); out_array=( "${out_array[@]}" "$mywmtheme" ); ((display_index++)); fi 2393 | #fi 2394 | if [[ "${display[@]}" =~ "gtk" ]]; then 2395 | if [ "$distro" == "Mac OS X" ]; then 2396 | myicons=$(echo -e "$labelcolor Icon Theme:$textcolor $gtkIcons"); out_array=( "${out_array[@]}" "$myicons" ); ((display_index++)) 2397 | myfont=$(echo -e "$labelcolor Font:$textcolor $gtkFont"); out_array=( "${out_array[@]}" "$myfont" ); ((display_index++)) 2398 | else 2399 | if [ "$gtk2Theme" != "Not Found" ]; then mygtk2=$(echo -e "$labelcolor GTK2 Theme:$textcolor $gtk2Theme"); out_array=( "${out_array[@]}" "$mygtk2" ); ((display_index++)); fi 2400 | #mygtk3=$(echo -e "$labelcolor GTK3 Theme:$textcolor $gtk3Theme"); out_array=( "${out_array[@]}" "$mygtk3" ); ((display_index++)) 2401 | myicons=$(echo -e "$labelcolor Icon Theme:$textcolor $gtkIcons"); out_array=( "${out_array[@]}" "$myicons" ); ((display_index++)) 2402 | myfont=$(echo -e "$labelcolor Font:$textcolor $gtkFont"); out_array=( "${out_array[@]}" "$myfont" ); ((display_index++)) 2403 | # [ "$gtkBackground" ] && mybg=$(echo -e "$labelcolor BG:$textcolor $gtkBackground"); out_array=( "${out_array[@]}" "$mybg" ); ((display_index++)) 2404 | fi 2405 | fi 2406 | fi 2407 | if [[ "${display[@]}" =~ "cpu" ]]; then mycpu=$(echo -e "$labelcolor CPU:$textcolor $cpu"); out_array=( "${out_array[@]}" "$mycpu" ); ((display_index++)); fi 2408 | if [[ "${display[@]}" =~ "mem" ]]; then mymem=$(echo -e "$labelcolor RAM:$textcolor $mem"); out_array=( "${out_array[@]}" "$mymem" ); ((display_index++)); fi 2409 | fi 2410 | if [[ "$display_type" == "ASCII" ]]; then 2411 | asciiText 2412 | else 2413 | echo -e "$mydistro" 2414 | if [[ "${distro}" == "Android" ]]; then 2415 | echo -e "$mydevice" 2416 | echo -e "$myrom" 2417 | echo -e "$mybaseband" 2418 | echo -e "$mykernel" 2419 | echo -e "$myuptime" 2420 | echo -e "$mycpu" 2421 | echo -e "$mymem" 2422 | else 2423 | echo -e "$myres" 2424 | echo -e "$myde" 2425 | echo -e "$mywm" 2426 | echo -e "$mywmtheme" 2427 | echo -e "$mygtk2" 2428 | echo -e "$mygtk3" 2429 | echo -e "$myicons" 2430 | echo -e "$myfont" 2431 | echo -e "$mycpu" 2432 | echo -e "$mymem" 2433 | fi 2434 | fi 2435 | } 2436 | 2437 | ######## 2438 | # Theme Exporting (Experimental!) 2439 | ######## 2440 | themeExport () { 2441 | WM=$(echo "$mywm" | awk '{print $NF}') 2442 | if [[ ! -d /tmp/screenfetch-export ]]; then mkdir -p "/tmp/screenfetch-export/Icons" & mkdir -p "/tmp/screenfetch-export/GTK-Theme" & mkdir -p "/tmp/screenfetch-export/WM-${WM}" ; fi 2443 | if [[ "$WM" ]]; then 2444 | if [[ "$WM" =~ "Openbox" ]]; then 2445 | if [[ "$Win_theme" != "Not Found" ]]; then 2446 | if [[ -d "$HOME/.themes/$Win_theme" ]]; then 2447 | cp -r "$HOME/.themes/$Win_theme" "/tmp/screenfetch-export/WM-${WM}/$Win_theme" &>/dev/null 2448 | [[ "$verbosity" -eq "1" ]] && verboseOut "Found WM theme folder. Transferring to /tmp/screenfetch-export/..." 2449 | fi 2450 | fi 2451 | elif [[ "$WM" =~ "Fluxbox" ]]; then 2452 | if [[ "$Win_theme" != "Not Found" ]]; then 2453 | if [[ -d "$HOME/.fluxbox/styles/$Win_theme" ]]; then 2454 | cp -r "$HOME/.fluxbox/styles/$Win_theme" "/tmp/screenfetch-export/WM-${WM}/$Win_theme" &>/dev/null 2455 | [[ "$verbosity" -eq "1" ]] && verboseOut "Found WM theme folder. Transferring to /tmp/screenfetch-export/..." 2456 | fi 2457 | fi 2458 | elif [[ "$WM" =~ "Blackbox" ]]; then 2459 | if [[ "$Win_theme" != "Not Found" ]]; then 2460 | if [[ -d "$HOME/.blackbox/styles/$Win_theme" ]]; then 2461 | cp -r "$HOME/.blackbox/styles/$Win_theme" "/tmp/screenfetch-export/WM-${WM}/$Win_theme" &>/dev/null 2462 | [[ "$verbosity" -eq "1" ]] && verboseOut "Found WM theme folder. Transferring to /tmp/screenfetch-export/..." 2463 | elif [[ -d "/usr/share/blackbox/styles/$Win_theme" ]]; then 2464 | cp -r "/usr/share/blackbox/styles/$Win_theme" "/tmp/screenfetch-export/WM-${WM}/$Win_theme" &>/dev/null 2465 | [[ "$verbosity" -eq "1" ]] && verboseOut "Found WM theme folder. Transferring to /tmp/screenfetch-export/..." 2466 | fi 2467 | fi 2468 | elif [[ "$WM" =~ "PekWM" ]]; then 2469 | if [[ "$Win_theme" != "Not Found" ]]; then 2470 | if [[ -d "$HOME/.pekwm/themes/$Win_theme" ]]; then 2471 | cp -r "$HOME/.pekwm/themes/$Win_theme" "/tmp/screenfetch-export/WM-${WM}/$Win_theme" &>/dev/null 2472 | [[ "$verbosity" -eq "1" ]] && verboseOut "Found WM theme folder. Transferring to /tmp/screenfetch-export/..." 2473 | fi 2474 | fi 2475 | elif [[ "$WM" =~ "Metacity" ]]; then 2476 | if [[ "$Win_theme" != "Not Found" ]]; then 2477 | if [[ -d "$HOME/.themes/$Win_theme" ]]; then 2478 | cp -r "$HOME/.themes/$Win_theme" "/tmp/screenfetch-export/WM-${WM}/$Win_theme" &>/dev/null 2479 | [[ "$verbosity" -eq "1" ]] && verboseOut "Found WM theme folder. Transferring to /tmp/screenfetch-export/..." 2480 | elif [[ -d "/usr/share/themes/$Win_theme" ]]; then 2481 | cp -r "/usr/share/themes/$Win_theme" "/tmp/screenfetch-export/WM-${WM}/$Win_theme" &>/dev/null 2482 | [[ "$verbosity" -eq "1" ]] && verboseOut "Found WM theme folder. Transferring to /tmp/screenfetch-export/..." 2483 | fi 2484 | fi 2485 | elif [[ "$WM" =~ "Xfwm4" ]]; then 2486 | if [[ "$Win_theme" != "Not Found" ]]; then 2487 | WM_theme=$(echo "$Win_theme" | awk '{print $NF}') 2488 | if [[ -d "$HOME/.themes/$Win_theme" ]]; then 2489 | cp -r "$HOME/.themes/$Win_theme" "/tmp/screenfetch-export/WM-${WM}/$Win_theme" &>/dev/null 2490 | [[ "$verbosity" -eq "1" ]] && verboseOut "Found WM theme folder. Transferring to /tmp/screenfetch-export/..." 2491 | elif [[ -d "/usr/share/themes/$Win_theme" ]]; then 2492 | cp -r "/usr/share/themes/$Win_theme" "/tmp/screenfetch-export/WM-${WM}/$Win_theme" &>/dev/null 2493 | [[ "$verbosity" -eq "1" ]] && verboseOut "Found WM theme folder. Transferring to /tmp/screenfetch-export/..." 2494 | fi 2495 | fi 2496 | fi 2497 | fi 2498 | if [[ "$gtkBackgroundFull" ]]; then 2499 | cp "$gtkBackgroundFull" /tmp/screenfetch-export/ 2500 | [[ "$verbosity" -eq "1" ]] && verboseOut "Found BG file. Transferring to /tmp/screenfetch-export/..." 2501 | fi 2502 | if [[ "$mygtk" ]]; then 2503 | GTK_theme=$(echo "$mygtk" | awk '{print $NF}') 2504 | if [ -d "/usr/share/themes/$GTK_theme" ]; then 2505 | cp -r "/usr/share/themes/$GTK_theme" "/tmp/screenfetch-export/GTK/Theme/$GTK_theme" &>/dev/null 2506 | [[ "$verbosity" -eq "1" ]] && verboseOut "Found GTK theme folder. Transferring to /tmp/screenfetch-export/..." 2507 | fi 2508 | fi 2509 | if [[ "$myicons" ]]; then 2510 | GTK_icons=$(echo "$myicons" | awk '{print $NF}') 2511 | if [ -d "/usr/share/icons/$GTK_icons" ]; then 2512 | cp -r "/usr/share/icons/$GTK_icons" "/tmp/screenfetch-export/GTK/Icons/$GTK_icons" &>/dev/null 2513 | [[ "$verbosity" -eq "1" ]] && verboseOut "Found GTK icons theme folder. Transferring to /tmp/screenfetch-export/..." 2514 | fi 2515 | if [ -d "$HOME/.icons/$GTK_icons" ]; then 2516 | cp -r "$HOME/.icons/$GTK_icons" "/tmp/screenfetch-export/GTK/Icons/$GTK_icons" &>/dev/null 2517 | [[ "$verbosity" -eq "1" ]] && verboseOut "Found GTK icons theme folder. Transferring to /tmp/screenfetch-export/..." 2518 | fi 2519 | fi 2520 | if [[ "$myfont" ]]; then 2521 | GTK_font=$(echo "$myfont" | awk '{print $NF}') 2522 | if [ -d "/usr/share/fonts/$GTK_font" ]; then 2523 | cp -r "/usr/share/fonts/$GTK_font" "/tmp/screenfetch-export/GTK/$GTK_font" &>/dev/null 2524 | [[ "$verbosity" -eq "1" ]] && verboseOut "Found GTK font. Transferring to /tmp/screenfetch-export/..." 2525 | elif [ -d "$HOME/.fonts/$GTK_font" ]; then 2526 | cp -r "$HOME/.fonts/$GTK_font" "/tmp/screenfetch-export/GTK/$GTK_font" &>/dev/null 2527 | [[ "$verbosity" -eq "1" ]] && verboseOut "Found GTK font. Transferring to /tmp/screenfetch-export/..." 2528 | fi 2529 | fi 2530 | if [ "$screenshot" == "1" ]; then 2531 | if [ -f "${shotfile}" ]; then 2532 | cp "${shotfile}" "/tmp/screenfetch-export/" 2533 | [[ "$verbosity" -eq "1" ]] && verboseOut "Found screenshot. Transferring to /tmp/screenfetch-export/..." 2534 | fi 2535 | fi 2536 | cd /tmp/screenfetch-export/ 2537 | [[ "$verbosity" -eq "1" ]] && verboseOut "Creating screenfetch-export.tar.gz archive in /tmp/screenfetch-export/...." 2538 | tar -czf screenfetch-export.tar.gz ../screenfetch-export &>/dev/null 2539 | mv /tmp/screenfetch-export/screenfetch-export.tar.gz $HOME/ 2540 | echo -e "${bold}==>${c0} Archive created in /tmp/ and moved to $HOME. Removing /tmp/screenfetch-export/..." 2541 | rm -rf /tmp/screenfetch-export/ 2542 | } 2543 | 2544 | 2545 | ################## 2546 | # Let's Do This! 2547 | ################## 2548 | 2549 | # Check for android 2550 | if type -p getprop >/dev/null 2>&1; then 2551 | distro="Android" 2552 | detectmem 2553 | detectuptime 2554 | detectkernel 2555 | detectdroid 2556 | infoDisplay 2557 | exit 0 2558 | fi 2559 | 2560 | for i in "${display[@]}"; do 2561 | 2562 | if [[ $i =~ wm ]]; then 2563 | ! [[ $WM ]] && detectwm; 2564 | ! [[ $Win_theme ]] && detectwmtheme; 2565 | else 2566 | [[ "${display[*]}" =~ "$i" ]] && detect${i} 2567 | fi 2568 | done 2569 | 2570 | if [[ -f "$HOME/.screenfetchOR" ]]; then 2571 | vars=("$(cat $HOME/.screenfetchOR | grep '^.*=.*$')") 2572 | for v in "${vars[@]}"; do #=$(echo $v | sed -e 's/^.*=//')" 2573 | varname="$(echo $v | sed -e 's/=.*$//')" 2574 | eval $varname="\"$(echo $v | sed -e 's/^.*=//')\"" 2575 | done 2576 | fi 2577 | 2578 | infoDisplay 2579 | [ "$screenshot" == "1" ] && takeShot 2580 | [ "$exportTheme" == "1" ] && themeExport 2581 | 2582 | exit 0 2583 | -------------------------------------------------------------------------------- /invaders: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # ANSI Color -- use these variables to easily have different color 4 | # and format output. Make sure to output the reset sequence after 5 | # colors (f = foreground, b = background), and use the 'off' 6 | # feature for anything you turn on. 7 | 8 | initializeANSI() 9 | { 10 | esc="" 11 | 12 | blackf="${esc}[30m"; redf="${esc}[31m"; greenf="${esc}[32m" 13 | yellowf="${esc}[33m" bluef="${esc}[34m"; purplef="${esc}[35m" 14 | cyanf="${esc}[36m"; whitef="${esc}[37m" 15 | 16 | blackb="${esc}[40m"; redb="${esc}[41m"; greenb="${esc}[42m" 17 | yellowb="${esc}[43m" blueb="${esc}[44m"; purpleb="${esc}[45m" 18 | cyanb="${esc}[46m"; whiteb="${esc}[47m" 19 | 20 | boldon="${esc}[1m"; boldoff="${esc}[22m" 21 | italicson="${esc}[3m"; italicsoff="${esc}[23m" 22 | ulon="${esc}[4m"; uloff="${esc}[24m" 23 | invon="${esc}[7m"; invoff="${esc}[27m" 24 | 25 | reset="${esc}[0m" 26 | } 27 | 28 | # note in this first use that switching colors doesn't require a reset 29 | # first - the new color overrides the old one. 30 | 31 | initializeANSI 32 | 33 | cat << EOF 34 | 35 | ${boldon}${redf}▀▄ ▄▀ ${reset} ${boldon}${greenf}▄▄▄████▄▄▄ ${reset} ${boldon}${yellowf} ▄██▄ ${reset} ${boldon}${bluef}▀▄ ▄▀ ${reset} ${boldon}${purplef}▄▄▄████▄▄▄ ${reset} ${boldon}${cyanf} ▄██▄ ${reset} 36 | ${boldon}${redf}▄█▀███▀█▄ ${reset} ${boldon}${greenf}███▀▀██▀▀███${reset} ${boldon}${yellowf}▄█▀██▀█▄${reset} ${boldon}${bluef}▄█▀███▀█▄ ${reset} ${boldon}${purplef}███▀▀██▀▀███${reset} ${boldon}${cyanf}▄█▀██▀█▄${reset} 37 | ${boldon}${redf}█▀███████▀█${reset} ${boldon}${greenf}▀▀▀██▀▀██▀▀▀${reset} ${boldon}${yellowf}▀▀█▀▀█▀▀${reset} ${boldon}${bluef}█▀███████▀█${reset} ${boldon}${purplef}▀▀▀██▀▀██▀▀▀${reset} ${boldon}${cyanf}▀▀█▀▀█▀▀${reset} 38 | ${boldon}${redf}▀ ▀▄▄ ▄▄▀ ▀${reset} ${boldon}${greenf}▄▄▀▀ ▀▀ ▀▀▄▄${reset} ${boldon}${yellowf}▄▀▄▀▀▄▀▄${reset} ${boldon}${bluef}▀ ▀▄▄ ▄▄▀ ▀${reset} ${boldon}${purplef}▄▄▀▀ ▀▀ ▀▀▄▄${reset} ${boldon}${cyanf}▄▀▄▀▀▄▀▄${reset} 39 | 40 | ${redf}▀▄ ▄▀ ${reset} ${greenf}▄▄▄████▄▄▄ ${reset} ${yellowf} ▄██▄ ${reset} ${bluef}▀▄ ▄▀ ${reset} ${purplef}▄▄▄████▄▄▄ ${reset} ${cyanf} ▄██▄ ${reset} 41 | ${redf}▄█▀███▀█▄ ${reset} ${greenf}███▀▀██▀▀███${reset} ${yellowf}▄█▀██▀█▄${reset} ${bluef}▄█▀███▀█▄ ${reset} ${purplef}███▀▀██▀▀███${reset} ${cyanf}▄█▀██▀█▄${reset} 42 | ${redf}█▀███████▀█${reset} ${greenf}▀▀▀██▀▀██▀▀▀${reset} ${yellowf}▀▀█▀▀█▀▀${reset} ${bluef}█▀███████▀█${reset} ${purplef}▀▀▀██▀▀██▀▀▀${reset} ${cyanf}▀▀█▀▀█▀▀${reset} 43 | ${redf}▀ ▀▄▄ ▄▄▀ ▀${reset} ${greenf}▄▄▀▀ ▀▀ ▀▀▄▄${reset} ${yellowf}▄▀▄▀▀▄▀▄${reset} ${bluef}▀ ▀▄▄ ▄▄▀ ▀${reset} ${purplef}▄▄▀▀ ▀▀ ▀▀▄▄${reset} ${cyanf}▄▀▄▀▀▄▀▄${reset} 44 | 45 | 46 | ${whitef}▌${reset} 47 | 48 | ${whitef}▌${reset} 49 | ${whitef}${reset} 50 | ${whitef}▄█▄${reset} 51 | ${whitef}▄█████████▄${reset} 52 | ${whitef}▀▀▀▀▀▀▀▀▀▀▀${reset} 53 | 54 | EOF -------------------------------------------------------------------------------- /lines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # ANSI Color -- use these variables to easily have different color 4 | # and format output. Make sure to output the reset sequence after 5 | # colors (f = foreground, b = background), and use the 'off' 6 | # feature for anything you turn on. 7 | 8 | initializeANSI() 9 | { 10 | esc="" 11 | 12 | blackf="${esc}[30m"; redf="${esc}[31m"; greenf="${esc}[32m" 13 | yellowf="${esc}[33m" bluef="${esc}[34m"; purplef="${esc}[35m" 14 | cyanf="${esc}[36m"; whitef="${esc}[37m" 15 | 16 | blackb="${esc}[40m"; redb="${esc}[41m"; greenb="${esc}[42m" 17 | yellowb="${esc}[43m" blueb="${esc}[44m"; purpleb="${esc}[45m" 18 | cyanb="${esc}[46m"; whiteb="${esc}[47m" 19 | 20 | boldon="${esc}[1m"; boldoff="${esc}[22m" 21 | italicson="${esc}[3m"; italicsoff="${esc}[23m" 22 | ulon="${esc}[4m"; uloff="${esc}[24m" 23 | invon="${esc}[7m"; invoff="${esc}[27m" 24 | 25 | reset="${esc}[0m" 26 | } 27 | 28 | # note in this first use that switching colors doesn't require a reset 29 | # first - the new color overrides the old one. 30 | 31 | clear 32 | initializeANSI 33 | 34 | cat << EOF 35 | 36 | ${redf}╔╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╗ ${greenf}╔╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╗ ${yellowf}╔╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╗ 37 | ${boldon}${redf}╚╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╝ ${greenf}╚╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╝ ${yellowf}╚╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╝${reset} 38 | ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ 39 | ${bluef}╔╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╗ ${purplef}╔╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╗ ${cyanf}╔╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╗ 40 | ${boldon}${bluef}╚╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╝ ${purplef}╚╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╝ ${cyanf}╚╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╝${reset} 41 | 42 | 43 | EOF -------------------------------------------------------------------------------- /pacman: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # ANSI color scheme script featuring PACMAN 4 | # by pfh 5 | # 6 | # Initializing procedure by lolilolicon 7 | # 8 | 9 | f=3 b=4 10 | for j in f b; do 11 | for i in {0..7}; do 12 | printf -v $j$i %b "\e[${!j}${i}m" 13 | done 14 | done 15 | bld=$'\e[1m' 16 | rst=$'\e[0m' 17 | inv=$'\e[7m' 18 | 19 | 20 | cat << EOF 21 | 22 | $rst 23 | $f3 ▄███████▄ $f1 ▄██████▄ $f2 ▄██████▄ $f4 ▄██████▄ $f5 ▄██████▄ $f6 ▄██████▄ 24 | $f3▄█████████▀▀ $f1▄$f7█▀█$f1██$f7█▀█$f1██▄ $f2▄█$f7███$f2██$f7███$f2█▄ $f4▄█$f7███$f4██$f7███$f4█▄ $f5▄█$f7███$f5██$f7███$f5█▄ $f6▄██$f7█▀█$f6██$f7█▀█$f6▄ 25 | $f3███████▀ $f7▄▄ ▄▄ ▄▄ $f1█$f7▄▄█$f1██$f7▄▄█$f1███ $f2██$f7█ █$f2██$f7█ █$f2██ $f4██$f7█ █$f4██$f7█ █$f4██ $f5██$f7█ █$f5██$f7█ █$f5██ $f6███$f7█▄▄$f6██$f7█▄▄$f6█ 26 | $f3███████▄ $f7▀▀ ▀▀ ▀▀ $f1████████████ $f2████████████ $f4████████████ $f5████████████ $f6████████████ 27 | $f3▀█████████▄▄ $f1██▀██▀▀██▀██ $f2██▀██▀▀██▀██ $f4██▀██▀▀██▀██ $f5██▀██▀▀██▀██ $f6██▀██▀▀██▀██ 28 | $f3 ▀███████▀ $f1▀ ▀ ▀ ▀ $f2▀ ▀ ▀ ▀ $f4▀ ▀ ▀ ▀ $f5▀ ▀ ▀ ▀ $f6▀ ▀ ▀ ▀ 29 | $bld 30 | $f3 ▄███████▄ $f1 ▄██████▄ $f2 ▄██████▄ $f4 ▄██████▄ $f5 ▄██████▄ $f6 ▄██████▄ 31 | $f3▄█████████▀▀ $f1▄$f7█▀█$f1██$f7█▀█$f1██▄ $f2▄█$f7█ █$f2██$f7█ █$f2█▄ $f4▄█$f7█ █$f4██$f7█ █$f4█▄ $f5▄█$f7█ █$f5██$f7█ █$f5█▄ $f6▄██$f7█▀█$f6██$f7█▀█$f6▄ 32 | $f3███████▀ $f7▄▄ ▄▄ ▄▄ $f1█$f7▄▄█$f1██$f7▄▄█$f1███ $f2██$f7███$f2██$f7███$f2██ $f4██$f7███$f4██$f7███$f4██ $f5██$f7███$f5██$f7███$f5██ $f6███$f7█▄▄$f6██$f7█▄▄$f6█ 33 | $f3███████▄ $f7▀▀ ▀▀ ▀▀ $f1████████████ $f2████████████ $f4████████████ $f5████████████ $f6████████████ 34 | $f3▀█████████▄▄ $f1██▀██▀▀██▀██ $f2██▀██▀▀██▀██ $f4██▀██▀▀██▀██ $f5██▀██▀▀██▀██ $f6██▀██▀▀██▀██ 35 | $f3 ▀███████▀ $f1▀ ▀ ▀ ▀ $f2▀ ▀ ▀ ▀ $f4▀ ▀ ▀ ▀ $f5▀ ▀ ▀ ▀ $f6▀ ▀ ▀ ▀ 36 | $rst 37 | EOF 38 | -------------------------------------------------------------------------------- /pipes: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | declare -i f=100 s=13 r=5000 t=50 c=30 n=0 l=30 4 | declare -ir w=$(tput cols) h=$(tput lines) 5 | declare -i x=$((w/2)) y=$((h/2)) 6 | declare -ar v=( [00]="\x83" [01]="\x8f" [03]="\x93" 7 | [10]="\x9b" [11]="\x81" [12]="\x93" 8 | [21]="\x97" [22]="\x83" [23]="\x9b" 9 | [30]="\x97" [32]="\x8f" [33]="\x81" ) 10 | 11 | OPTIND=1 12 | while getopts "f:s:r:h" arg; do 13 | case $arg in 14 | f) ((f=($OPTARG>19 && $OPTARG<101)?$OPTARG:$f));; 15 | s) ((s=($OPTARG>4 && $OPTARG<16 )?$OPTARG:$s));; 16 | r) ((r=($OPTARG>0)?$OPTARG:$r));; 17 | h) echo -e "Usage: pipes [OPTION]..." 18 | echo -e "Animated pipes terminal screensaver.\n" 19 | echo -e " -f [20-100]\tframerate (D=100)." 20 | echo -e " -s [5-15]\tprobability of a straight fitting (D=13)." 21 | echo -e " -r LIMIT\treset after x characters (D=2000)." 22 | echo -e " -h\t\thelp (this screen).\n" 23 | exit 0;; 24 | esac 25 | done 26 | 27 | tput smcup 28 | tput reset 29 | tput civis 30 | while ! read -t0.0$((1000/$f)) -n1; do 31 | # New position: 32 | (($l%2)) && ((x+=($l==1)?1:-1)) 33 | ((!($l%2))) && ((y+=($l==2)?1:-1)) 34 | 35 | # Loop on edges (change color on loop): 36 | ((c=($x>$w || $x<0 || $y>$h || $y<0)?($RANDOM%7-1):$c)) 37 | ((x=($x>$w)?0:(($x<0)?$w:$x))) 38 | ((y=($y>$h)?0:(($y<0)?$h:$y))) 39 | 40 | # New random direction: 41 | ((n=$RANDOM%$s-1)) 42 | ((n=($n>1||$n==0)?$l:$l+$n)) 43 | ((n=($n<0)?3:$n%4)) 44 | 45 | # Print: 46 | tput cup $y $x 47 | echo -ne "\033[1;3${c}m\xe2\x94${v[$l$n]}" 48 | (($t>$r)) && tput reset && tput civis && t=0 || ((t++)) 49 | l=$n 50 | done 51 | tput rmcup 52 | -------------------------------------------------------------------------------- /rallyx: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # ANSI color scheme script by pfh 4 | # 5 | # Initializing mod by lolilolicon from Archlinux 6 | # 7 | 8 | f=3 b=4 9 | for j in f b; do 10 | for i in {0..7}; do 11 | printf -v $j$i %b "\e[${!j}${i}m" 12 | done 13 | done 14 | bld=$'\e[1m' 15 | rst=$'\e[0m' 16 | inv=$'\e[7m' 17 | 18 | cat << EOF 19 | 20 | $f3 ▄ $f1 ▄▄ $f2 ▄▄ $f4 ▄▄ $f5 ▄▄ $f6 ▄▄ 21 | $f3 ███▄▄ $f1 ██▬██▬██ $f2 ██▬██▬██ $f4 ██▬██▬██ $f5 ██▬██▬██ $f6 ██▬██▬██ 22 | $f3 █████▀▀$f1 ████ $f2 ████ $f4 ████ $f5 ████ $f6 ████ 23 | $f3 █▀▀ $f1 ▄██ ██▄ $f2 ▄██ ██▄ $f4 ▄██ ██▄ $f5 ▄██ ██▄ $f6 ▄██ ██▄ 24 | $f3 █ $f1 ▄▄▄▀█ █▀▄▄▄ $f2 ▄▄▄▀█ █▀▄▄▄ $f4 ▄▄▄▀█ █▀▄▄▄ $f5 ▄▄▄▀█ █▀▄▄▄ $f6 ▄▄▄▀█ █▀▄▄▄ 25 | $f3▄█▄ $f1 ███▀████▀███ $f2 ███▀████▀███ $f4 ███▀████▀███ $f5 ███▀████▀███ $f6 ███▀████▀███ 26 | $f1 ▀ ▀ $f2 ▀ ▀ $f4 ▀ ▀ $f5 ▀ ▀ $f6 ▀ ▀ 27 | $bld 28 | $f3 ▄ $f1 ▄▄ $f2 ▄▄ $f4 ▄▄ $f5 ▄▄ $f6 ▄▄ 29 | $f3 ███▄▄ $f1 ██▬██▬██ $f2 ██▬██▬██ $f4 ██▬██▬██ $f5 ██▬██▬██ $f6 ██▬██▬██ 30 | $f3 █████▀▀$f1 ████ $f2 ████ $f4 ████ $f5 ████ $f6 ████ 31 | $f3 █▀▀ $f1 ▄██ ██▄ $f2 ▄██ ██▄ $f4 ▄██ ██▄ $f5 ▄██ ██▄ $f6 ▄██ ██▄ 32 | $f3 █ $f1 ▄▄▄▀█ █▀▄▄▄ $f2 ▄▄▄▀█ █▀▄▄▄ $f4 ▄▄▄▀█ █▀▄▄▄ $f5 ▄▄▄▀█ █▀▄▄▄ $f6 ▄▄▄▀█ █▀▄▄▄ 33 | $f3▄█▄ $f1 ███▀████▀███ $f2 ███▀████▀███ $f4 ███▀████▀███ $f5 ███▀████▀███ $f6 ███▀████▀███ 34 | $f1 ▀ ▀ $f2 ▀ ▀ $f4 ▀ ▀ $f5 ▀ ▀ $f6 ▀ ▀ 35 | $rst 36 | EOF -------------------------------------------------------------------------------- /rectangles: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # ANSI Color -- use these variables to easily have different color 4 | # and format output. Make sure to output the reset sequence after 5 | # colors (f = foreground, b = background), and use the 'off' 6 | # feature for anything you turn on. 7 | 8 | initializeANSI() 9 | { 10 | esc="" 11 | 12 | blackf="${esc}[30m"; redf="${esc}[31m"; greenf="${esc}[32m" 13 | yellowf="${esc}[33m" bluef="${esc}[34m"; purplef="${esc}[35m" 14 | cyanf="${esc}[36m"; whitef="${esc}[37m" 15 | 16 | blackb="${esc}[40m"; redb="${esc}[41m"; greenb="${esc}[42m" 17 | yellowb="${esc}[43m" blueb="${esc}[44m"; purpleb="${esc}[45m" 18 | cyanb="${esc}[46m"; whiteb="${esc}[47m" 19 | 20 | boldon="${esc}[1m"; boldoff="${esc}[22m" 21 | italicson="${esc}[3m"; italicsoff="${esc}[23m" 22 | ulon="${esc}[4m"; uloff="${esc}[24m" 23 | invon="${esc}[7m"; invoff="${esc}[27m" 24 | 25 | reset="${esc}[0m" 26 | } 27 | 28 | # note in this first use that switching colors doesn't require a reset 29 | # first - the new color overrides the old one. 30 | 31 | initializeANSI 32 | 33 | cat << EOF 34 | 35 | ${redf}▒▒▒▒${reset} ${boldon}${redf}▒▒${reset} ${greenf}▒▒▒▒${reset} ${boldon}${greenf}▒▒${reset} ${yellowf}▒▒▒▒${reset} ${boldon}${yellowf}▒▒${reset} ${bluef}▒▒▒▒${reset} ${boldon}${bluef}▒▒${reset} ${purplef}▒▒▒▒${reset} ${boldon}${purplef}▒▒${reset} ${cyanf}▒▒▒▒${reset} ${boldon}${cyanf}▒▒${reset} 36 | ${redf}▒▒ ■${reset} ${boldon}${redf}▒▒${reset} ${greenf}▒▒ ■${reset} ${boldon}${greenf}▒▒${reset} ${yellowf}▒▒ ■${reset} ${boldon}${yellowf}▒▒${reset} ${bluef}▒▒ ■${reset} ${boldon}${bluef}▒▒${reset} ${purplef}▒▒ ■${reset} ${boldon}${purplef}▒▒${reset} ${cyanf}▒▒ ■${reset} ${boldon}${cyanf}▒▒${reset} 37 | ${redf}▒▒ ${reset}${boldon}${redf}▒▒▒▒${reset} ${greenf}▒▒ ${reset}${boldon}${greenf}▒▒▒▒${reset} ${yellowf}▒▒ ${reset}${boldon}${yellowf}▒▒▒▒${reset} ${bluef}▒▒ ${reset}${boldon}${bluef}▒▒▒▒${reset} ${purplef}▒▒ ${reset}${boldon}${purplef}▒▒▒▒${reset} ${cyanf}▒▒ ${reset}${boldon}${cyanf}▒▒▒▒${reset} 38 | 39 | EOF -------------------------------------------------------------------------------- /skull: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | f=3 b=4 4 | for j in f b; do 5 | for i in {0..7}; do 6 | printf -v $j$i %b "\e[${!j}${i}m" 7 | done 8 | done 9 | bld=$'\e[1m' 10 | rst=$'\e[0m' 11 | inv=$'\e[7m' 12 | 13 | 14 | cat << EOF 15 | $f4 ...----.... 16 | $f4 ..-:"'' ''"-.. 17 | $f4 .-' '-. 18 | $f4 .' . . '. 19 | $f4 .' . . . . .''. 20 | $f4 .' . . . . . . . ..:. 21 | $f4 .' . . . . . . .. . . ....::. 22 | $f4 .. . . . . . . .. . ....:IA. 23 | $f4 .: . . . . . . .. . .. .. ....:IA. 24 | $f4 .: . . .. . . . . .. . ... ....:.:VHA. 25 | $f4 '.. . .. . . . . .. . .. . .....:.::IHHB. 26 | $f4 .:. . . . . . . . . . . ...:.:... .......:HIHMM. 27 | $f4 .:.... . . ."::"'.. . . . .:.:.:II;,. .. ..:IHIMMA 28 | $f4 ':.:.. ..::IHHHHHI::. . . ...:.::::.,,,. . ....VIMMHM 29 | $f4 .:::I. .AHHHHHHHHHHAI::. .:...,:IIHHHHHHMMMHHL:. . VMMMM 30 | $f4 .:.:V.:IVHHHHHHHMHMHHH::..:" .:HIHHHHHHHHHHHHHMHHA. .VMMM. 31 | $f4 :..V.:IVHHHHHMMHHHHHHHB... . .:VPHHMHHHMMHHHHHHHHHAI.:VMMI 32 | $f4 ::V..:VIHHHHHHMMMHHHHHH. . .I":IIMHHMMHHHHHHHHHHHAPI:WMM 33 | $f4 ::". .:.HHHHHHHHMMHHHHHI. . .:..I:MHMMHHHHHHHHHMHV:':H:WM 34 | $f4 :: . :.::IIHHHHHHMMHHHHV .ABA.:.:IMHMHMMMHMHHHHV:'. .IHWW 35 | $f4 '. ..:..:.:IHHHHHMMHV" .AVMHMA.:.'VHMMMMHHHHHV:' . :IHWV 36 | $f4 :. .:...:".:.:TPP" .AVMMHMMA.:. "VMMHHHP.:... .. :IVAI 37 | $f4 .:. '... .:"' . ..HMMMHMMMA::. ."VHHI:::.... .:IHW' 38 | $f4 ... . . ..:IIPPIH: ..HMMMI.MMMV:I:. .:ILLH:.. ...:I:IM 39 | $f4 : . .'"' .:.V". .. . :HMMM:IMMMI::I. ..:HHIIPPHI::'.P:HM. 40 | $f4 :. . . .. ..:.. . :AMMM IMMMM..:...:IV":T::I::.".:IHIMA 41 | $f4 'V:.. .. . .. . . . 'VMMV..VMMV :....:V:.:..:....::IHHHMH 42 | $f4 "IHH:.II:.. .:. . . . . " :HB"" . . ..PI:.::.:::..:IHHMMV" 43 | $f4 :IP""HHII:. . . . . .'V:. . . ..:IH:.:.::IHIHHMMMMM" 44 | $f4 :V:. VIMA:I.. . . . .. . . .:.I:I:..:IHHHHMMHHMMM 45 | $f4 :"VI:.VWMA::. .: . .. .:. ..:.I::.:IVHHHMMMHMMMMI 46 | $f4 :."VIIHHMMA:. . . .: .:.. . .:.II:I:AMMMMMMHMMMMMI 47 | $f4 :..VIHIHMMMI...::.,:.,:!"I:!"I!"I!"V:AI:VAMMMMMMHMMMMMM' 48 | $f4 ':.:HIHIMHHA:"!!"I.:AXXXVVXXXXXXXA:."HPHIMMMMHHMHMMMMMV 49 | $f4 V:H:I:MA:W'I :AXXXIXII:IIIISSSSSSXXA.I.VMMMHMHMMMMMM 50 | $f4 'I::IVA ASSSSXSSSSBBSBMBSSSSSSBBMMMBS.VVMMHIMM'"' 51 | $f4 I:: VPAIMSSSSSSSSSBSSSMMBSSSBBMMMMXXI:MMHIMMI 52 | $f4 .I::. "H:XIIXBBMMMMMMMMMMMMMMMMMBXIXXMMPHIIMM' 53 | $f4 :::I. ':XSSXXIIIIXSSBMBSSXXXIIIXXSMMAMI:.IMM 54 | $f4 :::I:. .VSSSSSISISISSSBII:ISSSSBMMB:MI:..:MM 55 | $f4 ::.I:. ':"SSSSSSSISISSXIIXSSSSBMMB:AHI:..MMM. 56 | $f4 ::.I:. . ..:"BBSSSSSSSSSSSSBBBMMMB:AHHI::.HMMI 57 | $f4 :..::. . ..::":BBBBBSSBBBMMMB:MMMMHHII::IHHMI 58 | $f4 ':.I:... ....:IHHHHHMMMMMMMMMMMMMMMHHIIIIHMMV" 59 | $f4 "V:. ..:...:.IHHHMMMMMMMMMMMMMMMMHHHMHHMHP' 60 | $f4 ':. .:::.:.::III::IHHHHMMMMMHMHMMHHHHM" 61 | $f4 "::....::.:::..:..::IIIIIHHHHMMMHHMV" 62 | $f4 "::.::.. .. . ...:::IIHHMMMMHMV" 63 | $f4 "V::... . .I::IHHMMV"' 64 | $f4 '"VHVHHHAHHHHMMV:"' 65 | 66 | $rst 67 | 68 | EOF 69 | 70 | 71 | -------------------------------------------------------------------------------- /slendy: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | initializeANSI() 4 | { 5 | esc="" 6 | 7 | blackf="${esc}[30m"; redf="${esc}[31m"; greenf="${esc}[32m" 8 | yellowf="${esc}[33m" bluef="${esc}[34m"; purplef="${esc}[35m" 9 | cyanf="${esc}[36m"; whitef="${esc}[37m" 10 | 11 | blackb="${esc}[40m"; redb="${esc}[41m"; greenb="${esc}[42m" 12 | yellowb="${esc}[43m" blueb="${esc}[44m"; purpleb="${esc}[45m" 13 | cyanb="${esc}[46m"; whiteb="${esc}[47m" 14 | 15 | boldon="${esc}[1m"; boldoff="${esc}[22m" 16 | italicson="${esc}[3m"; italicsoff="${esc}[23m" 17 | ulon="${esc}[4m"; uloff="${esc}[24m" 18 | invon="${esc}[7m"; invoff="${esc}[27m" 19 | 20 | reset="${esc}[0m" 21 | } 22 | 23 | initializeANSI 24 | 25 | cat << EOF 26 | 27 | ${reset}${blackf}| | | | |${reset} 28 | ${redf}█ █${reset} ${blackf}|${reset} ${greenf}█ █${reset} ${blackf}|${reset} ${yellowf}█ █${reset} ${blackf}|${reset} ${bluef}█ █${reset} ${blackf}|${reset} ${purplef}█ █${reset} ${blackf}|${reset} ${cyanf}█ █${reset} 29 | ${redf}███████${reset} ${blackf}|${reset} ${greenf}███████${reset} ${blackf}|${reset} ${yellowf}███████${reset} ${blackf}|${reset} ${bluef}███████${reset} ${blackf}|${reset} ${purplef}███████${reset} ${blackf}|${reset} ${cyanf}███████${reset} 30 | ${redf}███${boldon}${redb}██${reset}${redf}█${boldon}${redb}██${reset}${redf}███${reset} ${blackf}|${reset} ${greenf}███${boldon}${greenb}██${reset}${greenf}█${boldon}${greenb}██${reset}${greenf}███${reset} ${blackf}|${reset} ${yellowf}███${boldon}${yellowb}██${reset}${yellowf}█${boldon}${yellowb}██${reset}${yellowf}███${reset} ${blackf}|${reset} ${bluef}███${boldon}${blueb}██${reset}${bluef}█${boldon}${blueb}██${reset}${bluef}███${reset} ${blackf}|${reset} ${purplef}███${boldon}${purpleb}██${reset}${purplef}█${boldon}${purpleb}██${reset}${purplef}███${reset} ${blackf}|${reset} ${cyanf}███${boldon}${cyanb}██${reset}${cyanf}█${boldon}${cyanb}██${reset}${cyanf}███${reset} 31 | ${redf}████${boldon}${redb}█${reset}${redf}████${reset} ${blackf}|${reset} ${greenf}████${boldon}${greenb}█${reset}${greenf}████${reset} ${blackf}|${reset} ${yellowf}████${boldon}${yellowb}█${reset}${yellowf}████${reset} ${blackf}|${reset} ${bluef}████${boldon}${blueb}█${reset}${bluef}████${reset} ${blackf}|${reset} ${purplef}████${boldon}${purpleb}█${reset}${purplef}████${reset} ${blackf}|${reset} ${cyanf}████${boldon}${cyanb}█${reset}${cyanf}████${reset} 32 | ${redf}█ █ ${boldon}█${reset} ${redf}█ █${reset} ${blackf}|${reset} ${greenf}█ █ ${boldon}█${reset} ${greenf}█ █${reset} ${blackf}|${reset} ${yellowf}█ █ ${boldon}█${reset} ${yellowf}█ █${reset} ${blackf}|${reset} ${bluef}█ █ ${boldon}█${reset} ${bluef}█ █${reset} ${blackf}|${reset} ${purplef}█ █ ${boldon}█${reset} ${purplef}█ █${reset} ${blackf}|${reset} ${cyanf}█ █ ${boldon}█${reset} ${cyanf}█ █${reset} 33 | ${redf}█ █${reset} ${blackf}|${reset} ${greenf}█ █${reset} ${blackf}|${reset} ${yellowf}█ █${reset} ${blackf}|${reset} ${bluef}█ █${reset} ${blackf}|${reset} ${purplef}█ █${reset} ${blackf}|${reset} ${cyanf}█ █${reset} 34 | ${blackf}| | | | |${reset} 35 | EOF -------------------------------------------------------------------------------- /tanks: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # ANSI Color -- use these variables to easily have different color 4 | # and format output. Make sure to output the reset sequence after 5 | # colors (f = foreground, b = background), and use the 'off' 6 | # feature for anything you turn on. 7 | 8 | initializeANSI() 9 | { 10 | esc="" 11 | 12 | blackf="${esc}[30m"; redf="${esc}[31m"; greenf="${esc}[32m" 13 | yellowf="${esc}[33m" bluef="${esc}[34m"; purplef="${esc}[35m" 14 | cyanf="${esc}[36m"; whitef="${esc}[37m" 15 | 16 | blackb="${esc}[40m"; redb="${esc}[41m"; greenb="${esc}[42m" 17 | yellowb="${esc}[43m" blueb="${esc}[44m"; purpleb="${esc}[45m" 18 | cyanb="${esc}[46m"; whiteb="${esc}[47m" 19 | 20 | boldon="${esc}[1m"; boldoff="${esc}[22m" 21 | italicson="${esc}[3m"; italicsoff="${esc}[23m" 22 | ulon="${esc}[4m"; uloff="${esc}[24m" 23 | invon="${esc}[7m"; invoff="${esc}[27m" 24 | 25 | reset="${esc}[0m" 26 | } 27 | 28 | # note in this first use that switching colors doesn't require a reset 29 | # first - the new color overrides the old one. 30 | 31 | initializeANSI 32 | 33 | cat << EOF 34 | 35 | ${boldon}${redf} █ ${reset} ${boldon}${greenf} █ ${reset} ${boldon}${yellowf} █ ${reset} ${boldon}${bluef} █ ${reset} ${boldon}${purplef} █ ${reset} ${boldon}${cyanf} █ ${reset} 36 | ${boldon}${redf}▄▄ █ ▄▄${reset} ${boldon}${greenf}▄▄ █ ▄▄${reset} ${boldon}${yellowf}▄▄ █ ▄▄${reset} ${boldon}${bluef}▄▄ █ ▄▄${reset} ${boldon}${purplef}▄▄ █ ▄▄${reset} ${boldon}${cyanf}▄▄ █ ▄▄${reset} 37 | ${boldon}${redf}███▀▀▀███${reset} ${boldon}${greenf}███▀▀▀███${reset} ${boldon}${yellowf}███▀▀▀███${reset} ${boldon}${bluef}███▀▀▀███${reset} ${boldon}${purplef}███▀▀▀███${reset} ${boldon}${cyanf}███▀▀▀███${reset} 38 | ${boldon}${redf}███ █ ███${reset} ${boldon}${greenf}███ █ ███${reset} ${boldon}${yellowf}███ █ ███${reset} ${boldon}${bluef}███ █ ███${reset} ${boldon}${purplef}███ █ ███${reset} ${boldon}${cyanf}███ █ ███${reset} 39 | ${boldon}${redf}██ ▀▀▀ ██${reset} ${boldon}${greenf}██ ▀▀▀ ██${reset} ${boldon}${yellowf}██ ▀▀▀ ██${reset} ${boldon}${bluef}██ ▀▀▀ ██${reset} ${boldon}${purplef}██ ▀▀▀ ██${reset} ${boldon}${cyanf}██ ▀▀▀ ██${reset} 40 | 41 | ${redf} █ ${reset} ${greenf} █ ${reset} ${yellowf} █ ${reset} ${bluef} █ ${reset} ${purplef} █ ${reset} ${cyanf} █ ${reset} 42 | ${redf}▄▄ █ ▄▄${reset} ${greenf}▄▄ █ ▄▄${reset} ${yellowf}▄▄ █ ▄▄${reset} ${bluef}▄▄ █ ▄▄${reset} ${purplef}▄▄ █ ▄▄${reset} ${cyanf}▄▄ █ ▄▄${reset} 43 | ${redf}███▀▀▀███${reset} ${greenf}███▀▀▀███${reset} ${yellowf}███▀▀▀███${reset} ${bluef}███▀▀▀███${reset} ${purplef}███▀▀▀███${reset} ${cyanf}███▀▀▀███${reset} 44 | ${redf}███ █ ███${reset} ${greenf}███ █ ███${reset} ${yellowf}███ █ ███${reset} ${bluef}███ █ ███${reset} ${purplef}███ █ ███${reset} ${cyanf}███ █ ███${reset} 45 | ${redf}██ ▀▀▀ ██${reset} ${greenf}██ ▀▀▀ ██${reset} ${yellowf}██ ▀▀▀ ██${reset} ${bluef}██ ▀▀▀ ██${reset} ${purplef}██ ▀▀▀ ██${reset} ${cyanf}██ ▀▀▀ ██${reset} 46 | -------------------------------------------------------------------------------- /tux: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # ANSI Color -- use these variables to easily have different color 4 | # and format output. Make sure to output the reset sequence after 5 | # colors (f = foreground, b = background), and use the 'off' 6 | # feature for anything you turn on. 7 | 8 | initializeANSI() 9 | { 10 | esc="" 11 | 12 | blackf="${esc}[30m"; redf="${esc}[31m"; greenf="${esc}[32m" 13 | yellowf="${esc}[33m" bluef="${esc}[34m"; purplef="${esc}[35m" 14 | cyanf="${esc}[36m"; whitef="${esc}[37m" 15 | 16 | blackb="${esc}[40m"; redb="${esc}[41m"; greenb="${esc}[42m" 17 | yellowb="${esc}[43m" blueb="${esc}[44m"; purpleb="${esc}[45m" 18 | cyanb="${esc}[46m"; whiteb="${esc}[47m" 19 | 20 | boldon="${esc}[1m"; boldoff="${esc}[22m" 21 | italicson="${esc}[3m"; italicsoff="${esc}[23m" 22 | ulon="${esc}[4m"; uloff="${esc}[24m" 23 | invon="${esc}[7m"; invoff="${esc}[27m" 24 | 25 | reset="${esc}[0m" 26 | } 27 | 28 | # note in this first use that switching colors doesn't require a reset 29 | # first - the new color overrides the old one. 30 | 31 | initializeANSI 32 | 33 | # ▄█████▄ 34 | # █████████ 35 | # ████████▀██ 36 | # ██████████▄██ 37 | # ██▀▀███▀▀████ 38 | # ████ █ ██ ███ 39 | # █ ████ 40 | # █ ▄ ████ 41 | # ███▀▀▀▀▀▄▀████ 42 | # ██▀▀▀▀▀▀ ███▄ 43 | # ▄█▀ █████ 44 | # ███ ██████ 45 | # ███ ██████ 46 | # █▀██ ██████ 47 | # █ █ █ ████ 48 | # █ █ ██ ███ 49 | # ██ ▀ █▀ ████ 50 | # ███ ████ 51 | # █████ ███ ███ 52 | # █▀▀███ █████████ 53 | # ▄█ ███ █▀ ████ ▀█ 54 | # ▄█▀ ████ █ ▀ █ 55 | # █ ████ █ █ ██ 56 | # █ ██ █ █ ▀█ 57 | # █ █ █ █ █ 58 | # █ ███████████ ▄▀ 59 | # █▄ █ ▀▀▀▀▀▀▀ █ ▄▀ 60 | # ▀▀▀▀▀▄▄▄█▀ ▀▄ █ 61 | # ▀▀▀▀ 62 | 63 | # play with these to change: 64 | tuxbg=${cyanb} # color behind tux 65 | tuxfg=${blackf} # tux line color 66 | 67 | # tip: auto update your drawings to see changes real-time 68 | # while true; do (sleep 3s && clear && sh script); done 69 | 70 | cat << EOF 71 | 72 | ${tuxfg}${tuxbg} 73 | 74 | ▄█████▄ 75 | █████████ 76 | ${whiteb}████████▀██${tuxbg} 77 | ${whiteb}██████████▄██${tuxbg} 78 | ${whiteb}██▀▀███▀▀████${tuxbg} 79 | ${whiteb}████ █ ██ ███${tuxbg} 80 | ${yellowb}█ ████${tuxbg} 81 | ${yellowb}█ ▄ ████${tuxbg} 82 | ${yellowb}███▀▀▀▀▀▄${whiteb}▀████${tuxbg} 83 | ${whiteb}██▀▀▀▀▀▀ ███${tuxbg}▄ 84 | ▄█${whiteb}▀ █████${tuxbg} 85 | ${whiteb}███ ██████${tuxbg} 86 | ${whiteb}███ ██████${tuxbg} 87 | ${whiteb}█▀██ ██████${tuxbg} 88 | ${whiteb}█ █ █ ████${tuxbg} 89 | ${whiteb}█ █ ██ ███${tuxbg} 90 | ${whiteb}██ ▀ █▀ ████${tuxbg} 91 | ${whiteb}███ ████${tuxbg} 92 | ${whiteb}█████ ███ ███${tuxbg} 93 | ${yellowb}█▀▀███${whiteb} █████████${tuxbg} 94 | ▄${yellowb}█ ███${whiteb} █${yellowb}▀ ████ ▀█${tuxbg} 95 | ▄█${yellowb}▀ ████${whiteb} █${yellowb} ▀ █${tuxbg} 96 | █${yellowb} ████${whiteb} █ █${yellowb} ██${tuxbg} 97 | █${yellowb} ██${whiteb} █ █${yellowb} ▀█${tuxbg} 98 | █${yellowb} █${whiteb} █ █${yellowb} █${tuxbg} 99 | █${yellowb} ███████████${yellowb} ▄${tuxbg}▀ 100 | █${yellowb}▄ █${tuxbg} ▀▀▀▀▀▀▀ █${yellowb} ▄${tuxbg}▀ 101 | ▀▀▀▀▀${yellowb}▄▄▄█${tuxbg}▀ ▀${yellowb}▄ █${tuxbg} 102 | ▀▀▀▀${tuxbg} 103 | ${reset} 104 | EOF -------------------------------------------------------------------------------- /xrally: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # ANSI color scheme script by pfh 4 | # 5 | # Initializing mod by lolilolicon from Archlinux 6 | # 7 | 8 | f=3 b=4 9 | for j in f b; do 10 | for i in {0..7}; do 11 | printf -v $j$i %b "\e[${!j}${i}m" 12 | done 13 | done 14 | bld=$'\e[1m' 15 | rst=$'\e[0m' 16 | inv=$'\e[7m' 17 | 18 | cat << EOF 19 | 20 | $f3 ▄ $f1 ▄▄ $f2 ▄▄ $f4 ▄▄ $f5 ▄▄ $f6 ▄▄ 21 | $f3 ███▄▄ $f1 ██▬██▬██ $f2 ██▬██▬██ $f4 ██▬██▬██ $f5 ██▬██▬██ $f6 ██▬██▬██ 22 | $f3 █████▀▀$f1 ████ $f2 ████ $f4 ████ $f5 ████ $f6 ████ 23 | $f3 █▀▀ $f1 ▄██ ██▄ $f2 ▄██ ██▄ $f4 ▄██ ██▄ $f5 ▄██ ██▄ $f6 ▄██ ██▄ 24 | $f3 █ $f1 ▄▄▄▀█ █▀▄▄▄ $f2 ▄▄▄▀█ █▀▄▄▄ $f4 ▄▄▄▀█ █▀▄▄▄ $f5 ▄▄▄▀█ █▀▄▄▄ $f6 ▄▄▄▀█ █▀▄▄▄ 25 | $f3 ▄█▄ $f1 ███▀████▀███ $f2 ███▀████▀███ $f4 ███▀████▀███ $f5 ███▀████▀███ $f6 ███▀████▀███ 26 | $f1 ▀ ▀ $f2 ▀ ▀ $f4 ▀ ▀ $f5 ▀ ▀ $f6 ▀ ▀ 27 | $bld 28 | $f3 ▄ $f1 ▄▄ $f2 ▄▄ $f4 ▄▄ $f5 ▄▄ $f6 ▄▄ 29 | $f3 ███▄▄ $f1 ██▬██▬██ $f2 ██▬██▬██ $f4 ██▬██▬██ $f5 ██▬██▬██ $f6 ██▬██▬██ 30 | $f3 █████▀▀$f1 ████ $f2 ████ $f4 ████ $f5 ████ $f6 ████ 31 | $f3 █▀▀ $f1 ▄██ ██▄ $f2 ▄██ ██▄ $f4 ▄██ ██▄ $f5 ▄██ ██▄ $f6 ▄██ ██▄ 32 | $f3 █ $f1 ▄▄▄▀█ █▀▄▄▄ $f2 ▄▄▄▀█ █▀▄▄▄ $f4 ▄▄▄▀█ █▀▄▄▄ $f5 ▄▄▄▀█ █▀▄▄▄ $f6 ▄▄▄▀█ █▀▄▄▄ 33 | $f3 ▄█▄ $f1 ███▀████▀███ $f2 ███▀████▀███ $f4 ███▀████▀███ $f5 ███▀████▀███ $f6 ███▀████▀███ 34 | $f1 ▀ ▀ $f2 ▀ ▀ $f4 ▀ ▀ $f5 ▀ ▀ $f6 ▀ ▀ 35 | $rst 36 | EOF --------------------------------------------------------------------------------