feat: add widget providers (weather, media, pomodoro)

- Weather widget with Open-Meteo/wttr.in/OpenWeatherMap API support
- 15-minute weather caching with geocoding for city names
- MPRIS media player widget with play/pause toggle via dbus-send
- Pomodoro timer widget with configurable work/break cycles
- Widgets display at top of results with emoji icons
- Improved terminal detection for Hyprland/Sway environments
- Updated gtk4 to 0.10, gtk4-layer-shell to 0.7

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2025-12-29 19:36:26 +01:00
parent 8670909480
commit 97c6f655ca
13 changed files with 3146 additions and 112 deletions

View File

@@ -12,10 +12,10 @@ categories = ["gui"]
[dependencies]
# GTK4 for the UI
gtk4 = { version = "0.9", features = ["v4_12"] }
gtk4 = { version = "0.10", features = ["v4_12"] }
# Layer shell support for Wayland overlay behavior
gtk4-layer-shell = "0.4"
gtk4-layer-shell = "0.7"
# Async runtime for non-blocking operations
tokio = { version = "1", features = ["rt", "sync", "process", "fs"] }
@@ -55,6 +55,12 @@ serde_json = "1"
# Date/time for frecency calculations
chrono = { version = "0.4", features = ["serde"] }
# D-Bus for MPRIS media player integration
zbus = { version = "4", default-features = false, features = ["tokio"] }
# HTTP client for weather API
reqwest = { version = "0.12", default-features = false, features = ["rustls-tls", "json", "blocking"] }
[features]
default = []
# Enable verbose debug logging (for development/testing builds)