Skip to content

PerseusRealDeal/TheDarkMoon

Repository files navigation

Image

Snowman

The Status Menus Weather App

Actions Status Style Version

Platforms Xcode Swift SDK

ConsolePerseusLogger PerseusDarkMode PerseusGeoKit

Meteo Data Providers

Current weather5 Day / 3 Hour forecastGeocodingIndividual API key


Contents

Announcement

This is the great home-made macOS app project to accomplish weather forecast task.

Our Terms

Acronym Stands for
CPL Console_Perseus_Logger
PDM Perseus_Dark_Mode
PGK Perseus_Geo_Kit
A3 Apple_Apps_Approbation
T3 The_Technological_Tree
P2P Person_to_Person

The why

The why of this app cannot, and need not, be put into words.

Preview material

Main Screen (Popover)
Options Screen

Top features

  • Requesting current weather for Current Location and specific location name
  • Requesting 5 Day / 3 Hour forecast for Current Location and specific location name

  • Determining Current Location, latitude and longitude
  • Searching location by Name with auto suggesting, optionally
  • Favorite locations list, add and remove items

  • Temperature: Kelvin, Celsius, Fahrenheit

  • Wind speed: meter/sec, km/hour, miles per hour

  • Visibility: Kilometre, Mile

  • Barometer: hPa, mmHg, mb

  • Multilanguage: English and Russian

  • Dark Mode: Light, Dark, System (auto)

  • Multi time format: 24-hour and 12 hour

  • Auto Current Weather update: per 12 hours, per 3 hours, per hour, none


  • Multiline: Additional string line for Status Menus item, macOS 11 (Big Sur)+

  • ToolTip: Showing extra meteo parameters for Status Menus item

  • Keychain: Keeping OpenWeather API key saved as a secret

  • Logging: Viewing log messages. Managing CPL options

Requirements

Note

The current app project is represented in source code only, it's a developer edition.

To build:

Specifications:

First-party software

MIT

Type Name
Package ConsolePerseusLogger v1.7.1
Class PerseusLogger
Package PerseusDarkMode v2.2.0
Package PerseusGeoKit v1.2.1
Class PerseusCompassDirection
Variable PerseusTimeFormat
Class MessageLabel
Type Name
Class WebLabel
Class PerseusNetworkClient

Third-party software

Type Name License
Style SwiftLint v0.57.0 Monterey+ MIT
Action mxcl/xcodebuild@v3 Unlicense
Action cirruslabs/swiftlint-action@v1 MIT

Gifts

Account points

License

The Clear BSD License, see LICENSE for details.

Copyright © 7531 - 7534 Mikhail A. Zhigulin of Novosibirsk
Copyright © 7531 - 7534 PerseusRealDeal

  • The year starts from the creation of the world according to a Slavic calendar.
  • September, the 1st of Slavic year. For instance, "Sep 01, 2025" is the beginning of 7534.

Other required licenses details

© 2025 The SwiftLint Contributors for SwiftLint.
© GitHub for GitHub Action cirruslabs/swiftlint-action@v1.

Credits

Balance and Control Mikhail Zhigulin
Source Code Mikhail Zhigulin
Documentation Mikhail Zhigulin
Approbation Mikhail Zhigulin
Artwork Mikhail Zhigulin
Russian Mikhail Zhigulin
English Mikhail Zhigulin

Important

The OpenWeather logo taken from https://github.com/openweathermap.

The OpenWeather weather condition icons taken from https://openweathermap.org that also available online by OpenWeatherMap API request.

Contributing

Note

The product is constructed in P2P relationship paradigm that means the only one single and the same face in the product team during all development process stages.

But, translations and bug reports are welcome, create an issue and give details.

If you'd like to see the app in your native language consider translation for EN as a template, then prepare your translation in the same way and create an issue, EN and RU already done.

Acknowledgements

Along the dev process of the releases v0.2..0.3 there're several things were also taken into the account, actual even for current version also.

Thanks to For
Google, Inc. Convertion formulas
Lorenzo Boaro The Keychain API tutorial
Gabriel Theodoropoulos The macos-status-bar-apps tutorial
Bill Waggoner Swift-custom-control sample

Author

© Mikhail A. Zhigulin of Novosibirsk

Contact