Adaptation of Gnome Shell's weather extension for the Cinnamon desktop.
cinnamon-weather uses Semantic Versioning. For the current version number, see
Versions are automatically selected based on you Cinnamon's version.
- Cinnamon 3.0+ is End-of-Life, won't receive more updates
- Cinnamon 3.8+ is the currently supported version.
Right-click to access
cinnamon-settings -> Applets -> Configure.
The applet obtains the location automatically. If the automatic location not adequate for you, you can use the Manual Location mode where 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 the text that you entered with the full address it finds so you can verify if it's correct. You can also get your exact address to enter from OpenStreetMap's Nominatim search, the service the applet uses.
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||Immediate Forecast||Other information|
|Met Office UK||No||5||36||No||--|
|US National Weather||No||7||156||No||--|
|Tomorrow.io||Yes||15||108||No||Previously known as Climacell|
|AccuWeather||Yes||5***||12||No||Limited free calls|
- This is the default provider that works out of the box. Big Thanks to them supporting free open source projects, like this!
Nowcast (Immediate precipitation and granular observations) is not available outside Norway. In that case, observations are shown for the next hour.
- Daily forecasts are generated from 6 hour forecasts (for every hour), so there is a possibility that they are inaccurate sometimes.
- The service is global with open weather data.
- Only covers Germany.
Met Office UK
Only covers the UK.
Sometimes it takes like 5-10 seconds to obtain weather, please be patient when it loads up the first time.
- 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
Only covers the US
Sometimes it takes 10-15 seconds to obtain weather, please be patient when it loads up the first time.
- Observations are quite spotty so it combines multiple observation stations if needed in a 50km area.
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
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. Read more about the company here.
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.
With the free plan, there are only a very limited number of calls for a day, which will be displayed in the applet menu. Please lower your Update interval setting in Configuration or you may run out of calls and then the service will stop with an error message until the next day.
***Number of available hours and days are specified for the free plan, paid plans allow more.
- API keys can be obtained here. Register, then you must add a new App. When it's created Click on the App and the key will be displayed.
Weather Underground is a privately owned, web-based weather information company. It provides weather observations and forecasts in a large number of locations around the world. It was founded by Jeff Masters in 1995 with headquarters in Ann Arbor United States. Weather Underground website. Read more about the service here.
- Only allows 1500 calls a day, so 15min refresh cycle is recommended.
- Weather Underground is a global community of people connecting data from environmental sensors like weather stations (250.000) and air quality monitors so they can provide the rich, hyperlocal data you need.
- You need an API key. If you don't have a weather station to share data with WU, you can't have an API key. However, you can add a Raspberry Pi as a device for the weather station choice when registering, even if you don't have one, and it will get you the API key.
- Disclaimer: Observations don't provide weather conditions so the forecast one for the day is used.
Direct replacement to DarkSky. Run by one guy, it's also open source. If you like the accuracy of the data or you want to keep the project going, subscribe to a paid plan. 10000 calls free. You can get an API key here.
You can read about the project here.
Usage of "Override label on panel", "Override location label" and "Override tooltip on panel" setting
The setting allows you to make the applet display basically anything in the form of text in the panel (and other places). In addition, it exposes a number of values for you to use as you like, these will be replaced with actual data values. The full text-to-value mapping can be found below.
|Text to enter||Mapped value|
||Short condition text|
||Long condition text (same as short if not available)|
||Dew point value|
||Humidity value (always as percent)|
||API specific value (usually "Feels Like" or "Cloudiness")|
||API specific value's name|
||Wind speed with unit|
||Wind direction in text format (NW, etc)|
||City name shown in the popup|
||Country name shown in the popup|
||Search entry text in manual location (or location store)|
||Formatted last updated time|
- Add special formatting options (like padded temperature) for values in panel in the "Override label on panel" setting
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 email@example.com 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 firstname.lastname@example.org. 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_MESSAGESemail@example.com 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
- DarkSky verbose conditions are only in cm/Celsius or in/Fahrenheit
Report a new issue
You need a Github login to make a issue report. Please first check if the issue already is reported here. You will find more information about reporting in the Configuration under the Help Tab, accessible by right clicking on the applet. Here you can save logs to file with debug level that is much appreciated. By using the Submit an Issue Button under this Tab, useful system information will be generated for your report form in your default web browser at Github.com.
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
Fix nominatim not getting location data due to API changes. Related issues:
- Fix #4801 - Link to dmi.dk location not working
- Fix #4800 - Wrong icons (Tomorrow.io and US Weather)
- Fix #4780 - Hourly Weather Redesign
- Fix #4709 - the free space between the interface elements disappears
- Minor style changes
- Make "Location Label Override" behavior identical to Panel label override.
- Add option to override tooltip label for applet
- Try to make hourly weather elements slimmer by putting precipitation change and volume in different rows
- Update luxon and suncalc
- Update README
- Use user's timezone for automatic unit inference, Fixes #4644
- Fixes #4628
- Fix MET UK crash when observation stations return a single object instead of an array for it's observation
- Add support for saving config from new path and respect ENV variable for xsession-errors
- Fix issue where refresh loop wouldn't ever resume after a single configuration error
- Add more granular control for setting changes
- Fixes #4505
- Add support for Soup v3
- Resolve #4426 - Add Weather Underground as a provider
- Fix #4390 - Make sure applet works with not configured Locale
- Fix #4387
- also add some more location-related entries into the applet label override
- Fix #4378 - Add DWD as a weather provider
- Fix issue on Cinnamon versions where
is_finalizedis not injected into GObject
- Fix #4306
- Fix #4255
- Redact more things when generating logs
- Add requested AccuWeather as a provider
- Add ability to display remaining number of calls in the UI (where applicable)
- Fix issue where the applet would display more hourly boxes than available data
- Improve HttpLib flexibility and type checking
- Add better support for "Override label on panel" setting
- 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 firstname.lastname@example.org
- 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.