#!/bin/bash

Info () {
local app
title="Info"
author="Peter Starfinger"
mail="E-Mail: info@die-starfingers.de"
year="2026"
app="$(basename $0)"
msgid="The Starbuntu application
<i>\$app</i>
was written by"
info="$(gettext "$msgid" | (export PATH `envsubst --variables "$msgid"`; envsubst "$msgid"))"

yad --center --fixed --title="$title" --window-icon="info" --image="info" --borders=20 --text="$info"$'\n'$'\n'"$author"$'\n'"$mail"$'\n'$'\n'"$year"$'\n' --text-align=center --selectable-labels --button="OK" &
wunwa "$title" > /dev/null; xdotool key Home key Down
}

[ "$1" = "info" ] && Info && exit 0
param="$@"
[ -z "$param" ] && param=" / "
if [ "$param" != " / " ]; then param="$(basename "$param" | cut -d_ -f2)"; infix=""; sign=""; f=3; else infix="MOUNTPOINT"; sign=","; f=4; fi

info="$(lsblk -o KNAME,MOUNTPOINT,LABEL | grep -i "$param" | tail -1 | tr -s " " | cut -d" " -f1) "
for w in LABEL SIZE FSAVAIL FSTYPE MOUNTPOINT UUID; do info="$info$(lsblk -o KNAME,LABEL,${infix}${sign}$w | grep -i "$param" | tail -1 | tr -s " " | cut -d" " -f$f) "; done

header=$"Name Label Size Available Type Mountpoint"" UUID"
max=0; k=1; for w in $header; do m[$k]=$(echo "$w" | wc -m); [ ${m[$k]} -gt $max ] && max=${m[$k]}; ((k++)); done; ((max++))

for ((n=1; n<=7; n++)); do inf="$inf""$(echo "$header" | cut -d" " -f$n):$(printf "%-$((max-m[$n]))s" "")$(echo "$info" | cut -d" " -f$n)"$'\n'; done; inf="${inf::-1}"

[ "$LANGUAGE" != "en" ] && lang_dir="$LANGUAGE" || lang_dir="C"
yad --width=550 --height=230 --borders=20 --title="$param" --window-icon=info --text-info <<< "$inf" --button=$"Help":"yelp /usr/share/help/$lang_dir/Starbuntu/starbuntu-apps-details.page#info-medium" --button="Info":"$0 info" --button="OK":0