89 lines
2.5 KiB
Bash
Executable File
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
|