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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file circadian_desktops-0.1.1.tar.gz.

File metadata

  • Download URL: circadian_desktops-0.1.1.tar.gz
  • Upload date:
  • Size: 348.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for circadian_desktops-0.1.1.tar.gz
Algorithm Hash digest
SHA256 c955de654cc2d4b57653734fc4421b13f14c220fda0793280cb2985dabeff017
MD5 6d4d702ea6063011e4fad5fa2a3eab4d
BLAKE2b-256 e851f4c5f42e19607728332c008c0e947f8c23f5c46638b1b191f353a3a7a7f5

See more details on using hashes here.

File details

Details for the file circadian_desktops-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for circadian_desktops-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 62b81c640b4422cbf83b7c07bdf0cd9c25df0ffac7dfdafdc97890474d19a53f
MD5 3fb56a2936b1d6f739190e473d30bc02
BLAKE2b-256 b5a835e615c36ac311d074146f25e086a4a5725cc632e76596b6aef23e7fc274

See more details on using hashes here.

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