Rust/Wayland implementation of the Seasonal Hours Clock
Go to file
Gergely Polonkai 3f118215b8
Increment the version number
2022-05-25 05:19:25 +02:00
src Add a -c/--config option to use a config file different from the default 2022-05-24 17:36:21 +02:00
.gitignore Initial version that creates an empty window 2022-05-17 15:40:28 +02:00
Cargo.lock Increment the version number 2022-05-25 05:19:25 +02:00
Cargo.toml Increment the version number 2022-05-25 05:19:25 +02:00 Add a -c/--config option to use a config file different from the default 2022-05-24 17:36:21 +02:00
example-config.toml Add a -c/--config option to use a config file different from the default 2022-05-24 17:36:21 +02:00

Seasonal Hours Clock on Wayland

This is a Rust implementation of cinnamons Seasonal Hours Clock, running as a native Wayland application.


Create a file $XDG_CONFIG_HOME/seasonal-clock.toml (where $XDG_CONFIG_HOME is ~/.config on Linux systems) with the following content (or use/modify example-config.toml):

latitude = 47.655
longitude = 19.286

(this is a location around Hungary; you may want to change these.)

If you dont provide a configuration file, the day parts (day/night time and the golden/blue hours) wont be visible on the clock face.

Command line arguments

Just print the current hours name

You can pass -n or --now to the app to only print the current hours name.

This can be used in scripts, or in i3/sway panels, for example.

Use a different config

Pass -c FILE or --config FILE to use FILE as the configuration file (instead of the default). Im not sure if it can be useful; i only did this to show off my Rust skills ^_^


Seasonal hours!

In cinnamons words:

t would be nice if the 24 hours of UTC time each had a short memorable name. It would make it easier to plan chats with distant friends, since the hour-names would be synchronized around the world.

Let's choose a theme like... seasons of the year, just to be confusing. :) Squish a year into 24 hours starting with the winter solstice at UTC 00, which we'll call The Candle Hour.

The seasonal hour names are shown on the colourful ring. Seasons are colour-coded: winter is blue, spring is green, summer is yellow, autumn is brownish/orange.

Local time

Its shown on the outermost ring, and as a standard watch. Currently its 24h only, but AM/PM version is in the works.

UTC hours

Just so you can connect the hour names to actual numbers and to help you with inter-timezone planning. These are shown in the inner ring with a bit fainter numbers.

Day parts

The coloured pie chart in the middle shows

  • night time (very dark grey)
  • pre-dawn/post-dusk time (dark blue)
  • the golden hour (golden)
  • daytime (bright blue)

The small red handles show the solar noon and midnight (nadir) times.

The hour hand shows the current time; the golden disc, visible only during daytime, shows the Suns position on the sky.

Moon phase

The innermost circle is the current Moon phase. It tries to be as realistic as possible.


The day parts dont work well (or sometimes they dont work at all) around and beyond the arctic lines: i havent found a reliable way to differentiate between all-day daytime and all-day nighttime.