- π Overview
- π What's New in v1.0.1
- β‘ Easy Install
- β¨ Features
- π¬ Demo Gallery
- π Installation
- π§ Usage
- π Data Storage
- π οΈ Building from Source
- π Project Structure
- π€ Contributing
- β FAQ
- β¨ Why You'll Love Weather Plugin
- π License
- π Acknowledgements
- π οΈ Implementation Details
Weather is a plugin for Microsoft PowerToys Run that allows you to quickly check weather conditions directly from your PowerToys Run interface. Simply type weather
followed by a location to get real-time weather information, or set up favorite locations for instant access.
- π Temperature Feeling Emojis - Added intuitive emoji indicators that show how the temperature feels
- π§ Improved UI - Enhanced weather display with visual temperature indicators
- π Bug Fixes - Various improvements and optimizations
Quick Installation Steps:
1. Download using the button above
2. Extract to %LOCALAPPDATA%\Microsoft\PowerToys\PowerToys Run\Plugins\
3. Restart PowerToys
4. Start using with Alt+Space
then type weather
- π Location-based Weather - Get weather for any city worldwide
- π Default Location - Set your home location for quick access
- β Favorite Locations - Save multiple locations for easy checking
- π§ Smart Geolocation - Automatically detect your current location
- π‘οΈ Temperature Units - Choose between Celsius and Fahrenheit
- π Temperature Feeling Emojis - Intuitive visual indicators for temperature ranges
- π Detailed Information - View comprehensive weather data including:
- Current temperature
- "Feels like" temperature
- Humidity percentage
- Wind speed and direction
- Weather condition with icon
- πΌοΈ Visual Weather Window - See detailed weather in a dedicated window
- π Auto-refresh - Weather data is cached but refreshed regularly
- π API Key Management - Easy setup with OpenWeatherMap API
- π Theme Support - Works with both light and dark PowerToys themes
- π Location Time - Displays the current time at the weather location
- π¨ Beautiful Widget - Elegant popup window with modern UI design that works like a mini weather widget
Simply type weather
followed by a city name
Just type weather
to see your default location's weather
Quickly access weather for your saved favorite locations
View detailed weather information in a dedicated window
- Microsoft PowerToys installed
- Windows 10 or later
- OpenWeatherMap API key (free tier is sufficient)
- Download the latest release from the Releases page
- Extract the ZIP file to:
%LOCALAPPDATA%\Microsoft\PowerToys\PowerToys Run\Plugins\
- Restart PowerToys
- Open PowerToys Run and type
weather
to access the plugin - Enter your OpenWeatherMap API key in the plugin settings
- Open PowerToys Run (default: Alt + Space)
- Use the following commands:
Command | Description | Example |
---|---|---|
weather |
Show weather for default or current location | weather |
weather <city> |
Show weather for a specific city | weather London |
weather <city>, <country> |
Show weather for a specific city with country code | weather London, UK |
- Press Enter on a weather result to open the detailed weather window
- Right-click on a weather result for additional options
- Set your favorite locations in the plugin settings for quick access
- The plugin caches weather data to minimize API calls
- Weather data is automatically refreshed when needed
The Weather plugin stores the following data locally:
- Your OpenWeatherMap API key
- Default location
- Favorite locations
- Temperature unit preference (Celsius/Fahrenheit)
- Cached weather data (temporary)
All settings are stored securely in the PowerToys settings file.
-
Clone the repository:
git clone https://github.com/ruslanlap/PowerToysRun-Weather.git
-
Open the solution in Visual Studio 2022 or later
-
Build the solution:
dotnet build Weather/Weather.sln
-
Run the build-and-zip script to create installation packages:
./build-and-zip.sh
Weather/
βββ Community.PowerToys.Run.Plugin.Weather/
β βββ Images/ # Plugin icons
β βββ Main.cs # Main plugin logic
β βββ WeatherResultWindow.xaml # Weather details window
β βββ plugin.json # Plugin metadata
β βββ ...
βββ Community.PowerToys.Run.Plugin.Weather.UnitTests/
β βββ ... # Unit tests
βββ Weather.sln # Solution file
Contributions are welcome! Here's how you can help:
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature
- Commit your changes:
git commit -m 'Add amazing feature'
- Push to the branch:
git push origin feature/amazing-feature
- Open a Pull Request
Please make sure to update tests as appropriate.
- ruslanlap - Project creator and maintainer
- hlaueriksson - Contributor and inspiration
How do I get an OpenWeatherMap API key?
Visit OpenWeatherMap, create a free account, and generate an API key. The free tier allows up to 1,000 API calls per day, which is more than enough for personal use.
Why does the plugin need my location?
The plugin uses your location only to provide weather information for your current area when no specific location is requested. This is optional - you can set a default location instead.
How often is the weather data updated?
Weather data is cached for 30 minutes to reduce API calls. After that time, new data will be fetched automatically.
Can I use this plugin offline?
The plugin requires internet access to fetch weather data. However, it will display cached data if available when offline.
How can I change from Celsius to Fahrenheit?
Open the plugin settings by typing "weather settings" in PowerToys Run, then toggle the temperature unit option.
- Saves Time: Check the weather without opening a browser or app
- Keyboard-Centric: Perfect for keyboard power users
- Customizable: Set your preferred locations and units
- Fast: Instant access to weather information
- Beautiful: Clean, modern UI that matches PowerToys style
- Privacy-Focused: No tracking, only uses location when needed
- Resource-Efficient: Lightweight with minimal system impact
This project is licensed under the MIT License - see the LICENSE file for details.
- Microsoft PowerToys team for the amazing launcher
- OpenWeatherMap for providing the weather API
- All contributors who have helped improve this plugin
The Weather plugin is built using:
- C# and .NET
- WPF for the UI components
- HttpClient for API communication
- System.Text.Json for JSON parsing
- Task-based asynchronous pattern for non-blocking operations
The plugin implements several PowerToys Run interfaces:
IPlugin
- Core plugin functionalityIContextMenu
- Right-click context menuIDisposable
- Resource cleanupIPluginI18n
- Internationalization supportISettingProvider
- Settings management
- Multiple day forecast
- Weather alerts and notifications
- More unit options (wind speed, pressure)
- Custom themes for weather window
- Additional weather providers
- Offline mode improvements
- Location autocomplete
- Weather maps integration