#!/bin/bash
## Το NoTails.. Tails Μενού στα Ελληνικά είναι ένα αρθρωτό (modular) Zenity
## σενάριο (script) ανοιχτού κώδικα (open source) για το Tails OS Live USB.
##
## Copyright (C) 2025  Rebelstreamers, version 1.0 από το gamelink.gr
##
## Το πρόγραμμα αυτό μεταφέρεται σε εσάς "AS IS" και χωρίς καμία υποχρέωση από 
## τον δημιουργό του και καλύπτεται απο την AGPLv3 GNU άδεια έκδοσης.

# set -x
# set -e


# Αρχικοποίηση του NoTails..Tails script.στα Ελληνικά.
folder_name="NoTails..Tails-Files"
adeia_xrisis="Άδεια_Χρήσης-NoTails..Tails_Μενού.txt"
title="NoTails..Tails-Files Μενού στα Ελληνικά"
echo -e '\033]2;'$title'\007'
LICENCE_FILE="`dirname $0`/$folder_name/$adeia_xrisis"
LICENCE_LOC="`dirname $0`/$folder_name"


# Αν θέλετε να χρησιμοποιήσετε το script στο Linux Desktop σας με άλλο τερματικό
# πρώτο απλά μετακινήστε την διαταγή εκτέλεσης του τερματικού της αρεσκείας σας 
# πρώτο στην λιστα. Επίσης θα πρέπει να κάνετε το ίδιο και σε όλα τα script που 
# βρίσκονται μέσα στον φάκελο NoTails..Tails-Files
# Αρχική λίστα δοκιμής των διάφορων τερματικών. Την άφησα για τις δοκιμές σας
# όπως και όλα όσα χρειάζονται για να τις κάνετε με σχόλιο μπροστά ώστε να έχετε
# από κάπου να ξεκινήσετε.
# original_terminal_list=("kgx" "gnome-terminal" "ptyxis" "mate-terminal" \
#    "konsole" "xfce4-terminal" "qterminal" "lxterminal" "uxterm" "xterm")
terminal_list=("kgx" "gnome-terminal" "ptyxis" "mate-terminal" )
# Χρειάζεται ως μεταβλητή σε όσα script εφαρμόζουν ρυθμίσεις. Το τερματικό είναι
# ανεξάρτητο της έκδοσης του Desktop και ανεξάρτητο της έκδοσης Linux
desktop_type="$(echo $XDG_CURRENT_DESKTOP)"

# KDE
# το "konsole" μου δημιούργησε πραγματικά πολύ πονοκέφαλο αφού...δεν ελέγχεται 
# με εντολές καν. Τα --hide-menubar & --hide-tabbar που λέει η  βοήθεια δεν
# κάνουν απολύτως τίποτα καθώς και το -e δεν εκτελείται καν!
# LXQT 
# ωραίο και καθαρό desktop δεν έχει καν title το τερματικό του και η -e δεν 
# δουλευε και εδώ ... εκτός και το "qterminal" !
# Χfce 
# εκτός και αυτό γιατί το "xfce4-terminal" δεν δεχόταν τον κωδικό ως όρισμα
# LXDE 
# δεν μπόρεσα να περάσω το password ως όρισμα, ούτε καν σαν μεμομονωμένο
# σενάριο δοκιμων για την διαχείρηση υπηρεσίας ... εξω και το "lxterminal":(
# Δοκίμασα και τα uxterm, xterm αλλά αυτά στερούνται & δυνατότητες όπως ο τίτλος!

# Αναγκαστική χρήση για να μπορέσουμε να χρησιμοποιήσουμε διαφορετικά τερματικά
# που έχουν διαφορετική εντολή εκτέλεσης. Το χρησιμοποίησα στις δοκιμές μου.
# entoli_ektelesis="-- sh -c"


#
# ------------ ΑΠΟ ΕΔΩ ΚΑΙ ΚΑΤΩ ΟΤΙ ΠΕΙΡΑΖΕΤΕ ΕΧΕΙ ΕΠΙΔΡΑΣΗ ------------ 
# ----------------- ΣΤΗΝ ΑΡΧΙΚΗ ΛΕΙΤΟΥΡΓΙΑ ΤΟΥ SCRIPT ------------------
#

