Hs muro

From HSS

Código de hs_muro (/usr/bin/hs_muro) corriendo desde 6 de marzo en server anfibio. Tiene la particularidad (en comparación con la versiön anterior) de estar programado usando dialog que proporciona una interfaz gráfica en 2.5 dimensiones que permite vivir una agradable experiencia retrofuturista, no te lo puedo explicar tienes que vivirlo.

Tb hay una versión cli programada por c0 y ks: hs_old-muro

capturas y gameplay

Hs muro.png

clip disponible en ~c0/hs_muro.mp4

codiko

#!/bin/sh
# 
#

dialog  --infobox   "::::::::::::::::::::::::::::::::::::::::
::.:.:::.::.:.. hs_muro ..:.::.:::.::..:
::::...::..::::. (ahora con dialog!) .::
::::::::::::::::::::::::::::::::::::::::" 0 0

read x

archivomuro="/var/hsmurotxt"

menu() {
    dialog --title "menu" \
	   --backtitle "hs_muro" \
           --stdout \
           --menu "Opciones" 0 20 5 \
           1 "Ver muro" \
           2 "Escribir" \
           3 "Acerca de" \
           x "Salir"
}

ver() {
    dialog --title "ver" \
	   --backtitle "hs_muro" \
	   --begin 2 2 \
	   --msgbox "$(cat $archivomuro)" 20 80  
}

escribe(){
    e_info=$1
    e_post=$2
    e_amur=$3
    if [ ! -z "$e_post" ]; then
	a_muro="$(cat $e_amur)"
	r_muro="$e_info \n $e_post \n\n$a_muro"
	echo "" > "$archivomuro"
	echo "$r_muro" > "$archivomuro"
	ver
    fi
}

escribir() {
    post=$(dialog --title "escribir" \
                  --stdout \
		  --backtitle "hs_muro" \
		  --begin 2 2 \
                  --inputbox "Tu mensaje para dejar en el muro" 10 80 )
    escribe "$(whoami) @ $(date)" "$post" "$archivomuro"
}


acercade(){
    dialog  --infobox   "::::::::::::::::::::::::::::::::::::::::
::.:.:::.::.:.. hs_muro ..:.::.:::.::..:
::::...::..::::. (ahora con dialog!) .::
::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::
::. hsware :-) . marzo 2024 :::....c0.::
:....::: más info en la wiki :::.......:
::...:...........:::.. pag hs_muro.. :::
::::::::::::::::::::::::::::::::::::::::" 0 0
read x
}

menu=$(menu)


while [ "$menu" -ne 100 ]; do
    if [ "$menu" -eq "1" ]; then
	ver
    fi

    if [ "$menu" -eq "2" ]; then
	escribir
    fi

    if [ "$menu" -eq "3" ]; then
	acercade
    fi

    menu=$(menu)
done

clear
exit

documentación

es el código

agradecimientos

cuando empecé a programar esto encontré un artículo de atareao.es con ejemplos del programa dialog y, dos días después, navegando errante en el fediverso entre túts y perfiles, me encontré con la cuenta de atareao!! su cuenta es https://mastodon.social/@atareao y su web www.atareao.es, tiene harto contenido, tb tiene un vlog de +500 capítulos y, por lo que he leído e interactuado con él en mastodon, es un buen chato. Saludos!