XFCE_AND_HYPERLAND

This commit is contained in:
2026-06-23 23:58:58 -05:00
commit ac75153861
12652 changed files with 4568288 additions and 0 deletions
@@ -0,0 +1,9 @@
_ _ _ ___ ____
| (_) |__ _ __ ___ / _ \/ ___|
| | | '_ \| '__/ _ \ | | \___ \
| | | |_) | | | __/ |_| |___) |
|_|_|_.__/|_| \___|\___/|____/
COMPUTER SCIENCE
SECTOR 07
LIBRE PHONE PROJECT
@@ -0,0 +1,11 @@
███████╗ ██████╗ ██████╗██╗ ██████╗ ██████╗██╗ ██╗██████╗ ███████╗██████╗ ███████╗███████╗███╗ ██╗ ██████╗
██╔════╝██╔═══██╗██╔════╝██║██╔═══██╗ ██╔════╝╚██╗ ██╔╝██╔══██╗██╔════╝██╔══██╗██╔════╝██╔════╝████╗ ██║██╔════╝
███████╗██║ ██║██║ ██║██║ ██║ ██║ ╚████╔╝ ██████╔╝█████╗ ██████╔╝█████╗ █████╗ ██╔██╗ ██║██║ ███╗
╚════██║██║ ██║██║ ██║██║ ██║ ██║ ╚██╔╝ ██╔══██╗██╔══╝ ██╔══██╗██╔══╝ ██╔══╝ ██║╚██╗██║██║ ██║
███████║╚██████╔╝╚██████╗██║╚██████╔╝ ╚██████╗ ██║ ██████╔╝███████╗██║ ██║███████╗███████╗██║ ╚████║╚██████╔╝
╚══════╝ ╚═════╝ ╚═════╝╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝╚══════╝╚══════╝╚═╝ ╚═══╝ ╚═════╝
@@ -0,0 +1,193 @@
#!/usr/bin/env bash
# ------------------------------------------------------------
# SCE OS centered TUI (simple “SCE OS” banner) using gum
# ------------------------------------------------------------
set -euo pipefail
# ------------------------------------------------------------
# 1️⃣ Install gum (pacman) if missing
# ------------------------------------------------------------
install_gum() {
if ! command -v pacman &>/dev/null; then
echo "Error: pacman not found this script works only on Archbased systems."
exit 1
fi
if command -v gum &>/dev/null; then
echo "gum already installed (version: $(gum --version))."
return
fi
echo "Updating package database..."
sudo pacman -Sy --noconfirm
echo "Installing gum..."
sudo pacman -S --noconfirm gum
echo "gum installed successfully (version: $(gum --version))."
}
install_gum
# ------------------------------------------------------------
# 2️⃣ Helpers for centering
# ------------------------------------------------------------
term_width() { tput cols; }
term_height() { tput lines; }
center_horiz() {
local text="$1"
local width=$(term_width)
local pad=$(( (width - ${#text}) / 2 ))
printf "%*s%s" "$pad" "" "$text"
}
center_vertically() {
local lines=$1
local height=$(term_height)
local pad=$(( (height - lines) / 2 ))
for ((i=0;i<pad;i++)); do echo; done
}
# ------------------------------------------------------------
# 3️⃣ Simple banner “SCE OS”
# ------------------------------------------------------------
BANNER="SCE OS"
# ------------------------------------------------------------
# 4️⃣ Pause helper
# ------------------------------------------------------------
pause() {
read -rp $'\nPress ENTER to return to the previous menu…' </dev/tty
}
# ------------------------------------------------------------
# 5️⃣ Render a centered menu (banner + choices)
# ------------------------------------------------------------
render_menu() {
local -n items=$1 # namereference to array of choices
local title="${2:-}" # optional title (already centred)
# total lines = banner + optional title + blank line + number of items
local total=$(( 1 + ( [[ -n $title ]] && echo 1 || echo 0 ) + 1 + ${#items[@]} ))
clear
center_vertically "$total"
echo "$(center_horiz "$BANNER")"
echo # blank line after banner
[[ -n $title ]] && echo "$(center_horiz "$title")"
# write centred choices to a temp file for gum
local tmp; tmp=$(mktemp)
for choice in "${items[@]}"; do
echo "$(center_horiz "$choice")" >>"$tmp"
done
gum choose --cursor.foreground 212 --selected.foreground 212 <"$tmp"
rm "$tmp"
}
# ------------------------------------------------------------
# 6️⃣ Submenus
# ------------------------------------------------------------
terminal_menu() {
local opts=(
"Open new terminal session"
"Back to main menu"
)
while true; do
sel=$(render_menu opts "Terminal")
case "$sel" in
*"Open new terminal session"*)
echo "Launching a new terminal…"
gnome-terminal &
pause
;;
*"Back to main menu"*)
break
;;
esac
done
}
system_menu() {
local opts=(
"Get repository update"
"Fullsystem update and upgrade"
"Back to main menu"
)
while true; do
sel=$(render_menu opts "System")
case "$sel" in
*"Get repository update"*)
echo "Running repository update (git pull …)"
(cd ~/myrepo && git pull) # adjust as needed
pause
;;
*"Fullsystem update and upgrade"*)
echo "Performing full system upgrade…"
sudo pacman -Syu --noconfirm
pause
;;
*"Back to main menu"*)
break
;;
esac
done
}
software_menu() {
local opts=(
"Install / update Blender (~/Programs/Blender-version)"
"Install / update Nekoray (~/Programs/nekoray.appimage)"
"Back to main menu"
)
while true; do
sel=$(render_menu opts "Software")
case "$sel" in
*"Blender"* )
echo "Downloading latest Blender into ~/Programs/Blender-version …"
mkdir -p "$HOME/Programs/Blender-version"
wget -qO- "https://download.blender.org/release/Blender3.6/blender-3.6.0-linux-x64.tar.xz" |
tar -xJ -C "$HOME/Programs/Blender-version" --strip-components=1
pause
;;
*"Nekoray"* )
echo "Fetching latest Nekoray AppImage into ~/Programs …"
mkdir -p "$HOME/Programs"
wget -O "$HOME/Programs/nekoray.appimage" \
"https://github.com/nekoray/nekoray/releases/download/v2.16.0/nekoray-2.16.0-x86_64.AppImage"
chmod +x "$HOME/Programs/nekoray.appimage"
pause
;;
*"Back to main menu"* )
break
;;
esac
done
}
# ------------------------------------------------------------
# 7️⃣ Main menu (centered)
# ------------------------------------------------------------
main_menu() {
local opts=(
"Terminal"
"System"
"Software"
"Quit"
)
while true; do
choice=$(render_menu opts "SCE OS")
case "$choice" in
*"Terminal"*) terminal_menu ;;
*"System"*) system_menu ;;
*"Software"*) software_menu ;;
*"Quit"*) clear; echo "Goodbye!"; exit 0 ;;
esac
done
}
main_menu