4 Commits
v.1.0 ... v.1.1

Author SHA1 Message Date
5628dfc4b0 Rename README.md 2023-07-08 18:00:49 +02:00
fef2a534cc Two new image sets 2023-07-08 17:57:16 +02:00
44a7bb1f8f Readme update 2023-07-08 17:35:03 +02:00
52402aaaf4 Adding support for Cinnamon 5.4 and 5.8 2023-07-08 16:39:51 +02:00
23 changed files with 48 additions and 13 deletions

View File

@@ -1,3 +1,7 @@
# Version 1.1
- Compatibility with Cinnamon 5.4 and 5.8
- Two new image sets
# Version 1.0 # Version 1.0
- Offline sun time calculation - Offline sun time calculation
- Online location estimation or manual input - Online location estimation or manual input

View File

@@ -10,11 +10,21 @@ Based on a location, this extension calculates the periods of a day and switches
- 9 day periods - 9 day periods
- HEIF converter - HEIF converter
- Image configuration assistent with simple one-click setup for image choose - Image configuration assistent with simple one-click setup for image choose
- Online location estimation - Online location estimation or offline with manual latitude and longitude input
- Offline sun angles estimation - Offline sun angles estimation
### Tested Cinnamon versions ### Tested Cinnamon versions
- 5.6 - 5.4 (Mint 21)
- 5.6 (Mint 21.1)
- 5.8 (Mint 21.2)
### Technology
- Using `JavaScript` for
- Sun angle estimation
- Location estimation
- Change of the desktop wallpapers
- `Python` displays the Image Configurator
- Image Configurator UI was written with `Glade`
## Installation ## Installation
### From the repo ### From the repo
@@ -23,6 +33,8 @@ Based on a location, this extension calculates the periods of a day and switches
3. Copy the folder `cinnamon-dynamic-wallpaper@TobiZog` to `~/.local/share/cinnamon/extensions/` 3. Copy the folder `cinnamon-dynamic-wallpaper@TobiZog` to `~/.local/share/cinnamon/extensions/`
### From Built-in Extension Manager ### From Built-in Extension Manager
![](res/download-manager.png)
1. Open "Extensions" in Linux Mint or any other distribution with Cinnamon as Desktop Environment 1. Open "Extensions" in Linux Mint or any other distribution with Cinnamon as Desktop Environment
2. Click on "Download" 2. Click on "Download"
3. Search and download it 3. Search and download it
@@ -46,6 +58,10 @@ The image sets are from https://github.com/adi1090x/dynamic-wallpaper
| ------ | ----- | ------ | | ------ | ----- | ------ |
| ![](cinnamon-dynamic-wallpaper@TobiZog/images/included_image_sets/aurora/5.jpg) | ![](cinnamon-dynamic-wallpaper@TobiZog/images/included_image_sets/beach/4.jpg) | ![](cinnamon-dynamic-wallpaper@TobiZog/images/included_image_sets/bitday/4.jpg) | | ![](cinnamon-dynamic-wallpaper@TobiZog/images/included_image_sets/aurora/5.jpg) | ![](cinnamon-dynamic-wallpaper@TobiZog/images/included_image_sets/beach/4.jpg) | ![](cinnamon-dynamic-wallpaper@TobiZog/images/included_image_sets/bitday/4.jpg) |
| Lakeside | Mountains | Sahara | | Cliffs | Gradient | Lakeside |
| -------- | --------- | ------ | | -------- | --------- | ------ |
| ![](cinnamon-dynamic-wallpaper@TobiZog/images/included_image_sets/lakeside/4.jpg) | ![](cinnamon-dynamic-wallpaper@TobiZog/images/included_image_sets/mountains/4.jpg) | ![](cinnamon-dynamic-wallpaper@TobiZog/images/included_image_sets/sahara/4.jpg) | | ![](cinnamon-dynamic-wallpaper@TobiZog/images/included_image_sets/cliffs/4.jpg) | ![](cinnamon-dynamic-wallpaper@TobiZog/images/included_image_sets/gradient/4.jpg) | ![](cinnamon-dynamic-wallpaper@TobiZog/images/included_image_sets/lakeside/4.jpg) |
| Mountains | Sahara |
| --------- | ------ |
| ![](cinnamon-dynamic-wallpaper@TobiZog/images/included_image_sets/mountains/4.jpg) | ![](cinnamon-dynamic-wallpaper@TobiZog/images/included_image_sets/sahara/4.jpg) |

View File