source "$HOME/Persistent/$folder_name/NT_Functions.sh"

###  έλεγχος των αρχικών functions μέσα στην NT_Functions βιβλιοθήκη.
nt_function_exist(){ 
    declare -F "$@" > /dev/null ;
}

lista_f_NT_Functions=( "check_zenity_exists" "zen_no_gtkwarnings" "yparxi_termatikou" \
    "elegxos_login" "yparxi_tor" "detect_Tails_OS_Linux_Desktop" "sudoK"  \
    "detect_Wallpaper" "anamoni_ektelesis" "genethlia_xrisis" "sudo_passs" \
    "detect_tor_browser_command_on_desktop" )

for f in "${lista_f_NT_Functions[@]}";do
    if ! nt_function_exist $f; then
        echo "Λείπει μια ή περισσότερες από τις αρχικές συναρτήσεις της NT_Functions βιβλιοθήκης. Βγαίνω τώρα !!!"
        zenity --error --width=550 --height=240 --text \
" Λείπει μια ή περισσότερες από τις αρχικές συναρτήσεις της NT_Functions ! \n
Αυτό σημαίνει ότι... κάτι ή κάποιος τις άλλαξε αφαιρώντας ζωτικά κομμάτια 
λειτουργίας του αρχικού NoTails..Tails Μενού Zenity script.Βγαίνω τώρα !!! "
       sleep 1
       exit
    fi
done

# Χρώματα για τις οθόνες των τερματικών, 
# Με true έχετε τα χρώματα που έχω βάλει εγώ, με ble τα κάνετε όλα μπλε, με gre 
# όλα πράσινα, με yel όλα κίτρινα, με red όλα κόκκινα και με οτιδήποτε εκτός από 
# αυτές τις 5 ονομασίες δεν θα εμφανίζονται καθόλου χρώματα!
# Σημείωση: οι μεταβλητές του κάθε script ορίζουν τα χρώματα στο script του και
# μόνο σκόμα κσι αν κληθούν από το κυρίως script και αυτός είναι ο λόγος που 
# απέφυγα να κάνω source τις μεταβλητές και τις array ώστε κάθε script να έχει 
# τις δικές του τιμες στην μεταβλητή του χρώματος. Μπορείτε να το εξακριβώσετε 
# εύκολα αυτό με την 8.Watch-net-Time.sh όπου ότι χρώμα και να έχετε στο κυρίως 
# σενάριο οταν κληθεί από το κυρίως σενάριο θα εμφανιστεί το χρώμα που έχετε στο 
# 8.Watch-net-Time.sh!
use_color="true"
NC='\033[0m'

# Βάλτε το δικό σας χρώμα αν θέλετε σαν ένα νέο elif αλλά αλλάξτε και την use_color
if [[ "$use_color" == "true" ]]; then 
    RED='\033[1;31m'; GRE='\033[1;32m'; YEL='\033[1;33m'; BLE='\033[1;36m'
elif [[ "$use_color" == "ble" ]]; then 
    RED='\033[1;36m'; GRE='\033[1;36m'; YEL='\033[1;36m'; BLE='\033[1;36m'
elif [[ "$use_color" == "gre" ]]; then
    RED='\033[1;32m'; GRE='\033[1;32m'; YEL='\033[1;32m'; BLE='\033[1;32m'
elif [[ "$use_color" == "yel" ]]; then
    RED='\033[1;33m'; GRE='\033[1;33m'; YEL='\033[1;33m'; BLE='\033[1;33m'
elif [[ "$use_color" == "red" ]]; then
    RED='\033[1;31m'; GRE='\033[1;31m'; YEL='\033[1;31m'; BLE='\033[1;31m'
else
    #χωρίς χρώματα καθόλου
    unset -v RED; unset -v GRE; unset -v YEL; unset -v BLE; unset -v NC
fi

# # Έλεγχος για ύπαρξη του zenity. 
check_zenity_exists


