• Stars
    star
    190
  • Rank 203,739 (Top 5 %)
  • Language
    C++
  • License
    GNU General Publi...
  • Created about 8 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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.

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.

NOTE: Please note that after you register in OpenWeatherMap and are given an API key, that key may not be valid right away. If you enter the API key in TrayWeather and get an "host requires authentication" error, you must wait a little longer until it becomes valid.

Options

The temperature units (celsius or fahrenheit) and the frequency of update requests are configurable options. Other visual configuration options can be seen in the configuration dialog screenshot.

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 or zip file (portable mode).

NOTE: The application will use a ini file in the same folder as the executable if the file exists and can be written. So its possible to use the application in "portable mode" even if it has been installed using the installer by just copying the installation folder to another location and creating an empty TrayWeather.ini file in it. It is recommended to execute the application before creating the empty file because then the setting will be loaded from the windows registry and saved to the ini file.

Screenshots

NOTE: Some screenshots are from older versions of Tray Weather and are missing tabs present in the latest version.

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

Tray icon can also show the temperature alone or composed with the weather icon. It can also be configured to show two tray icons, one with the temperature and other with the weather icon. The temperature text color can be set by the user or can change dynamically between a range of colors according to the current value. Temperature icon color, size and composition can be modified in the configuration dialog.

icon_temp

Several different icon themes are available for the application weather icons. The color of the mono-color themes can be selected by the user.

icon_themes

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. 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. The tray and application theme configuration can be found here in the miscellaneous options. Also the frequency of checks for updates can be set here.

Configuration dialog in Spanish with the application light theme.

config

Configuration dialog in English with the application dark theme.

config_dark

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 or a bar 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. Data series can be hidden and shown again by clicking on its legend text.

forecast_graph

Pollution forecast can be obtained in the third tab, showing the projections for the next days. The chart can be zoomed in the X axis and resetted by using the reset button below. The pollution chart also has a tooltip with detailed information for each point of the lines and the background is colored according to air quality value. As with the weather forecast it can be zoomed in and graph series can be hidden and shown again in the same way.

pollution

Ultraviolet radiation forecast can be obtained in the "UV" tab, showing the projection for the next 24 hours colored according to the World Health Organization color code. The UV chart also has a information tooltip that appears when the mouse cursor is near a point of the radiation index line showing the index value and recommendations. The zoom method and reset buttons works also with the UV graph.

radiation

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.

maps0 maps1 maps2 maps3

Translations

Tray Weather is available in:

  • English
  • Spanish
  • Russian
  • German
  • French
  • Chinese (Simplified)
  • Portuguese (Brazilian)
  • Ukrainian
  • Slovenian
  • Korean
  • Polish
  • Turkish

If 'TrayWeather' hasn't a translation for your language you can collaborate and translate the application using the Qt Linguistic Tools (available here) or manually editing the 'empty' translation source file and making a pull request. Currently it's just 373 texts.

To do it manually just edit the 'empty translation' file and replace the untranslated messages:

    <message>
        <location filename="../AboutDialog.ui" line="429"/>
        <source>Weather data provided by</source>
        <translation type="unfinished"></translation>
    </message>

To the translation in your language. For example in Spanish it is:

    <message>
        <location filename="../AboutDialog.ui" line="429"/>
        <source>Weather data provided by</source>
        <translation>Datos meteorológicos proporcionados por</translation>
    </message>

Repository information

Version: 1.26.1

Status: finished.

cloc statistics

Language files blank comment code
C++ 10 1037 393 5120
C/C++ Header 10 283 829 933
HTML 1 33 0 150
CMake 1 19 11 125
Total 22 1372 1233 6328

More Repositories

1

OGG-Extractor

Tool to scan and extract OGG sound files from big game data files.
C++
18
star
2

MultiAlarm

MultiAlarm is a tool to set multiple timer and clock alarms with system tray, desktop widgets and keyboard RGB lights notifications.
C++
5
star
3

transcodertomp3

Music Transcoder To MP3 is a cross-platform tool to transcode music files from multiple formats (music files, audio track of video files and module files) to MP3 format.
C++
5
star
4

VTKMovieRenderer

Small helper application to generate videos using the VTK and ITK libraries. All the scripting and animation is done in C++
C++
4
star
5

pomodorotimelapse

DesktopCapture is a tool to create a video or a serie of images of the desktop activity, taken at given intervals. It's similar to many chronolapse/time-lapse tools available on the internet but with a few quirks.
C++
2
star
6

Jellyfin-Database-Tweaker

Simple tool to modify the metadata database of a Jellyfin server to my liking.
C++
2
star
7

SimpleHasher

Tool to generate and check file signatures (hashes) using the following hash algorithms: MD5, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512 & Tiger.
C++
2
star
8

VideoTranscoderForChromecast

Simple program to transcode video files to formats supported by Chromescast Ultra devices using the NVidia NVENC encoder for hardware acceleration.
C++
2
star
9

FilesystemWatcher

Little utility to watch files and directories for modifications and alarm the user when it happens. It can monitor individual files, directories and complete subtrees.
C++
2
star
10

WhirlWindWarp

Port of WhirlWindWarp Linux screensaver to Windows platforms using Qt 5.x
C++
1
star
11

EspinaVolumeEditor

EspINA Volume Editor is an application to reconstruct and edit segmentations of electron microscopy or optic microscopy images generated with old versions of the application EspINA
C++
1
star
12

EspINA

EspINA is a user-friendly tool which performs segmentation and analysis of elements in a reconstructed 3D volume of the brain, and greatly facilitates and accelerates these processes. It allows visualization and segmentation of large image stacks datasets, both from electron microscopy (e.g. FIB/SEM) and confocal laser microscopy.
C++
1
star
13

Duplicate-Folders-Finder

Little custom tool to scan storage folders and report directories in the tree with the same name. Doesn't compare directory contents, just names.
C++
1
star