Add README with install instructions and feature overview

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:24:03 -04:00
1 parent 21be796265
commit 3aa5737c5e
1 file changed
+76
+76
View File
@@ -0,0 +1,76 @@
# iCloud Drive for Linux
A GTK3 GUI for [icloud-linux](https://github.com/IsmaeelAkram/icloud-linux), designed for ElementaryOS with a Granite-inspired interface. Sync your iCloud Drive and download iCloud Photos directly from the desktop.
![ElementaryOS](https://img.shields.io/badge/ElementaryOS-7%2B-64a6e0?style=flat-square)
![Python](https://img.shields.io/badge/Python-3.10%2B-blue?style=flat-square)
![GTK](https://img.shields.io/badge/GTK-3.0-green?style=flat-square)
## Features
- **Dashboard** — Start, stop, restart, and sync iCloud Drive. Shows the current file being synced in real time with auto-refreshing status.
- **Logs** — Live-follow service logs with color-coded ERROR / WARNING / INFO lines.
- **Photos** — Download your most recent iCloud Photos as JPEGs into `~/Pictures/iCloud Photos` so the Photos app can display them natively.
- **Settings** — Configure your Apple ID, sync intervals, warmup workers, and more. Prompts to restart the service when saved.
- **Sign In** — Authenticate with Apple ID and handle two-factor authentication.
- **Sleep/wake aware** — Automatically reconnects log streams after the computer wakes from sleep.
## Requirements
- ElementaryOS 7+ / Ubuntu 22.04+
- [icloud-linux](https://github.com/IsmaeelAkram/icloud-linux) installed and configured
- Python 3.10+
- GTK 3.0
## Installation
Clone this repo next to your icloud-linux installation and run the installer:
```bash
git clone https://github.com/nmemmert/icloud_linux_app.git
cd icloud_linux_app
bash install.sh
```
The installer will:
- Install system dependencies (`python3-gi`, `fuse`, `heif-gdk-pixbuf`, etc.)
- Set up the GUI at `~/.local/lib/icloud-gui/`
- Create a launcher at `~/.local/bin/icloud-drive`
- Add **iCloud Drive** to your app menu (Slingshot)
## Running Without Installing
```bash
python3 icloud_gui.py
```
## Uninstall
```bash
bash uninstall.sh
```
Your config (`~/.config/icloud-linux`) and downloaded photos (`~/Pictures/iCloud Photos`) are left intact.
## Photos Setup
The Photos tab uses [icloudpd](https://github.com/icloud-photos-downloader/icloud_photos_downloader) (bundled with icloud-linux) to download photos directly to `~/Pictures/iCloud Photos` as JPEGs. The ElementaryOS Photos app will find and display them automatically.
- **Sync Recent (200)** — Downloads your 200 most recent photos
- **Sync More (1000)** — Downloads your 1000 most recent photos
- **Open Photos App** — Launches the ElementaryOS Photos app
- **Open Folder** — Opens the download folder in Files
## Project Structure
| File | Description |
|------|-------------|
| `icloud_gui.py` | Main GTK3 application |
| `icloud_photos_fs.py` | FUSE filesystem for on-demand photo access (experimental) |
| `install.sh` | Installer script |
| `uninstall.sh` | Uninstaller script |
| `com.elementary.icloud-linux.desktop` | App menu desktop entry |
## License
MIT