#!/bin/bash # Configuration directories INSTALL_DIR="$HOME/.local/bin" APP_DIR="$HOME/.local/share/applications" SERVICE_MENU_DIR="$HOME/.local/share/kio/servicemenus" LEGACY_SERVICE_MENU_DIR="$HOME/.local/share/kservices5/ServiceMenus" # Create necessary directories mkdir -p "$INSTALL_DIR" "$APP_DIR" "$SERVICE_MENU_DIR" "$LEGACY_SERVICE_MENU_DIR" # 1. Install the script cp uploader.sh "$INSTALL_DIR/kde-uploader" chmod +x "$INSTALL_DIR/kde-uploader" # 2. Install standard application entry (for Spectacle) sed "s|__EXEC_PATH__|$INSTALL_DIR/kde-uploader|g" kde-uploader.desktop > "$APP_DIR/kde-uploader.desktop" chmod +x "$APP_DIR/kde-uploader.desktop" update-desktop-database "$APP_DIR" &> /dev/null # 3. Install KDE Service Menu entry (for Dolphin) sed "s|__EXEC_PATH__|$INSTALL_DIR/kde-uploader|g" kde-uploader-servicemenu.desktop > "$SERVICE_MENU_DIR/kde-uploader-servicemenu.desktop" chmod +x "$SERVICE_MENU_DIR/kde-uploader-servicemenu.desktop" sed "s|__EXEC_PATH__|$INSTALL_DIR/kde-uploader|g" kde-uploader-servicemenu.desktop > "$LEGACY_SERVICE_MENU_DIR/kde-uploader-servicemenu.desktop" chmod +x "$LEGACY_SERVICE_MENU_DIR/kde-uploader-servicemenu.desktop" echo "Installation complete!" echo "The script has been installed to $INSTALL_DIR/kde-uploader" echo "You can now right click files in Dolphin and find 'Upload to Custom API' in the Actions menu." echo "In Spectacle, you should find 'Upload to Custom API' in the Export or Share menu."