Main Window Shortcuts
ZipDrop has minimal keyboard shortcuts to keep interactions simple and focused.ESC - Hide Window
Press ESC to hide the window instantly
The most important shortcut in ZipDrop. Press
ESC at any time to hide the window without quitting the app.Implementation
FromApp.tsx:260-266:
When to Use ESC
- After uploading - Quick exit without waiting for auto-hide
- Cancel drag operation - Changed your mind while dragging
- Quick dismissal - Fastest way to hide the window
- Muscle memory - Works like most macOS popovers
Menu Bar Interactions
The ZipDrop menu bar icon supports both click types:Left Click - Toggle Window
Action: Show/hide the main window Frommain.rs:288-314:
Window Positioning
The window is intelligently positioned below the menu bar icon:- Centered horizontally under the icon
- 4 pixels gap below the icon
- Consistent placement every time
Right Click - Menu
Action: Show context menu with options Menu items (frommain.rs:273-278):
- Version X.X.X - Display only, shows current version
- Check for Updates… - Opens GitHub releases page
- Separator - Visual divider
- Quit ZipDrop (
Cmd+Q) - Exit the application
Menu Item Shortcuts
Cmd+Q - Quit Application
- Appears in: Tray menu
- Action: Completely quits ZipDrop
- Standard: macOS convention for app quit
main.rs:277:
Mouse Interactions
Drag and Drop
While not a keyboard shortcut, drag-and-drop is the primary interaction:Drag files from Finder
ZipDrop listens for the
tauri://drag-over event and shows “Drop to upload” state.Drop files on the window
Triggers
tauri://drag-drop event with file paths, starting the upload process.App.tsx:269-291:
Upload Item Clicks
In the Recent uploads list:- Click item: Copy URL/path to clipboard
- Click copy button: Explicit copy action
- Click open button: Open in Finder (demo) or browser (production)
- Click trash: Remove from history
- Shift+Click trash: Remove + delete from R2 (production only)
No Traditional Shortcuts
ZipDrop intentionally avoids complex keyboard shortcuts because:- Menu bar app - Not always focused
- Drag-and-drop primary - Mouse interaction is the main workflow
- Simple UX - One key (ESC) is memorable
- macOS conventions - Cmd+Q is standard
ZipDrop prioritizes simplicity over feature density. The goal is instant uploads, not keyboard mastery.
Focus Management
FromApp.tsx:148-150:
- ESC shortcut works immediately
- Keyboard events are captured
- Drag events are received
Auto-Hide Behavior
While not triggered by keyboard, the auto-hide timer is important:- Triggered: 10 seconds after successful upload
- From:
App.tsx:241-244 - Override: Press ESC to hide immediately
Disabled Auto-Hide on Blur
Frommain.rs:332-333:
- Allows dragging files from Finder without the window disappearing
- Prevents accidental closure mid-operation
- Users can explicitly close with ESC or menu bar click
Keyboard Event Cleanup
ZipDrop properly cleans up event listeners (fromApp.tsx:297-302):
- Memory leaks
- Duplicate event handlers
- Stale closures
Summary of All Shortcuts
| Shortcut | Action | Context |
|---|---|---|
ESC | Hide window | Main window, always available |
Cmd+Q | Quit app | Tray menu |
| Left Click | Toggle window | Menu bar icon |
| Right Click | Show menu | Menu bar icon |
| Shift+Click | Delete from R2 | Trash button (production uploads) |
Next Steps
First Upload
Learn the complete upload workflow
Managing Uploads
Explore the upload history features