# Δεν βρήκα άλλο τρόπο προσδιορισμού της έκδοσης του Tails και όπως θα διαβάσετε
# στην επόμενη παράγραφο μετά την έκδοση 7.0 υπάρχει σημαντικός λόγος να έχουμε
# αυτήν την πληροφορία (δέστε το 2ο script με το libcanberra για να καταλάβετε)
# Επίσης με αυτό τον τρόπο το NoTails.. Tails μετατράπηκε σε ένα συμβατό zenity
# για το Linux Desktop σας στο οποίο μπορείτε να προσθέσετε όσα δικά σας script 
# ή εντολές θέλετε και με πολύ εύκολο τρόπο απλά βάζοντας το τερματικό που θέλετε
# χρησιμοποιήσετε πρώτο ώστε να χρησιμοποιείται πάντα αυτό.
to_termatiko_mas="$(yparxi_termatikou "${terminal_list[@]}")"
#echo "$to_termatiko_mas"

if [ "$to_termatiko_mas" == "kgx" ]; then
    # Τρομερά απίθανο σενάριο να βρεθεί το kgx σε Tails παλιότερο της 7.0 έκδοσης
    # Για τον απλούστατο λόγο ότι είναι μια σχετικά πρόσφατη εφαρμογή!
    # Τώρα αν το λειτουργικό δεν είναι το Tails OS και έχει το kgx και τρέχει το
    # script μέσα από τον Persistent φάκελο μαζί με όλα τα υπόλοιπα και είναι 
    # debian η βάση του (π.χ UBUNTU) το script θα χρησιμοποιήσει το gnome-terminal
    # αλλιώς αν είναι το mate-terminal θα χρησιμοποιήσει το mate-terminal και
    # ότου καθεξής αν έχετε την δικιά σας προτίμηση προσθέστε ένα elif και αφού
    # το τρέξετε απλά αλλάξτε τις διαστάσεις και το τελικό command στον επόμενο
    # έλεγχο ... Καλό White Hacking :)
    tails_version="7"
elif [ "$to_termatiko_mas" == "gnome-terminal" ]; then
    # αν το χρησιμοποιήσετε σε TAILS 6 ή σε Linux με το GNOME XORG που δεν βάζει
    # το kgx. Τα Debian desktop που έχουν το gnome-terminal ως προκαθορισμένο είναι:
    # 1) UBUNTU 22 LTS 2) Cinnamon 3) Metacity kai 3) το Debian Default Desktop
    tails_version="6"
elif [ "$to_termatiko_mas" == "ptyxis" ]; then
    # αν το χρησιμοποιήσετε σε νεο UBUNTU DESKTOP (μετα την 25 εκδοση). Τα παλια
    # αλλά ακόμα ενεργά (22 LTS)χρησιμοποιουν gnome-terminal
    tails_version="7u"
elif [ "$to_termatiko_mas" == "mate-terminal" ]; then
    # αν το χρησιμοποιήσετε σε MATE DESKTOP
    tails_version="7m"
# elif [ "$to_termatiko_mas" == "konsole" ]; then
#     # αν το χρησιμοποιήσετε σε KDE DESKTOP 
#     tails_version="7k"
# elif [ "$to_termatiko_mas" == "xfce4-terminal" ]; then
#     # αν το χρησιμοποιήσετε σε Xfce DESKTOP
#     tails_version="7xf"
# elif [ "$to_termatiko_mas" == "qterminal" ]; then
#     # αν το χρησιμοποιήσετε σε LXQt DESKTOP 
#     tails_version="7q"
# elif [ "$to_termatiko_mas" == "lxterminal" ]; then
#     # αν το χρησιμοποιήσετε σε LXDE DESKTOP
#     tails_version="7lx"
# elif [ "$to_termatiko_mas" == "uxterm" ]; then
#     tails_version="7ux"
# elif [ "$to_termatiko_mas" == "xterm" ]; then
#     tails_version="7xt"        
else
    #σημαίνει οτι η συνάρτηση δεν επέστρεψε τίποτα από την terminal_list
    echo -ne "\r\n   Μη υποστηριζόμενη έκδοση$BLE Tails OS$NC ή$BLE Linux$NC Desktop\n"
    echo -ne "\r\n To script δεν μπορεί να εκτελέσει εντολές χωρίς συμβατό τερματικό! \n"
    zenity --error --width=350 --height=240 --text \
"  Μη υποστηριζόμενη έκδοση Tails OS ή Linux Desktop \n\n
Δεν γίνεται να εκτελεστούν εντολές χωρίς συμβατό τερματικό! \n"
    sleep 3
    exit
fi