@@ -1,4 +1,4 @@
import gi, os, glob, json, shutil, enum, threading import gi, os, glob, json, shutil, enum, threading, subprocess
gi.require_version("Gtk", "3.0") gi.require_version("Gtk", "3.0")
from gi.repository import Gtk, GdkPixbuf from gi.repository import Gtk, GdkPixbuf
@@ -11,9 +11,6 @@ IMAGE_EXTRACT_DIR = IMAGE_DIR + "extracted/"
IMAGE_SETS_DIR = IMAGE_DIR + "included_image_sets/" IMAGE_SETS_DIR = IMAGE_DIR + "included_image_sets/"
IMAGE_SELECTED_DIR = IMAGE_DIR + "selected/" IMAGE_SELECTED_DIR = IMAGE_DIR + "selected/"
PREF_PATH = os.path.expanduser("~") + \
"/.config/cinnamon/spices/cinnamon-dynamic-wallpaper@TobiZog/cinnamon-dynamic-wallpaper@TobiZog.json"
class Source(enum.Enum): class Source(enum.Enum):
SELECTED = 0 # Load previous selected images SELECTED = 0 # Load previous selected images
EXTRACT = 1 # Use a custom image set from a heic file EXTRACT = 1 # Use a custom image set from a heic file
@@ -39,6 +36,8 @@ class ImageConfigurator:
"aurora", "aurora",
"beach", "beach",
"bitday", "bitday",
"cliffs",
"gradient",
"lakeside", "lakeside",
"mountains", "mountains",
"sahara" "sahara"
@@ -108,6 +107,19 @@ class ImageConfigurator:
self.image_source = Source.SELECTED self.image_source = Source.SELECTED
# Check for Cinnamon version
# With version 5.6+, the folder of the configuration file was changed
version = subprocess.check_output(["cinnamon", "--version"])
version = version.decode()
version = version[version.find(" "):version.rfind("\n")].strip()
if version.startswith("5.4"):
self.pref_path = os.path.expanduser("~") + \
"/.cinnamon/configs/cinnamon-dynamic-wallpaper@TobiZog/cinnamon-dynamic-wallpaper@TobiZog.json"
else:
self.pref_path = os.path.expanduser("~") + \
"/.config/cinnamon/spices/cinnamon-dynamic-wallpaper@TobiZog/cinnamon-dynamic-wallpaper@TobiZog.json"
# Load preferences # Load preferences
self.loadFromSettings() self.loadFromSettings()
@@ -128,7 +140,7 @@ class ImageConfigurator:
""" Load preferences from the Cinnamon preference file """ Load preferences from the Cinnamon preference file
""" """
# Load the settings # Load the settings
with open(PREF_PATH, "r") as pref_file: with open(self.pref_path, "r") as pref_file:
pref_data = json.load(pref_file) pref_data = json.load(pref_file)
@@ -167,7 +179,7 @@ class ImageConfigurator:
""" Save preferences to the Cinnamon preference file """ Save preferences to the Cinnamon preference file
""" """
# Load the settings # Load the settings
with open(PREF_PATH, "r") as pref_file: with open(self.pref_path, "r") as pref_file:
pref_data = json.load(pref_file) pref_data = json.load(pref_file)
@@ -185,7 +197,7 @@ class ImageConfigurator:
# Write the settings # Write the settings
with open(PREF_PATH, "w") as pref_file: with open(self.pref_path, "w") as pref_file:
json.dump(pref_data, pref_file, separators=(',', ':'), indent=4) json.dump(pref_data, pref_file, separators=(',', ':'), indent=4)

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 238 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 241 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 293 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 183 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 211 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 210 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 249 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 182 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 163 KiB

View File

@@ -2,9 +2,11 @@
"uuid": "cinnamon-dynamic-wallpaper@TobiZog", "uuid": "cinnamon-dynamic-wallpaper@TobiZog",
"name": "Cinnamon Dynamic Wallpaper", "name": "Cinnamon Dynamic Wallpaper",
"description": "Cinnamon extension for dynamic desktop backgrounds based on time and location", "description": "Cinnamon extension for dynamic desktop backgrounds based on time and location",
"version": "1.0", "version": "1.1",
"cinnamon-version": [ "cinnamon-version": [
"5.6" "5.4",
"5.6",
"5.8"
], ],
"max-instances": 1, "max-instances": 1,
"url": "https://github.com/TobiZog/cinnamon-dynamic-wallpaper" "url": "https://github.com/TobiZog/cinnamon-dynamic-wallpaper"

BIN
res/download-manager.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB