DeskCal - Desktop background with calendar

Have a new desktop background nice pictures from NASA or Picsum.photo and calendar for the day

You need:

  1. Downloading the latest DeskCal_v1.5.zip
  2. Install .NET 8.0 if you don't have it .NET 8.0 site for download
  3. Get your own NASA API-KEY it's free

What to do:

  1. Unzip the DeskCal_v1.5.zip to a folder of you liking.
    Like C:/DeskCal
  2. If the DeskCal.exe file is not running.
    Install the .NET 8.0 for your system.
    Read the instruction from Microsoft
  3. Use a text editor to edit the config file DeskCal.dll.config
    that is in the folder where you unziped the files.
    Like C:/DeskCal/DeskCal.dll.config
     
    1. Insert you own NASA API-KEY in the value field
    2. Check the folderPath is correct

Example of the config file

  <?xml version="1.0" encoding="utf-8" ?>
  <configuration>
    <appSettings>
      <add key="NASA-API_KEY" value="YOUR-NASA-API-CODE_GOES-HERE" />
      <add key="NASA-API_URL" value="https://api.nasa.gov/planetary/apod" />
      <add key="folderPath" value="C:\DeskCal" />
      <add key="CultureInfo" value="nb-NO" />
      <add key="Transparency" value="10" />
      <add key="ReSizeX" value="390" />
      <add key="ReSizeY" value="350" />
      <add key="CalX" value="5" />
      <add key="CalY" value="55" />
      <add key="BgX" value="1920" />
      <add key="BgY" value="1080" />
      <add key="last-downloaded" value="" />
      <add key="downloaded-from" value="" />
    </appSettings>
  </configuration>

Key features:

  1. Download NASA's APOD:

    • The app fetches the image of the day using the NASA APOD API and saves it locally
    • If today's APOD isn't an image, it falls back to using an image from Picsum.photos
  2. Calendar Generation:

    • A dynamic calendar image is created for the current weeknumber, month and year
    • Sundays are highlighted in red, and the current date is further emphasized with a yellow highlight.
    • The calendar is positioned on the lower right corner of the background image.
  3. Image Merging:

    • The program merges the downloaded APOD (or fallback image) with the generated calendar image
    • The final image is saved and set as the desktop wallpaper
  4. Desktop Wallpaper:

    • The merged image is set as the system wallpaper using SystemParametersInfo from the Windows API
  5. The configuration:

    • Set the folderPath to where the DeskCal.exe file is located on your system
    • Set your CultureInfo if Norwegian is not your way, look it up github.io CultureInfo.html
    • Adjust the calendar background by edit the config value of "Transparency". 0 = no background - 255 = full black background
    • The ReSizeX is the value for widht of the calendar. And ReSizeY is the height
    • The CalX and CalY is for better to possissioning the calendar on the background. CalX is number of pixels from bottom and CalY is from the right side
    • The BgX and BgY is the size in pixel of the background image
    • The last-downloaded and downloaded-from will be set by the system when it has generated a new background