# Μετά το Tails 7.0 δεν υπάρχει το gnome-terminal το οποίο έχει αντικατασταθεί
# από το gnome-console (kgx) και η παρακάτω αλλαγή είναι επιβεβλημένη για όσους
# έχουν δικά τους ή παλιότερα Tails με gnome-terminal. Φυσικά αν θέλετε άλλα
# τερματικά αυτό το σημείο είναι που πρέπει να αλλάξετε πρώτα αλλά πρέπει να 
# θυμάστε ότι gnome-terminal σημαίνει Tails OS 6 και παλιότερο και kgx σημαίνει 
# Tails 7.0 και νεώτερο. Φυσικά πάντα ελέγχοντας & αλλάζοντας τις διαφορές τους! 
if [ "$tails_version" == "7" ]; then
    # Πάντα 1ος ο έλεγχος για το Tails 7 για να επιλέγει το kgx μιας και δεν 
    # δεν υπάρχουν οι πληροφορίες έκδοσης της διανομής μέσω των lsb αρχείων. 
    # Στο 3ο script για τον έλεγχο του Tor εγκαθιστούμε αναγκαστικά και μέχρι 
    # στιγμής δεν μπορούμε να το αποφύγουμε το gnome-terminal. Οπότε για να μην 
    # γυρίζει σε gnome-terminal αν το βρει εγκατεστημένο το ρωτάμε πρώτο!
    term_command='kgx'
    zen_list_menu='zenity --cancel-label=Έξοδος --list'
    diastaseis_menu='--width=570 --height=420'
elif [ "$tails_version" == "6" ]; then
    # Αν χρησιμοποιείται για κάποιο λόγο ακόμα το Tails OS 6 ή το GNOME γιατί...
    # To προκαθορισμένο του GNOME είναι ακόμα το gnome-terminal και το δοκίμασα 
    # σε Virtual Machine. Αν οι διαστάσεις είναι λάθος στον Η/Υ σας αλλάξτε τις!
    if [ "$linux_type" == "Tails OS" ]; then
        term_command='gnome-terminal --window --hide-menubar'
        zen_list_menu='zenity --list'
        diastaseis_menu='--width=480 --height=320'
    else 
         term_command='gnome-terminal --hide-menubar'
         zen_list_menu='zenity --cancel-label=Έξοδος --list'
         diastaseis_menu='--width=570 --height=420'
    fi
    # INFO:
    # Στο νέο GNOME/ΜΑΤΕ παρουσιάζονται warningς για ένα gtk-module. Αυτό φεύγει
    # αν βάλετε # μπροστά στην πρόταση gtk-modules=colorreload-gtk-module
    # δηλαδή να γίνει #gtk-modules=colorreload-gtk-module στο αρχείο 
    # .config/gtk-4.0/settings.ini. Αν θέλετε να το κάνετε με command εκτελέστε
    # την επόμενη εντολή σε ξεχωριστό τερματικό. Δεν την εκτέλεσα από εδώ μέσα
    # γιατί μπορεί στο μέλλον να εξαφανιστεί το μήνυμα και να κάνει ζημιά!
    # sed -i -e "/^gtk-modules=colorreload-gtk-module/s/^/#/"  "$HOME/.config/gtk-4.0/settings.ini"
    # άλλα παρόμοια warnings που συνάντησα ήταν για GTK_IM_MODULE=xim
elif [ "$tails_version" == "7u" ]; then
    # To προκαθορισμένο του UBUNTU 25 είναι το ptyxis και το δοκίμασα σε Virtual 
    # Machine. Αν οι διαστάσεις είναι λάθος στον Η/Υ σας αλλάξτε τις !
    # Η έκδοση 22 LTS θα χρησιμοποιήσει το gnome-terminal του Tails 6 από πάνω.  
    term_command='ptyxis'
    zen_list_menu='zenity --list '
    diastaseis_menu='--width=570 --height=430'
elif [ "$tails_version" == "7m" ]; then
    # To προκαθορισμένο του DEBIAN MATE είναι το mate-terminal και το δοκίμασα 
    #  σε Virtual Machine. Αν οι διαστάσεις είναι λάθος στον Η/Υ σας αλλάξτε τις!
    term_command='mate-terminal --hide-menubar'
    zen_list_menu='zenity --cancel-label=Έξοδος --list '
    diastaseis_menu='--width=570 --height=350'
    # η από κάτω εντολή αφαιρεί τα warnings αλλά μην την εκτελέσετε από εδώ μέσα
    # sed -i -e '/^gtk-modules=colorreload-gtk-module/s/^/#/' $HOME/.config/gtk-4.0/settings.ini
