Initial commit: iCloud Drive GTK3 GUI for ElementaryOS

- Dashboard with live sync status, current file indicator, auto-refresh
- Logs page with color-coded ERROR/WARN/INFO lines and live follow
- Photos tab: download recent photos as JPEG via icloudpd
- Settings with save + optional service restart
- Install/uninstall scripts and .desktop entry

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Nate EmmertandClaude Sonnet 4.6 committed 2026-08-13 13:21:19 -04:00
commit 21be796265
6 files changed
+1935

No files matched your search

Executable
+35
View File
@@ -0,0 +1,35 @@
#!/usr/bin/env bash
# iCloud Drive for Linux — uninstaller
set -euo pipefail
INSTALL_DIR="$HOME/.local/lib/icloud-linux"
GUI_INSTALL="$HOME/.local/lib/icloud-gui"
BIN_DIR="$HOME/.local/bin"
DESKTOP_DIR="$HOME/.local/share/applications"
ICONS_DIR="$HOME/.local/share/icons/hicolor/scalable/apps"
echo "This will remove:"
echo " $INSTALL_DIR (backend)"
echo " $GUI_INSTALL (GUI)"
echo " $BIN_DIR/icloud-drive"
echo " $DESKTOP_DIR/com.elementary.icloud-linux.desktop"
echo ""
read -rp "Continue? [y/N] " ans
[[ "$ans" =~ ^[Yy]$ ]] || { echo "Aborted."; exit 0; }
# Stop the service first if running
if command -v icloudctl &>/dev/null || [ -f "$INSTALL_DIR/icloudctl" ]; then
"$INSTALL_DIR/icloudctl" stop 2>/dev/null || true
fi
rm -rf "$INSTALL_DIR" "$GUI_INSTALL"
rm -f "$BIN_DIR/icloud-drive"
rm -f "$DESKTOP_DIR/com.elementary.icloud-linux.desktop"
rm -f "$ICONS_DIR/com.elementary.icloud-linux.svg"
update-desktop-database "$DESKTOP_DIR" 2>/dev/null || true
gtk-update-icon-cache -f -t "$HOME/.local/share/icons/hicolor" 2>/dev/null || true
echo "Uninstalled. Your config (~/.config/icloud-linux) and cache (~/.cache/icloud-linux) were left intact."
echo "Remove them manually if you want a clean slate:"
echo " rm -rf ~/.config/icloud-linux ~/.cache/icloud-linux"