mirror of
https://github.com/wailsapp/wails.git
synced 2026-03-17 16:10:09 +01:00
I've successfully implemented Windows Jumplists for Wails v3 with the following features:
### 1. **Windows Implementation** (`jumplist_windows.go`)
- Full COM interface implementation for ICustomDestinationList, IShellLink, IPropertyStore, and IObjectCollection
- Support for custom categories and tasks
- Runtime configuration capabilities
- Proper error handling and cleanup
### 2. **Cross-Platform Stubs**
- Created stub implementations for macOS (`jumplist_darwin.go`) and Linux (`jumplist_linux.go`)
- These are no-ops that prevent compilation errors on non-Windows platforms
### 3. **API Integration**
- Added `CreateJumpList()` method to the main App struct
- Platform-specific dispatch to the correct implementation
### 4. **Example Application**
- Created a complete example in `v3/examples/jumplist/`
- Demonstrates custom categories, tasks, and runtime configuration
- Includes comprehensive documentation
### Key Features:
- **Custom Categories**: Applications can create named categories like "Recent Documents"
- **Tasks**: Common application tasks that appear at the bottom of the jump list
- **Runtime Configuration**: Jump lists can be updated at any time during application execution
- **Cross-Platform Safe**: The API gracefully handles non-Windows platforms
### Usage Example:
```go
jumpList := app.CreateJumpList()
jumpList.AddCategory(application.JumpListCategory{
Name: "Recent Files",
Items: []application.JumpListItem{
{
Type: application.JumpListItemTypeTask,
Title: "Document.txt",
FilePath: "path/to/app.exe",
Arguments: "--open Document.txt",
},
},
})
jumpList.Apply()
```
The implementation follows Windows jumplist specifications and integrates seamlessly with the existing Wails v3 architecture.
|
||
|---|---|---|
| .. | ||
| application | ||
| events | ||
| icons | ||
| mac | ||
| w32 | ||