# elif [ "$tails_version" == "7k" ]; then
#     # To προκαθορισμένο του KDE Desktop είναι το konsole terminal και το δοκίμασα 
#     # σε Virtual Machine αλλά δεν κατάφερα να το κάνω να δουλέψει. 
#     # Εγκαταστήστε για να χρησιμοποιήθεί κάποιο άλλο ...
#     term_command='konsole'
#     zen_list_menu='zenity --list '
#     diastaseis_menu='--width=570 --height=350'
#     entoli_ektelesis="-e"
# elif [ "$tails_version" == "7xf" ]; then
#     # To προκαθορισμένο του Xfce4 είναι το xfce4-terminal και το δοκίμασα 
#     # σε Virtual Machine. Για να κρατήσει ανοιχτό το καλούμενο σενάριο ήθελε 
#     # την παράμετρο -c μέσα στην εντολή bash αλλά στο τέλος δεν αναγνώριζε τον 
#     # κωδικό ως $1 ... οπότε ... Εγκαταστήστε για να χρησιμοποιήθεί κάποιο άλλο 
#     # απὸ την terminal_list !
#     term_command='xfce4-terminal --window --hide-menubar'
#     zen_list_menu='zenity --list '
#     diastaseis_menu='--width=570 --height=430'
#     entoli_ektelesis="-e"
# elif [ "$tails_version" == "7q" ]; then
#     # To προκαθορισμένο του LXQr Desktop είναι το qterminal και το δοκίμασα 
#     # σε Virtual Machine αλλά δεν κατάφερα να το κάνω να δουλέψει γιατί δεν 
#     # δέχεται τίτλο & δεν κάνει escape το \ στις εντολές. Απόδειξη στο 8 script
#     # Εγκαταστήστε για να χρησιμοποιήθεί κάποιο άλλο ...
#     term_command='qterminal'
#     zen_list_menu='zenity --list '
#     diastaseis_menu='--width=570 --height=430'
# elif [ "$tails_version" == "7lx" ]; then
#     term_command='lxterminal'
#     zen_list_menu='zenity --list '
#     diastaseis_menu='--width=570 --height=420'
#     entoli_ektelesis="-- command=" 
# elif [ "$tails_version" == "7ux" ]; then
#     term_command='uxterm'
#     zen_list_menu='zenity --list '
#     diastaseis_menu='--width=570 --height=420'
#     entoli_ektelesis="-e"
# elif [ "$tails_version" == "7xt" ]; then
#     term_command='xterm'
#     zen_list_menu='zenity --list '
#     diastaseis_menu='--width=570 --height=420'
#     entoli_ektelesis="-e"
else
    # οχι τερματικό !
    echo -ne "Δεν υπάρχει τερματικό και αυτό το μήνυμα κανονικά δεν πρέπει να εμφανιστεί!"
fi

# Έλεγχος αν είναι Tails ή συμβατό Linux 
detect_Tails_OS_Linux_Desktop


# Για το desktop αρχείο μέσα στο DotFiles, αρχικοποιώ το script.
cd "$(dirname "$0")"

# ελέγχουμε την τοποθεσία του κυρίως script να είναι μέσα στον φάκελο Persistent
if [[ "$(pwd)" != "$HOME/Persistent" ]]; then
    echo -ne "\r\n Το script πρέπει να είναι στο$BLE Persistent$NC φάκελο, βγαίνω "
    export -f anamoni_ektelesis
    anamoni_ektelesis "5"
    exit
fi

# ελέγχουμε την τοποθεσία του φακέλου των script να είναι μέσα στο Persistent
if [[ ! -d "$HOME/Persistent/$folder_name" ]]; then
    echo -ne "\r\n Ο φάκελος με τα scriptς του$BLE NoTails.. Tails$NC λείπουν, βγαίνω "
    export -f anamoni_ektelesis
    anamoni_ektelesis "5"
    exit
fi


