Windows Platform Support¶
Windows-specific implementation details for Toss.
Clipboard Format Handling¶
Windows supports multiple clipboard formats that need special handling:
- CF_TEXT: ANSI text (legacy)
- CF_UNICODETEXT: Unicode text (preferred)
- CF_HDROP: File list (HDROP)
- CF_DIB: Device-independent bitmap
- CF_BITMAP: Bitmap handle
Implementation Status: Format constants and structure created in windows_formats.rs. Full implementation requires Windows API integration.
Files:
- rust_core/src/clipboard/windows_formats.rs
Priority: Handle CF_UNICODETEXT for text, CF_HDROP for files, CF_DIB for images.
Implementation Details¶
Text Handling¶
Prefer CF_UNICODETEXT over CF_TEXT:
File Handling¶
Handle CF_HDROP for file lists:
Image Handling¶
Support CF_DIB for images:
System Integration¶
- Credential Manager: Secure storage for device keys
- System Tray: Taskbar integration
- Notifications: Toast notifications
Logging and Diagnostics¶
Toss includes production-level logging for Windows diagnostics:
Log Locations¶
| Log Type | Path |
|---|---|
| Application logs | %LOCALAPPDATA%\toss\logs\toss.log |
| Panic/crash logs | %LOCALAPPDATA%\toss\logs\panic.log |
Viewing Console Output¶
Windows GUI applications don't show console output by default. To see Rust log output:
From Command Prompt (cmd.exe):
From PowerShell:
PowerShell naturally waits for the process to complete.
Crash Diagnostics¶
When Toss encounters a crash (Rust panic), it will:
1. Display a Windows MessageBox with crash details
2. Write the panic information to panic.log
3. Print to stderr (visible in console mode)
Accessing Logs from the App¶
Go to Settings → About → Open Log Folder to quickly access the logs directory.
Troubleshooting Silent Failures¶
If the app doesn't open or closes immediately:
1. Run from command line with start /wait toss.exe
2. Check %LOCALAPPDATA%\toss\logs\ for log files
3. Look for panic.log for crash information
Next Steps¶
- Platform Overview - Return to platform overview
- Linux Implementation - Linux platform details