From a6687d45e0f83e42adfb5795fdcb6ea597d5b5ff Mon Sep 17 00:00:00 2001 From: Donovan Glover Date: Mon, 12 Nov 2018 21:58:59 -0500 Subject: [PATCH] PKGBUILDs: Add sources Here are the source files I package with my PKGBUILDs. The tari-scripts directory features some color scripts from around the web. tari-urxvt contains patches for urxvt, tari-util houses launch.c, and tari-web is where my mozilla.cfg is located. --- .PKGBUILDs/tari-scripts/256colortest | 63 ++++++ .PKGBUILDs/tari-scripts/colorfade | 40 ++++ .PKGBUILDs/tari-scripts/colorhash | 41 ++++ .PKGBUILDs/tari-scripts/colorhex | 10 + .PKGBUILDs/tari-scripts/colorline | 24 ++ .PKGBUILDs/tari-scripts/colorpanes | 23 ++ .PKGBUILDs/tari-scripts/colortest | 30 +++ .PKGBUILDs/tari-scripts/diamonds | 207 ++++++++++++++++++ .PKGBUILDs/tari-scripts/dna | 43 ++++ .PKGBUILDs/tari-scripts/ghosts | 28 +++ .PKGBUILDs/tari-scripts/pipes | 142 ++++++++++++ .PKGBUILDs/tari-scripts/pmabove | 31 +++ .PKGBUILDs/tari-scripts/pmleft | 41 ++++ .PKGBUILDs/tari-scripts/spaceinvaders | 35 +++ .PKGBUILDs/tari-scripts/unowns | 64 ++++++ ...-smart-resize-with-x11-frame-borders.patch | 54 +++++ .PKGBUILDs/tari-urxvt/font-width-fix.patch | 26 +++ .PKGBUILDs/tari-urxvt/line-spacing-fix.patch | 25 +++ .PKGBUILDs/tari-urxvt/sgr-mouse-mode.patch | 90 ++++++++ .PKGBUILDs/tari-urxvt/urxvtc.desktop | 10 + .PKGBUILDs/tari-util/launch.c | 50 +++++ .PKGBUILDs/tari-web/local-settings.js | 2 + .PKGBUILDs/tari-web/mozilla.cfg | 50 +++++ 23 files changed, 1129 insertions(+) create mode 100755 .PKGBUILDs/tari-scripts/256colortest create mode 100755 .PKGBUILDs/tari-scripts/colorfade create mode 100755 .PKGBUILDs/tari-scripts/colorhash create mode 100755 .PKGBUILDs/tari-scripts/colorhex create mode 100755 .PKGBUILDs/tari-scripts/colorline create mode 100755 .PKGBUILDs/tari-scripts/colorpanes create mode 100755 .PKGBUILDs/tari-scripts/colortest create mode 100755 .PKGBUILDs/tari-scripts/diamonds create mode 100755 .PKGBUILDs/tari-scripts/dna create mode 100755 .PKGBUILDs/tari-scripts/ghosts create mode 100755 .PKGBUILDs/tari-scripts/pipes create mode 100755 .PKGBUILDs/tari-scripts/pmabove create mode 100755 .PKGBUILDs/tari-scripts/pmleft create mode 100755 .PKGBUILDs/tari-scripts/spaceinvaders create mode 100755 .PKGBUILDs/tari-scripts/unowns create mode 100644 .PKGBUILDs/tari-urxvt/fix-smart-resize-with-x11-frame-borders.patch create mode 100644 .PKGBUILDs/tari-urxvt/font-width-fix.patch create mode 100644 .PKGBUILDs/tari-urxvt/line-spacing-fix.patch create mode 100644 .PKGBUILDs/tari-urxvt/sgr-mouse-mode.patch create mode 100644 .PKGBUILDs/tari-urxvt/urxvtc.desktop create mode 100644 .PKGBUILDs/tari-util/launch.c create mode 100644 .PKGBUILDs/tari-web/local-settings.js create mode 100644 .PKGBUILDs/tari-web/mozilla.cfg diff --git a/.PKGBUILDs/tari-scripts/256colortest b/.PKGBUILDs/tari-scripts/256colortest new file mode 100755 index 0000000..7e5c599 --- /dev/null +++ b/.PKGBUILDs/tari-scripts/256colortest @@ -0,0 +1,63 @@ +#!/usr/bin/env perl +# Author: Todd Larason +# $XFree86: xc/programs/xterm/vttests/256colors2.pl,v 1.2 2002/03/26 01:46:43 dickey Exp $ + +# use the resources for colors 0-15 - usually more-or-less a +# reproduction of the standard ANSI colors, but possibly more +# pleasing shades + +# colors 16-231 are a 6x6x6 color cube +for ($red = 0; $red < 6; $red++) { + for ($green = 0; $green < 6; $green++) { + for ($blue = 0; $blue < 6; $blue++) { + printf("\x1b]4;%d;rgb:%2.2x/%2.2x/%2.2x\x1b\\", + 16 + ($red * 36) + ($green * 6) + $blue, + ($red ? ($red * 40 + 55) : 0), + ($green ? ($green * 40 + 55) : 0), + ($blue ? ($blue * 40 + 55) : 0)); + } + } +} + +# colors 232-255 are a grayscale ramp, intentionally leaving out +# black and white +for ($gray = 0; $gray < 24; $gray++) { + $level = ($gray * 10) + 8; + printf("\x1b]4;%d;rgb:%2.2x/%2.2x/%2.2x\x1b\\", + 232 + $gray, $level, $level, $level); +} + + +# display the colors + +# first the system ones: +print "System colors:\n"; +for ($color = 0; $color < 8; $color++) { + print "\x1b[48;5;${color}m "; +} +print "\x1b[0m\n"; +for ($color = 8; $color < 16; $color++) { + print "\x1b[48;5;${color}m "; +} +print "\x1b[0m\n\n"; + +# now the color cube +print "Color cube, 6x6x6:\n"; +for ($green = 0; $green < 6; $green++) { + for ($red = 0; $red < 6; $red++) { + for ($blue = 0; $blue < 6; $blue++) { + $color = 16 + ($red * 36) + ($green * 6) + $blue; + print "\x1b[48;5;${color}m "; + } + print "\x1b[0m "; + } + print "\n"; +} + + +# now the grayscale ramp +print "Grayscale ramp:\n"; +for ($color = 232; $color < 256; $color++) { + print "\x1b[48;5;${color}m "; +} +print "\x1b[0m\n"; diff --git a/.PKGBUILDs/tari-scripts/colorfade b/.PKGBUILDs/tari-scripts/colorfade new file mode 100755 index 0000000..997be13 --- /dev/null +++ b/.PKGBUILDs/tari-scripts/colorfade @@ -0,0 +1,40 @@ +#!/bin/sh + +# ANSI Color -- use these variables to easily have different color +# and format output. Make sure to output the reset sequence after +# colors (f = foreground, b = background), and use the 'off' +# feature for anything you turn on. +# Author: pfh + +initializeANSI() +{ + esc="" + + blackf="${esc}[30m"; redf="${esc}[31m"; greenf="${esc}[32m" + yellowf="${esc}[33m" bluef="${esc}[34m"; purplef="${esc}[35m" + cyanf="${esc}[36m"; whitef="${esc}[37m" + + blackb="${esc}[40m"; redb="${esc}[41m"; greenb="${esc}[42m" + yellowb="${esc}[43m" blueb="${esc}[44m"; purpleb="${esc}[45m" + cyanb="${esc}[46m"; whiteb="${esc}[47m" + + boldon="${esc}[1m"; boldoff="${esc}[22m" + italicson="${esc}[3m"; italicsoff="${esc}[23m" + ulon="${esc}[4m"; uloff="${esc}[24m" + invon="${esc}[7m"; invoff="${esc}[27m" + + reset="${esc}[0m" +} + +# note in this first use that switching colors doesn't require a reset +# first - the new color overrides the old one. + +initializeANSI + +cat << EOF + + ${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} + ${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} + ${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} + +EOF diff --git a/.PKGBUILDs/tari-scripts/colorhash b/.PKGBUILDs/tari-scripts/colorhash new file mode 100755 index 0000000..50fcfdc --- /dev/null +++ b/.PKGBUILDs/tari-scripts/colorhash @@ -0,0 +1,41 @@ +#!/bin/sh + +# ANSI Color -- use these variables to easily have different color +# and format output. Make sure to output the reset sequence after +# colors (f = foreground, b = background), and use the 'off' +# feature for anything you turn on. + +initializeANSI() +{ + esc="" + + blackf="${esc}[30m"; redf="${esc}[31m"; greenf="${esc}[32m" + yellowf="${esc}[33m" bluef="${esc}[34m"; purplef="${esc}[35m" + cyanf="${esc}[36m"; whitef="${esc}[37m" + + blackb="${esc}[40m"; redb="${esc}[41m"; greenb="${esc}[42m" + yellowb="${esc}[43m" blueb="${esc}[44m"; purpleb="${esc}[45m" + cyanb="${esc}[46m"; whiteb="${esc}[47m" + + boldon="${esc}[1m"; boldoff="${esc}[22m" + italicson="${esc}[3m"; italicsoff="${esc}[23m" + ulon="${esc}[4m"; uloff="${esc}[24m" + invon="${esc}[7m"; invoff="${esc}[27m" + + reset="${esc}[0m" +} + +# note in this first use that switching colors doesn't require a reset +# first - the new color overrides the old one. + +initializeANSI + +cat << EOF + + ${reset}${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}${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}${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}${redf}██████████ ${reset}${greenf}██████████ ${reset}${yellowf}██████████ ${reset}${bluef}██████████ ${reset}${purplef}██████████ ${reset}${cyanf}██████████ + ${reset}${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} +EOF diff --git a/.PKGBUILDs/tari-scripts/colorhex b/.PKGBUILDs/tari-scripts/colorhex new file mode 100755 index 0000000..873621e --- /dev/null +++ b/.PKGBUILDs/tari-scripts/colorhex @@ -0,0 +1,10 @@ +#!/bin/bash +colors=($(xrdb -query | sed -n 's/.*color\([0-9]\)/\1/p' | sort -nu | cut -f2)) + +echo -e "\e[1;37m + Red Green Yellow Blue Magenta Cyan White + ─────────────────────────────────────────────────────────────\e[0m" + for i in {1..7}; do echo -en "\e[$((30+$i))m ${colors[i]} \e[0m"; done + echo + for i in {9..15}; do echo -en "\e[1;$((22+$i))m ${colors[i]} \e[0m"; done + echo -e "\n" diff --git a/.PKGBUILDs/tari-scripts/colorline b/.PKGBUILDs/tari-scripts/colorline new file mode 100755 index 0000000..96851b8 --- /dev/null +++ b/.PKGBUILDs/tari-scripts/colorline @@ -0,0 +1,24 @@ +#!/usr/bin/env bash + +# set colors + +colors=($(xrdb -query | sed -n 's/.*color\([0-9]\)/\1/p' | sort -nu | cut -f2)) + +f=3 b=4 +for j in f b; do + for i in {0..7}; do + printf -v $j$i %b "\e[${!j}${i}m" + done +done +t=$'\e[0m' + + +# output + +cat << EOF + +$f1▀▀▀▀▀▀▀$t $f2▀▀▀▀▀▀▀$t $f3▀▀▀▀▀▀▀$t $f4▀▀▀▀▀▀▀$t $f5▀▀▀▀▀▀▀$t $f6▀▀▀▀▀▀▀$t $f7▀▀▀▀▀▀▀$t +EOF +for i in {1..7}; do echo -en "\e[$((30+$i))m${colors[i]} \e[0m "; done +echo +echo diff --git a/.PKGBUILDs/tari-scripts/colorpanes b/.PKGBUILDs/tari-scripts/colorpanes new file mode 100755 index 0000000..e12b44f --- /dev/null +++ b/.PKGBUILDs/tari-scripts/colorpanes @@ -0,0 +1,23 @@ +#!/usr/bin/env bash + +# Author: GekkoP + +f=3 b=4 +for j in f b; do + for i in {0..7}; do + printf -v $j$i %b "\e[${!j}${i}m" + done +done +d=$'\e[1m' +t=$'\e[0m' +v=$'\e[7m' + + +cat << EOF + + $f1████$d▄$t $f2████$d▄$t $f3████$d▄$t $f4████$d▄$t $f5████$d▄$t $f6████$d▄$t $f7████$d▄$t + $f1████$d█$t $f2████$d█$t $f3████$d█$t $f4████$d█$t $f5████$d█$t $f6████$d█$t $f7████$d█$t + $f1████$d█$t $f2████$d█$t $f3████$d█$t $f4████$d█$t $f5████$d█$t $f6████$d█$t $f7████$d█$t + $d$f1 ▀▀▀▀ $f2▀▀▀▀ $f3▀▀▀▀ $f4▀▀▀▀ $f5▀▀▀▀ $f6▀▀▀▀ $f7▀▀▀▀$t + +EOF diff --git a/.PKGBUILDs/tari-scripts/colortest b/.PKGBUILDs/tari-scripts/colortest new file mode 100755 index 0000000..66a1f87 --- /dev/null +++ b/.PKGBUILDs/tari-scripts/colortest @@ -0,0 +1,30 @@ +#!/usr/bin/env bash + +# Daniel Crisman's ANSI color chart script from +# The Bash Prompt HOWTO: 6.1. Colours +# http://www.tldp.org/HOWTO/Bash-Prompt-HOWTO/x329.html +# +# This function echoes a bunch of color codes to the +# terminal to demonstrate what's available. Each +# line is the color code of one forground color, +# out of 17 (default + 16 escapes), followed by a +# test use of that color on all nine background +# colors (default + 8 escapes). + + T='•••' # The text for the color test + + echo -e "\n def 40m 41m 42m 43m 44m 45m 46m 47m"; + + for FGs in ' m' ' 1m' ' 30m' '1;30m' ' 31m' '1;31m' ' 32m' \ + '1;32m' ' 33m' '1;33m' ' 34m' '1;34m' ' 35m' '1;35m' \ + ' 36m' '1;36m' ' 37m' '1;37m'; + + do FG=${FGs// /} + echo -en " $FGs \033[$FG $T " + + for BG in 40m 41m 42m 43m 44m 45m 46m 47m; + do echo -en "$EINS \033[$FG\033[$BG $T \033[0m"; + done + echo; + done + echo diff --git a/.PKGBUILDs/tari-scripts/diamonds b/.PKGBUILDs/tari-scripts/diamonds new file mode 100755 index 0000000..e03875d --- /dev/null +++ b/.PKGBUILDs/tari-scripts/diamonds @@ -0,0 +1,207 @@ +#!/bin/bash +# Animated pipes.sh terminal screensaver at an angle. +# Copyright (c) 2013-2015 Yu-Jie Lin +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. +# +# Website: https://github.com/pipeseroni/pipesX.sh + +VERSION=1.1.0 + +W=$(tput cols) H=$(tput lines) +# maximal random value + 1 +M=32768 + +SETS=('╱╲' '/\' '..' 'oo' '\/') +COLORS=(31 32 33 34 35 36 37) + +# default values +N=5 +T=() +I=0.05 +P=25 +R=$((W * H / 4)) + +HELP="Usage: $(basename $0) [OPTIONS] +Animated pipes.sh terminal screensaver at an angle. + +Options: + + -n [1-] number of pipes. (Default: $N) + -t [0-$((${#SETS[@]} - 1))] types of pipes, can be used more than once. (Default: $T) + -t c[2chs] custom type of pipes. + -i [float] piping interval or maze generation interval. (Default: $I) + -P [0-100] probability of a turning pipe or of \\ in maze generation. (Default: $P) + -r [LIMIT] reset after x characters, 0 if no limit. (Default: $R) + -R random starting point. + -C no color. + -X maze generation. + -h this help message. + -v print version number. +" + +while getopts "n:t:i:P:r:RCXhv" arg; do + case $arg in + n) + ((N = OPTARG > 0 ? OPTARG : N)) + ;; + t) + if [[ "$OPTARG" = c?? ]]; then + T+=(${#SETS[@]}) + SETS+=("${OPTARG:1}") + else + T+=($(((OPTARG >= 0 && OPTARG < ${#SETS[@]}) ? OPTARG : T))) + fi + ;; + i) + I=$OPTARG + ;; + P) + ((P = (OPTARG >= 0 && OPTARG <= 100) ? OPTARG : P)) + ;; + r) + ((R = OPTARG >= 0 ? OPTARG : R)) + ;; + R) + RNDSTART=1 + ;; + C) + NOCOLOR=1 + ;; + X) + MAZE=1 + ;; + h) + echo -e "$HELP" + exit 0 + ;; + v) + echo "$(basename -- "$0") $VERSION" + exit 0 + esac +done + +# set to default values if not by options +((${#T[@]})) || T=(0) + +do_exit() { + # clear up standard input + read -t 0.001 && cat /dev/null + + # terminal has no smcup and rmcup capabilities + ((FORCE_RESET)) && reset && exit 0 + + tput rmcup + tput cnorm + stty echo + ((NOCOLOR)) && echo -ne '\e[0m' + exit 0 + } +trap do_exit HUP TERM +trap 'break 2' INT + +# No echo stdin and hide the cursor +stty -echo +tput smcup || FORCE_RESET=1 +tput civis +tput clear + +# maze geneartion +while [[ $MAZE ]] && clear; do + [[ $NOCOLOR ]] || echo -ne "\e[1;${COLORS[${#COLORS[@]} * RANDOM / M]}m" + for ((i = 0; i < W * H; i++ )); do + echo -ne ${SETS[T]:100 * RANDOM / M < P:1} + done + read -t $I -n 1 && [[ $REPLY =~ q|Q ]] && do_exit +done + +# initialze values +for ((n = 0; n < N; n++)); do + ((X[n] = RNDSTART ? (W + 2) * RANDOM / M : W / 2)) + ((Y[n] = RNDSTART ? (H + 2) * RANDOM / M : H / 2)) + D[n]=$((4 * RANDOM / M)) + C[n]=${COLORS[${#COLORS[@]} * RANDOM / M]} + t[n]=${T[${#T[@]} * RANDOM / M]} +done + +clear +while REPLY=; read -t $I -n 1; [[ -z $REPLY ]] ; do + for ((n = 0; n < N; n++, CC = 0)); do + x=${X[n]} y=${Y[n]} + d=${D[n]} c=${C[n]} + + # calculate new direction `d` + # 1 0 + # \/ 4 directions 0 to 3 + # /\ + # 2 3 + # valid directions: d: dd', d' is the new direction + # d + # 0: / 00 \ 01 03 + # / / /\ + # 1: / 10 \ 11 12 + # \ \ /\ + # 2: \/ 21 / 22 / 23 + # / \ + # 3: \/ 30 \ 32 \ 33 + # / \ + ((d = (100 * RANDOM / M) < P ? ((d + 1) + 2 * (RANDOM % 2)) % 4 : d)) + ((e = (d + 1) % 4)) + + # calculate new position + # d' x' y' + # 0: x+1 y-1 + # 1: x-1 y-1 + # 2: x-1 y+1 + # 3: x+1 y+1 + ((xn = e < 2 ? x + 1 : x - 1)) + ((yn = d < 2 ? y - 1 : y + 1)) + + # adjust position and change color? + ((d < 2 && y == 0)) && ((yn--, CC=1)) + ((e > 1 && x == 0)) && ((xn--, CC=1)) + ((d > 1 && y == H)) && ((yn++, CC=1)) + ((e < 2 && x == W)) && ((xn++, CC=1)) + ((CC)) && c=${COLORS[${#COLORS[@]} * RANDOM / M]} + ((CC)) && t[n]=${T[${#T[@]} * RANDOM / M]} + + # warp pipe + ((xn = (xn + W + 1) % (W + 1))) + ((yn = (yn + H + 1) % (H + 1))) + + # calculate position in terminal + # d' xt yt + # 0: x' y'+1 + # 1: x'+1 y'+1 + # 2: x'+1 y' + # 3: x' y' + ((xt = e < 2 ? xn : xn + 1)) + ((yt = d < 2 ? yn + 1 : yn)) + + echo -ne "\e[${yt};${xt}H" + [[ $NOCOLOR ]] || echo -ne "\e[1;${c}m" + echo -n "${SETS[t[n]]:d%2:1}" + + X[n]=$xn Y[n]=$yn + D[n]=$d C[n]=$c + done + ((R)) && ((r += N, r >= R)) && r=0 && clear +done + +do_exit diff --git a/.PKGBUILDs/tari-scripts/dna b/.PKGBUILDs/tari-scripts/dna new file mode 100755 index 0000000..f9a124e --- /dev/null +++ b/.PKGBUILDs/tari-scripts/dna @@ -0,0 +1,43 @@ +#!/usr/bin/env bash + +# ANSI color scheme script by pfh + +f=3 b=4 +for j in f b; do + for i in {0..7}; do + printf -v $j$i %b "\e[${!j}${i}m" + done +done +bld=$'\e[1m' +rst=$'\e[0m' +inv=$'\e[7m' + +cat << EOF + + $f1█-----$bld█ $rst$f2█-----$bld█$rst $f3█-----$bld█$rst $f4█-----$bld█$rst $f5█-----$bld█$rst $f6█-----$bld█$rst + $f1█---$bld█$rst $f2█---$bld█$rst $f3█---$bld█$rst $f4█---$bld█$rst $f5█---$bld█$rst $f6█---$bld█$rst + $f1 █-$bld█$rst $f2 █-$bld█$rst $f3 █-$bld█$rst $f4 █-$bld█$rst $f5 █-$bld█$rst $f6 █-$bld█$rst + $f1█$rst $f2█$rst $f3█$rst $f4█$rst $f5█$rst $f6█$rst + $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 + $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 + $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 + $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 + $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 + $f1$bld█$rst $f2$bld█$rst $f3$bld█$rst $f4$bld█$rst $f5$bld█$rst $f6$bld█$rst + $f1█-$bld█$rst $f2█-$bld█$rst $f3█-$bld█$rst $f4█-$bld█$rst $f5█-$bld█$rst $f6█-$bld█$rst + $f1█---$bld█$rst $f2█---$bld█$rst $f3█---$bld█$rst $f4█---$bld█$rst $f5█---$bld█$rst $f6█---$bld█$rst + $f1█-----$bld█ $rst$f2█-----$bld█$rst $f3█-----$bld█$rst $f4█-----$bld█$rst $f5█-----$bld█$rst $f6█-----$bld█$rst + $f1█---$bld█$rst $f2█---$bld█$rst $f3█---$bld█$rst $f4█---$bld█$rst $f5█---$bld█$rst $f6█---$bld█$rst + $f1 █-$bld█$rst $f2 █-$bld█$rst $f3 █-$bld█$rst $f4 █-$bld█$rst $f5 █-$bld█$rst $f6 █-$bld█$rst + $f1█$rst $f2█$rst $f3█$rst $f4█$rst $f5█$rst $f6█$rst + $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 + $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 + $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 + $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 + $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 + $f1$bld█$rst $f2$bld█$rst $f3$bld█$rst $f4$bld█$rst $f5$bld█$rst $f6$bld█$rst + $f1█-$bld█$rst $f2█-$bld█$rst $f3█-$bld█$rst $f4█-$bld█$rst $f5█-$bld█$rst $f6█-$bld█$rst + $f1█---$bld█$rst $f2█---$bld█$rst $f3█---$bld█$rst $f4█---$bld█$rst $f5█---$bld█$rst $f6█---$bld█$rst + $f1█-----$bld█ $rst$f2█-----$bld█$rst $f3█-----$bld█$rst $f4█-----$bld█$rst $f5█-----$bld█$rst $f6█-----$bld█$rst + +EOF diff --git a/.PKGBUILDs/tari-scripts/ghosts b/.PKGBUILDs/tari-scripts/ghosts new file mode 100755 index 0000000..1ab385e --- /dev/null +++ b/.PKGBUILDs/tari-scripts/ghosts @@ -0,0 +1,28 @@ +#!/usr/bin/env bash + +# ANSI color scheme script by pfh + +f=3 b=4 +for j in f b; do + for i in {0..7}; do + printf -v $j$i %b "\e[${!j}${i}m" + done +done +bld=$'\e[1m' +rst=$'\e[0m' +inv=$'\e[7m' +cat << EOF + +$f1 ▄▄▄ $f2 ▄▄▄ $f3 ▄▄▄ $f4 ▄▄▄ $f5 ▄▄▄ $f6 ▄▄▄ +$f1 ▀█▀██ ▄ $f2 ▀█▀██ ▄ $f3 ▀█▀██ ▄ $f4 ▀█▀██ ▄ $f5 ▀█▀██ ▄ $f6 ▀█▀██ ▄ +$f1 ▀▄██████▀ $f2 ▀▄██████▀ $f3 ▀▄██████▀ $f4 ▀▄██████▀ $f5 ▀▄██████▀ $f6 ▀▄██████▀ +$f1 ▀█████ $f2 ▀█████ $f3 ▀█████ $f4 ▀█████ $f5 ▀█████ $f6 ▀█████ +$f1 ▀▀▀▀▄ $f2 ▀▀▀▀▄ $f3 ▀▀▀▀▄ $f4 ▀▀▀▀▄ $f5 ▀▀▀▀▄ $f6 ▀▀▀▀▄ +$bld +$f1 ▄▄▄ $f2 ▄▄▄ $f3 ▄▄▄ $f4 ▄▄▄ $f5 ▄▄▄ $f6 ▄▄▄ +$f1 ▀█▀██ ▄ $f2 ▀█▀██ ▄ $f3 ▀█▀██ ▄ $f4 ▀█▀██ ▄ $f5 ▀█▀██ ▄ $f6 ▀█▀██ ▄ +$f1 ▀▄██████▀ $f2 ▀▄██████▀ $f3 ▀▄██████▀ $f4 ▀▄██████▀ $f5 ▀▄██████▀ $f6 ▀▄██████▀ +$f1 ▀█████ $f2 ▀█████ $f3 ▀█████ $f4 ▀█████ $f5 ▀█████ $f6 ▀█████ +$f1 ▀▀▀▀▄ $f2 ▀▀▀▀▄ $f3 ▀▀▀▀▄ $f4 ▀▀▀▀▄ $f5 ▀▀▀▀▄ $f6 ▀▀▀▀▄ +$rst +EOF diff --git a/.PKGBUILDs/tari-scripts/pipes b/.PKGBUILDs/tari-scripts/pipes new file mode 100755 index 0000000..47c33ec --- /dev/null +++ b/.PKGBUILDs/tari-scripts/pipes @@ -0,0 +1,142 @@ +#!/usr/bin/env bash +# pipes.sh: Animated pipes terminal screensaver. +# Copyleft (ↄ) 2015 - Acidhub +# 2015 - Pipeseroni - http://github.com/pipeseroni +# 2014 - Yu-Jie Lin +# ???? - 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 . +# + +VERSION=1.2 + +M=32768 +p=3 +f=75 s=13 r=2000 t=0 +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/null + + # terminal has no smcup and rmcup capabilities + ((FORCE_RESET)) && reset && exit 0 + + tput rmcup + tput cnorm + stty echo + ((NOCOLOR)) && echo -ne '\e[0m' + exit 0 +} +trap cleanup HUP TERM +trap 'break 2' INT + +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 smcup || FORCE_RESET=1 +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 reset && tput civis && t=0 || ((t++)) +done + +cleanup diff --git a/.PKGBUILDs/tari-scripts/pmabove b/.PKGBUILDs/tari-scripts/pmabove new file mode 100755 index 0000000..c2cc3e3 --- /dev/null +++ b/.PKGBUILDs/tari-scripts/pmabove @@ -0,0 +1,31 @@ +#!/usr/bin/env bash + +# Author: pfh + +f=3 b=4 +for j in f b; do + for i in {0..7}; do + printf -v $j$i %b "\e[${!j}${i}m" + done +done +bld=$'\e[1m' +rst=$'\e[0m' +inv=$'\e[7m' + +cat << EOF +$rst + $f3 ▄███████▄ $f1 ▄██████▄ $f2 ▄██████▄ $f4 ▄██████▄ $f5 ▄██████▄ $f6 ▄██████▄ + $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▄ + $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█ + $f3███████▄ $f7▀▀ ▀▀ ▀▀ $f1████████████ $f2████████████ $f4████████████ $f5████████████ $f6████████████ + $f3▀█████████▄▄ $f1██▀██▀▀██▀██ $f2██▀██▀▀██▀██ $f4██▀██▀▀██▀██ $f5██▀██▀▀██▀██ $f6██▀██▀▀██▀██ + $f3 ▀███████▀ $f1▀ ▀ ▀ ▀ $f2▀ ▀ ▀ ▀ $f4▀ ▀ ▀ ▀ $f5▀ ▀ ▀ ▀ $f6▀ ▀ ▀ ▀ +$bld + $f3 ▄███████▄ $f1 ▄██████▄ $f2 ▄██████▄ $f4 ▄██████▄ $f5 ▄██████▄ $f6 ▄██████▄ + $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▄ + $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█ + $f3███████▄ $f7▀▀ ▀▀ ▀▀ $f1████████████ $f2████████████ $f4████████████ $f5████████████ $f6████████████ + $f3▀█████████▄▄ $f1██▀██▀▀██▀██ $f2██▀██▀▀██▀██ $f4██▀██▀▀██▀██ $f5██▀██▀▀██▀██ $f6██▀██▀▀██▀██ + $f3 ▀███████▀ $f1▀ ▀ ▀ ▀ $f2▀ ▀ ▀ ▀ $f4▀ ▀ ▀ ▀ $f5▀ ▀ ▀ ▀ $f6▀ ▀ ▀ ▀ +$rst +EOF diff --git a/.PKGBUILDs/tari-scripts/pmleft b/.PKGBUILDs/tari-scripts/pmleft new file mode 100755 index 0000000..741f7c6 --- /dev/null +++ b/.PKGBUILDs/tari-scripts/pmleft @@ -0,0 +1,41 @@ +#!/bin/sh + +initializeANSI() +{ + esc="" + + blackf="${esc}[30m"; redf="${esc}[31m"; greenf="${esc}[32m" + yellowf="${esc}[33m" bluef="${esc}[34m"; purplef="${esc}[35m" + cyanf="${esc}[36m"; whitef="${esc}[37m" + + blackb="${esc}[40m"; redb="${esc}[41m"; greenb="${esc}[42m" + yellowb="${esc}[43m" blueb="${esc}[44m"; purpleb="${esc}[45m" + cyanb="${esc}[46m"; whiteb="${esc}[47m" + + boldon="${esc}[1m"; boldoff="${esc}[22m" + italicson="${esc}[3m"; italicsoff="${esc}[23m" + ulon="${esc}[4m"; uloff="${esc}[24m" + invon="${esc}[7m"; invoff="${esc}[27m" + + reset="${esc}[0m" +} + +initializeANSI + +cat << EOF + + ${yellowf} ▄███████▄${reset} ${redf} ▄██████▄${reset} ${greenf} ▄██████▄${reset} ${bluef} ▄██████▄${reset} ${purplef} ▄██████▄${reset} ${cyanf} ▄██████▄${reset} + ${yellowf}▄█████████▀▀${reset} ${redf}▄${whitef}█▀█${redf}██${whitef}█▀█${redf}██▄${reset} ${greenf}▄${whitef}█▀█${greenf}██${whitef}█▀█${greenf}██▄${reset} ${bluef}▄${whitef}█▀█${bluef}██${whitef}█▀█${bluef}██▄${reset} ${purplef}▄${whitef}█▀█${purplef}██${whitef}█▀█${purplef}██▄${reset} ${cyanf}▄${whitef}█▀█${cyanf}██${whitef}█▀█${cyanf}██▄${reset} + ${yellowf}███████▀${reset} ${redf}█${whitef}▄▄█${redf}██${whitef}▄▄█${redf}███${reset} ${greenf}█${whitef}▄▄█${greenf}██${whitef}▄▄█${greenf}███${reset} ${bluef}█${whitef}▄▄█${bluef}██${whitef}▄▄█${bluef}███${reset} ${purplef}█${whitef}▄▄█${purplef}██${whitef}▄▄█${purplef}███${reset} ${cyanf}█${whitef}▄▄█${cyanf}██${whitef}▄▄█${cyanf}███${reset} + ${yellowf}███████▄${reset} ${redf}████████████${reset} ${greenf}████████████${reset} ${bluef}████████████${reset} ${purplef}████████████${reset} ${cyanf}████████████${reset} + ${yellowf}▀█████████▄▄${reset} ${redf}██▀██▀▀██▀██${reset} ${greenf}██▀██▀▀██▀██${reset} ${bluef}██▀██▀▀██▀██${reset} ${purplef}██▀██▀▀██▀██${reset} ${cyanf}██▀██▀▀██▀██${reset} + ${yellowf} ▀███████▀${reset} ${redf}▀ ▀ ▀ ▀${reset} ${greenf}▀ ▀ ▀ ▀${reset} ${bluef}▀ ▀ ▀ ▀${reset} ${purplef}▀ ▀ ▀ ▀${reset} ${cyanf}▀ ▀ ▀ ▀${reset} + + ${boldon}${yellowf} ▄███████▄ ${redf} ▄██████▄ ${greenf} ▄██████▄ ${bluef} ▄██████▄ ${purplef} ▄██████▄ ${cyanf} ▄██████▄${reset} + ${boldon}${yellowf}▄█████████▀▀ ${redf}▄${whitef}█▀█${redf}██${whitef}█▀█${redf}██▄ ${greenf}▄${whitef}█▀█${greenf}██${whitef}█▀█${greenf}██▄ ${bluef}▄${whitef}█▀█${bluef}██${whitef}█▀█${bluef}██▄ ${purplef}▄${whitef}█▀█${purplef}██${whitef}█▀█${purplef}██▄ ${cyanf}▄${whitef}█▀█${cyanf}██${whitef}█▀█${cyanf}██▄${reset} + ${boldon}${yellowf}███████▀ ${redf}█${whitef}▄▄█${redf}██${whitef}▄▄█${redf}███ ${greenf}█${whitef}▄▄█${greenf}██${whitef}▄▄█${greenf}███ ${bluef}█${whitef}▄▄█${bluef}██${whitef}▄▄█${bluef}███ ${purplef}█${whitef}▄▄█${purplef}██${whitef}▄▄█${purplef}███ ${cyanf}█${whitef}▄▄█${cyanf}██${whitef}▄▄█${cyanf}███${reset} + ${boldon}${yellowf}███████▄ ${redf}████████████ ${greenf}████████████ ${bluef}████████████ ${purplef}████████████ ${cyanf}████████████${reset} + ${boldon}${yellowf}▀█████████▄▄ ${redf}██▀██▀▀██▀██ ${greenf}██▀██▀▀██▀██ ${bluef}██▀██▀▀██▀██ ${purplef}██▀██▀▀██▀██ ${cyanf}██▀██▀▀██▀██${reset} + ${boldon}${yellowf} ▀███████▀ ${redf}▀ ▀ ▀ ▀ ${greenf}▀ ▀ ▀ ▀ ${bluef}▀ ▀ ▀ ▀ ${purplef}▀ ▀ ▀ ▀ ${cyanf}▀ ▀ ▀ ▀${reset} + +EOF diff --git a/.PKGBUILDs/tari-scripts/spaceinvaders b/.PKGBUILDs/tari-scripts/spaceinvaders new file mode 100755 index 0000000..1f287f3 --- /dev/null +++ b/.PKGBUILDs/tari-scripts/spaceinvaders @@ -0,0 +1,35 @@ +#!/usr/bin/env bash + +# ANSI color scheme script featuring Space Invaders + +f=3 b=4 +for j in f b; do + for i in {0..7}; do + printf -v $j$i %b "\e[${!j}${i}m" + done +done +bld=$'\e[1m' +rst=$'\e[0m' + +cat << EOF + + $f1 ▀▄ ▄▀ $f2 ▄▄▄████▄▄▄ $f3 ▄██▄ $f4 ▀▄ ▄▀ $f5 ▄▄▄████▄▄▄ $f6 ▄██▄ $rst + $f1 ▄█▀███▀█▄ $f2███▀▀██▀▀███ $f3▄█▀██▀█▄ $f4 ▄█▀███▀█▄ $f5███▀▀██▀▀███ $f6▄█▀██▀█▄$rst + $f1█▀███████▀█ $f2▀▀███▀▀███▀▀ $f3▀█▀██▀█▀ $f4█▀███████▀█ $f5▀▀███▀▀███▀▀ $f6▀█▀██▀█▀$rst + $f1▀ ▀▄▄ ▄▄▀ ▀ $f2 ▀█▄ ▀▀ ▄█▀ $f3▀▄ ▄▀ $f4▀ ▀▄▄ ▄▄▀ ▀ $f5 ▀█▄ ▀▀ ▄█▀ $f6▀▄ ▄▀$rst + + $bld$f1▄ ▀▄ ▄▀ ▄ $f2 ▄▄▄████▄▄▄ $f3 ▄██▄ $f4▄ ▀▄ ▄▀ ▄ $f5 ▄▄▄████▄▄▄ $f6 ▄██▄ $rst + $bld$f1█▄█▀███▀█▄█ $f2███▀▀██▀▀███ $f3▄█▀██▀█▄ $f4█▄█▀███▀█▄█ $f5███▀▀██▀▀███ $f6▄█▀██▀█▄$rst + $bld$f1▀█████████▀ $f2▀▀▀██▀▀██▀▀▀ $f3▀▀█▀▀█▀▀ $f4▀█████████▀ $f5▀▀▀██▀▀██▀▀▀ $f6▀▀█▀▀█▀▀$rst + $bld$f1 ▄▀ ▀▄ $f2▄▄▀▀ ▀▀ ▀▀▄▄ $f3▄▀▄▀▀▄▀▄ $f4 ▄▀ ▀▄ $f5▄▄▀▀ ▀▀ ▀▀▄▄ $f6▄▀▄▀▀▄▀▄$rst + + + $f7▌$rst + + $f7▌$rst + + $f7 ▄█▄ $rst + $f7▄█████████▄$rst + $f7▀▀▀▀▀▀▀▀▀▀▀$rst + +EOF diff --git a/.PKGBUILDs/tari-scripts/unowns b/.PKGBUILDs/tari-scripts/unowns new file mode 100755 index 0000000..b454c1b --- /dev/null +++ b/.PKGBUILDs/tari-scripts/unowns @@ -0,0 +1,64 @@ +#!/usr/bin/env python +# -*- coding: UTF-8 -*- +__author__ = 'actionless' + +import random + +unowns = [[ + ' ▀█▀▀▀█▀ ', + ' ▄▀▀▀▄ ', + ' ▀▄ ▀ ▄▀ ', + ' ▀█▀ ', + ' ▄█▄▄▄▄ ', + ], [ + ' █▄ █ ', + ' █ ▀▄▀▀▀▄ █ ', + ' █ ▀▄ ▀ ▄▀ █ ', + ' █ ▀▀▀ ▀▄█ ', + ' ▀ ▀ ', + ], [ + ' ▀▀▀█▀▀▀ ', + ' ▄▀▀▀▄ ', + ' ▀▄ ▀ ▄▀ ', + ' ▀▀▀ ', + ' ', + ], [ + ' ▀▄ ▄▀ ', + ' ▀▄▀▀▀▄▀ ', + ' ▀▄ ▀ ▄▀ ', + ' ▄▀ ▀▀▀ ▀▄ ', + ' ▀ ▀ ', + ], [ + ' █▀▀▄ ', + ' ▄▀▀▀▄ ▀▄ ', + ' ▀▄ ▀ ▄▀ █ ', + ' ▀▀▀ ▄▀ ', + ' ▀▀▀ ', + ], [ + ' ▀▄ ▄▀ ', + ' ▄▀▀▀▄ ', + ' ▀▄ ▀ ▄▀ ', + ' ▀█▀ ', + ' ▄▀▄ ', +]] + +print("") + +for mode in ['normal', 'bold']: + random.shuffle(unowns) + if mode == 'bold': + print("\033[1m") + + print( + '\n'.join([ + ''.join([ + "\033[03{n}m{string}".format( + n=color_number + 1, + string=unowns[color_number][line_number] + ) + for color_number in range(6)]) + for line_number in range(5)]) + ) + +# reset font: +print("\033[0m") diff --git a/.PKGBUILDs/tari-urxvt/fix-smart-resize-with-x11-frame-borders.patch b/.PKGBUILDs/tari-urxvt/fix-smart-resize-with-x11-frame-borders.patch new file mode 100644 index 0000000..06b5233 --- /dev/null +++ b/.PKGBUILDs/tari-urxvt/fix-smart-resize-with-x11-frame-borders.patch @@ -0,0 +1,54 @@ +commit bec3f19 +Author: Emanuele Giaquinta +Date: Tue Jun 28 21:56:17 2016 +0000 + + Fix invalid moves when smart resize is enabled and the wm uses X11 borders for the frame windows. + + Patch by Uli Schlachter. +--- + src/main.C | 25 +++++++++++++++++++++++-- + 1 file changed, 23 insertions(+), 2 deletions(-) + +diff --git a/src/main.C b/src/main.C +index 39aa5ec..5fa605e 100644 +--- a/src/main.C ++++ b/src/main.C +@@ -1054,6 +1054,25 @@ rxvt_term::alias_color (int dst, int src) + pix_colors[dst].set (this, rs[Rs_color + dst] = rs[Rs_color + src]); + } + ++#ifdef SMART_RESIZE ++static unsigned int ++get_parent_bw (Display *dpy, Window w) ++{ ++ int idummy; ++ unsigned int udummy; ++ Window wdummy, parent; ++ Window *children; ++ unsigned int nchildren, border_width; ++ ++ XQueryTree (dpy, w, &wdummy, &parent, &children, &nchildren); ++ XFree (children); ++ XGetGeometry (dpy, parent, &wdummy, &idummy, &idummy, ++ &udummy, &udummy, &border_width, &udummy); ++ ++ return border_width; ++} ++#endif ++ + /* -------------------------------------------------------------------- * + * - WINDOW RESIZING - * + * -------------------------------------------------------------------- */ +@@ -1098,8 +1117,10 @@ rxvt_term::resize_all_windows (unsigned int newwidth, unsigned int newheight, in + */ + if (x1 != x || y1 != y) + { +- x -= x1; +- y -= y1; ++ unsigned int border_width = get_parent_bw (dpy, parent); ++ ++ x -= x1 + border_width; ++ y -= y1 + border_width; + } + + x1 = (DisplayWidth (dpy, display->screen) - old_width ) / 2; diff --git a/.PKGBUILDs/tari-urxvt/font-width-fix.patch b/.PKGBUILDs/tari-urxvt/font-width-fix.patch new file mode 100644 index 0000000..5c07ff7 --- /dev/null +++ b/.PKGBUILDs/tari-urxvt/font-width-fix.patch @@ -0,0 +1,26 @@ +--- src/rxvtfont.C.bukind 2007-11-30 14:36:33.000000000 +0600 ++++ src/rxvtfont.C 2007-11-30 14:39:29.000000000 +0600 +@@ -1171,12 +1171,21 @@ + XGlyphInfo g; + XftTextExtents16 (disp, f, &ch, 1, &g); + ++/* ++ * bukind: don't use g.width as a width of a character! ++ * instead use g.xOff, see e.g.: http://keithp.com/~keithp/render/Xft.tutorial ++ + g.width -= g.x; + + int wcw = WCWIDTH (ch); + if (wcw > 0) g.width = (g.width + wcw - 1) / wcw; + + if (width < g.width ) width = g.width; ++ */ ++ int wcw = WCWIDTH (ch); ++ if (wcw > 1) g.xOff = g.xOff / wcw; ++ if (width < g.xOff) width = g.xOff; ++ + if (height < g.height ) height = g.height; + if (glheight < g.height - g.y) glheight = g.height - g.y; + } + + diff --git a/.PKGBUILDs/tari-urxvt/line-spacing-fix.patch b/.PKGBUILDs/tari-urxvt/line-spacing-fix.patch new file mode 100644 index 0000000..6799b96 --- /dev/null +++ b/.PKGBUILDs/tari-urxvt/line-spacing-fix.patch @@ -0,0 +1,25 @@ +--- src/rxvtfont.C.orig 2011-07-20 22:19:29.878012201 -0300 ++++ src/rxvtfont.C 2011-07-20 22:19:33.634671723 -0300 +@@ -1237,11 +1237,22 @@ + + FT_Face face = XftLockFace (f); + ++/* ++ * use ascent, descent and height from XftFont *f instead of FT_Face face. ++ * this somehow reproduces the behaviour of the line height as seen on xterm. ++ + ascent = (face->size->metrics.ascender + 63) >> 6; + descent = (-face->size->metrics.descender + 63) >> 6; + height = max (ascent + descent, (face->size->metrics.height + 63) >> 6); + width = 0; + ++ */ ++ ++ ascent = f->ascent; ++ descent = f->descent; ++ height = max (ascent + descent, f->height); ++ width = 0; ++ + bool scalable = face->face_flags & FT_FACE_FLAG_SCALABLE; + + XftUnlockFace (f); diff --git a/.PKGBUILDs/tari-urxvt/sgr-mouse-mode.patch b/.PKGBUILDs/tari-urxvt/sgr-mouse-mode.patch new file mode 100644 index 0000000..1834e0c --- /dev/null +++ b/.PKGBUILDs/tari-urxvt/sgr-mouse-mode.patch @@ -0,0 +1,90 @@ +--- src/command.C 2014-12-13 13:22:09.000000000 +0100 ++++ src/command.C 2016-01-13 04:50:39.161862513 +0100 +@@ -1280,6 +1280,8 @@ + int x, y; + int code = 32; + ++ if (priv_modes & PrivMode_ExtMouseSgr) code = 0; ++ + x = Pixel2Col (ev.x) + 1; + y = Pixel2Row (ev.y) + 1; + +@@ -1293,11 +1295,18 @@ + code += 32; + } + +- if (MEvent.button == AnyButton) ++ if (!(priv_modes & PrivMode_ExtMouseSgr) && MEvent.button == AnyButton) + button_number = 3; + else + { +- button_number = MEvent.button - Button1; ++ if (ev.type == MotionNotify) { ++ if (ev.state & Button1Mask) button_number = 0; ++ else if (ev.state & Button2Mask) button_number = 1; ++ else if (ev.state & Button3Mask) button_number = 2; ++ else return; ++ } else { ++ button_number = ev.button - Button1; ++ } + /* add 0x3D for wheel events, like xterm does */ + if (button_number >= 3) + button_number += 64 - 3; +@@ -1347,16 +1356,22 @@ + #endif + + #if ENABLE_FRILLS ++ if (priv_modes & PrivMode_ExtMouseSgr) ++ tt_printf ("\033[<%d;%d;%d%c", ++ code + button_number + key_state, ++ x, ++ y, ++ (ev.type == ButtonRelease ? 'm' : 'M')); +- if (priv_modes & PrivMode_ExtMouseRight) ++ else if (priv_modes & PrivMode_ExtMouseRight) + tt_printf ("\033[%d;%d;%dM", + code + button_number + key_state, + x, + y); + else if (priv_modes & PrivMode_ExtModeMouse) + tt_printf ("\033[M%c%lc%lc", + code + button_number + key_state, + wint_t (32 + x), + wint_t (32 + y)); + else + #endif + tt_printf ("\033[M%c%c%c", +@@ -2908,7 +2913,7 @@ + scr_soft_reset (); + + static const int pm_h[] = { 7, 25 }; +- static const int pm_l[] = { 1, 3, 4, 5, 6, 9, 66, 1000, 1001, 1005, 1015, 1049 }; ++ static const int pm_l[] = { 1, 3, 4, 5, 6, 9, 66, 1000, 1001, 1002, 1003, 1005, 1006, 1015, 1049 }; + + process_terminal_mode ('h', 0, ecb_array_length (pm_h), pm_h); + process_terminal_mode ('l', 0, ecb_array_length (pm_l), pm_l); +@@ -3713,13 +3718,14 @@ + { 1002, PrivMode_MouseBtnEvent }, + { 1003, PrivMode_MouseAnyEvent }, + #if ENABLE_FRILLS + { 1005, PrivMode_ExtModeMouse }, ++ { 1006, PrivMode_ExtMouseSgr }, + #endif + { 1010, PrivMode_TtyOutputInh }, // rxvt extension + { 1011, PrivMode_Keypress }, // rxvt extension + #if ENABLE_FRILLS + { 1015, PrivMode_ExtMouseRight }, // urxvt extension of 1005 + #endif + // 1035 enable modifiers for alt, numlock NYI + // 1036 send ESC for meta keys NYI + // 1037 send DEL for keypad delete NYI +--- src/rxvt.h 2014-12-17 16:33:08.000000000 +0100 ++++ src/rxvt.h 2016-01-13 03:42:31.508911380 +0100 +@@ -644,6 +644,7 @@ + #define PrivMode_ExtModeMouse (1UL<<23) // xterm pseudo-utf-8 hack + #define PrivMode_ExtMouseRight (1UL<<24) // xterm pseudo-utf-8, but works in non-utf-8-locales + #define PrivMode_BlinkingCursor (1UL<<25) ++#define PrivMode_ExtMouseSgr (1UL<<26) // sgr mouse extension + + #define PrivMode_mouse_report (PrivMode_MouseX10|PrivMode_MouseX11|PrivMode_MouseBtnEvent|PrivMode_MouseAnyEvent) + diff --git a/.PKGBUILDs/tari-urxvt/urxvtc.desktop b/.PKGBUILDs/tari-urxvt/urxvtc.desktop new file mode 100644 index 0000000..e39a418 --- /dev/null +++ b/.PKGBUILDs/tari-urxvt/urxvtc.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Version=1.0 +Encoding=UTF-8 +Name=urxvt (client) +Comment=An unicode capable rxvt clone client for urxvtd +Exec=urxvtc +Icon=terminal +Terminal=false +Type=Application +Categories=Application;System;TerminalEmulator; diff --git a/.PKGBUILDs/tari-util/launch.c b/.PKGBUILDs/tari-util/launch.c new file mode 100644 index 0000000..1b0ee2a --- /dev/null +++ b/.PKGBUILDs/tari-util/launch.c @@ -0,0 +1,50 @@ +/* Copyright 2017 Maxwell Anselm. + * + * 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 . + */ +#include +#include +#include + +int main(int argc, char** argv) +{ + // need a command to run + if (argc <= 1) return 1; + + // fork to disown the child + pid_t child; + if (child = fork()) + { + if (child == -1) + { + perror("fork"); + return 1; + } + + printf("%ld\n", (long)child); + return 0; + } + + // silence output + if (!freopen("/dev/null", "w", stdout)) fprintf(stdout, "Failed to silence stdout\n"); + if (!freopen("/dev/null", "w", stderr)) fprintf(stderr, "Failed to silence stderr\n"); + + // run the command + execvp(argv[1], argv + 1); + + // if execvp returns, it's an error + if (freopen("/dev/tty", "w", stderr)) perror(argv[0]); + + return 1; +} diff --git a/.PKGBUILDs/tari-web/local-settings.js b/.PKGBUILDs/tari-web/local-settings.js new file mode 100644 index 0000000..8712516 --- /dev/null +++ b/.PKGBUILDs/tari-web/local-settings.js @@ -0,0 +1,2 @@ +pref("general.config.obscure_value", 0); +pref("general.config.filename", "mozilla.cfg"); diff --git a/.PKGBUILDs/tari-web/mozilla.cfg b/.PKGBUILDs/tari-web/mozilla.cfg new file mode 100644 index 0000000..0ec2496 --- /dev/null +++ b/.PKGBUILDs/tari-web/mozilla.cfg @@ -0,0 +1,50 @@ +// + +// Don't use pocket +lockPref("browser.pocket.enabled", false); + +// Don't automatically scan websites +lockPref("browser.safebrowsing.malware.enabled", false); +lockPref("browser.safebrowsing.phishing.enabled", false); +lockPref("browser.safebrowsing.downloads.enabled", false); +lockPref("browser.safebrowsing.downloads.remote.block_uncommon", false); +lockPref("browser.safebrowsing.downloads.remote.block_potentially_unwanted", false); + +// Don't try to suggest search results +lockPref("browser.search.suggest.enabled", false); +lockPref("browser.urlbar.searchSuggestionsChoice", false); +lockPref("browser.urlbar.suggest.searches", false); + +// Don't try to update search engines automatically +lockPref("browser.search.update", false); + +// Don't send excessive data +lockPref("browser.tabs.crashReporting.sendReport", false); +lockPref("datareporting.healthreport.uploadEnabled", false); +lockPref("app.shield.optoutstudies.enabled", false); + +// Don't warn when closing tabs +lockPref("browser.tabs.warnOnClose", false); + +// Don't save account information +lockPref("signon.rememberSignons", false); + +// Disable the default new tab page +lockPref("browser.newtabpage.enabled", false); +lockPref("browser.newtabpage.activity-stream.showSearch", false); +lockPref("browser.newtabpage.activity-stream.showSponsored", false); +lockPref("browser.newtabpage.activity-stream.feeds.topsites", false); +lockPref("browser.newtabpage.activity-stream.feeds.snippets", false); +lockPref("browser.newtabpage.activity-stream.feeds.section.highlights", false); +lockPref("browser.newtabpage.activity-stream.section.highlights.includeBookmarks", false); +lockPref("browser.newtabpage.activity-stream.section.highlights.includeDownloads", false); +lockPref("browser.newtabpage.activity-stream.section.highlights.includePocket", false); +lockPref("browser.newtabpage.activity-stream.section.highlights.includeVisited", false); + +// Use vim in the devtools editor +lockPref("devtools.editor.keymap", "vim"); + +// Disable the HTTPS everywhere section in devtools +lockPref("devtools.webextensions.https-everywhere@eff.org.enabled", false); + +// vim:syn=javascript