A small cli application to convert MacOS's heic dynamic wallpaper images to dynamic wallpapers usable in the GNOME desktop environment.
Go to file
Johannes Wünsche 02989c40c8
Clippy fixes
2022-03-05 09:28:33 +01:00
.github/workflows Adjust workflow for release 2021-04-20 11:03:04 +02:00
.rpm Add RPM spec 2021-11-13 12:29:38 +01:00
src Clippy fixes 2022-03-05 09:28:33 +01:00
.gitignore Update gitignore 2021-03-21 15:29:45 +01:00
Cargo.lock Update dependencies 2022-03-05 09:21:54 +01:00
Cargo.toml Add keywords for visibility 2022-03-05 09:22:10 +01:00
LICENSE.md Add License and metadata 2021-04-15 19:52:54 +02:00
README.md Add disclaimer for openSUSE users 2021-12-24 13:04:35 +01:00
concept.md Update README 2021-04-19 14:29:29 +02:00

README.md

heic-to-dynamic-gnome-wallpaper 🌅 🎞 🌇

This project offers a cli to convert MacOS's dynamic wallpaper stored in .heic image containers to dynamic wallpaper definitions usable in GNOME.

Both solar position and time based wallpaper definitions are supported. Although due to the nature of the gnome wallpapers, solar based wallpapers will be transferred to a time based division, approximated from the solar position defined for each image.

🧰 Usage

Since most options are dictated by the image information, tweakable options are sparse. All you need to do is specify the path to the image you want to convert.
Optionally you can specify a path under which the new images extracted from the heic are to be stored including the xml specification for GNOME.

heic-to-dynamic-gnome-wallpaper

USAGE:
    heic-to-gnome-xml-wallpaper [OPTIONS] <IMAGE>

FLAGS:
    -h, --help
            Prints help information

    -V, --version
            Prints version information


OPTIONS:
    -d, --dir <DIR>
            Specifies into which directory created images should be written to. Default is the parent directory of the
            given image.

ARGS:
    <IMAGE>
            Image which should be transformed

📦 Installation

You'll need a working rust toolchain to install this tool at the moment, check out the instructions here on how to setup one.

Additionally, you need the following libraries often shipped as:

libheif
libheif-dev
For openSUSE users Due to legal reasons the libheif package in the default repositories does not come with the h265 codec required to decode .heic images. The community maintained packman repository can be used here. Check out the openSUSE Wiki to see how to use their packages.

Local via cargo install

$ cargo install heic-to-dynamic-gnome-wallpaper

Local manual

$ git clone https://github.com/jwuensche/heic-to-dynamic-gnome-wallpaper
$ cd heic-to-dynamic-gnome-wallpaper
$ cargo install --path .
$ # OR
$ cargo build --release