Files
rpi-tulivision/hide_desktop_ui.sh

89 lines
2.5 KiB
Bash
Executable File

#!/bin/bash
# Script to hide desktop UI and ensure video player is always on top
# Function to hide desktop elements
hide_desktop_ui() {
echo "Hiding desktop UI elements..."
# Hide taskbar/panel (works with most desktop environments)
pkill -f "lxpanel" 2>/dev/null || true
pkill -f "xfce4-panel" 2>/dev/null || true
pkill -f "gnome-panel" 2>/dev/null || true
pkill -f "mate-panel" 2>/dev/null || true
# Hide desktop icons
gsettings set org.gnome.desktop.background show-desktop-icons false 2>/dev/null || true
gsettings set org.nemo.desktop show-desktop-icons false 2>/dev/null || true
# Disable screen saver and power management
xset s off 2>/dev/null || true
xset -dpms 2>/dev/null || true
xset s noblank 2>/dev/null || true
# Disable mouse cursor after 5 seconds of inactivity
unclutter -idle 5 -root 2>/dev/null || true
echo "Desktop UI elements hidden"
}
# Function to ensure VLC stays on top
keep_vlc_on_top() {
echo "Ensuring VLC stays on top..."
# Wait for VLC to start
sleep 10
# Use wmctrl to keep VLC on top
while true; do
if pgrep -f "vlc" > /dev/null; then
wmctrl -r "VLC media player" -b add,above 2>/dev/null || true
wmctrl -r "vlc" -b add,above 2>/dev/null || true
fi
sleep 5
done
}
# Function to start video player service
start_video_player() {
echo "Starting video player service..."
# Add user to gpio group if not already added
if ! groups $USER | grep -q gpio; then
echo "Adding user to gpio group..."
sudo usermod -a -G gpio $USER
echo "Please log out and log back in for GPIO group changes to take effect"
fi
# Start the video player service
sudo systemctl enable video-player.service
sudo systemctl start video-player.service
echo "Video player service started"
}
# Main execution
case "$1" in
"hide")
hide_desktop_ui
;;
"keep-top")
keep_vlc_on_top
;;
"start")
start_video_player
;;
"all")
hide_desktop_ui
start_video_player
keep_vlc_on_top &
;;
*)
echo "Usage: $0 {hide|keep-top|start|all}"
echo " hide - Hide desktop UI elements"
echo " keep-top - Keep VLC on top (runs continuously)"
echo " start - Start video player service"
echo " all - Do everything (hide UI, start service, keep on top)"
exit 1
;;
esac