# Οθόνη Άδειας Χρήσης. 
# Δημιουργεί ένα αρχείο ΟΚ.txt και αν το δημιουργήσετε μόνοι σας δεν θα σας 
# ενοχλήσει ποτέ το αρχικό μήνυμα άδειας του script.
elegxos_adeias() {
    if [ ! -f "$LICENCE_LOC/ok.txt" ]; then
        echo -e "\r\n Καλώς ήρθατε στο$BLE NoTails..Tails Μενού$NC στα Ελληνικά! \n"
        zen_no_gtkwarnings --text-info \
            --width=390 --height=570 \
            --title="Άδεια Χρήσης NoTails..Tails Μενού." \
            --filename=$LICENCE_FILE \
            --checkbox="Διάβασα και δεν θέλω να ξαναδώ την άδεια Χρήσης."

        case $? in
            0 )

                echo -e "\r\nΟ Χρήστης αποδέχτηκε την Άδεια Χρήσης ακριβώς στις $(date).\n" > \
                      $LICENCE_LOC/ok.txt    
                ;;
            1 )
                echo -ne "\r\nΟ Χρήστης δεν αποδέχτηκε την Άδεια Χρήσης "
                export -f anamoni_ektelesis
                anamoni_ektelesis "3"
                exit
                ;;
            -1 )
                echo -e "\r\nΚάτι αναπάντεχο προέκυψε!\n"
                ;;
        esac
    else
        echo -e "\r\n Καλώς ήρθατε ξανά στο$BLE NoTails..Tails Μενού$NC. \n"
        genethlia_xrisis
    fi    
}


elegxos_adeias


echo -e "\r\nΘα χρειαστεί να γράψετε μια φορά το$BLE admin password$NC ως$GRE Sudo Pass$NC \n"
sudo_passs


noTails_Tails_main() {
# Η κύρια συνάρτηση του NoTails.. Tails Μενού είναι αυτή και ότι θέλετε να 
# αλλάξετε από εδώ πρέπει να ξεκινήσετε. Καλό editing :)
# Π.χ. με --width=480 --height=190 δείχνει μόνο 3 σειρές στο gnome-terminal
while true; do
    MENU=$( $zen_list_menu ${diastaseis_menu} \
        --title="NoTails.. Tails Μενού στα Ελληνικά." \
        --text "  <span foreground='#ef172f'><b>Λίστα Διαθέσιμων Εντολών και Σεναρίων.</b></span>     " \
        --column=" Επιλέξτε μια Εντολή από το Μενού & πατήστε ΟΚ.   " \
        "1)  Καθημερινά και Πριν Συνδεθούμε στο Δίκτυο του Tor." \
        "2)  Εγκατάσταση Yt-dlp + Έξτρα Προγραμμάτων (Μετά το Tor)." \
        "3)  Έλεγχος και Ρύθμιση του Tor Service και Δικτύου." \
        "4)  Διαβάστε τα Νέα στην Οθόνη σας με το Tickr RSS Feed." \
        "5)  Κατεβάστε Video και Αρχεία με τα Yt-dlp / Wget / Curl." \
        "6)  Παρακολουθήστε την κίνηση σε όλο το Δίκτυο με το Wireshark." \
        "7)  Παρακολουθήστε ζωντανά με ποιους έχετε συνδεθεί." \
        "8)  Δέστε την ώρα σε διάφορες Πόλεις του Κόσμου." 2> /dev/null
        )
    if [[ "$?" != "0" ]]; then
        echo -ne "\r\n\n Το$BLE NoTails..Tails Μενού$NC κλείνει με κώδικα εξόδου $? "
        export -f anamoni_ektelesis
        anamoni_ektelesis "3"
        cd -P $HOME/Persistent
        break
    fi

    case $MENU in
        "1)  Καθημερινά και Πριν Συνδεθούμε στο Δίκτυο του Tor." ) 
             # gnome-terminal --window --hide-menubar -- sh -c \
             $term_command \
             --title="Αρχικός Έλεγχος H/Y" \
              -- sh -c \
"bash ~/Persistent/$folder_name/1.before-tor.sh '$adminpassword'" &   
            ;;
        "2)  Εγκατάσταση Yt-dlp + Έξτρα Προγραμμάτων (Μετά το Tor)." )
            # gnome-terminal --window --hide-menubar -- sh -c \
            $term_command \
            --title="Εγκατάσταση Προγραμμάτων" \
            -- sh -c \
