Adaptation of Gnome Shell's weather extension for the Cinnamon desktop.
cinnamon-weather uses Semantic Versioning. For the current version number, see
The applet obtains the location automatically, see below what the weather providers offer and how to obtain API keys if your chosen weather provider needs one.
In Manual Location mode the applet either accepts:
- Coordinates in Latitude, Longitude format (e.g. 37.77,122.41). You can use OpenWeatherMap's finder and paste the coordinates in from there.
- or an Address (it can be just a city and country, it is pretty flexible). After 3 seconds, the applet will replace what you entered with the full address what it finds so you can verify if it's correct. You can also get your exact address to enter from OpenStreetMap's Nominatim search, that's what the applet uses as well.
You can also save locations what you entered manually and switch between them in the applet (arrows will appear on both sides of the location in the applet if you have more than two saved).
They are stored in a file at
$XDG_CONFIG_HOME/weather-mockturtl/locations.json or if the variable is not set,
~/.config/weather-mockturtl/locations.json. Only the text what goes into the settings entry is used at the moment, the rest of the data is just there without purpose.
Weather providers to choose from
|Weather Providers||Needs API key||Maximum Forecast Days||Maximum Forecast Hours||Required Packages|
|Met Office UK||No||5||36***||--|
|US National Weather||No||7||156||--|
The default, works out of the box. Big Thanks to them supporting free open source projects, like this!
*DarkSky has been acquired by Apple as of March 31, 2020. It does not allow new signups, and it will cease to function at the end of 2021.
Current weather is shown for the next hour, and the daily forecasts are generated from 6 hour forecasts, so there is a possibility that they are inaccurate sometimes.
At least 10 minutes as refresh rate is recommended, since otherwise you might exceed you daily quota.
- **Hourly Weather forecast requires a non-free account
- Current weather refreshes every 2 hours.
- API key can be obtained here. Register and the API key will be shown in the Overview section. At least 10 minutes refresh rate is recommended with a free plan.
Met Office UK
Sometimes it takes like 5-10 seconds to obtain weather, please be patient when it loads up the first time.
Only covers the UK
It uses the nearest forecast site and observation sites in an 50km area, it displays an error if it does not find any. Please open a new issue if this happens and you live in the UK! (There are much less observation sites than forecast sites.)
- ***Hourly Weather is 3-hourly weather
US National Weather
Sometimes it takes 10-15 seconds to obtain weather, please be patient when it loads up the first time.
Only covers the US
- Observations are quite spotty so it combines multiple observation stations if needed in a 50km area.
- Cinnamon 1.8+,
Right-click to access
cinnamon-settings -> Applets -> Configure.
- None at the moment, I can take requests for provider integrations or for new features
- After Linux Mint 18 EOL switch to settings-schema based location storage, not file storage.
Hourly weather forecast does not fit if it's too long and becomes elided, e.g.: "Mostly Clou..."
Hourly forecast toggle button is not centered to the middle of the popup menu
Sunset/Sunrise is not displayed correctly if there is a mismatch between the Location Timezone and System Timezone when using Manual Location with some of the weather providers
- DarkSky verbose conditions are only in cm/celsius or in/fahrenheit
Enabling debug mode
You can enable debug mode for more logging by creating a file named
DEBUG in the folder of the applet here:
See the logs producing by applets
You can see Logs by opening the Cinnamon 'Looking Glass' debugger. You can open it by Right Clicking on your Panel (taskbar), then Troubleshoot->Looking Glass
Logs can be found under the
- Add basic Location store, now it's easier to switch between manual locations
- Fix WeatherBit Provider as it was completely broken before
- Some styling improvement for observation summary section in the applet
- Help Tab is reorganized and refilled with different info
- Fix typos in throughout applet
- Add Met Office UK as a weather provider
- Add US National Weather Service as a weather provider
- Add support for entering manual location as an address
- During and after entering a location, the applet waits 3 seconds until user finishes typing then refreshes (prevents spamming)
- Applet locks itself during a refresh pass, any input during this period will trigger another refresh after the previous one finished
- Some of the custom icons were resized (to be bigger) to fit in panel and applet better
- 3.8 Settings is using tabbed layout, added help section with explanation for providers and entering manual location
- Add button for version 3.8 settings to submit issue
- Fixes issue where gray text is hard to read on light theme (grey text is changed to darker color in light themes)
- Distance unit is added to the settings, metric or imperial, precipitation, visibility and site distance uses it.
- Status bar shows observation site distance for site-based providers (Met Office UK and US National Weather Service)
- Improve handling API specific errors what need to be shown in UI (incorrect API key and such)
- Making sure calls and idle calls time out after 10 seconds so they don't lock the applet forever (hopefully fixes #2874 as well)
- Fix issue when the applet would break if the locale is set to C
- Fixes #3081
- Add Climacell as an API choice
- Fix nighttime calculation
- Fix some icon choices for weather conditions
- Fix #3059
Add Hourly forecast support
Add bottom bar with credit for the provider in use (with toggle for Hourly forecast) due to legal reasons with OpenWeatherMap and DarkSky
Custom icons changed to fit their bounding boxes
Make Daily forecasts tileable
- Fix #2892, buttons adhere to current theme
- Fixes #2980 and #2979
- Hopefully Fixes #2977 in most cases. You can never know with JSs flimsy timezone support.
- Fixes #2970
- Update Openweathermap to their unified API call
- Add information on DarkSky acquisition to Readme
- Fix translation issues in files other than applet.js
- Add Yahoo Weather to the available services
- Fix issue when system time is changed backwards, the applet stops updating until time gets to the time previously set
- Change 'Updated' to 'As of' to have a clearer meaning.
- Fixes #2929
- Fix styling issues with forecasts box - There wasn't enough margin on the bottom when the icon's height were bigger than the text, neither when the forecasts were wider than the current weather box.
- Fixes #2907
- Update Hungraian translation
- Fixes #618
- Fixes #2885
- Fixes #2890
- Center Sunrise and Sunset Label, and use icons instead of text.
- Use weather-icons from Erik Flowers instead of Climaicons as it has more icons for conditions.
- Add Python-JS Yahoo bridge, preparation to add Yahoo back as an option.
- Add option to use the Custom icon set in the popup menu, not just on the panel.
- Maximum number of forecasts displayed increased from 5 to 7.
- Code refactor in preparation for adding Hourly forecasts on middle click (Config, Main Loop and PopupMenu has its own class now)
- Amend styling to be more consistent across themes
- Fixes #2782
- Add ability to override applet label with injecting values (customize and fit text on horizontal and vertical panels as well)
- Fixes #2853
- Add weatherbit.io as a weather provider.
- Fix fast looping when there is a settings error (wrong api key, wrong location), 15ms loop instead of 15s
- Fix #2835 again?!
- Fixes #2835
- Fixes #2831
- Fixes #2305 and #780 I guess?
- Add Met Norway as a weather provider
- Add sunrise/sunset calculator to support Met Norway.
- Fixes #2816, changed to different geolocation API
- Fixes #2808
- Debug can be enabled by placing a file named DEBUG to the applet folder
- Added complete TS declaration files for some import modules (the easy ones...)
- Only import whats needed (hopefully it speeds loading the applet the first time, but I don't really know)
- Configuration page reorganized, hopefully it makes more sense now
- Custom iconset (Climaicons) can be used on the panel
- Added lock to the main loop what hopefully fixes some weird issues what I see coming up from people
- Also a few more debug lines
- Various small bugfixes
- Change repeated error handling (increases time between retries, tops up at 15 mins)
- Add last refreshed time to the tool-tip next to location.
- Add Serbian Translation
- DarkSky Conditions logic was inverted, it filtered out almost every word.
- SystemLanguage string was processed incorrectly (split by the wrong char)
- Updating French Translation to include Today and Tomorrow
- Fixed Issues with Debian, now Polyfilling Promises when needed
- Reworked on how to import from other files, now in line with other applets
- Utility functions moved to other file.
- Typescript declarations reorganized now they make a little bit more sense (generated declarations from gir files still don't work that well, although mostly working)
- Can now build from same source down to Cinnamon Version 3.0
- Fixed some styling issues with some themes (Adapta, etc) where the Forecast box did not have enough padding
- Sunset/Sunrise and Day names are using the system locale (3.4+)
- Source converted to Typescript.
- Added some basic Typescript declarations of Cinnamon js libraries (minimum needed for the applet)
- Added Build scripts and Build guide
- Text 'Today' and 'Tomorrow' is used for forecasts in 3.8+
- Version 3.6 changed to 3.4 and using the Typescript source compiled to es5 with some extra changes after:
- All files moved into One file
- code regarding importing other files was removed
- .ToLocaleString() does not support Timezones, removed
- Array.includes polyfill added (it is used in DarkSky)
- !!! the panel was not rebuilding at the correct time on refresh (I honestly don't know how the app was working before at all), now rebuilding is part of the data refresh function.
- Applet was crashing when there was no internet (Debug line was outside try/catch)
- Big performance increase in version 3.4, plus DarkSky support
- OpenWeatherMap forecast conditions were always translated, fixed.
- Several fixes where undefined variables were referred to, now fixed (found while converting to TS)
- 3.8+: Added Refresh button to context menu.
- Fixed issue that OpenWeatherMap forecast conditions were always translated
- Updated Hungarian translation
- Version bump
- Fixed regression when location label override did not work if no City information was available
- DarkSky short conditions contained words like 'and', 'until' at the end (used wrong function), this is now fixed
- Day names are now properly translated
- Update Translation template
- Applet did not load on Cinnamon version 3.6, it seems it needs the separate folder named 3.6.
So now we have 3.8 for 3.8+, 3.6 for 3.6, and everything below uses the version in root. All working for real now..
- DarkSky was not using TimeZone information for displaying times and forecast days
- Multiversion fix. Everything below 3.8 should use the previous version now (3.6 version moved to the root folder), because it does not even work with version 3.2 at the moment.
- Small addition for DarkSky condition processing for shorter conditions.
- OpenWeatherMap using FOSS key and proper daily forecasts.
- Removed "require"-s, swapped them to imports
- Fixed bug when Cinnamon froze when the taskbar was manipulated when the applet was enabled on it.
- DarkSky was Getting the Forecast day names from sunrise time, fixed
- Humidity is rounded now.
- Location element is a button again, opens Data services webpages with more weather, or it can trigger a refresh if there was an error (there is no need anymore, but still).
- Openweathermap no longer requires key
- Forcing main loop to refresh when Weather update fails (it was not updating for a whole refresh interval when we had a successful update then the settings was changed right after and update failed)
- Using Regex against Location setting
- DarkSky error messages are displayed properly to the users now
- Fixed some OpenWeatherMap json response error handling (it was matching strings to numbers)
- Removed obsolete code
- Edited Readme
- Added some thanks to OpenWeatherMap at the bottom of the settings
- Fixed issue where sunset/sunrise displayed twice
- Forecast compiling uses timezone calculation to separate forecasts to the correct days now
- Fixed issue where days were displayed incorrectly, now are calculated displayed with timezone offset (was bad with people near the day boundary i guess)
- using HTTPS to call OpenWeather
Pull request to make the weather applet functional again after Yahoo API changes
- Added capability to support more than 1 API, but only OpenWeatherMap is implemented at the moment.