Flicker
Professional cross-platform desktop application for fast screenshot capture and file uploads to Emberly cloud storage.
Flicker is a modern, feature-rich desktop uploader for Windows, macOS, and Linux. Designed as the native companion to Emberly, it provides instant screenshot capture, system-wide hotkeys, and seamless uploads with a beautiful, customizable interface.
Getting Flicker
Build from source and get started.
User Guide
Learn all features and settings.
Hotkey Reference
All default hotkeys and how to customize them.
For Developers
Build Flicker from source or contribute.
Flicker is currently in alpha (v0.1.0-alpha). No pre-built binaries or release packages are available yet. To use Flicker, you must build it from source. See the Getting Flicker section below and the full Flicker Development Guide for step-by-step instructions.
Getting Flicker
Flicker is in active alpha development. Pre-built releases will be available in a future version. For now, build from source:
Prerequisites:
- Node.js 18+ and Rust 1.70+
- bun (recommended) or npm
Quick Setup:
For full build instructions, toolchain setup, and platform-specific requirements, see the Flicker Development Guide.
User Guide
Getting Started
1. Installation
Flicker must be built from source. See the Flicker Development Guide for full setup instructions.
2. First Login
- Launch Flicker
- Click "Login" button
- Enter your Emberly email/username and password
- If 2FA is enabled, enter your 6-digit code
- Click "Authenticate"
- You're all set.
Alternative: Use Upload Token
- Go to Emberly Dashboard → Settings → Profile
- Copy your Upload Token
- In Flicker, go to Settings → Account → Enter Token
- Paste the token and save
Core Features
Screenshot Capture
Fullscreen Screenshot — Entire primary monitor
All Monitors — Stitch all displayed monitors into single image
Region screenshot features coming in v0.2.0.
How Uploads Work:
- Hotkey triggers screenshot capture
- Image automatically saved (temporary)
- File uploaded to Emberly in background
- URL copied to your clipboard
- Success notification shows
- You can paste the URL anywhere
File Format & Quality:
- Default Format: PNG (lossless, high quality)
- Alternative: JPG with quality slider (Settings → Capture)
- Filename Pattern:
Screenshot_YYYY-MM-DD_HH-MM-SS.png- Customize in Settings with:
%Y-%m-%d_%H-%M-%S
- Customize in Settings with:
Upload Management
Automatic Upload:
- Enabled by default
- Screenshot automatically uploads after capture
- No additional steps needed
- Can be toggled in Settings → Behavior
Manual Upload:
- Go to Upload tab (main view)
- Click "Select File" or drag-and-drop
- Configure options:
- Filename (auto-populated)
- Visibility (Public / Private)
- Password (optional)
- Click "Upload"
- URL copied to clipboard
Upload History:
- All uploads stored locally in app
- View in History tab
- Click any file to:
- Copy URL to clipboard
- Open in browser
- Delete from history
- View file details
- Delete individual entries or clear all
Upload Details:
History & Management
Upload Listing:
- Shows last 100 uploads (most recent first)
- Thumbnail preview of images
- File size and upload date
- Direct URL in each entry
- Search by filename (coming v0.2.0)
Quick Actions:
Delete Options:
- Delete individual entries
- "Clear History" button to remove all (with confirmation)
- Deletion is local only (files stay on Emberly)
Settings & Customization
Hotkeys
Default Hotkeys:
| Action | Windows/Linux | macOS |
|---|---|---|
| Fullscreen screenshot | Ctrl+Shift+S | Cmd+Shift+S |
| All monitors | Ctrl+Shift+A | Cmd+Shift+A |
| Alternative fullscreen | Ctrl+Alt+PrintScreen | Cmd+Ctrl+F5 |
Customize Hotkeys:
- Go to Settings → Hotkeys
- Click on any hotkey field
- Press your desired key combination
- Hotkey validates in real-time
- Changes apply immediately
Hotkey Rules:
- Must include at least one modifier (Ctrl, Shift, Alt, Cmd)
- Cannot conflict with system hotkeys
- Works even when Flicker is minimized
- Global system-wide registration (not just in-app)
Appearance
Themes:
Customizations:
- Theme: Select from 15+ built-in themes
- Background Opacity: 50% to 100% (control window transparency)
- Font Scale: Small, Medium, Large
- Font Family: System, Inter, Roboto, Monospace, Poppins
- Border Radius: None, Small, Medium, Large
- Sidebar Position: Left or Right
- Compact Mode: Reduce whitespace for minimal UI
- Animations: Enable/disable visual effects
- Glass Effect: Apply glassmorphism styling
Behavior Settings
Post-Upload Action:
Clipboard Format:
Audio & System:
- Play sound on upload (toggle)
- Start at login / auto-launch (Windows/macOS)
Capture Settings
Image Format:
- Format: PNG (recommended) or JPG
- JPG Quality: 1-100 slider
- Always include timestamp in filename
Capture Options:
- Include cursor: Yes/No (default: Yes)
- Delay before capture: 0-10 seconds (for setup time)
- Filename pattern: Customize with variables
%Y= 4-digit year (2026)%m= 2-digit month (01-12)%d= 2-digit day (01-31)%H= Hour (00-23)%M= Minute (00-59)%S= Second (00-59)
Example Patterns:
Save Locally:
- Optional: Keep a local copy of screenshots
- Enables offline viewing of capture history
- Storage location shown in Settings
Account Settings
Logged In User:
- Display name
- Email address
- Account tier/plan
- Avatar (if set)
Actions:
- View full profile link
- Copy upload token
- Enable/setup 2FA (TOTP)
- Change password (opens web)
- Logout (ends session)
Upload Token Management:
- Copy your private token for API use
- Useful for scripts and automation
- Keep this secret (don't share in code)
- Can be regenerated anytime
System Tray Integration
Tray Icon:
- Flicker appears in your system taskbar/menu bar
- Single icon click restores/minimizes window
- Right-click for menu options
Tray Menu:
Always Running:
- When you click the X button, app minimizes to tray
- It continues running in background
- System hotkeys still work
- Click tray icon to restore
Notifications
In-App Notifications:
Desktop Notifications (optional):
- System-level notifications (Windows/macOS/Linux)
- Shows upload status
- Can click to interact
- Toggle in Settings → Behavior
Splash Screen
When Flicker launches, a 2-second splash screen displays with:
- Animated logo with glowing rings
- Rotating loading bar with shimmer effect
- Fun facts, tips, and easter eggs
- 50+ messages including Stranger Things references
Pro tip: Check back daily for new messages!
Hotkey Reference
Complete Hotkey List
Screenshot Actions:
Planned (Coming v0.2.0):
Customizing Hotkeys
- Open Settings (in app or
Ctrl+,) - Go to Hotkeys tab
- Click on any hotkey field
- Press your desired key combination (e.g.,
Alt+S) - Real-time validation shows if hotkey is valid
- Click elsewhere or press Enter to save
- Hotkey active immediately
Hotkey Requirements:
- Must have a modifier:
Ctrl,Shift,Alt, orCmd(macOS) - One additional non-modifier key
- Examples:
Ctrl+1,Shift+F12,Alt+E - Cannot be single key like
SorF1 - Cannot conflict with system hotkeys
- Cannot use reserved Windows/macOS hotkeys
If You Get "Conflict" Error:
- That hotkey is used by your OS or another app
- Try a different combination
- Examples of conflicts:
Ctrl+Alt+Delete(Windows system hotkey)Cmd+Tab(macOS app switcher)Ctrl+C(terminal commands)
Troubleshooting
Screenshots Aren't Capturing
Windows:
- Ensure Flicker is running in admin mode
- Right-click Flicker in Start Menu
- Select "Run as administrator"
- Re-test hotkey
- Check that hotkeys aren't conflicting with other apps
- Restart Flicker and try again
- Check Settings → Behavior → "Hotkeys enabled" is ON
macOS:
- Grant screen recording permissions:
- System Preferences → Security & Privacy → Screen Recording
- Check "Flicker" is allowed
- Restart Flicker after granting permissions
- Try screenshot hotkey again
Linux:
- Ensure GTK 3.0+ is installed:
sudo apt install libgtk-3-0 - May require GStreamer plugins for screenshots
- Try running from terminal:
flicker- Check for error messages
Upload Failing with Network Error
-
Check internet connection:
Should show responses, not "unreachable"
-
Check if Emberly is down:
- Visit https://emberly.ca in browser
- If site is down, wait for it to come back online
-
Verify authentication:
- Go to Settings → Account
- Check "Logged in as: [your email]"
- If not logged in, click "Login"
-
Check upload token:
- Go to Settings → Account → Show Token
- Verify it's a long random string (not blank)
- If empty, re-login
-
Firewall/VPN Issue:
- If behind corporate firewall, may need VPN
- Try temporarily disabling VPN and retrying
- Check network settings allow HTTPS (port 443)
-
Invalid token:
- Log out completely: Settings → Account → Logout
- Log back in: Settings → Account → Login
- Try upload again
"Permission Denied" on Startup (Windows)
Solution:
- Right-click Flicker in Start Menu
- Select "Run as Administrator"
- Answer "Yes" to UAC prompt
- Check "Always run as administrator"
- Restart Flicker
This is required for system-wide hotkey capture.
Can't Find Flicker in Applications (macOS)
Try:
- Press
Cmd+Spaceto open Spotlight - Type "Flicker"
- Press Enter to launch
- Optionally drag to Dock for quick access
Or:
- Open Finder
- Go to Applications folder
- Look for "Flicker" application
- Double-click to launch
Hotkey Not Working
-
Check if hotkey conflicts with system hotkey
- Settings → Hotkeys → check for yellow warning indicator
- Try a different hotkey
-
Confirm Flicker is running
- Look for Flicker icon in system tray (Windows) or menu bar (macOS)
- If not running, restart the app
-
Re-register hotkeys:
- Settings → Hotkeys → disable all → enable all
- Wait 2 seconds for registration
- Try hotkey again
-
Check if hotkey is globally enabled:
- Windows: Settings → Behavior → "Global hotkeys" toggle ON
- If disabled, enable and restart app
App Crashes or Won't Start
First, try:
If still crashing:
- Clean your build directory and rebuild from source
- Contact [email protected] with the error message
Check crash logs:
Copy the latest log file and include in support request.
Screenshots Look Blurry
Windows:
- Settings → Capture → Format: PNG (for quality)
- If using JPG, increase Quality slider to 90+
- For high-DPI monitors:
- Settings → Display Settings → check DPI scaling
- Flicker should auto-detect, but restart to be sure
macOS:
- Retina displays use 2x resolution automatically
- Screenshots should be sharp by default
- If not, try updating to latest Flicker version
Linux:
- Settings → Capture → Format: PNG
- High-res monitors: GTK DPI settings may affect
- Try:
GDK_SCALE=1 flickerfrom terminal
Advanced Usage
Command Line Usage
Launch from terminal after building from source:
Planned CLI features (v0.3.0):
Upload via Clipboard
Planned for v0.2.0:
- Hotkey to upload whatever is in clipboard
- Works with images, text, files
- Default:
Ctrl+Alt+U
Current workaround:
- Copy file/image to clipboard
- Open Flicker → Upload tab
- Click Paste
- Click Upload
Database Cleanup
If upload history gets too large:
Warning: This deletes all upload history (URLs will still work on server, just lost locally)
Development
Building from Source
Prerequisites:
- Node.js 18+
- Rust 1.70+
- Tauri CLI
Setup:
Development Server:
Building Release:
Platform-Specific Builds:
See Contributing Guide for full development setup.
Architecture
Frontend:
- React 19 + TypeScript
- Tailwind CSS for styling
- Context API for state management
- Tauri JS API for communication with backend
Backend:
- Rust with Tauri 2.0
- Tokio async runtime
- Reqwest HTTP client
- Native screenshot library
Communication:
- Tauri IPC (serialized JSON over bridge)
- Frontend calls
invoke()for Rust functions - Async/await patterns throughout
Contributing
We welcome contributions! See Contributing Guide for:
- Code standards
- PR process
- Setting up development environment
- Adding new features
Quick Start:
FAQ
Q: Is Flicker free? A: Yes! Flicker is completely free and open source (MIT license). You only pay for Emberly cloud storage if you exceed the free tier.
Q: Can I use Flicker without Emberly? A: Not currently—Flicker is specifically designed for Emberly uploads. In the future we may add local storage support.
Q: Does Flicker send my data to anyone? A: No. Flicker only communicates with Emberly (to upload files) and GitHub (to check for updates). All upload history is stored locally on your computer.
Q: Can I customize what happens after upload? A: Yes! Settings → Behavior → "Post-upload action" lets you choose:
- Copy URL (default)
- Open in browser
- Do nothing
Q: How do I switch accounts? A: Settings → Account → Logout → Login with different email
Q: Will there be a mobile version? A: Mobile support is planned for v1.0.0+. Follow releases for announcements.
Q: Can I use Flicker on multiple computers? A: Yes! Flicker works independently on each computer. Your upload history is per-computer though.
Q: What image formats are supported? A: PNG (recommended) and JPG. PNG by default for maximum quality.
Q: Is there a team/organization version? A: Yes! Flicker integrates with Emberly Teams for shared uploads. See Teams docs.
Getting Help
License
Flicker is open source software licensed under the MIT License.
Changelog
v0.1.0-alpha (January 2, 2026)
Initial Release:
- Screenshot capture (fullscreen, all monitors)
- Automatic upload to Emberly
- Global hotkey support
- System tray integration
- Upload history with management
- Customizable settings (hotkeys, appearance, capture)
- 15+ built-in themes
- Cross-platform (Windows, macOS, Linux)
- 2FA authentication support
- Auto-update mechanism
Planned v0.2.0:
- Region screenshot selection
- Clipboard upload hotkey
- Search in upload history
- Screenshot preview before upload
- Batch file uploads
- Network error retry logic
Planned v0.3.0:
- CLI interface
- Direct Emberly account linking
- Screen recording features
- Usage analytics
- Local encryption of stored tokens
Planned v1.0.0:
- Mobile apps (iOS/Android)
- Team collaboration features
- Local backup support
- Additional cloud storage providers (AWS S3, Google Drive, etc.)
- Plugin system for extensibility
Screenshots
[Coming soon: UI screenshots of main interface, settings, upload flow]
For more information, visit the Flicker GitHub repository.