dot

packages and services management
Log | Files | Refs | README

commit 070ae067a2d5c8eb61c0bc84c73b9c3538f29a24
parent b6469e7daafdf5eb965edfd69221694da60dc1cc
Author: josuah <mail@josuah.net>
Date:   Mon, 12 Dec 2016 16:08:25 +0000

Added themes

Diffstat:
A.config/themes/alien | 31+++++++++++++++++++++++++++++++
A.local/bin/pipes | 146+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
M.profile | 42++++++++++++++++++++++++++++++++++++++++++
3 files changed, 219 insertions(+), 0 deletions(-)

diff --git a/.config/themes/alien b/.config/themes/alien @@ -0,0 +1,31 @@ +! black +*.color0: #000910 +*.color8: #aaccbb + +! red +*.color1: #ccccbb +*.color9: #ddddcc + +! green +*.color2: #aaddbb +*.color10: #bbeecc + +! yellow +*.color3: #aaddaa +*.color11: #cceebb + +! blue +*.color4: #aacccc +*.color12: #bbdddd + +! magenta +*.color5: #bbbbcc +*.color13: #ccccdd + +! cyan +*.color6: #aaddcc +*.color14: #bbeedd + +! white +*.color7: #cceedd +*.color15: #fff0f8 diff --git a/.local/bin/pipes b/.local/bin/pipes @@ -0,0 +1,146 @@ +#!/usr/bin/env bash +# pipes.sh: Animated pipes terminal screensaver. +# Copyleft (ↄ) 2015 - Acidhub <acidhub@craft.net.br> +# 2015 - Pipeseroni - http://github.com/pipeseroni +# 2014 - Yu-Jie Lin <livibetter@gmail.com> +# ???? - Mathew Simpson +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +# + +VERSION=1.2 + +M=32768 +p=3 +f=75 s=13 r=2000 t=0 +w=80 h=24 + +resize() { + w=$(tput cols) h=$(tput lines) +} + +# ab -> idx = a*4 + b +# 0: up, 1: right, 2: down, 3: left +# 00 means going up , then going up -> ┃ +# 12 means going right, then going down -> ┓ +sets=( + "┃┏ ┓┛━┓ ┗┃┛┗ ┏━" # -t 0 "default" + "│╭ ╮╯─╮ ╰│╯╰ ╭─" # -t 1 "round" + "│┌ ┐┘─┐ └│┘└ ┌─" # -t 2 "weak" + "║╔ ╗╝═╗ ╚║╝╚ ╔═" # -t 3 "double" + "|+ ++-+ +|++ +-" # -t 4 "add/sub" + "|/ \/-\ \|/\ /-" # -t 5 "It' something" + ".. .... .... .." # -t 6 "dots" + ".o oo.o o.oo o." # -t 7 "dot-O" + "-\ /\|/ /-\/ \|" # -t 8 "railway" + "▓≡▓≡≡▓≡ ≡▓≡≡▓≡▓" # -t 9 "blocks" +) +v=() +RNDSTART=0 +BOLD=1 +NOCOLOR=0 + +OPTIND=1 +while getopts "p:t:f:s:r:RBChv" arg; do +case $arg in + p) ((p=(OPTARG>0)?OPTARG:p));; + t) + if [[ "$OPTARG" = c???????????????? ]]; then + V+=(${#sets[@]}) + sets+=("${OPTARG:1}") + else + ((OPTARG>=0 && OPTARG<${#sets[@]})) && V+=($OPTARG) + fi + ;; + f) ((f=(OPTARG>19 && OPTARG<101)?OPTARG:f));; + s) ((s=(OPTARG>4 && OPTARG<16 )?OPTARG:s));; + r) ((r=(OPTARG>=0)?OPTARG:r));; + R) RNDSTART=1;; + B) BOLD=0;; + C) NOCOLOR=1;; + h) echo -e "Usage: $(basename $0) [OPTION]..." + echo -e "Animated pipes terminal screensaver.\n" + echo -e " -p [1-?]\tnumber of pipes (D=3)." + echo -e " -t [0-$((${#sets[@]} - 1))]\ttype of pipes, can be used more than once (D=0)." + echo -e " -t c[16 chars]\tcustom type of pipes." + echo -e " -f [20-100]\tframerate (D=75)." + echo -e " -s [5-15]\tprobability of a straight fitting (D=13)." + echo -e " -r LIMIT\treset after x characters, 0 if no limit (D=2000)." + echo -e " -R \t\trandom starting point." + echo -e " -B \t\tno bold effect." + echo -e " -C \t\tno color." + echo -e " -h\t\thelp (this screen)." + echo -e " -v\t\tprint version number.\n" + exit 0;; + v) echo "$(basename -- "$0") $VERSION" + exit 0 + esac +done + +# set default values if not by options +((${#V[@]})) || V=(0) + +cleanup() { + # clear up standard input + read -t 0.001 && cat </dev/stdin>/dev/null + + tput rmcup + tput cnorm + stty sane + echo -ne '\033[0m' + exit 0 +} +trap resize SIGWINCH +trap cleanup HUP TERM +trap 'break 2' INT + +resize + +for (( i=1; i<=p; i++ )); do + c[i]=$((i%8)) n[i]=0 l[i]=0 + ((x[i]=RNDSTART==1?RANDOM*w/32768:w/2)) + ((y[i]=RNDSTART==1?RANDOM*h/32768:h/2)) + v[i]=${V[${#V[@]} * RANDOM / M]} +done + +stty -echo +tput civis +tput clear +# any key press exits the loop and this script +while REPLY=; read -t 0.0$((1000/f)) -n 1; [[ -z $REPLY ]] ; do + for (( i=1; i<=p; i++ )); do + # New position: + ((${l[i]}%2)) && ((x[i]+=-${l[i]}+2,1)) || ((y[i]+=${l[i]}-1)) + + # Loop on edges (change color on loop): + ((${x[i]}>w||${x[i]}<0||${y[i]}>h||${y[i]}<0)) && ((c[i]=RANDOM%8, v[i]=V[${#V[@]}*RANDOM/M])) + ((x[i]=(x[i]+w)%w)) + ((y[i]=(y[i]+h)%h)) + + # New random direction: + ((n[i]=RANDOM%s-1)) + ((n[i]=(${n[i]}>1||${n[i]}==0)?${l[i]}:${l[i]}+${n[i]})) + ((n[i]=(${n[i]}<0)?3:${n[i]}%4)) + + # Print: + tput cup ${y[i]} ${x[i]} + echo -ne "\e[${BOLD}m" + [[ $NOCOLOR == 0 ]] && echo -ne "\e[3${c[i]}m" + echo -n "${sets[v[i]]:l[i]*4+n[i]:1}" + l[i]=${n[i]} + done + ((r>0 && t*p>=r)) && tput civis && t=0 || ((t++)) +done + +cleanup diff --git a/.profile b/.profile @@ -60,6 +60,48 @@ alias myip='curl icanhazip.com' alias lines='find . -name "*.[ch]" | xargs wc -l' +matrix() +{ + setfont ~/.local/share/consolefonts/terminus-16b.psf + io-tty-theme matrix + cmatrix -abu 3 +} + + +predator() +{ + setfont ~/.local/share/consolefonts/cybercafe.fnt + io-tty-theme exo +} + + +tron() +{ + setfont ~/.local/share/consolefonts/lode-16.psf + io-tty-theme gotham + printf 'Starting the grid' + sleep 1; printf .; sleep 1; printf .; sleep 1; printf .; + sleep 3; pipes -p 2 -f 40 +} + + +alien() +{ + setfont ~/.local/share/consolefonts/vector-16.psf + io-tty-theme alien +} + + +starwars() +{ + setfont ~/.local/share/consolefonts/vector-16.psf + io-tty-theme coal + printf "\033[40CMay the force be with you" + sleep 2 + lightsaber +} + + color() { for i in 1 2 3 4 5 6 7