diff --git a/utils/openbsd/X11/xenodm/Xsetup_0 b/utils/openbsd/X11/xenodm/Xsetup_0 index 1472d9d..e0b7b3d 100755 --- a/utils/openbsd/X11/xenodm/Xsetup_0 +++ b/utils/openbsd/X11/xenodm/Xsetup_0 @@ -1,6 +1,4 @@ #!/bin/sh -/usr/local/bin/sct 3500 xset r rate 300 75 xsetroot -solid "#000000" -/usr/local/bin/xli -onroot -gamma 2.2 /etc/X11/xenodm/pixmaps/FreeHugsBSD-bg.png xconsole -geometry 480x130-0-0 -daemon -notify -verbose -exitOnFail diff --git a/utils/scripts/color-hash.ksh b/utils/scripts/color-hash.ksh index b083014..a692c43 100644 --- a/utils/scripts/color-hash.ksh +++ b/utils/scripts/color-hash.ksh @@ -6,9 +6,25 @@ function _color_hash_djb2 while (( ${#s} > 0 )); do c=0x${s%${s#??}} s=${s#??} - h=$(( ((($h << 5) + $h) + $c) & 0xffff )) + h=$(( ((($h << 5) + $h) ^ $c) & 0xffff )) done - print $h + print -nr -- $h +} + +function _color_hash_fnv1 +{ + local c h s + s=$1 + h=${2:-2166136261} + while (( ${#s} > 0 )); do + c=0x${s%${s#??}} + s=${s#??} + h=$(( (($h << 24) + ($h << 8) + + ($h << 7) + ($h << 4) + ($h << 1) + $h) & 0xffffffff )) + h=$(( $h ^ $c )) + done + # xor-fold to 16 bits + print -nr -- $(( ($h >> 16) ^ ($h & 0xffff) )) } function _color_hash_fnv1a @@ -24,7 +40,7 @@ function _color_hash_fnv1a ($h << 7) + ($h << 4) + ($h << 1) + $h) & 0xffffffff )) done # xor-fold to 16 bits - print $(( ($h >> 16) ^ ($h & 0xffff) )) + print -nr -- $(( ($h >> 16) ^ ($h & 0xffff) )) } function color_hash @@ -36,7 +52,7 @@ function color_hash while getopts bi: flag; do case $flag in b) bright=true ;; - i) if [[ $OPTARG != @(djb2|fnv1a) ]]; then + i) if [[ $OPTARG != @(djb2|fnv1|fnv1a) ]]; then return 1 fi impl=_color_hash_$OPTARG @@ -47,7 +63,7 @@ function color_hash shift $(($OPTIND - 1)) h= - s=$(print -nr "$1" | od -A n -t x1 | tr -d '[:space:]*') + s=$(print -nr -- "$1" | od -A n -t x1 | tr -d '[:space:]*') while :; do h=$($impl "$s" $h) # Avoid modulo bias. @@ -63,5 +79,5 @@ function color_hash n=$(( $h + ($h < 6 ? 1 : 3) )) fi - tput setaf $n 0 0 2>/dev/null + print -nr -- "$n" } diff --git a/utils/scripts/x-dpi-facesizes.sh b/utils/scripts/x-dpi-facesizes.sh index c684799..7a32371 100644 --- a/utils/scripts/x-dpi-facesizes.sh +++ b/utils/scripts/x-dpi-facesizes.sh @@ -1,6 +1,6 @@ #!/bin/sh # env -# Written in 2022 by Lucas +# Written in 2022-2023 by Lucas # CC0 1.0 Universal/Public domain - No rights reserved # # To the extent possible under law, the author(s) have dedicated all @@ -12,52 +12,70 @@ usage() { - printf "Usage: %s [targetdpi]\n" "${0##*/}" >&2 + printf "Usage: %s [-n] [targetdpi]\n" "${0##*/}" >&2 exit 1 } +err() +{ + printf "%s: %s\n" "${0##*/}" "$*" >&2 + exit 1 +} + +show=false +while getopts n flag; do + case $flag in + n) show=true ;; + *) usage ;; + esac +done +shift $((OPTIND - 1)) if [ $# -gt 1 ]; then usage fi -FACESIZES="10.5 6.0 8.0 9.0 10.5 12.0 18.0" -BASEDPI=96 +FACESIZES="8.0 4.0 6.0 7.0 8.0 9.0 10.0 12.0" -if [ -n "$1" ]; then - targetdpi=$1 -elif command -v xdpyinfo >/dev/null 2>&1; then - targetdpi=$(xdpyinfo | grep '^ resolution:' | { - min= - while read -r line; do - set -- $line - dpi_x=${2%%x*} - dpi_y=${2##*x} - dpi_sum=$(( $dpi_x + $dpi_y )) - if [ -z "$min" ]; then - min=$dpi_sum - else - min=$(( $dpi_sum < $min ? $dpi_sum : $dpi )) - fi - done - - if [ -n "$min" ]; then - echo "$min / 2" | bc -l +basedpi=$(xdpyinfo | grep '^ resolution:' | { + min= + while read -r line; do + set -- $line + dpi_x=${2%%x*} + dpi_y=${2##*x} + dpi_sum=$(( $dpi_x + $dpi_y )) + if [ -z "$min" ]; then + min=$dpi_sum + else + min=$(( $dpi_sum < $min ? $dpi_sum : $dpi )) fi - }) + done + + if [ -n "$min" ]; then + echo "$min / 2" | bc -l + fi +}) + +if [ -z "$basedpi" ]; then + err "Can't find DPI" fi -: ${targetdpi:=96} + +targetdpi=${1:-96} for facesize in $FACESIZES; do - echo "$BASEDPI * $facesize / $targetdpi" + echo "$basedpi * $facesize / $targetdpi" done | bc -l | { i=0 printf "Xft.dpi:\t%.1f\n" "$targetdpi" while read -r v; do if [ $i -eq 0 ]; then - printf "XTerm.VT100.faceSize:\t%.1f\n" "$v" + printf "XTerm.VT100.faceSize:\t%f\n" "$v" else - printf "XTerm.VT100.faceSize%d:\t%.1f\n" $i "$v" + printf "XTerm.VT100.faceSize%d:\t%f\n" $i "$v" fi i=$(($i + 1)) done -} | xrdb -merge +} | if $show; then + cat +else + xrdb -merge +fi