Overview
The r2Vault menu bar widget provides quick access to uploads without opening the main window:- Drop zone for instant file uploads
- Live progress for active uploads
- Recent uploads list with quick actions
- Bucket switcher and settings
The menu bar widget is always accessible, even when the main window is closed.
MenuBarView.swift (source: Fiaxe/Views/MenuBarView.swift:5-533)
Drop Files to Upload Instantly
The drop zone at the top of the menu bar widget accepts files from Finder:
Alternatively, click the drop zone to open the system file picker.
Implementation:
MenuBarView.swift:134-184 (source: Fiaxe/Views/MenuBarView.swift:134-184)
Upload Behavior
- Files upload to the root bucket by default
- If you’ve navigated to a folder in the main window, files upload to that folder instead
- Folder uploads preserve directory structure (same as main window)
Live Progress Tracking
While uploads are active, the widget displays a dedicated progress section:Progress Elements
- ↑ (Uploading) — Blue accent color
- ⏱ (Pending) — Gray secondary color
Truncates with middle ellipsis if too long:
very-long-file-n…ame.jpgShows
0% to 100% with monospaced digitsLinear progress bar (blue for uploading, gray for pending)
MenuBarView.swift:484-532 (source: Fiaxe/Views/MenuBarView.swift:484-532)
Cancel Uploads
Cancel individual
Click the × button next to any file
Cancel all
Click Cancel All in the progress header
Recent Uploads List
The bottom section displays up to 25 recent uploads with quick actions:File Icons
Each file type has a color-coded icon badge:| Type | Icon | Color |
|---|---|---|
| Images (JPG, PNG, GIF, etc.) | 📷 photo.fill | Purple |
| Videos (MP4, MOV, etc.) | 🎬 film.fill | Pink |
| Audio (MP3, WAV, etc.) | 🎵 music.note | Orange |
| PDFs | 📄 doc.richtext.fill | Red |
| Archives (ZIP, TAR, etc.) | 📦 archivebox.fill | Brown |
| Code (Swift, JS, etc.) | </> | Blue |
| Other | 📄 doc.fill | Blue |
MenuBarView.swift:456-479 (source: Fiaxe/Views/MenuBarView.swift:456-479)
Quick Actions
Hover over any recent upload to reveal action buttons:Copy URL
Copy URL
Copies the public URL to clipboard. Shows a green checkmark (✓) on success.
Download
Download
Downloads the file to your Downloads folder using a presigned URL.
Delete
Delete
Permanently removes the file from R2. Shows a confirmation dialog:
MenuBarView.swift:353-454 (source: Fiaxe/Views/MenuBarView.swift:353-454)
Gear Menu Options
Click the ⚙️ gear icon in the top-right to access:Switch Bucket
If you have multiple buckets configured:Switching buckets refreshes the main window browser to show the new bucket’s contents.
Other Menu Items
- Quit r2 Vault — Closes the app entirely (⚠️ destructive action, shown in red)
MenuBarView.swift:84-118 (source: Fiaxe/Views/MenuBarView.swift:84-118)
Link Copied Toast
When an upload completes, a green toast notification appears at the bottom:- Auto-dismisses after 2.5 seconds
- Truncates long filenames with middle ellipsis
- Uses a glass effect background (macOS 26+) or green tint (older versions)
MenuBarView.swift:42-65 (source: Fiaxe/Views/MenuBarView.swift:42-65)
Glass Effects (macOS 26+)
On macOS 26 and later, the menu bar widget uses Apple’s new Glass API:- Drop zone:
.glassEffect(.regular)with accent color tint when targeted - Gear button:
.glassEffect(.regular.interactive())for hover states - Toast:
.glassEffect(.regular.tint(.green))for success feedback - Action buttons:
.glassbutton style
MenuBarView.swift:299-349 (source: Fiaxe/Views/MenuBarView.swift:299-349)
Opening the Main Window
Click the ↗ arrow button next to “Recent Uploads” to open the main browser window. If the window was previously closed, r2Vault creates a new one automatically. Source:MenuBarView.swift:276-291 (source: Fiaxe/Views/MenuBarView.swift:276-291)