Skip to content

Tray Weather is a simple application to retrieve and show weather information for a given geographic location in a small dialog and in the Windows OS system tray.

License

Notifications You must be signed in to change notification settings

hronek/TrayWeather

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tray Weather

Summary

Description

Tray Weather is a simple application to retrieve and show weather information for a given geographic location in a small dialog and in the Windows OS system tray. When executed the application sits in the system tray, showing the current weather icon. The tray icon tooltip shows the location, weather description and temperature. The tray menu provides access to the weather and configuration dialogs. If there is a network error and the information cannot be retrieved the tray icon will inform of the error and show the error icon.

The computer location can be automatically obtained by using the services of http://ip-api.com/ or entered manually by specifying latitude and longitude coordinates. The weather and maps information are obtained from OpenWeatherMap. To obtain weather information from OpenWeatherMap you need to register in their website and enter the given API Key into the Tray Weather configuration dialog.

Options

The temperature units (celsius or fahrenheit) and the frequency of update requests are the only configurable options.

Compilation requirements

To build the tool:

  • cross-platform build system: CMake.
  • compiler: Mingw64 on Windows.

From version 5.6 onwards the WebKit module has been replaced by a new Chromium-based equivalent that doesn't compile on Mingw. In addition to that, the QtCharts module is only officially available in Qt from versions 5.6 onwards. So the easiest way to compile the application is to use the 5.5.1 release of Qt and, separately, compile and add to the project the QtCharts module from GitHub.

External dependencies

The following libraries are required:

Install

Download the latest release installer.

Screenshots

Tray icon showing the current weather icon. At night and on clear sky days it shows the current moon phase as the weather icon.

icon icon_menu

Configuration dialog. It shows the detected location properties and the options to change the frequency of updates and temperature units. The OpenWeatherMap API Key must be entered here. If the location is better guessed with the DNS IP instead of the IP given by the provider the option can be enabled here. Also a 'roaming' mode can be enabled, where the geographical coordinates are requested before any weather data request, so the weather information is up to date even if the computer location is moving. Roaming mode can only be enabled if the geolocation services are being used.

config

Weather dialog, showing the current weather tab.

weather

Weather forecast for the next days. If the user puts the mouse over a point in the temperature line a tooltip will provide the weather conditions for that day and hour. The graph can be zoomed by selecting the area to zoom with the mouse and resetted to the initial state by using the reset button below the graph.

forecast_graph forecast_tooltip

Weather maps are interactive. While initially the map is centered in the detected location it can be moved and zoomed in and out. The maps consumes much more memory than the rest of the application so the user can be disable them using the button below.

maps1 maps2 maps3

Repository information

Version: 1.3.4

Status: finished.

cloc statistics

Language files blank comment code
C++ 7 346 194 1536
C/C++ Header 7 125 352 499
HTML 1 28 0 138
CMake 1 15 10 93
Total 16 514 556 2266

About

Tray Weather is a simple application to retrieve and show weather information for a given geographic location in a small dialog and in the Windows OS system tray.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 83.2%
  • Objective-C 7.5%
  • HTML 5.4%
  • CMake 3.9%