Skip to main content

An app that changes your desktop background based on time of day.

Project description

Logo CIRCADIAN DESKTOPS

Description

Circadian Desktops is a Python app for Windows 10 that changes your desktop background based on time of day.

It can be run either as a Python module or built into an executable.

Screenshot

Desktop Images

Allows users to select different image files to use as desktop background during dawn, day, dust and night. A single image can be selected for each period or the app can be set to shuffle images from the selected image's folder.

Transition Times

The app determines image transition times based on sunrise and sunset times at the users location. This is calculated using two non-standard library Python modules:

  • Geocoder - Retrieves the users location and timezone using their IP address.
  • Astral - Calculates sunrise and sunset times based on user location and the current date.

Alternatively, the user can select their own times for images to transition.

Preferences

The app offers three additional options:

  • Dark Theme - Toggles the GUI between light and dark theme.
  • Minimize to tray - When selected the app will minimize to the system tray and continue running, instead of shutting down when the window in closed.
  • Run on startup - The app to run in the background when the computer is started.

Running with Python

Installation

Circadian Desktops can be installed as a library module from PyPI:

python -m pip install circadian_desktops

Usage

It is recommended to run Circadian Desktops with pythonw.exe to avoid having a command prompt hanging. With Circadian Desktops installed in Python's library packages, run:

pythonw -m circadian_desktops

Building executable

An executable version of Circadian Desktops can be built from source using PyInstaller.

First, install all dependancies in requirements.txt, plus the PyInstaller package. Then from this folder run:

pyinstaller app.spec

This will produce dist\app folder containing Circadian Desktops.exe.

App files

The circadian_desktops directory contains:

  • __init__.py - Empty file to identify module.
  • __main__.py - Entry point to run module as a script.
  • app.py - Primary script to run the app. Contains the MainWindow class and script to start app.
  • functions.py - Helper functions called by app.py. Handles functionality outside the GUI.
  • ui_mainwindow.py - Python script generated from destopUi.ui by pyuic5. Used as GUI layout for MainWindow in app.py.
  • desktopUi.ui - Widget layout for GUI generated by Qt Designer. Not required for app to run.
  • custom_qt.py - Contains a custom QtPalette class used for 'dark theme'.
  • Icons/ - Folder with image files used in GUI and for Windows system icons.
  • clean.py - Run to remove traces of Circadian Desktop from you PC not contained in src, i.e. settings file and registry entry.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

circadian_desktops-0.1.1.tar.gz (348.0 kB view hashes)

Uploaded Source

Built Distribution

circadian_desktops-0.1.1-py3-none-any.whl (60.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page