diff --git a/TuringPi/compute-modules.md b/TuringPi/compute-modules.md index b8e30ac..69985a2 100644 --- a/TuringPi/compute-modules.md +++ b/TuringPi/compute-modules.md @@ -85,7 +85,7 @@ sudo mv /home/pleb/dptx.bin /lib/firmware/rockchip/dptx.bin ``` ```bash -sudo apt install -y cowsay fortune-mod +sudo apt install -y cowsay fortune-mod toilet figlet sudo vim /etc/update-motd.d/01-cowsay ``` @@ -95,8 +95,134 @@ sudo vim /etc/update-motd.d/01-cowsay /usr/games/fortune | /usr/games/cowsay -f tux ``` +```bash +sudo vim /etc/update-motd.d/05-here-and-now +``` + +```bash +#!/bin/bash + +# NAME: now +# PATH: $HOME/bin +# DESC: Display current weather, calendar and time +# CALL: Called from terminal or ~/.bashrc +# DATE: Apr 6, 2017. Modified: Mar 30, 2018. + +# NOTE: To display all available toilet fonts use this one-liner: +# for i in ${TOILET_FONT_PATH:=/usr/share/figlet}/*.{t,f}lf; do j=${i##*/}; toilet -d "${i%/*}" -f "$j" "${j%.*}"; done + +# Setup for 92 character wide terminal +DateColumn=34 # Default is 27 for 80 character line, 34 for 92 character line +TimeColumn=61 # Default is 49 for " " " " 61 " " " " + +#--------- WEATHER ---------------------------------------------------------- + +# Current weather, already in color so no need to override +echo " " +# Replace Edmonton with your city name, GPS, etc. See: curl wttr.in/:help +curl wttr.in/Rennes?0 --silent --max-time 3 +# Timeout #. Increase for slow connection---^ + +echo " " +echo " " # Pad with blank lines for calendar & time to fit + +#--------- DATE ------------------------------------------------------------- + +# calendar current month with today highlighted. +# colors 00=bright white, 31=red, 32=green, 33=yellow, 34=blue, 35=purple, +# 36=cyan, 37=white + +tput sc # Save cursor position. +# Move up 9 lines +while [ $((++i)) -lt 10 ]; do tput cuu1; done + +# Depending on length of your city name and country name you will: +# 1. Comment out next three lines of code. Uncomment fourth code line. +# 2. Change subtraction value and set number of print spaces to match +# subtraction value. Then place comment on fourth code line. + +Column=$(($DateColumn - 10)) +tput cuf $Column # Move x column number +printf " " # Blank out ", country" with x spaces +#tput cuf $DateColumn # Position to column 27 for date display + + +# -h needed to turn off formating: https://askubuntu.com/questions/1013954/bash-substring-stringoffsetlength-error/1013960#1013960 +cal -h > /tmp/terminal + +CalLineCnt=1 +Today=$(date +"%d") +# Prefix with space when length < 2 +if [[ ${#Today} < 2 ]] ; then + Today=" "$Today +fi +printf "\033[32m" # color green -- see list above. + +while IFS= read -r Cal; do + printf "$Cal" + if [[ $CalLineCnt > 2 ]] ; then + # See if today is on current line & invert background + tput cub 22 + for (( j=0 ; j <= 18 ; j += 3 )) ; do + Test=${Cal:$j:2} # Current day on calendar line + if [[ "$Test" == "$Today" ]] ; then + printf "\033[7m" # Reverse: [ 7 m + printf "$Today" + printf "\033[0m" # Normal: [ 0 m + printf "\033[32m" # color green -- see list above. + tput cuf 1 + else + tput cuf 3 + fi + done + fi + + tput cud1 # Down one line + tput cuf $DateColumn # Move 27 columns right + CalLineCnt=$((++CalLineCnt)) +done < /tmp/terminal + +printf "\033[00m" # color -- bright white (default) +echo "" + +tput rc # Restore saved cursor position. + +#-------- TIME -------------------------------------------------------------- + +tput sc # Save cursor position. +# Move up 9 lines +i=0 +while [ $((++i)) -lt 10 ]; do tput cuu1; done +tput cuf $TimeColumn # Move 49 columns right + +# Do we have the toilet package? +if hash toilet 2>/dev/null; then + echo " "$(date +"%I:%M %P")" " | \ + toilet -f future --filter border > /tmp/terminal +# Do we have the figlet package? +elif hash figlet 2>/dev/null; then + echo $(date +"%I:%M %P") | figlet > /tmp/terminal +# else use standard font +else + echo $(date +"%I:%M %P") > /tmp/terminal +fi + +while IFS= read -r Time; do + printf "\033[01;36m" # color cyan + printf "$Time" + tput cud1 # Up one line + tput cuf $TimeColumn # Move 49 columns right +done < /tmp/terminal + +tput rc # Restore saved cursor position. + +exit 0 +``` + ```bash sudo chmod +x /etc/update-motd.d/01-cowsay + +sudo chmod +x /etc/update-motd.d/05-here-and-now ``` #### Networking