An app that changes your desktop background based on time of day.
Project description
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.
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 bypyuic5
. 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 insrc
, 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
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | c955de654cc2d4b57653734fc4421b13f14c220fda0793280cb2985dabeff017 |
|
MD5 | 6d4d702ea6063011e4fad5fa2a3eab4d |
|
BLAKE2b-256 | e851f4c5f42e19607728332c008c0e947f8c23f5c46638b1b191f353a3a7a7f5 |
File details
Details for the file circadian_desktops-0.1.1-py3-none-any.whl
.
File metadata
- Download URL: circadian_desktops-0.1.1-py3-none-any.whl
- Upload date:
- Size: 60.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 62b81c640b4422cbf83b7c07bdf0cd9c25df0ffac7dfdafdc97890474d19a53f |
|
MD5 | 3fb56a2936b1d6f739190e473d30bc02 |
|
BLAKE2b-256 | b5a835e615c36ac311d074146f25e086a4a5725cc632e76596b6aef23e7fc274 |