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).
Weather providers to choose from
|Weather Providers||Needs API key||Maximum Forecast Days||Maximum Forecast Hours||Other information|
|Met Office UK||No||5||36||--|
|US National Weather||No||7||156||--|
|Tomorrow.io||Yes||15||108||Previously known as Climacell|
|DarkSky||Yes||8||168||Signups closed, will end 2022|
Worldwide Online Weather service by OpenWeather Ltd founded in 2012 with headquaters in London UK. OpenWeatherMap Website
This is the default provider that works out of the box. Big Thanks to them supporting free open source projects, like this!
Free meteorological data and forecasts from the Norwegian Meteorological Institute founded in 1866. MET Norway Website
- 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.
The Danish Meteorological Institute formed in 1872 and makes weather forecasts and observations for Denmark, Greenland, and the Faroe Islands. DMI Denmark Website
- The service is global with open weather data.
Met Office UK
The Meteorological Office, abbreviated as the Met Office, is the UK's national weather service founded in 1854. Met Office UK Website
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.)
US National Weather
The National Weather Service in the USA is a federal government agency formed in 1861. US National Weather Website
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.
Historical and Forecast Weather data service provided by Weatherbit LLC in the USA. Weatherbit.io Website
At least 10 minutes as refresh rate is recommended, since otherwise you might exceed you daily quota, the Free API subscription is limited to 500 calls per day.
- **Hourly Weather forecast requires a non-free account
Weather service from Visual Crossing Corporation founded in 2003 with headquarters in USA and Germany. Visual Crossing Website
Needs an API key, you can Sign Up here and grab one
- Provides 1000 Free calls a day
Meteorological data from American weather technology company with headquarters in Boston since 2016. Changed name from Climacell to Tomorrow.io in March 2021. Tomorrow.io Website
Please note that old ClimacellV4 keys are not working anymore. You need to re-register and get a new key.
- API key can be obtained here. Register and the API key will be shown in the Develpment section. Free plan comes with 1000 free calls per day.
Online Service from The Dark Sky Company in the US that specializes in weather forecasting and visualization. DarkSky Website
- 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 2022.
Versions are automatically selected based on you Cinnamon's version
Right-click to access
cinnamon-settings -> Applets -> Configure.
- None at the moment, I can take requests for provider integrations or for new features
If you want to update or change the translation in your language other than English, here are some steps to get you started. Keep in mind that your local changes will be overwritten when an update of the applets language is installed. Feel free to share your translation, which is very much appreciated, by making a PR (pull request) on Github or contact the current maintainer of the applet.
Install the translation editor poedit with your package manager and download your language PO file e. g. xx.po where xx is your ISO language code, and the template POT file firstname.lastname@example.org from the files/weather@mockturtl/po/ sub directory on the Github website
Start poedit and open your downloaded PO file xx.po, then go to menu Catalogue or Translate depending on version, choose "Update from POT file…" and open the POT file email@example.com. Start your editing and try to use previously contributed translations as much as possible and get familiar with the correct technical weather terms for things in your language.
- When done translating, click on Validate and Save. This creates a new MO file that you can use locally in your system by overwriting the file ~/.local/share/locale/xx/LC_MESSAGESfirstname.lastname@example.org and restart your system to check how your translation works.
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 (Yahoo, for example)
- 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:
~/.local/share/cinnamon/applets/weather@mockturtl/, then restart Cinnamon.
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
- Fixes #4184 - missing space in .pot file
- Fixes #4127 - Text is at an abnormal height
- Fix issue in WeatherBit provider where it would break if it tries to parse a date with January for month
- Various minor syntax improvements (usage of consts and for-of loops)
- Use mapping for getting provider classes instead of a big switch statement
- Switch to stricter typechecking
- Resolves #4096 - Change old translated string to new version
- Resolves #3916
- Applet now detects if network is down and pauses/resumes accordingly
- Support changing logging level from settings
- Support saving logs specific to the applet into file along with the applet's settings
- Pre-fill the Github issue form on opening a new issue from the applet
- Update with new declarations
- Add Fixes to README by @jorgenqv
- Resolves #3975 Add option to make hourly weather always visible #3975
- Resolves #3976 Add dew point as a metric #3976
- Update translations file
- Make sure translation generation is not missed again, now included as a build step
- Add VSCode workspace
- Update DarkSky API cutoff date
- Update TS declarations
- Resolved #3926 Change Climacell naming to Tomorrow.io
- Update screenshot
- Do not minify code so .pot files can be generated without missing strings.
- Add strict Typescript typechecking
- Fix issue where applet wouldn't run on Linux Mint 19-19.3, where libraries targeting higher than es2017 would be included.
- Remove Climacell V3 from Readme
- Migrate to Webpack
- Improve error logging
- Use SunCalc from npm so it can receive updates
- Use Luxon for Dates with timezones (finally) so Local timezone and requested location timezone's mismatch can be handled much better
- Fix US Weather logic on deciding where to start processing daily forecasts from. For real this time? #3806
- Hopefully it will fix #3817 by the better TZ handling.
- Remove Climacell V3 as it has reached it's end of life
- Fixes #3815
- Fixes #3806
- Update applet to new declarations
- Remove yahoo weather
- Fixes #3787
- Resolves #3783
- Fixes wrong filename for declaration file (global.ts -> global.d.ts) causing all kinds of issues
- Resolves #3694
- Move Typescript declarations out of the weather applet folder to prevent update triggers from other applets making declaration changes. Please review this now if it's ok, should be in a folder with a different name or have a more thorough README etc.
- Update de.po with contribution from email@example.com
- Add deprecation notices for relevant providers and their EOL date
- Make provider names translatable
- Add stack trace to errors (even if they do not seem to be correct)
- Add option to switch between textual and icon representation of wind direction
- Fixes #3738
- Fixes #3733
- Add declarations for some of the cinnamon js files an organizing declarations better (and add more when I feel up to it again). Technically anyone can use it if want to use Typescript by including the declarations folder into their tsconfig.json file, but whatever.
- Resolves #3603
- Add minutely precipitation under current condition, when there is any (and the setting is on)
- Add more tooltips to settings
- OpenWeatherMap can also display Precipitation chance if there is no volume specified
- Auto-format 3.8 and new declaration files
- Fixes #3637
Fixes #3508, just a minor issue with naming
Fixes #3539 - Revert capitalization of every word in the applet label.
Fix some text in the settings-schema, they didn't make much sense or were missing some explanations
Change Temperature units to be capitalized
- Fixes #3567
Fix icons for Met Norway, some are missing
Fixes #3507 - Reorganize settings, Add help text where it belongs, to the tooltips
Add Danish Meteorologist Institute as a Weather Provider
- Fixes #3538 - Make sure French days are capitalized and Use Locale formatting for percent (humidity)
Fix issue where Symbolic icons setting was not reflected in the app when changed
Fix #3486, now wind icons point to the right direction
Fix wind icon color when non-symbolic icons used in the applet
Fix #3488, add Climacell V4 as a new provider because Climacell v3 is deprecated and doesn't accept new sign-ups.
- Make network and DNS related errors soft errors again
- Deprecating 3.0 in favor of refactoring 3.8 codebase to use in-build module resolution in TS
- Fix issue in 3.0 where locations were not deleted from locationstore
- Inline icons now respect the current font size
- Buttons should remain highlighted after clicked as long as the cursor is still in their area
- Change location storage to config based instead of file based
- Add Visual Crossing as an API choice
- Allow saving automatic locations
- Saved locations will be prioritized based on the search entry when getting locations for refresh
- Wind directions are now represented by icons
- Fix #3334, Add missing Weather conditions localization for Yahoo
- Add Automatic options for units (based on locale)
- Improve logic to guess if a theme is light or dark
- Fix #3421 IO related exceptions and improve IO code to be more async.
- Add option to show dates next to forecast days #3364
- Switch to a different function to be able to handle errors calling commands
- Add option to short display Hourly weather times
- Minor refactor
- Fix typos
- OpenWeatherMap now shows Feels Like temperature instead of Cloudiness
- Fix issue where Nominatim OpenStreetMap search broke on the next refresh cycle after it was entered. (Nominatim can't find the correct address based on their display name what they provide anymore...)
- Change Main Applet icon, for worse or better
- Add some extra debug output
1.8+ Applet version removed
- Hourly Weather items are stretched to make sure summary and precipitation displays properly
- Fixes #3257
- Fixes #3238
- Adds precipitation chance for OpenWeatherMap hourly weather
- 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 tile-able
- 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 Hungarian 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 polyfilled 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.