"bash ~/Persistent/$folder_name/2.after-tor-ufw-yt-dlp-apps.sh '$adminpassword'" &
            ;;
        "3)  Έλεγχος και Ρύθμιση του Tor Service και Δικτύου." )
            # gnome-terminal --window --hide-menubar --geometry=77x12 \
            $term_command \
            --title="Ρύθμιση Tor" \
            -- sh -c \
"bash ~/Persistent/$folder_name/3.Tor-Control.sh '$adminpassword'" &
            ;;
        "4)  Διαβάστε τα Νέα στην Οθόνη σας με το Tickr RSS Feed." )
            # gnome-terminal --window --hide-menubar -- sh -c \
            $term_command \
            --title="RSS Feed" \
            -- sh -c \
"bash ~/Persistent/$folder_name/4.news-onscreen.sh '$adminpassword'" &
            ;;
        "5)  Κατεβάστε Video και Αρχεία με τα Yt-dlp / Wget / Curl." )
             # gnome-terminal --window --hide-menubar -- sh -c \
             $term_command \
             --title="Yt-dlp, Wget, Curl downloader" \
             -- sh -c \
"bash ~/Persistent/$folder_name/5.download-video-with-yt-dlp.sh" &
            ;;
        "6)  Παρακολουθήστε την κίνηση σε όλο το Δίκτυο με το Wireshark." )
            # gnome-terminal --window --hide-menubar -- sh -c \
            $term_command \
            --title="Wireshark" \
            -- sh -c \
"bash ~/Persistent/$folder_name/6.Wireshark.sh '$adminpassword'" &
            ;;
        "7)  Παρακολουθήστε ζωντανά με ποιους έχετε συνδεθεί." )
            # Έβαλα ως TAB όλη την 7 για να δείτε την νέα δυνατότητα στο τερματικό 
            # με Ctrl + Shift + o (Αγγλικό o) που κάνει προεπισκόπηση όλα τα TAB
            # αλλά και για να δείτε πως θα βάλετε τα δικά σας ... ΤΑΒ !!!
            # gnome-terminal --window --hide-menubar -- sh -c \
            $term_command \
            --title="Οθόνη Παρακολούθησης Δικτύου" \
            --tab \
            -- sh -c \
"bash ~/Persistent/$folder_name/7.Watch-net.sh '$adminpassword' " &
            sleep 0.1 &
            $term_command \
            --title="Οθόνη Παρακολούθησης Δικτύου και τα Proccess τους" \
            --tab \
            -- sh -c \
"bash ~/Persistent/$folder_name/7.Watch-net-a.sh '$adminpassword' " &
            sleep 0.1 &
            $term_command \
            --title="Οθόνη Παρακολούθησης των προγραμμάτων που ακούνε" \
            --tab \
            -- sh -c \
"bash ~/Persistent/$folder_name/7.Watch-net-l.sh '$adminpassword' " &
            sleep 0.1 &
            $term_command \
            --title="Οθόνη Tcpdump Live Stream" \
            --tab \
            -- sh -c \
"bash ~/Persistent/$folder_name/7.Watch-net-t.sh '$adminpassword' " &
            ;;
        "8)  Δέστε την ώρα σε διάφορες Πόλεις του Κόσμου." )
            $term_command \
            --title="Οθόνη Time Cities" \
            -- sh -c \
"bash ~/Persistent/$folder_name/8.Watch-net-Time.sh '$adminpassword' " &
            ;;
        * )
            zen_no_gtkwarnings --error --width=350 --height=240 --text \
" Κάτι λάθος έχει γίνει στο κύριο αρχείο του μενού... \n\n είτε στην εντολή,\
 είτε σε όλο κύριο script του.\n\n Παρακαλώ ελέγξτε την ακεραιότητα των αρχείων πριν αναφέρετε το πρόβλημα."
            exit
            ;;
    esac
done
}


#main zenity function
noTails_Tails_main


#close up script
#exec 2>&1
echo -ne "\r\n\n\r"
# τρέχει την sudo -k η οποία όπως λέει το man του sudo  ....
# invalidates the user's cached credentials for the current session.
sudoK
#exit 0